Я нахожу стратегию в 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')
Любые мысли?
Я запускаю R 3.3.2 и квантстрат 0.9.1739 под Ubuntu 16.04.1 LTS с 5-минутными данными.
Поскольку я еще не нашел какое-либо встроенное решение квантстрата, на данный момент я отмечаю это как принятый ответ. –