매매로직을 만들었습니다
S&P 또는 나스닥 지수 스윙매매
장마감 시 종가근처에 매매하는 거라 코딩까진 필요없고, (보통 2~3일 마다 한번 매매, 롱과 숏 왔다갔다 스위치)
엑셀에 장마감 무렵 가격 입력해서 매도매수 시그널 표시합니다
실거래는 ETF나 지수선물을 이용할 계획이구요
기본모델이 있고요
이 모델에 세팅값을 입력해서 매도 매수 시그널을 뽑아냅니다
세팅값은 과거 일정기간 동안의 가격데이터를 입력해서 추출합니다
과거 가격데이터 입력 --> 세팅값 추출 --> 모델에 세팅값 입력 --> 모델에 그날 그날 종가 입력하여 매도매수 시그널 생성
이런 프로세스
세팅값을 요리조리 맛사지 하면 45도 기울기의 우상향으로 쫙 뻗는 수익률 그래프가 멋지게 나오죠

아이고 의미 없다 ㅋ 그런걸 "과최적화"라고 하고, 그런거 인터넷에 널렸다요
과최적화 문제를 어떻게 해소할까 고민고민 하다가
백테스트를 한달 단위로 잘게 잘라서 해봤습니다
주목할 점은,
과거 데이터로 과거 기간을 테스트한것이 아니라
과거 데이터로 이후 미래 기간을 테스트 한 것입니다
(예)
2019.12.31 시점 가정
과거 3개월 (2019년 10월,11월,12월) 가격데이터를 입력하여 세팅값을 추출하고, 이를 모델에 입력.
2020.1월 한달간 테스트
결과: 수익 또는 손실
2020.1.31 시점 가정
과거 3개월 (11월,12월,1월) 가격데이터를 입력하여 세팅값을 추출하고, 이를 모델에 입력.
2020.2월 한달간 테스트
결과: 수익 또는 손실
2020.2.28 시점 가정
과거 3개월 (12월,1월,2월) 가격데이터를 입력하여 세팅값을 추출하고, 이를 모델에 입력.
2020.3월 한달간 테스트
결과: 수익 또는 손실
이런 식으로 2020.1 ~ 2026.4 까지 76개월 간 76번의 테스트
이전 3개월 가격데이터로 모델을 세팅하여, 다음 1개월에 적용.
이런 방법이 과최적화 문제를 해결한건가?
데이터를 뽑아쓰는 이전 3개월 기간은 "최적화" 대상 기간이지만,
테스트 적용기간인 이후 1개월은 "최적화" 대상기간이 아니다.
라고 주장한다면 맞는 말일까요?
결과값이 고무적이고, 저는 당사자라 확신편향 듬뿍 껴있는 상태라 쓴소리도 들어보고 싶습니다
해당 전략의 단점은 일반적으로 1년 수익률을 결정하는 순간을 온전히 누리기에 어려울 수 있다는 점에 있습니다.
수주, 수개월, 혹은 몇일 단위로 크게 펌핑이 될때가 있는데 이걸 모두 놓치게 되는 불상사가 생기게 되는 경우가 있지요.
+ 최적화에 대한 세금 및 오매매(실수 매매 및 리밸런싱)에 대한 리스크도 존재합니다.
해서 저는 그냥 일반적인 인덱스 투자로 돌아왔...습니다 ㅎ
이게 비정상적으로 위아래로 크게 움직여도 그렇고요.
시장을 예측하고 내가 원하는 방향으로 움직여야 한다는 기반이 되어야 하는거라...
성투 기원드립니다.
결과를 알고 있기때문에 현재의 최적화가 나온건데 이걸 미래에도 맞는 최적화로 만드려면 미래를 알아야할 것 같습니다.
성투하십시욤
영상이 길어, 문서로 보고 싶으시면 다음링크에 발표자료나 관련 읽을 꺼리가 있습니다.
https://github.com/restful3/ml4t/blob/main/source/Chan%20E.%20Quantitative%20Trading...Build...Trading%20Business%202ed%202021/chapter_3_backtesting/ch3_slides.pdf
관련해서 제 의견을 세줄로 요약하면
1. 각종 편향 (생존, 선행, 데이터 스누핑) 및 배당락, 액면 분할, 슬리피지, 수수료 등을 반영하여 백테스팅을 설계 해야 한다.
2. 이를 다 반영하여 구현 및 검증 하는 것이 부담스러우면 퀀트커넥트 같은 서비스를 이용하는 방법도 있다.
3. 다만 퀀트커넥트를 원활하게 사용하기 위해선 뭘 이용료(최소 10달러)를 내야하고, AI 로 자동화 시키기 위해선 추가적인 궁리가 필요하다는 문제가 있다.
입니다.