1
我在使用quantstrat編寫R策略,需要在每個月的第15天關閉任何未結頭寸。特定月份日的關閉位置
我已經嘗試使用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')
有什麼想法?
我在Ubuntu 16.04.1 LTS下運行R 3.3.2和quantstrat 0.9.1739,數據爲5分鐘。
由於我還沒有找到任何quantstrat內置解決方案,我現在將其標記爲公認的答案。 –