- Introduction to Quantitative Trading
- Quantitative Trading - Advantages and Disadvantages
- Types of Quantitative Trading Strategies
- Momentum Strategies
- Mean Reversion Strategies
- Market Making Strategies and Day Trading Strategies
- How to Generate Trading Ideas
- Designing A Trading Strategy For Profit
- Backtesting a Trading Strategy - Considerations
- Risk Management of a Trading Strategy
- Risk Indicators - VIX Index and TED Spread
- Plotting the VIX Index and TED Spread in R
- Introduction to Quantmod in R
- Downloading Data Using Quantmod Package in R
- Creating Charts with Quantmod
- Data Analysis with Quantmod in R
- Measuring Overall ETFs Performance
- Quantstrat Example in R - EMA Crossover Strategy
- Quantstrat - EMA Crossover Strategy - Performance and Risk Metrics
- Quantstrat Example in R - RSI Strategy
- Quantstrat Case Study - Multiple Symbol Portfolio

# Plotting the VIX Index and TED Spread in R

In this lesson, will will look at how to create the two graphs in R. Before you start, it is important to setup your basic environment:

### Setup Environment

Open RStudio and ensure that you have the basic setup in place.

- Create a new directory called ‘
`quantative-trading-strategies-r`

’ in your computer. We will use this director for all the exercises in this course. - Set this directory as your working directory using the
`setwd()`

command. You can also check the current working directory using the`getwd()`

command in R console. - Use the command
`CTRL+L`

to clear the console (Use this whenever you feel the console is cluttered). - Create a new R script where we will be writing our R script.
- Install and load the
`ggplot2`

package by typing the following commands in the console:

```
#Install ggplot2
install.packages("ggplot2")
#Load ggplot2
library("ggplot2")
```

### Plot the TED Spread

In order to plot the TED spread, you can follow the following instructions:

**Step 1: Download Data**

You can download the data for TED spread from the FRED® Economic Data website.

Get TED data from https://fred.stlouisfed.org/series/TEDRATE

For convenience, we have also provided the data files below.

You can download the data file and save it in your working directory.

**Step 2: Load the data in your R Environment**

To read a csv with R, the best way to do it is with the command `read.csv`

.

```
ted <- read.csv("TEDRATE.csv",stringsAsFactors = FALSE)
```

**Step 3: Transform Data**

The read.csv function interpret both columns as factors columns, so we need to change to the appropriate columns data types.

We will convert character columns to numeric and date columns, and remove NA values with complete.cases.

The complete.cases function returns a logical vector specifying which observations/rows have no missing values across the entire sequence.

```
ted$TEDRATE <- as.numeric(ted$TEDRATE)
ted$DATE <- as.Date(ted$DATE)
ted <- ted[complete.cases(ted),]
```

Finally, we have ‘ted’ as a dataframe containing our prepared data.

**Step 4: Plot the Graph**

Now, we can use ggplot2 library to plot the graph.

```
ggplot(ted, aes(DATE, TEDRATE)) + geom_line(color = "red") + xlab("") + ylab("Daily Prices")+ggtitle("TED Spread")
```

The complete script for creating the TED spread is provided below:

```
# Get TED data from https://fred.stlouisfed.org/series/TEDRATE
# Load the data using read.csv
ted <- read.csv("TEDRATE.csv",stringsAsFactors = FALSE)
# The read.csv function interpret both columns as factors columns, so we need to change
# to the appropriate columns data types. Convert character columns to numeric and date
# columns, and remove NA values with complete.cases
ted$TEDRATE <- as.numeric(ted$TEDRATE)
ted$DATE <- as.Date(ted$DATE)
ted <- ted[complete.cases(ted),]
# View the data
ted
# Plot the graph
ggplot(ted, aes(DATE, TEDRATE)) + geom_line(color = "red") + xlab("") + ylab("Daily Prices")+
ggtitle("TED Spread")
```

### Plot the VIX Index

You can follow the exact same steps above to plot the VIX volatility index. The complete script for it is provided below:

```
# Get VIX data from https://fred.stlouisfed.org/series/VIXCLS
# Load the data using read.csv
VIX <- read.csv("VIXCLS.csv",stringsAsFactors = FALSE)
# Convert character columns to numeric and date columns, and
# remove NA values # with complete.cases
VIX$VIXCLS <- as.numeric(VIX$VIXCLS)
VIX$DATE <- as.Date(VIX$DATE)
VIX <- VIX[complete.cases(VIX),]
# View the data
VIX
# Plot the graph
ggplot(VIX, aes(DATE, VIXCLS)) + geom_line(color = "blue") + xlab("") + ylab("Daily Prices")+
ggtitle("VIX Prices")
```

#### Related Downloads

## Free Guides - Getting Started with R and Python

Enter your name and email address below and we will email you the guides for R programming and Python.