나는 매월 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 분짜리 데이터로 우분투 16.04.1 LTS에서 R 3.3.2와 quantstrat 0.9.1739를 실행 중입니다.
아직 퀀트 스트랫 (quantstrat) 내장 솔루션을 찾지 못했기 때문에 이것을 지금 받아 들였습니다. –