반응형

백테스트에 해당하는 글 14

  1. 무한매수법 크립토 Ver 백테스트 툴! 3 안녕하세요, 게으른 퀀트입니다. 지난 번에 라오어님의 무한매수법을 백테스트할 수 있는 사이트를 소개해드렸는데요(제가 만든🤣) 변동성이 큰 시장에서 무한매수법이 더 잘 먹힌다는 사실에 착안해서, 암호화폐(크립토) 버전으로도 백테스트 툴을 만들어보았습니다. 사용법은 크게 다르지는 않지만, 현재 크립토 버전은 일별이 아닌 시간별로 매매를 하게 됩니다. 추가적으로 일별 Ver도 만들어보려고 하는데, 조금만 기다려주세요! 저도 암호화폐 거래는 경험이 많지 않아서 어떤 자산이 메인인지 잘 몰라서 우선은 시가총액이 큰 순으로 10개만 등록해보았습니다. 진행하시면서 백테스트 툴에 추가가 되었으면 좋겠다 하는 암호화폐가 있으면 댓글로 알려주세요 : ) http://lazyquant.xyz/backtest/infinite.. 2022.02.25
  2. 라오어의 무한매수법 백테스트 툴! (feat.내가 만든) 3 안녕하세요, 게으른 퀀트입니다. 중장기 퀀트 투자 특성상 리밸런싱을 한 번 진행하면 다음 리밸런싱때까지 딱히 할 일이 없는데요, 저는 그동안 다양한 책을 읽으면서 새로운 전략 등을 찾아보고 있었습니다. 그러던 중 요즘 핫한(?!) 라오어님의 무한매수법을 알게 되었습니다. 저는 책을 통해서 알게 되었는데 저자인 라오어님이 운영하는 유튜브와 카페도 있어서 정보를 다양한 방법으로 얻을 수 있습니다! 라오어님의 무한매수법을 한 마디로 정의하자면 '분할 매수/매도를 통한 확실한 수익 모아가기'입니다. 매일매일 조금씩 레버리지 ETF를 매수하고, 매도하여 수익을 확정짓고 모아가는 방법입니다. 이를 조금 더 전문적인 용어로는 코스트 에버리징 효과라고 합니다. 주식의 가격은 오르락 내리락 하는데, 분할 매수하여 보유한.. 2022.02.03
  3. 그 전략, 지금도 괜찮을까? 전략 현재 성과 오픈! 4 안녕하세요, 게으른 퀀트입니다. 전략별 현재 성과 페이지를 오픈하여 알려드리려고 합니다! 기존 동적 자산 배분 기준일자별 보유 자산 페이지의 하단에 현재 기준으로 성과 리포트를 추가했습니다😎 논문이나 블로그, 유튜브 채널을 통해서 다양한 전략들을 알게 되는데, 그 전략이 여전히 잘 먹히는지 궁금합니다. 인터넷으로 이리저리 검색해도 블로그에 백테스트한 글들이 있지만(제 블로그처럼), 그 또한 글이 쓰여질 때까지의 성과이고 매번 최신의 성과를 확인하기는 어려웠습니다. 그래서 제가 항상 최신의 성과 리포트를 볼 수 있는 페이지를 만들었습니다👏👏👏 백문이 불여일견이라 하였죠! 샘플로 VAA 전략의 리포트를 한 번 같이 보시죠! VAA 전략을 예시로 2007년 7월~2021년 11월의 성과 리포트를 아래와 같이 .. 2021.12.21
  4. 가속화 모멘텀 전략, 미국에서 통하는가?!(미국 시장 Ver) 3 안녕하세요, 게으른 퀀트입니다. 지난 포스팅에서 "가속화 모멘텀" 전략을 소개해드리고, 한국 시장에서 실제로 통하는가를 검증해보았습니다. 오로지 주가라는 단순한 팩터를 통해서 시가총액 상위10%를 대상으로 꽤나 괜찮은 성과(연복리 수익률 약 15%)를 보여주었습니다. '모멘텀은 죽었다!'라고 생각하고 있던 저에게도 큰 깨달음을 준 검증이었습니다. 이 전략이 정말 괜찮은 전략이라면 한국 시장 뿐만 아니라 미국 시장에서도 통해야 된다고 생각했습니다. 그래서 미국 시장을 대상으로 또 한 번 백테스트를 진행해보았습니다. 아직 "가속화 모멘텀" 전략에 대한 포스팅을 보지 못 하신 분들은 먼저 보고 오시면, 이번 포스팅을 훨씬 더 쉽게 이해하실 수 있을 것입니다. 이전 포스팅은 아래 링크를 참고해주세요😉 모멘텀은 .. 2021.06.16
  5. 실전 백테스트 - DAA 전략 21 지난 포스팅까지 백테스트를 하기 위한 기본적인 코드를 익혀봤다면, 이번 포스팅부터는 여러 전략들을 백테스트하는 실전 내용을 다루려고 합니다. 앞서 공부했던 코드들을 대부분 사용하지만, 각 전략마다 로직을 구현해야 하는 부분이 존재하기 때문에, 그 부분을 중점적으로 다뤄보려고 합니다. 첫 번째로 다룰 전략은 DAA 전략입니다. 여러 번 요청이 왔었지만, 리밸런싱에 정신이 팔려 포스팅을 미루고만 있었네요😭 1.준비단계 백테스트를 진행할 기간을 정하고, 종목을 선택해서 데이터를 가져오는 것부터 시작합니다. 백테스트 기간은 이왕이면 길게 산정하고 싶지만, 해당 ETF들의 상장일이 그리 길지 않아서 방법이 없습니다. import pandas_datareader as pdr import pandas as pd fr.. 2021.04.06
  6. 저평가 실적주 찾는 법! 가치 지표 최고 조합은? (PFCR, PCR, PSR, PER, EV/EBITDA, NCAV) 흔히들 주식 투자를 할 때 실적 대비 저평가된 가치주를 찾아서 투자해야 한다고 말합니다. 이는 퀀트 투자에서도 많이 사용하는 방법이죠. 이번 포스팅에서는 저평가 가치주를 찾기 위해서는 어떤 지표를 활용해야 하는지 알아보고, 어떻게 조합을 했을 때 가장 좋은 성과를 내는지 살펴보겠습니다. 이번에 다룰 밸류(가치) 지표는 PFCR, PCR, PSR, PER, 분기PER, EV/EBITDA, NCAV입니다. 모두 퀀트킹에서 제공하는 지표들이죠, 퀀트킹 만세!😉 1.지표 알아보기 PFCR : 시가총액/FCFF(잉여현금흐름), 수치가 낮다는 것은 시가총액대비 현금흐름이 좋음 PCR : 시가총액/영업현금흐름, 낮을수록 현금흐름대비 저평가 PSR : 시가총액/매출액, 낮을수록 매출액 대비 저평가 PBR : 시가총액/.. 2021.04.01
  7. 11월-4월 전략, 시즈널리티(seasonality), 할로윈 효과 - 백테스트(주가 지수 ver) 안녕하세요, 게으른 퀀트입니다. 지난 포스팅에서 시즈널리티 전략의 이론에 대해서 알아보았습니다. 이번 포스팅에서는 논문이나 리포트에서 다루고 있는 기간뿐만 아니라, 최신 데이터를 포함해서 직접 백테스트를 진행해보도록 하겠습니다. 아직 이론편을 보지 못 하신 분들은 아래 링크를 참고해주세요 : ) 11월-4월 전략, 시즈널리티(seasonality), 할로윈 효과 - 이론편 안녕하세요, 오랜만에 퀀트 전략으로 돌아왔습니다. 오늘은 퀀트 투자에서 핵심적인 팩터 중 한 가지인 시즈널리티, 계절성(seasonality)에 대해 알아보겠습니다. 시즈널리티를 활용한 전략에 대 lazyquant.tistory.com "백테스트는 직접 해봐야한다!"는 말을 많이 들어보셨을텐데요, 저도 백테스트를 하면 할수록 직접 해봐.. 2021.03.09
  8. 백테스트-ETF 정보 가져오는 방법(네이버 금융 API 활용) 4 안녕하세요, 오늘은 네이버 증권 API를 활용해서 국내에 상장된 ETF 정보를 조회하는 방법에 대해서 알아보도록 하겠습니다. 네이버 증권(금융)에서 ETF 탭을 선택하면 국내에 상장된 ETF 정보를 확인할 수 있습니다. 위 캡처 화면에서 조회되는 ETF 정보를 백테스트하기에 쉽도록 DataFrame으로 가져오는 방법을 알려드리겠습니다! 1.전체 ETF 리스트 가져오기 사실 소스코드가 매우 간단해서 '이걸로 포스팅을 올리는게 맞나?'라는 생각도 들었었지만, 검색을 통해서 블로그를 방문해주시는 분들이 많기 때문에 기능 별로 분리해서 포스팅을 하는게 좋을 것 같다고 생각했습니다. 아주 간단한 소스코드를 함께 한 번 살펴보시죠. import requests import json import pandas as p.. 2021.03.07
  9. 백테스트-MDD 구하는 방법(pandas) 1 안녕하세요, 지난 포스팅에서 우리는 각종 수익률(월별 수익률, 누적 수익률, 월별 Log 수익률, 누적 Log 수익률)에 대해서 알아보았습니다. 그리고 이번 포스팅에서는 수익률만큼이나 중요한 MDD를 구하는 방법을 알아보도록 하겠습니다. MDD(Max-DrawDown)란 전략을 운영하는 기간 중 최고점 대비 최대 낙폭을 의미합니다. 크고 작은 낙폭 중 가장 큰 낙폭을 MDD라고 하는 것이죠. 예를 들어 LAA 전략에서 보여드렸던 수익률 그래프를 다시 한 번 보도록 하겠습니다. 이 그래프에서도 크고 작은 낙폭들이 보이고, 그 중 나름 큰 낙폭 세 지점을 찾아보았습니다. 그 중 가장 낙폭이 커보이는 것은 (1)번 구간 같아 보이네요. 그렇다면 LAA 전략의 MDD는 (1) 지점에서 최고점 대비 최저점의 낙폭.. 2021.03.02
  10. 백테스트-수익률 구하는 방법(pandas-월별 수익률, 누적수익률, log 수익률, 누적 log 수익률) 9 안녕하세요, 이번 포스팅부터 본격적으로 주가 정보를 분석해보도록 하겠습니다. 처음으로 분석해 볼 데이터는 수익률 데이터입니다. 구체적으로는 월별 수익률과, 누적 수익률, 월별 log 수익률, 누적 log 수익률입니다. 우선 지난 시간에서 월별 말일의 주가로 정리한 데이터를 확인해보겠습니다. 1.월별 수익률 DataFrame에서 월별 수익률을 계산하는 것은 매우 쉽습니다! 저도 처음에는 이전 가격대비 변경액을 백분율로 계산을 했었는데, 알고보니 pct_change()라는 유용한 함수를 제공하더라구요. pandas.DataFrame.pct_change란? 기본적으로 바로 이전 행의 백분율 변경을 계산합니다. 이것은 요소의 시계열 변화율을 비교할 때 유용합니다. 이미 월별 말일 데이터로 준비를 해두었길래, 이.. 2021.02.28
  11. 백테스트-주가 정보 기간별 집계(DataFrame.resample) 안녕하세요, 백테스트 실습 두 번째 포스팅입니다. 지난 포스팅에서 종목의 주가 데이터를 가져오는 방법을 알아보았습니다. 오늘 포스팅에서는 수익률, MDD 등 다양한 정보를 분석하기 전에 분석하기 쉽게 기간 별로 집계하는 방법에 대해 알아보겠습니다. 이를 위해서 DataFrame의 resample이라는 함수를 활용할 예정입니다. 참고) pandas.DataFrame.resample — pandas 1.2.2 documentation Which side of bin interval is closed. The default is ‘left’ for all frequency offsets except for ‘M’, ‘A’, ‘Q’, ‘BM’, ‘BA’, ‘BQ’, and ‘W’ which all have a .. 2021.02.25
  12. 백테스트-해외 주식 종가 데이터 가져오는 방법(get_data_yahoo) 안녕하세요, 백테스트를 진행하면서 많은 분들이 소스코드를 요청하셔서 따라하시기 쉽도록 설명을 곁들여 포스팅해보려고 합니다. 그 첫번째 시간으로 가장 기본적인, 주가 데이터를 가져오는 방법을 알아보겠습니다. 다양한 방법으로 주가 데이터를 가져올 수 있겠지만, 이 포스팅에서는 pandas_datareader의 get_data_yahoo 함수를 사용해보겠습니다. 이는 Yahoo Finance 데이터를 html로 읽어오는 함수입니다. 저도 테스트하기 위한 막 코딩을 하는거라, 비효율적이고 지저분한 코드일 수 있으니 양해해주세요. 더 효율적이고 깔끔하게 정리가 가능한 코드들을 댓글로 알려주시면 저도 배울 수 있으니, 자유롭게 댓글 달아주세요 : ) 백테스트를 할 때 파이썬 언어를 사용하며, 주로 Jupyter N.. 2021.02.24
  13. LAA 전략 - 백테스트 실시 3 안녕하세요, 오늘은 지난 시간에 설명 드렸던 LAA 전략을 백테스트 하는 시간을 가져보겠습니다. 아직 LAA 전략에 대한 포스팅을 못 보신 분은 아래 게시글을 참고해주세요 : ) 이전 글) LAA 전략 - 정적인 듯, 동적인 자산 배분! 게으른 자산 배분 LAA 전략 - 정적인 듯, 동적인 자산 배분! 게으른 자산 배분 안녕하세요, 오늘은 VAA와 DAA 전략에 이어서 LAA 전략을 소개해드리도록 하겠습니다. LAA는 Lethargic Asset Allocation의 약자인데, 풀이하자면 무기력한, 게으른(Lethargic) 자산 배분이라는 뜻입니다. 전 lazyquant.tistory.com LAA 전략은 상장된 ETF 뿐만 아니라, 실업률의 데이터까지 필요해서 조금 더 시간이 걸렸네요. 백테스트 기간.. 2021.02.23
  14. DAA 전략 - 백테스트 실시 5 안녕하세요, 지난 포스팅에서는 DAA 전략의 기본적인 내용과 운영시 주의사항에 대해서 알아보았습니다. 이번 포스팅에서는 직접 데이터를 불러와 DAA 전략을 백테스트 해보고 결과를 살펴보도록 하겠습니다. 지난 번에 VAA 전략을 백테스트 했던 코드를 재활용해 DAA 전략을 백테스트 해보았습니다. 동적 자산배분의 진행 방식이 유사해서 거의 그대로 사용할 수 있었네요 : ) 백테스트 기간은 2008년 1월 1일부터 2021년 2월 9일까지입니다. 2008년의 서브프라임 사태를 반영해서 확인하기 위해 기간을 이렇게 잡았습니다. 우선 수익률부터 살펴보도록 하겠습니다. 1.수익률 확인 2009년 상당한 하락 이후 나름 완만하게 상승하는 모습을 보여줍니다. 상세하게 수익률을 분석해보겠습니다. 158 개월 중 Risk.. 2021.02.09
반응형