add.rule() を使ってエントリールールを実装する
素晴らしいです!これで quantstrat におけるルール構築の各要素をマスターしました。ここまでは段階的にルールを追加してきましたが、今回はそれらをすべて組み合わせ、この章の内容をどれだけ吸収できたかを確認します。
エグジットルールの反対は、エントリールールです。エントリールールでは、初期ポジションが存在しないため、orderqty を "all" に設定することはできません。この演習では、ストラテジー内の longentry シグナルを参照して、資産を1株買うエントリールールを実装します。
この演習はコースの一部です
Rで学ぶ金融トレーディング
演習の手順
- 新しいエントリールールを実装するために、
add.rule()の引数を指定してください。 - ルールは、
longentryシグナルがTRUEのときにトリガーされるようにします。 - ルールは、
"market"オーダーで資産を1株購入するようにします。 - ルールの side は
long、replace はFALSEにします。 - シグナルを観測した翌日の
Openで買うようにします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create an entry rule of 1 share when all conditions line up to enter into a position
add.rule(strategy.st, name = "ruleSignal",
# Use the longentry column as the sigcol
arguments=list(sigcol = "___",
# Set sigval to TRUE
sigval = ___,
# Set orderqty to 1
orderqty = ___,
# Use a market type of order
ordertype = "___",
# Take the long orderside
orderside = "___",
# Do not replace other signals
replace = ___,
# Buy at the next day's opening price
prefer = "___"),
# This is an enter type rule, not an exit
type = "___")