더북(TheBook)

7.3.4 목표변수 설정

목표변수 Y는 종속변수로 예측변수에 의한 예측 대상이다. 이번 예제의 예측은 아주 단순하다. S&P500이 다음 거래일에 상승할 것인지, 하락할 것인지 여부다. 그러므로 상승 신호는 목표변수에 +1로 저장하고, 하락 신호는 -1로 저장한다. 따라서 과거 데이터를 갖고 상승과 하락을 +1-1로 해서 저장한다.

당일의 종가 df[ 'Close' ]와 전 거래일 종가 df[ 'Close' ].shift(-1)을 비교해 당일 종가가 더 크다면 +1, 그렇지 않으면 -1을 변수 Y에 저장한다. 여기서 shift는 해당 데이터의 앞 또는 뒤로 지정한 만큼 떨어진 데이터를 가리킨다. df[ 'Close' ]의 바로 직전 종가를 가리킨다면 df[ 'Close' ].shift(-1)이고, 바로 다음 종가를 가리킨다면 df[ 'Close' ].shift(+1)인 것이다.

Y = np.where( df[ 'Close' ].shift(-1) > df[ 'Close' ],+1,-1 )

numpywhere 함수를 사용해 두 종가를 비교한 결과에 따라 값을 저장한다. where() 함수는 조건을 평가한 결과에 따라 참에 해당하는 값, 거짓에 해당하는 값을 돌려준다.

▲ 그림 7-15 np.where 함수

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.