일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 아웃풋 트레이닝
- 파이어족 자산증식
- 퀀터스 하지 마세요
- GIT
- 통계적 유의성
- 파이어족 자산
- mark minervini
- 데이빗 라이언
- 마크 미너비니
- 추세추종 2%룰
- python
- H는 통계를 모른다.
- 제시 리버모어
- 신의 시간술
- 자산배분
- 마크미너비니
- 퀀트 트레이딩
- 니콜라스 다바스
- 파이어족 포트폴리오
- AWS
- tensorflow
- 데이비드 라이언
- 김프
- 파이어족
- eclipse
- 파이어족 저축
- 에드워드 소프
- 연금저축계좌
- 이클립스
- 2%룰
- Today
- Total
목록백테스트 (11)
머신러닝과 기술적 분석
강환국님 유튜브 동영상에서 rsi powerzones라는 단타전략을 알게되었다. 매우 간단한 전략이라서 backtrader 공부도할겸 백테스트해보았다. 1) 거래로직 거래로직은 다음의 매수, 매도신호에 따라 매매한다. 매수 신호 현재가격이 200일 이동평균선보다 위에 있고 RSI(4)가 30미만으로 떨어지면 Buy RSI(4)가 25미만으로 떨어지면 추가 매수 (추가매수하는 부분은 약간 복잡해서 코드상으로는 스킵하고 실험) 매도 신호 RSI(4)가 55이상이면 Sell 2) 실험결과 전체기간 : 1993년 ~ 2021년 7월 31일 먼저 SPY데이터를 구할 수 있는 전체 구간에 대한 테스트 결과이다. 위에서 두번째 박스에 파란색은 이긴 거래, 빨간색은 진 거래(손실을 본 거래)를 의미한다. 딱 봐도 파란..
Backtrader는 최대한 현실적인 백테스트를 위해 수수료 설정등의 기능을 지원한다. 그러나 이렇게 다양한 기능때문에 진입장벽이 있는 것도 사실이다. (그리고 무지 헷갈리기도함 ㅜ) Backtrader에서 디폴트 설정으로 "오늘" 거래를 실행하면 "내일"의 시가(open price)로 거래가 완료된다. "오늘"의 종가로 거래 여부를 판단했다면 이미 "오늘"은 지나간 시간이라는.. 뭔가 현실을 반영하려는 의도인 듯하다. 그러다 보니 close price로 거래가 된 줄 알았는데 실제로는 "내일"의 시가로 거래가 되어있어 많이 헷갈린다 이런 복잡함을 해소하기위해 cheat-on-close라는 옵션이 있다. 표로 정리해보면 이렇다. 거래되는 날짜 거래되는 가격 cheat-on-close : False (디폴..
backtrader 에서 기본적으로 제공하는 데이터 컬럼은 Open, High, Low, Close, Volumn 이렇게 5개이다. 여기세 per, eps등의 재무데이터를 추가할 수 있다! 1. 추가하는 방법 기존 데이터 피드를 확장해서 데이터를 추가 class EpsData(bt.feeds.PandasData): lines = ('per', 'eps',) # add a line containing the net payout yield # Open High Low Close Volume PER(5) EPS(6) params = dict( per=5, # 5번째 컬럼 eps=6, # 6번째 컬럼 dtformat='%Y-%m-%d', # fix date format a yyyy-mm-dd timeframe=..
시장의 마법사들에서 래리하이트편을 읽어봤다. 짧은 글임에도 새겨 들을 만한 내용이 많아서 정리해 보았다. 1. 투자는 확률 게임이다. 성공적인 투자는 확률의 문제라는 생각을 갖게 됐어요. 확률을 계산할 수 있다면 시장을 이길 방법을 찾아보고 시험해볼 수 있게 되거든요. (251쪽) 래리하이트는 투자를 확률적인 게임이라고 정의했다. 여기서 확률이라는 것은 1번의 거래에서 얻을 수 있는 기대값(expectation) 을 의미한다. 기대값 := (이길 확률 * 이길 때의 평균 이익) - (질 확률 * 질 때의 평균 이익) 이 기대값을 계산할 수 있다면 돈을 벌 수 있다는 의미이다. 오케이. 확률계산하면 돈 벌 수 있어. 좋은 말인데 어떻게? 2. 근데 확률을 어떻게 계산하지? 인간은 언제나 똑같기 때문에, 만..
지난 포스트 달러와 주요자산군과의 상관관계 에서 달러의 헤지 역할에 대해서 실험해보았다. 이번에는 한국 주식(코스피지수로 계산)과 원/달러 환율의 상관계수를 구해보았다. # 테스트 기간: 1995-01-01 ~ 2021-07-31 USD/KRW KS11 USD/KRW 1.000000 -0.221569 KS11 -0.221569 1.000000 먼저 상관계수는 -0.221569이다. (예상했던대로 음의 방향이지만 솔직히 더 낮게 나올줄 알았다.) 시계열 변화를 그림으로 띄워보면 아래와 같다. 위기의 순간마다 환율이 뛰는 것을 볼 수 있다. 한국주식에 투자하는 경우 달러자산을 가지고 있으면 확실하게 헤지역할을 하는 것으로 보인다. 달러자산 보유는 필수! (관련 python 코드 첨부)
우리나라에서는 양봉을 빨간색, 음봉을 파란색으로 표시하지만 미국에서는 음봉을 빨간색으로 표시한다. Backrader로 미국에서 만든 package 답게 음봉을 빨간색, 양봉은 회색으로 표시된다. 아무런 설정없이 캔들을 띄워보면 다음과 같이 어색한 차트가 나온다. 그런데 다행히 옵션으로 한국 스타일 캔들차트를 띄울 수 있다! # 이런식으로 상승이면 (양봉) 빨간색, 하락이면 (음봉) 파란색으로 설정 cerebro.plot(style="candle", barup="red", bardown="blue") 이렇게 설정하고 plot을 띄워보면.. 우리에게 익숙한 차트를 띄울 수 있다. (이건 SPY의 일봉차트) 전체 소스코드 참고자료 plotting 메뉴얼 : https://www.backtrader.com/do..
유튜브에서 놀라운 비디오를 봤다. 분산투자 필요없고 월급받는대로 S&P 500을 추종하는 SPY에 몰빵하라는 단순무식한 전략으로 연평균 10 ~ 12%의 수익률을 기록할 수 있다는 비디오다. (그 말한 사람은 그걸로 책까지 쓴 모양이다...) 미국장이 좋았던 2010년부터 최근까지의 결과만 말한다. 당연히 백테스트 결과따위는 없다. 9.11과 서브프라임이 있었던 2000년부터 2010년까지의 10년동안 연평균 수익률이 1프로 미만이었다는 얘기도 안한다. 여기까지 생각했었는데.. 주식과 달러원환율과의 상관계수가 반대라는 것을 생각해보니 의외로 괜찮을 수도 있겠다는 생각을해서 백테스트를 해봤다. 백테스트 라이브러리 연습도 해볼겸! 1. Portpolio Visualizer로 백테스트 미국 ETF는 portf..
IMF때 한국주가가 폭락하면서 경기가 안좋아지자 달러/원 환율은 2000원 직전까지갔었다. 2008년 금융위기때는 세계적으로 주가가 폭락하면서 달러/원 환율이 1500원 가까이 폭등했다. 여기서 짐작할 수 있는 사실은 주가와 달러는 음의 상관관계를 갖는다는 것이다. 그렇다면 다른 자산군 (채권, 금, 부동산) 과 달러의 관계는 어떨까? portpolio visualizer에서 실험해보았다. 1. 실험방법 portpolio visualizer에서 각 자산군을 대표하는 ETF를 골라서 상관계수를 계산해보았다. 달러의 경우 달러인덱스 ETF인 UUP로 실험했다. (UUP는 달러와 다른 통화들의 상대적인 가치를 추종하므로 원화대비 달러의 가치와는 차이가 있을수 있다.) 주식은 미국의 대표 ETF인 SPY, 금은..
금은 주식/채권 포트폴리오의 약점인 금리상승구간에서 상승을 기대할 수 있는 자산이다. 그래서 영구포트폴이오나 올웨더에서도 금은 일정 비중을 차지하고 있다. 그러면 어느 금 ETF를 사야할까? 실험배경 ETF 종목 운용수수료 Note IAU 0.25% GLD 0.40% KODEX 골드선물(H) 0.68% 환헤지 걸려있음 운용수수료만 보면 당연히 IAU에 투자하는 것이 맞다. 그러나 KODEX 골드선물에는 환헤지가 걸려있다는 것이 장점이다. 금 etf에 환헤지가 걸려있다는 것은 왜 장점일까? 보통 금은 달러화 가치가 떨어질때 헤지 역할을 해준다. 달러가치가 떨어지고, 금가격이 오르는 구간을 생각해보면 IAU나 GLD는 etf의 가격은 오르겠지만, 달러가치가 떨어져 원화환산시 수익률에서 손해를 볼 수 도 있다..
지난 포스트에 이어서 60/40 포트폴리오를 백테스트하고 있다. 이번에는 한국 주식과 달러/원환율을 적용해보았다. 환율 미국 etf는 달러가격으로 표시되어있다. (미국꺼니까...) 대부분의 한국인에게 의미있는 자산은 원화로 표시되어있는 자산이다. 미국 etf에 투자를 하더라고 이것의 원화가치가 중요하다. 김단테님은 원화가치에 크게 신경을 쓰지않는듯하다. (달러로 10억원을 투자하고 있고 원화로 그 이상의 재산을 갖고계시니...) 또한 환율의 변동성을 이용해 포트폴리오를 구성하면 더 좋은 자산배분전략을 만들수 있지않을까... 하는 생각에 백테스트를 환율을 적용해 원화로 진행해 보았다. 한국주식 한국주식과 미국국채가 환상의 조합이라는건 자산배분에 관심있는 분이라면 한번쯤 들어본 이야기일 것이다. 그래서 주식..