始める無料で始める

シグナルの組み合わせ - II

前の演習では、2 つのシグナルの値を比較して sigFormula シグナルを近似しました。最後のこの演習では、さらに一歩進めて、sigFormula() 関数を使って実際に sigFormula シグナルを生成します。

この演習の目的はシンプルです。longfilterlongthreshold の両方が同時に true になったときにポジションに入るようにします。考え方はこうです。条件が成り立っている間じゅう何度もエントリーしたくはありませんが、上昇トレンドの環境で押し目が来たときにはポジションを保有したいのです。

sigFormula 関数の作成は、base R の「if 文」の引数を書くのと同じで、それを formula() 関数の中に記述します。ここでは、longfilterlongthreshold の両方が同時に true にクロスしたときに true になる、longentry というラベルのシグナルを作成します。

この演習を終えると、quantstrat におけるシグナルの仕組みを一通り把握できるようになります!

この演習はコースの一部です

Rで学ぶ金融トレーディング

コースを見る

演習の手順

  • add.signal() を使って、longfilterlongthreshold の両方が true のときに true になる sigFormula シグナルを作成します。
  • crossTRUE に設定します。
  • この新しいシグナルに 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 = "___")
コードを編集して実行