インジケーターの実装 - I
ここからは、quantstrat ライブラリの範囲でインジケーターを実装する手順に踏み込みます。この演習では、戦略にインジケーターを追加する方法を学びます。ここでは、これまでの演習で作成した戦略 strategy.st を使います。最初のインジケーターとして、200日単純移動平均(SMA)を追加します。
戦略にインジケーターを追加するには、add.indicator() を使います。strategy には戦略名、name には関数名(文字列)、arguments にはその関数に渡す引数をリスト形式で指定します。たとえば、関数名が SMA の場合、arguments には SMA 関数への引数を含めます。
add.indicator(strategy = strategy.st,
name = "SMA",
arguments = list(x = quote(Cl(mktdata)), n = 500),
label = "SMA500")
add.indicator() の中で動的なマーケットデータを参照する際は、mktdata を quote() の中に入れてください。mktdata は quantstrat の内部で作成され、パッケージがその時点で扱う銘柄に応じて変化するためです。quote() によって、戦略の実行中にデータが動的に変わっても正しく参照できます。
この演習では、既存の戦略 strategy.st に 200 日の SMA を追加します。quantstrat と quantmod パッケージはすでに読み込まれています。
この演習はコースの一部です
Rで学ぶ金融トレーディング
演習の手順
- 既存の戦略
strategy.stに対してadd.indicator()を使い、サンプルコードに倣って記述してください。 name引数には SMA 関数を指定します。argumentsでは、mktdataの終値を使い、期間nを 200 日に設定してください。- インジケーターのラベルは
"SMA200"としてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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 = ___)