2016-12-04 17 views
1

私は毎月15日にオープンポジションを閉じる必要がある、quantstratを使ってRの戦略を書いています。特定月の日の終わりを

私はすでにadd.signalsigTimespanを使ってみましたが、時間ではなく日付でしか動作しないようです。たぶん私は正しいデータ形式をそれに渡していないでしょうtimespan引数です。それはPOSIXctベースのオブジェクトを要求するので、次のように書いた:

add.signal(strategy = strategy, 
      name = 'sigTimestamp', 
      arguments = list(timestamp = as.POSIXct('2016-11-15 17:00:00')) 
      label = 'timestamp') 

...そしてそれは動作しません。たとえそれがあったとしても、そのシグナルはその月の位置を閉鎖するためだけに役立ちます。

可能な解決策は、delayまたはtimespan引数を使用して開かれた同じ時間間隔で位置を閉じるための遅延命令を置くことですが、それを動作させることもできませんでした。ここで私が試したことは次のとおりです。

add.rule(strategy = strategy, name = 'ruleSignal', arguments = 
      list(sigcol = 'long', 
       sigval = TRUE, 
       orderqty = 'all', 
       ordertype = 'market', 
       orderside = 'long', 
       replace = FALSE, 
       prefer = preferredPrice, 
       timestamp = as.POSIXct('2016-11-15 17:00:00')), 
     type = 'exit', label = 'Timestamp Position Close') 

私は5分のデータで、Ubuntu 16.04.1 LTSでR 3.3.2とquantstrat 0.9.1739を実行しています。

答えて

1

私は、特定のタイムスタンプで取引信号を生成し、それをOHLCデータに適用してから、quantstratのapplyStrategy関数を呼び出す関数を作成しました。そのシグナルは、出口ルールと一緒にトリックでした。

+0

私はまだクオンタットビルトインソリューションを見つけられませんでしたので、私は今これを受け入れられた答えとしています。 –

関連する問題