일상 이야기/Daily Quant
[13] 퀀트 로직 : 조건식의 차원 맞추기
[13] 퀀트 로직 : 조건식의 차원 맞추기
2022.11.14변수의 차원 맞추기 퀀트 로직 중 핵심이 되는 매수/매도 조건식을 만들기 위해서는 몇 가지 지켜야 할 사항이 있다. 그 첫 번째로는 지표(변수)의 차원을 맞춰서 연산하는 것이다. 수식을 사용해 신규 지표를 정의하거나 만들 때는 단위(차원)를 일치시켜 연산 가능한 로직으로 구성해야 하는 것이 가장 기본이다. 먼저, 기술적 분석 관점에서 가장 선행적인 지표 중 하나인 거래량/거래대금을 예로 들어 다루어 보자 거래량과 거래대금은 특정 종목에 대해 얼마나 많이 사고 팔았는 지 판단할 수 있는 지표이다. 특정 가격에서의 매도와 매수 거래가 모여 OHLC(Open : 시가, High : 고가, Low : 저가, Close : 종가)를 이루고 일봉을 나타낸다. 그리고 이 일봉들이 모여, 이동평균선을 그린다. 따라서,..
[12] 퀀트 조건식을 수학적으로 접근하는 방법
[12] 퀀트 조건식을 수학적으로 접근하는 방법
2022.11.141. 수학적 기교를 이용한 젠포트 조건식 만들기 젠포트에서는 다양한 팩터를 사칙연산 등의 수식을 이용하여 조건식을 만들 수 있다. 수학적으로 이 조건식을 변형한다면, 한 줄의 조건식으로 다양한 로직을 표현할 수 있다. 만약, PBR 순위를 10분위로 나누어 4~6 분위만 매수하는 로직을 사용하고 싶다면 아래와 같이 사용할 수 있을 것이다. 매수 조건식 A and B A : 비율내림차순({주가순자산률(PBR)}) > 40 B : 비율내림차순({주가순자산률(PBR)}) < 60 하지만 아래와 같이 간단한 수식을 이용하면 한 줄로도 범위를 표현하여 매수 및 매도 조건을 설정할 수 있다. x(1-x) 수식을 이용하면, 0.4(1-0.4) = 0.24이므로 아래와 같이 수식을 이용하면 한 줄로 표현할 수 있다. ..
[11] 퀀트투자 - 논리적으로 최적화하기
[11] 퀀트투자 - 논리적으로 최적화하기
2022.11.03변수 최적화의 논리적 방법 앞서 퀀트 로직을 최적화하는 두 가지의 변수를 제안하였다. 1. 분산투자 [9] 퀀트투자 - 변수를 최적화 하는 방법 / 분산투자 변수 최적화 하기 1. 분산투자 (종목별 비중) 퀀트 로직을 최적화하는 여러 방식이 있다. 필자는 매수와 매도 로직 모두 중요하지만, 처음 변수를 판단할 때는 매수 로직을 우선적으로 최적화하 anapharm.co.kr 2. 최대 보유 일수 [10] 퀀트투자 - 변수를 최적화 하는 법 / 최대 보유 일수 변수 최적화 하기 2. 최대 보유 일수 이전 글에서는 종목별 자산 분배 비중을 가지고 퀀트 로직을 최적화하는 것을 다루었다. [9] 퀀트투자 - 변수를 최적화 하는 방법 / 분산투자 변수 최적화 하 anapharm.co.kr 만약 CAGR이 높은 퀀트..
[10] 퀀트투자 - 변수를 최적화 하는 법 / 최대 보유 일수
[10] 퀀트투자 - 변수를 최적화 하는 법 / 최대 보유 일수
2022.11.03변수 최적화 하기 2. 최대 보유 일수 이전 글에서는 종목별 자산 분배 비중을 가지고 퀀트 로직을 최적화하는 것을 다루었다. [9] 퀀트투자 - 변수를 최적화 하는 방법 / 분산투자 변수 최적화 하기 1. 분산투자 (종목별 비중) 퀀트 로직을 최적화 하는 여러 방식이 있다. 필자는 매수와 매도 로직 모두 중요하지만, 처음 변수를 판단할 때는 매수 로직을 우선적으로 최적화 하 anapharm.co.kr 매도 로직을 설정하지 않았다면, 최대 보유일수에 따라 CAGR과 MDD가 일반적으로 크게 변동한다. 로직에 비해 평균 보유 일수가 짧으면 충분한 수익을 내지 못해 MDD를 안정적으로 지켜 내더라도 CAGR이 더 낮아 유효한 손익비를 가진 전략을 운용하기 힘들다. 또 최대보유일수가 너무 길다면 충분한 수익을 ..
[9] 퀀트투자 - 변수를 최적화 하는 방법 / 분산투자
[9] 퀀트투자 - 변수를 최적화 하는 방법 / 분산투자
2022.11.02변수 최적화 하기 1. 분산투자 (종목별 비중) 퀀트 로직을 최적화하는 여러 방식이 있다. 필자는 매수와 매도 로직 모두 중요하지만, 처음 변수를 판단할 때는 매수 로직을 우선적으로 최적화하는 것을 우선시한다. 우수한 종목을 선정할 수 있는 로직을 최적화하고, 그 로직이 과최적화(Overfitting)되어있지 않는지 검토하는 것이 논리적으로 옳은 순서이다. 젠포트에서는 특정 로직을 만족하는 종목들을 서열화해서 매수한다. 그리고 우리는 분산투자가 위험성을 낮추는 것이라고 익히 들어 알고 있다. 하지만 위에서 언급한 매수 로직을 만족하는 종목이 코스피/코스닥 시장에서 매우 적다면, 분산투자를 했을 때 오히려 수익이 낮고 MDD가 높아질 수 있다. 따라서 분산 투자 비율을 최적화하는 과정은 그 로직을 과최적화..
[8] 지표의 선행성 - 주식투자 매매로직 설정을 위해 고민해야 할 것
[8] 지표의 선행성 - 주식투자 매매로직 설정을 위해 고민해야 할 것
2022.10.12지표의 선행성 투자를 하는 모든 사람들이 목표로 하는 것은 높은 수익과 낮은 리스크(손해)이다. 이를 달성하기 위해서는 미래를 예측하면 된다. 어느 자산군이나 종목이 상승하고 하락하는 지 알게 된다면 무위험 고수익을 얻을 수 있다. 하지만 슬프게도 미래를 내다보는 것은 과학적으로(?) 불가능하다. 통계를 바탕으로 합리적으로 미래를 예측하거나 위험을 낮출 수 있지만 완벽하게 무위험을 추구하는 것은 불가능하다. 볼린저밴드, RSI, 일목균형표, 골든크로스 등 여러 기술적분석을 통해 주가를 예측할 수 있다고 전문가들은 말한다. 새빨간 거짓말은 아니지만, 그럼에도 미래를 선행적으로 완벽하게 예측할 수 있는 방법은 없다. 논리적으로 주가가 변동되는 원인에 대해 생각해보자. 먼저 주식을 사고 파는 행위에 의해 거래..
[7] 하락장을 대처하는 법
[7] 하락장을 대처하는 법
2022.10.11하락장을 대처하기 코스피(닥)와 나스닥 등 시장 분류에 상관없이 2022년 후반기의 시장은 하락 추세가 뚜렷하다. 2022년 10월 현재는, 2020년에 코로나로 인한 주가 폭락 시점보다도 더 낮은 값을 기록하기도 했다. 여러 이유가 있지만, 이 하락은 인플레이션과 금리 상승으로 인한 경기 및 경제 침체를 우려하여 미래가치가 저평가되기 때문에 나타난 현상이다. 주식 전문가(사칭과 리딩을 포함한)들은 이런 하락장에 대응을 잘 해야 한다고 한다. 소위 말하는 "대응"이라는 행위는 보유 종목을 적절하게 익절 혹은 손절하는 것을 말하는 것이다. 현금화하고, 채권 등의 안전자산의 비중을 높여 하락 추세를 견뎌내야 한다는 것이다. 그렇다면 어떻게, 어떠한 것이 "적절한"지 판단하는가? 주식 전문가들은 특정 기업의 ..
[6] 평균 보유 일수에 관해서
[6] 평균 보유 일수에 관해서
2022.09.26평균 보유 일수 퀀트전략을 수립하면서 대표적으로 설정할 수 있는 변수 중의 하나는 바로 평균 보유일이다. (혹은 최대 보유일) 어떠한 종목이든지 개별종목의 보유일이 길어질수록 수익률의 변동성 또한 커진다. 지속적으로 횡보하는 것보다. 우상향/하락할 가능성이 높은 것이다. 이렇기 때문에 보유종목의 수익을 길게, 손실은 짧게 가져가는 전략을 수립하기가 쉽지 않은 것이다. 이전 글에서 작성한 BAA전략을 검증하는 과정에서도, 보유 일수를 변경하면서 CAGR 및 MDD가 급격하게 변화하는 것을 확인할 수 있었다. BAA(공격형) 전략 검증하기 [5] 파이썬(Python)으로 BAA 전략 검증하기 파이썬(Python)으로 BAA 전략 검증하기 BAA Strategy BAA 전략은 W. J Keller가 발표한 무..
[5] 파이썬(Python)으로 BAA 전략 검증하기
[5] 파이썬(Python)으로 BAA 전략 검증하기
2022.09.25파이썬(Python)으로 BAA 전략 검증하기 BAA Strategy BAA 전략은 W. J Keller가 발표한 무수히 많은 전략들 중 가장 최신의 전략이며, 높은 기대 수익률을 보이는 동적 자산 분재 전략이다. 이름인 Bold에서 알 수 있듯이 'Impressive Returns'를 나타낸다고 한다. 자세한 내용은 아래 서지 정보와 SSRN링크를 참고하면 많은 정보를 얻을 수 있을 것이다. Title : Relative and Absolute Momentum in Times of Rising/Low Yields: Bold Asset Allocation (BAA) Author : Wouter J. Keller, Date : July 18, 2022, Abstract : Our aim is to deve..
[4] 전략을 설정 할 때 생각해야 할 것
[4] 전략을 설정 할 때 생각해야 할 것
2022.09.02젠포트의 특징 젠포트에서는 2022년 9월 현재, 당일 가격 데이터를 이용한 매매 로직을 지원하지 않는다. 그렇기 때문에 당일 변화를 매매 로직으로 활용하기 힘들다. 당일 변화 데이터를 활용하는 단 한 가지 방법은 로스컷이다. 일정 수익률 이상으로 떨어진다면 그 즉시 매도하는 전략은 가능하다. 따라서, 젠포트 플랫폼에서는 스캘핑 혹은 데이 트레이딩 전략보다는 중 장기 보유 전략이 백테스팅과 실제 매매 결과가 괴리가 적고 구현하기도 수월함을 알 수 있다. 당일 변화를 실시간으로 이용하기 위해서는 파이썬 등의 프로그램을 While 문으로 반복 모니터링하여 매매하는 전략이 있다. 이에 대해서는 키움증권의 OCX 등 여러 공개된 API를 사용하여 진행할 수 있으나 최근 한국투자증권에서 Rest API를 이용하여..
[3] 퀀트전략 : 수급, 가격, 모멘텀 점수
[3] 퀀트전략 : 수급, 가격, 모멘텀 점수
2022.08.30Title 퀀트전략 3 : 수급, 가격, 모멘텀 점수 Summary Results 항목 수치 CAGR 15.14% MDD 21.16% Backtest 15 Year 평균 보유일 21.55 days 고점 횡보 비율 92% 매수/매도 조건식 매수 : A and B and C and D and E and F A{수급점수} > 80 B{가격점수} > 80 C{모멘텀점수} > 80 D{KOSDAQ지수_종가}-이동평균({KOSDAQ지수_종가}, {3일}) > 0 E{KOSDAQ_소형지수_종가}-이동평균({KOSDAQ_소형지수_종가}, {3일}) > 0 F변화율_기간({KOSDAQ_소형지수_종가},{20일})+변화율_기간({KOSDAQ_소형지수_종가},{60일}) > 0 매도 : (((A and B or C) or ..
[2] 퀀트전략 : PBR < 1 + 마켓 타이밍 전략
[2] 퀀트전략 : PBR < 1 + 마켓 타이밍 전략
2022.08.29Title 퀀트전략 2 : PBR 0 D{KOSPI지수_시가}-이동평균({KOSPI지수_시가},{20일}) > 0 E{KOSDAQ지수_시가}-이동평균({KOSDAQ지수_시가},{5일}) > 0 F{KOSDAQ지수_시가}-이동평균({KOSDAQ지수_시가},{20일}) > 0 G{KOSPI_외국인순매수금액}-이동평균({KOSPI_외국인순매수금액},{5일}) > 0 H{KOSDAQ_외국인순매수금액}-과거값({KOSDAQ_외국인순매수금액},{5일}) > 0 매도 : 없음 없음 (최대 20일 보유) Results Comments 생각하는 자산관리에서 다룬 대표적인 로직 PBR이 1보다 낮은 주식 중 지수 마켓타이밍 조건을 넣어 거래한다면, 2008년도 금융위기를 제외한 거의 전 지점에서 낮은 MDD로 안정적인 자..