더북(TheBook)

7.4.3 예측변수/독립변수 설정

예측을 위한 지표로 이동평균, 이동상관계수, (전일 시가-당일 시가), (전일 시가-당일 종가), 그리고 시가, 고가, 저가, 종가를 사용한다.

이동평균, 이동상관계수, (전일 시가-당일 시가), (전일 시가-당일 종가), 시가, 고가, 저가, 종가가 독립변수들이며, 이들이 종속변수 y인 매수/매도의 확률을 결정하는 변수다.

종속변수에 영향을 주는 요인은 이외에도 이동평균, RSI 등이 있으며, 본인이 판단해 유용한 기술적 지표 등을 추가할 수도 있다.

# 종가의 10일 이동평균을 구하고 MA10이라는 컬럼을 만들어 저장한다
df[ 'MA10' ] = df[ 'Close' ].rolling( window=10 ).mean( )

# 종가의 10일 이동상관계수를 구하고 Corr 컬럼을 만들어 저장한다
df[ 'Corr' ] = df[ 'Close' ].rolling( window=10 ).corr( df[ 'MA10'] )

시가에서 하루 뒤의 종가를 빼서 OpenClose 컬럼에 저장한다. df[ 'Close' ].shift(1)은 종가 컬럼을 가리키는데, 하루 다음으로 이동해(shift(1)해) 위치한 종가를 가리킨다. df[ 'Close' ]가 오늘이라면 df[ 'Close' ].shift(1)은 다음 날의 종가를 의미하는 것이다. OpenOpen 컬럼도 마찬가지인데, 당일의 시가에서 다음 날의 시가를 뺀 값이다.

df[ 'OpenClose' ] = df[ 'Open' ] - df[ 'Close' ].shift(1)
df[ 'OpenOpen' ] = df[ 'Open' ] - df[ 'Open' ].shift(1)

연산 결과 혹시 생길지 모르는 결측치를 한 번 더 삭제한다.

df = df.dropna( )

예측변수, 즉 독립변수를 'Open', 'High', 'Low', 'Close', 'MA10', 'Corr', 'OpenClose', 'OpenOpen'으로 지정해 X에 저장한다.

X = df[ [ 'Open', 'High', 'Low', 'Close', 'MA10', 'Corr', 'OpenClose', 'OpenOpen' ] ]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.