【问题标题】:Close position on specifc month day在特定月份的某一天平仓
【发布时间】:2016-12-04 22:47:28
【问题描述】:

我正在使用 quantstrat 在 R 中编写一个策略,该策略需要在每个月的第 15 天关闭任何未平仓头寸。

我已经尝试过将add.signalsigTimespan 一起使用,但它似乎只适用于时间,而不适用于日期。也许我没有将正确的数据格式传递给它的 timespan 参数。它要求一个基于 POSIXct 的对象,所以我这样写:

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

...它不起作用。即使是这样,该信号也仅对关闭该月的头寸有用。

一种可能的解决方案是通过使用delaytimespan 参数在开仓的同时下达延迟订单以平仓,但我也无法让它发挥作用。这是我尝试过的:

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


    【解决方案1】:

    在调用 quantstrat 的 applyStrategy 函数之前,我创建了一个函数,该函数在特定时间戳生成交易信号并将其应用于我的 OHLC 数据。该信号与退出规则一起发挥了作用。

    【讨论】:

    • 由于我还没有找到任何 quantstrat 内置解决方案,我现在将其标记为已接受的答案。
    猜你喜欢
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多