add.rule() を使って exit ルールを実装する
ルールの章へようこそ! quantstrat のルールは非常に複雑になることがありますが、この章では実際のルールの仕組みを理解できるよう、多くのポイントを補います。ルールは quantstrat の三大要素(インジケーター、シグナル、ルール)の最後の要素です。ルールは、シグナルで実行すると決めた後に、取引を具体的に「どのように」組み立てるかを正確に指定するためのものです。
この章を通して、前の章で作成した戦略(strategy.st)を引き続き使います。この戦略には3つのルール(エグジットが2つ、エントリーが1つ)があるため、ルールの仕組みを直感的に理解するための演習をいくつか行います。
この演習では、戦略にカスタマイズしたルールを追加できる add.rule() 関数を紹介します。前の章で作成した戦略(strategy.st)は、ワークスペースにあらかじめ読み込まれています。
この演習はコースの一部です
Rで学ぶ金融トレーディング
演習の手順
- ワークスペース内の
add.rule()呼び出しを確認してください。今は多数の引数については気にしなくて大丈夫です。 type引数をexitに設定して、add.rule()でエグジット・ルールを作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fill in the rule's type as exit
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "filterexit", sigval = TRUE, orderqty = "all",
ordertype = "market", orderside = "long",
replace = FALSE, prefer = "Open"),
type = "___")