Implementing an indicator - I
At this point, it's time to start getting into the mechanics of implementing an indicator within the scope of the quantstrat
library. In this exercise you will learn how to add an indicator to your strategy. For this exercise you will use the strategy you created in earlier exercises, strategy.st
. For your first indicator, you will add a 200-day simple moving average.
To add an indicator to your strategy, you will use the add.indicator(). Set strategy
equal to the name of your strategy, name
to the name of a function in quotes, and arguments
to the arguments of the named function in the form of a list. For instance, if your function name was SMA, the arguments
argument will contain the arguments to the SMA function:
add.indicator(strategy = strategy.st,
name = "SMA",
arguments = list(x = quote(Cl(mktdata)), n = 500),
label = "SMA500")
When referencing dynamic market data in your add.indicator()
call, include mktdata
inside the quote()
function because it is created inside quantstrat
and will change depending on whichever instrument the package is using at the time. quote()
ensures that the data can dynamically change over the course of running your strategy.
In this exercise, you will add a 200-day SMA to your existing strategy strategy.st
. The quantstrat
and quantmod
packages are also loaded for you.
This exercise is part of the course
Financial Trading in R
Exercise instructions
- Use
add.indicator()
on your existing strategystrategy.st
. Follow the example code closely. - Provide the SMA function as the
name
argument. - Specify the desired arguments of SMA, using the closing price of
mktdata
and a lookback periodn
of 200 days. - Label your indicator
"SMA200"
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Add a 200-day SMA indicator to strategy.st
add.indicator(strategy = ___,
# Add the SMA function
name = ___,
# Create a lookback period
arguments = list(___),
# Label your indicator SMA200
label = ___)