SW/주가 예측

주식, 비트코인 예측 : 평균회귀 모델 : 구현 방법, 핵심 개념, 슈도코드

얇은생각 2019. 7. 3. 07:30
반응형



평균회귀 모델 구현


ADF 테스트, 허스트 지수, Half-life를 모두 통과한 종목을 찾으셨나요? 그렇다면 이제 평균 회귀 모델을 구현할 기본 조건은 충족한 것입니다. 


평균회귀 모델의 핵심 개념은 무엇일까요? 바로 주가가 평균보다 낮으면 주식을 매입하고, 반대로 평균보다 높으면 주식을 매도해 수익을 만드는 것입니다. 





평균 회귀 모델을 구현을 위해 필요한 3가지 사항



평균 정의 : 주가 매도, 매수의 비교치로 사용될 편균을 어떻게 구할 것인지 정의해야 합니다. 과거 특정 기간의 주가로 구할 수 있습니다. 또 이동 평균을 이용해 계산할 수 있습니다. 또 이동평균의 기간을 몇 일 단위로 할지도 결정해야 합니다. 이러한 평균은 매도, 매수를 알려주는 일종의 신호 역할을 하게 됩니다.


매도, 매수 기준 : 평균과 마찬가지로 매도 매수 기준은 모델의 수익률에 중요한 역할을 합니다. 기준이 너무 낮으면 큰 이익을 보지 못합니다. 하지만 너무 높다면 매도 매수 시기를 놓칠 가능성이 높습니다. 따라서 적절한 기준을 선택해야 합니다. 


데이터 선택 : 어떤 데이터를 선택할지 정해야 합니다. 종가를 사용할 수 있습니다. 또는 현재가를 이용할 수도 있습니다. 데이터 선택 역시 매우 중요합니다. 


이번에 구현해보는 예제는 평균 정의(10일 이동평균), 매도 매수 기준(이동 평균과 주가의 차이가 표쥰편차보다 크면 매도, 매수 실행), 데이터 선택(종가)로 정의해서 구현합니다.


구체적인 구현은 나중에 기회가 되면 구현해볼 계획입니다. 슈도 코드는 아래와 같습니다. 우선 이동 평균을 구하고, 표쥰 편차를 구합니다. 현재 시가의 차이를 구해서 매도 매수를 결정합니다.




price_moving_average = rolloing_mean(종가, 10)
price_standard_deviation = rolloing_std(종가, 10)
diff = price - price_moving_average

if |diff| > price_standard_deviation:
if diff > 0 :
sell_stock()
else:
buy_stock()



반응형