현재 백테스팅에 사용되는 데이터들의 중요도를 대략적으로 확인하고자 한다. Simple ML은 구글시트상의 데이터를 가지고 모델링을 하는 확장 프로그램이다. 검색하면 설치하는법은 많이 나오므로 설치하는 법은 생략한다. Simple ML을 사용하면 머신러닝 모델링이 간단하게 가능하다. 모델에서 사용되는 데이터들의 중요도 또한 확인이 가능하다. 머신러닝 기반이 아니더라도 조건기반 퀀트 모델의 경우에도 어떤데이터를 백테스팅에 사용하면 좋을지 확인할수 있는 방법이라고 생각한다. 기존에 있던 축적하고 있는 백테스팅 데이터 중 일부를 Simple ML에 돌려 본 결과를 공유한다. 사용한 데이터는 2023년 7월8월의 매일의 history 데이터이며 참고로 목적변수는 약 30일 후의 수익률을 약간 변형시킨 값이다.

Simple ML for Sheets를 선택하면 아래와 같은 화면이 나오는데 predict missing values를 선택해주면 된다.

데이터 선택
source columns를 선택하고 사용할 데이터 컬럼을 선택해주면 된다.

Predict
사용할 데이터를 선택했으면 Predict를 실행시키면 된다.

모델설명
predict가 끝나면 다시 Simple ML for Sheets을 실행시켜주고 Understand a model을 클릭해준다

모델정확도(RMSE)
RMSE 0.39정도가 나온다.

설명변수 중요도
중요도 순으로 넘버링 되어있다. 중요도가 높을 수록 모델의 정확도를 향상시킨다고 보면 될것 같다.

어느정도 중요도가 높을것으로 예상했던 변수들이 중요도가 높게나왔다. 상당히 만족스러운 결과다.
Export 모델
참고로 작성한 모델은 colab으로 코드를 바로 export할수있으므로 colab에서 실시간으로 예측하는 것도 가능하다.

코드 확인
code를 복사해서 colab에서 사용하라고 설명하고 있다. 실제로 사용해보면 잘 작동하는것을 알 수 있다. example변수에 새 데이터만 넣어주고 스크립트를 실행시키면 예측 결과가 나온다.

중요도가 높게 나온 변수들 중 일부를 포워드 테스팅 AB테스트에 바로 적용할 예정이다.
신경망모델의 경우에도 중요도를 확인할수 있는 모델 해석 기술 방법은 있는듯하나 굉장히 번거로운 과정을 거쳐야하는것같다. random forest나 GradientBoostingRegressor같은 트리구조의 기계학습을 사용하는 경우에는 중요도를 바로 확인할수있어서 특정 변수가 모델의 예측에 중요한 역할을 한다는 나의 이론이 실제 모델과 일치하는지 여부를 확인할 수 있다는 장점이 있는듯하다.
'퀀트투자 A to Z' 카테고리의 다른 글
QUANT AI 1차 모델 (0) | 2023.10.03 |
---|---|
QQQ 실시간 주가 예측 모델을 이용한 데이트레이딩 도전기: 게임처럼 느껴지는 전략과 모델 테스트 (0) | 2023.10.01 |
데이트레이딩과 볼린저밴드: 확률적 투자 전략의 매력적인 세계 (0) | 2023.10.01 |
포워드테스팅으로 백테스팅의 오류를 잡아라: 퀀트 트레이딩의 비밀 병기 (1) | 2023.10.01 |
[미국주식 투자 수익률 계산] 정확하게 측정하기 (0) | 2023.10.01 |