Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mark minervini
- 통계적 유의성
- 신의 시간술
- python
- 이클립스
- 파이어족 저축
- 퀀트 트레이딩
- 자산배분
- 파이어족
- AWS
- 아웃풋 트레이닝
- eclipse
- 마크미너비니
- 마크 미너비니
- tensorflow
- GIT
- 2%룰
- 김프
- 퀀터스 하지 마세요
- 파이어족 자산증식
- 데이비드 라이언
- 제시 리버모어
- 에드워드 소프
- 파이어족 포트폴리오
- 니콜라스 다바스
- 데이빗 라이언
- H는 통계를 모른다.
- 연금저축계좌
- 추세추종 2%룰
- 파이어족 자산
Archives
- Today
- Total
머신러닝과 기술적 분석
Backtrader 에서 cheat-on-close 의 의미 본문
728x90
Backtrader는 최대한 현실적인 백테스트를 위해 수수료 설정등의 기능을 지원한다. 그러나 이렇게 다양한 기능때문에 진입장벽이 있는 것도 사실이다. (그리고 무지 헷갈리기도함 ㅜ)
Backtrader에서 디폴트 설정으로 "오늘" 거래를 실행하면 "내일"의 시가(open price)로 거래가 완료된다. "오늘"의 종가로 거래 여부를 판단했다면 이미 "오늘"은 지나간 시간이라는.. 뭔가 현실을 반영하려는 의도인 듯하다. 그러다 보니 close price로 거래가 된 줄 알았는데 실제로는 "내일"의 시가로 거래가 되어있어 많이 헷갈린다
이런 복잡함을 해소하기위해 cheat-on-close라는 옵션이 있다. 표로 정리해보면 이렇다.
거래되는 날짜 | 거래되는 가격 | |
cheat-on-close : False (디폴트 설정) | 다음 거래일 | 내일의 시가 (open price) |
cheat-on-close : True | 다음 거래일 | 오늘의 종가 (close price) |
옵션 설정을해도 거래가 그 다음날 되는건 마찬가지지만 거래되는 가격을 오늘의 종가로 맞출수가 있다.
cheat-on-close 설정 방법
cerebro.broker = bt.brokers.BackBroker(coc=True, cash=10000.0)
# coc가 cheat-on-close를 의미함.
위 코드와 같이 브로커객체를 생성할 때 옵션으로 주면 된다.
결과 비교
# 2.1. COC를 OFF
# 05-19에 주문, 05-20에 05-20의 시가로 실행,
2003-05-19, BUY CREATE, 92.65
2003-05-20, BUY EXECUTED, Price: 92.82, Cost: 9016.51, Comm 0.00
..
2003-05-23, SELL CREATE, 93.76
2003-05-27, SELL EXECUTED, Price: 93.30, Cost: 9016.51, Comm 0.00
# 2.2. COC를 ON
# 05-19에 주문, 05-20에 05-19의 종가로 실행,
2003-05-19, BUY CREATE, 92.65
2003-05-20, BUY EXECUTED, Price: 92.65, Cost: 9000.00, Comm 0.00
..
2003-05-23, SELL CREATE, 93.76
2003-05-27, SELL EXECUTED, Price: 93.76, Cost: 9000.00, Comm 0.00
728x90
반응형
'백테스트' 카테고리의 다른 글
SPY 단타 전략 백테스트 : rsi powerzones (0) | 2021.08.01 |
---|---|
backtrader 에서 eps등의 재무 데이터를 추가하는 방법 (0) | 2021.07.31 |
시장의 마법사들 - 래리 하이트의 백테스트 방법 (0) | 2021.07.13 |
한국주식과 달러환율의 상관관계분석 (python 코드) (0) | 2021.07.13 |
Backtrader로 캔들차트 띄우기 (1) | 2021.07.08 |
Comments