반응형

파이썬 12

TQQQ, TMF 가속듀얼모멘텀 백테스트

이번 글에서는 가속듀얼모멘텀을 백테스트 해보겠다. 우선 가속듀얼모멘텀의 기본 구조는 다음과 같다. n개의 투자자산과 1개의 안전자산을 선정한다. n개 투자자산의 1,3,6개월 평균모멘텀을 산출한다. n개 투자자산의 평균모멘텀 상위 m개의 자산에 동일 비중으로 투자한다. 단, 선정된 m개의 투자자산 중에서 모멘텀이 음수인 자산은 안전자산으로 교체한다. 가속듀얼모멘텀의 원문은 아래 링크를 참조하도록 한다. Accelerating Dual Momentum Investing Warren Buffett has said that trying to time the market is the number one mistake to avoid. Market timing is hard, if not impossible to..

자산배분 2023.01.27

TQQQ, TMF 평균모멘텀 전략의 비중 계산 Algo 클래스

6편과 7편에서 평균모멘텀 전략과 해당 전략의 수익곡선 모멘텀까지 적용한 전략을 살펴보고 백테스트 결과를 공유하였다. 결과를 공유하며 평균모멘텀 전략에서 해당 전략의 모멘텀을 산출하여 각 자산의 비중을 산출하는 Algo클래스를 상속받은 WeighAMS 클래스의 설명을 생략하였는데 오늘은 WeighAMS() 만 다루도록 하겠다. WeighAMS 클래스는 투자자산의 12개월 평균모멘텀을 산출하여 비중을 할당하는 기본 기능과 수익률 곡선이 있는 경우 수익곡선 모멘텀을 산출하여 안전자산의 최소비중을 우선 할당한 후에 투자자산의 평균모멘텀에 따라 각 자산의 투자비중을 계산하는 기능을 포함하고 있다. 생성자를 먼저 살펴보자. def __init__(self, lag=1, cash_weight=0.0, returns..

자산배분 2023.01.19

TQQQ, TMF 수익곡선 모멘텀 백테스트

그동안 6편의 글을 통해 고정 비중 전략부터 상대모멘텀, 절대 모멘텀, 평균모멘텀 순서로 백테스트를 수행하고 누적 수익을 확인해 보았다. 오늘은 수익곡선 모멘텀으로 백테스트한 결과를 올려보겠다. 먼저 수익곡선 모멘텀이 무엇을 말하는 것인지 알아보기 전에 모멘텀이라는 용어부터 확인해보면 용어 자체는 물리학 용어로 물체가 한 방향으로 지속적으로 변동하려는 경향을 의미한다. 이러한 개념이 증권시장에도 적용되어 가격의 추세를 의미하는 표현으로 사용되는 것이다. 그리고 상대모멘텀, 절대 모멘텀, 평균모멘텀과 같은 것들이 이 추세를 판단하는 여러 기준들이다. 마찬가지로 수익곡선 모멘텀도 추세를 판단하는 방법중의 하나인 것이다. 우리는 지난 6편의 백테스트들에서 각각의 방식에 따른 누적수익률 곡선들을 보아왔다. 수익..

자산배분 2023.01.18

TQQQ, TMF 듀얼 모멘텀 백테스트

TQQQ, TMF 종목으로 백테스트 결과를 공유하기 시작한 지 벌써 한달이 되었다. 진작에 다 올렸어야 하는데 게으르다 보니 많이 늦어졌다. 오늘부터 마음을 다잡고 다시 부지런히 올려보겠다. 지난글에서 1~12개월 절대 모멘텀을 살펴보았고 이번글에서는 평균모멘텀 방식의 결과를 공유하려 했으나 순서를 바꾸어서 이번글에서는 듀얼 모멘텀을 테스트해 보려한다. 먼저 간단하게 듀얼 모멘텀을 알아보면 널리 잘 알려진 듀얼 모멘텀 전략들이 있다. 원조 격이라고 할 수 있는 게리 안토나치의 오리지널 듀얼 모맨텀 전략이 대표적이고 이를 변형한 가속 듀얼 모멘텀 전략도 있으며 조금씩 변형된 많은 전략들이 존재하지만 듀얼 모멘텀은 기본적으로 투자자산, 비교자산, 안전자산의 3가지의 자산군으로 구성되고 기본적인 동작 원리는 ..

자산배분 2023.01.09

파이썬에서 구글 스프레드 시트 연동 준비

나는 2022년 한 해 동안 아이패드의 기본앱인 넘버스로 자산관리를 하고 있다가 2022년이 지나기 직전에 구글 스프레드 시트를 기반으로 Appsheet 를 통해 모바일 앱으로 만들었다. 그리고 2023년 부터는 내가 직접 제작한 자산관리 앱을 사용하여 자산관리를 시작했다. 2022.12.29 - [IT,참고자료] - 앱시트(Appsheet)를 활용한 나만의 자산관리 어플 2022.12.23 - [IT,참고자료] - 구글 스프레드 시트를 활용한 나만의 자산관리 그리고 구글 스프레드 시트의 웹 게시 기능을 이용해서 나의 자산의 포트폴리오 현황과 포트폴리오 수익률을 실시간으로 공개되도록 공지사항에 게시하였다. 2022.12.21 - [분류 전체보기] - 실시간 마이 포트폴리오 2023.01.02 - [분류 ..

IT,참고자료 2023.01.03

Window환경에서 작업 스케줄러 활용한 작업 예약

실시간 자산관리를 하기 위해 구글 스프레드 시트를 활용하여 주식, 펀드 그리고 가상자산의 실시간 시세를 획득할 수가 있었지만 한가지 해결할 수 없는 점이 있었다. 바로 젠포트를 통해 자동매매를 실행하고 있는 계좌의 평가금과 잔고정보는 자동으로 얻어올 수가 없다는 점이다. 내가 선택한 방법은 키움OpenAPI를 이용해서 해당 정보를 획득하고 주기적으로 구글 스프레드 시트에 갱신하는 방법이였다. 하지만 막상 개발해서 테스트해보니 이것도 문제가 생겼다. 바로 키움OpenAPI는 동시접속이 안된다는 것이다. 즉, 젠포트 자동매매시스템에서 키움OpenAPI를 사용하고 있기 때문에 내가 작성한 프로그램으로 키움OpenAPI를 통해 로그인하면 젠포트 자동매매의 접속이 끊긴다는 점이다. 결국 하루에 한번만 접속해서 평..

IT,참고자료 2023.01.02

TQQQ, TMF 절대 모멘텀 백테스트(2)

지난글에서는 TQQQ 한 종목만으로 1~12개월 절대 모멘텀을 기준으로 백테스트를 수행하여 보았다. 결과는 만족스럽지 못했다. 이번 글에서는 TQQQ와 TMF 2개의 종목으로 1~12개월 절대 모멘텀 기준의 백테스트 결과를 공유하고 절대 모멘텀 기준을 만족하는 종목을 선택하기 위해 bt패키지의 Algo클래스를 상속해서 재정의한 SelectAbsoluteMomentum 클래스를 설명한다. 먼저 전략을 생성하고 해당 전략으로 백테스트 객체를 생성하는 코드를 살펴보자. # 절대모멘텀 백테스트 def AbsoluteMomentum_BT(assets, rank, months, start_day, run_on_end_of_period=False, lag=1, name='Absolute Momentum'): #전략 ..

자산배분 2022.12.26

TQQQ, TMF 고정 비중 백테스트

나는 지난 4월부터 라오어님의 미국주식 무한매수법 이라는 서적을 읽고 TQQQ 무한매수를 시작했었다. 무한매수법 한 사이클이 40회로 구성되지만 난 한사이클도 끝내지 못하고 현재 원금 대비 -40% 수익률을 찍고 물려있는 상태이다. 중간중간 많이 하락했다 싶은 구간에서 계속 분할 매수 했지만 큰 효과를 보지는 못했고 이제 8회차 정도의 원금이 남아있는 상태이다. 최근 한달 정도 레버리지 투자에 대해 다양한 방법을 찾아보고 학습하는 시간을 갖고 있는 중이다. 많은 방법들 중에서 시선이 가는 글을 읽었다. 주식과 채권을 60:40으로 혼합하여 투자하는 전통적인 고정비중 방식과 유사하지만 특이한 점이 리스크패리티 관점에서 40:60으로 혼합하고 레버리지를 사용하는 것이다. 그것도 주식과 채권 모두 3배 레버리..

자산배분 2022.12.13

DIY 성과분석 패키지

퀀트대디님께서 이론을 일목요연하게 정리해 놓은 글을 스크랩해 놓는다. 나중에? 학습해야겠다. ^^a [파이썬 & 트레이딩] DIY 성과분석 패키지 #1. # 백테스팅이 끝나고 난 뒤 자신의 전략을 백테스팅 해보았다면 그다음에 할 일은 바로 그 백테스팅 결과를... blog.naver.com [파이썬 & 트레이딩] DIY 성과분석 패키지 #2. # 테일 리스크 지표 분석 툴 구현하기 1편에 이어 전략의 테일 리스크(Tail Risk), 즉 발생할 가능성이 ... blog.naver.com [파이썬 & 트레이딩] DIY 성과분석 패키지 #3. # 성과평가 지표 분석 툴 구현하기 2편에 이어 여기서는 마지막으로 전략의 성과, 즉 위험 대비 수익의 정... blog.naver.com

IT,참고자료 2022.12.12

파이썬으로 주가 데이터 엑셀로 내려받기

최근 자산배분을 공부하면서 파이썬으로 과거 데이터를 활용하여 여러가지 백테스트를 해보며 과거의 실제 성과를 시뮬레이션 해보는 재미에 빠져서 지내고 있다. 시작한지 얼마되지 않아서 아직은 시행착오를 많이 겪고 있지만 하나씩 차근차근 진전이 되고 있는 중이다. 나는 파이썬을 사용하여 과거의 주가 데이터를 가져오기 위해서 주로 야후 파이낸스에서 제공하는 데이터를 사용하고 있고 구글의 코랩 환경에서 코딩을 하고 있다. 회사에서 사용할 때 불편한 점은 사내의 사설망 환경 때문인지 yfinance 패키지를 사용하여 데이터를 다운로드하려고 하면 SSLCertVerificationError 오류로 실패하고 만다. 우회할 수 있는 방법을 여러가지 시도해 봤지만 실패를 했다. 파이썬 SSLCertVerificationEr..

IT,참고자료 2022.11.18
반응형