シグナルの組み合わせ - II
前の演習では、2 つのシグナルの値を比較して sigFormula シグナルを近似しました。最後のこの演習では、さらに一歩進めて、sigFormula() 関数を使って実際に sigFormula シグナルを生成します。
この演習の目的はシンプルです。longfilter と longthreshold の両方が同時に true になったときにポジションに入るようにします。考え方はこうです。条件が成り立っている間じゅう何度もエントリーしたくはありませんが、上昇トレンドの環境で押し目が来たときにはポジションを保有したいのです。
sigFormula 関数の作成は、base R の「if 文」の引数を書くのと同じで、それを formula() 関数の中に記述します。ここでは、longfilter と longthreshold の両方が同時に true にクロスしたときに true になる、longentry というラベルのシグナルを作成します。
この演習を終えると、quantstrat におけるシグナルの仕組みを一通り把握できるようになります!
この演習はコースの一部です
Rで学ぶ金融トレーディング
演習の手順
add.signal()を使って、longfilterとlongthresholdの両方が true のときに true になるsigFormulaシグナルを作成します。crossをTRUEに設定します。- この新しいシグナルに
longentryというラベルを付けます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
# Specify that longfilter and longthreshold must be TRUE
arguments = list(formula = "___ & ___",
# Specify that cross must be TRUE
cross = ___),
# Label it longentry
label = "___")