add.rule() での sigcol の指定
すばらしいです! add.rule() コマンドは複雑に見えますが、各引数はとてもシンプルです。このコマンドを理解するために、各引数を個別に見ていきます。
まず、add.rule() は sigcol という引数を取り、これはストラテジー内のシグナル列を指定します。シグナルやインジケーターと同様に、すべてのルールはストラテジー内に既に存在する列を参照します。ルールはシグナルに依存するため、ストラテジーのシグナル列を参照しなければなりません。
この演習では、add.rule() 呼び出しに sigcol の値を与え、filterexit に設定します(前の章で作成した filterexit シグナルを参照するためです)。具体的には、filterexit シグナルは、ストラテジーにおいて50日SMAが200日SMAを下抜けた状態を表します。このシグナルに対するルールを作成することで、市場環境がポジションに適さなくなったと判断し、この条件でエグジットしたいことを示します。
これまでと同様に、strategy.st はワークスペースに読み込まれています。
この演習はコースの一部です
Rで学ぶ金融トレーディング
演習の手順
- もう一度、ワークスペース内の
add.rule()コマンドを確認しましょう。 sigcolを指定して、filterexitに基づくエグジットルールを作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fill in the sigcol argument in add.rule()
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "___", sigval = TRUE, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "Open"),
type = "exit")