私は毎月15日にオープンポジションを閉じる必要がある、quantstratを使ってRの戦略を書いています。特定月の日の終わりを
私はすでにadd.signal
とsigTimespan
を使ってみましたが、時間ではなく日付でしか動作しないようです。たぶん私は正しいデータ形式をそれに渡していないでしょう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を実行しています。
私はまだクオンタットビルトインソリューションを見つけられませんでしたので、私は今これを受け入れられた答えとしています。 –