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
- 마크 미너비니
- 추세추종 2%룰
- 파이어족 포트폴리오
- 퀀터스 하지 마세요
- 파이어족 저축
- GIT
- 자산배분
- 이클립스
- 파이어족 자산증식
- 파이어족 자산
- 니콜라스 다바스
- 통계적 유의성
- 제시 리버모어
- H는 통계를 모른다.
- eclipse
- 데이비드 라이언
- 신의 시간술
- 연금저축계좌
- python
- 에드워드 소프
- 아웃풋 트레이닝
- 마크미너비니
- 퀀트 트레이딩
- AWS
- 2%룰
- 데이빗 라이언
- 김프
- tensorflow
Archives
- Today
- Total
머신러닝과 기술적 분석
SPY 몰빵 전략 python 백테스트 본문
728x90
유튜브에서 놀라운 비디오를 봤다. 분산투자 필요없고 월급받는대로 S&P 500을 추종하는 SPY에 몰빵하라는 단순무식한 전략으로 연평균 10 ~ 12%의 수익률을 기록할 수 있다는 비디오다. (그 말한 사람은 그걸로 책까지 쓴 모양이다...)
미국장이 좋았던 2010년부터 최근까지의 결과만 말한다. 당연히 백테스트 결과따위는 없다. 9.11과 서브프라임이 있었던 2000년부터 2010년까지의 10년동안 연평균 수익률이 1프로 미만이었다는 얘기도 안한다.
여기까지 생각했었는데.. 주식과 달러원환율과의 상관계수가 반대
라는 것을 생각해보니 의외로 괜찮을 수도 있겠다는 생각을해서 백테스트를 해봤다. 백테스트 라이브러리 연습도 해볼겸!
1. Portpolio Visualizer로 백테스트
미국 ETF는 portfoliovisualizer 에서 쉽게 백테스트 할 수 있다. SPY의 경우 1994년 1월부터 데이터가 있어서 1994. 1 ~ 2021. 7 까지의 기간동안 백테스트할 수 있었다.
- 연평균 수익률은
10.42%
로 매우 양호하지만 최대낙폭은-50.8%
이다. (2007년 11월부터 2009년 2월까지의 기간동안 반토막났다는...) - Portpolio Visualizer로 백테스트하는게 편하기는 하지만 환율데이터를 적용해서 원화환산 수익률, MDD를 계산할 수 없다는 단점이 있다. (이거 하려면 유료버젼 써야함)
- 원화환산으로 백테스트해보려면 환율데이터 구해서 python으로 코딩해봐야함..
2. Backtrader로 백테스트
- 원화환산 백테스트를 하기전에 Portpolio Visualizer와 동일한 백테스트를 해보았다.
- 코드에 문제가 있을 수도 있고, 데이터에 문제가 있을 수도 있어서 이런 확인과정이 필요하다고 생각했다.
- 원래는 백테스트 라이브러리를 안썼는데, 좀 더 복잡한 전략을 테스트하려면 쓰는게 좋을 것 같아서 backtrader 라는 python library로 백테스트 해봤다.
- portpolio visualizer와 동일한 기간으로 설정하고 백테스트 고고!
cagr(연평균 수익률): 10.48%
mdd(최대낙폭) : -55.19%
Portpolo Visualizer | Backtrader | |
CAGR (연평균 수익률) | 10.42% | 10.48% |
MDD (최대낙폭) | -50.8% | -55.19% |
- 연평균 수익률은 거의 비슷하게 나오지만 MDD는 꽤 차이가 난다.
- Portpolo Visualizer에서는 월단위 종가(해당 월말일의 가격)를 사용하는 반면, Backtrader 에서는 일단위 종가(해당 날짜의 마감 가격)를 사용하기 때문인 것으로 추정한다.
- (그래서 항상 Backtrader로 백테스트할때의 최대낙폭이 portpolo visualizer에서의 최대낙폭 보다 나쁘게 나온다.)
- Backtrader 라이브러리는 잘 동작하는 것 같으니 이제 환율 데이터를 적용해서 원화환산 수익률과 MDD를 구해보자!
3. 원화환산 백테스트
- 환율 데이터는 FinanceDataReader라는 python package를 통해 구할 수 있었다.
-
달러기준 백테스트 원화환산 백테스트 CAGR (연평균 수익률) 10.48% 11.88% MDD (최대낙폭) -55.19% -46.59% - MDD가
-55.19%
에서-46.59%
로 줄긴했지만 기대했던 것 만큼의 큰 효과 (주가가 폭락할 때 달러가치 상승으로 손실을 헤징하는 기능)는 없는 듯 하다.
4. 정리
- SPY 몰빵 전략을 백테스트 해보았다.
- 수익률은 10% 이상으로 준수하지만, MDD가 -50%가 나오는 매우 위험한 전략이다.
- 원화환산으로 바꿔서 백테스트 해봐도 MDD가 크게 줄어드는 효과는 없었다.
남에말 믿지말고 직접 백테스트해보고 투자하자.지저분한코드 공개
728x90
반응형
'백테스트' 카테고리의 다른 글
한국주식과 달러환율의 상관관계분석 (python 코드) (0) | 2021.07.13 |
---|---|
Backtrader로 캔들차트 띄우기 (1) | 2021.07.08 |
달러와 주요자산군과의 상관관계 (0) | 2021.02.05 |
금 etf 비교 : 환헤지된 금 etf는 포트폴리오에 도움이 될까? (0) | 2020.08.29 |
60/40 포트폴리오 python 백테스트 (2) : 한국 주식과 환율적용! (1) | 2020.08.01 |
Comments