始める無料で始める

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 = "___")
コードを編集して実行