【发布时间】:2016-12-04 22:47:28
【问题描述】:
我正在使用 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 分钟。
【问题讨论】:
标签: r quantstrat