더북(TheBook)

7.4.9 매매 전략

매매 신호를 예측하고 검증용 데이터셋의 누적수익률을 계산한다. 그리고 모델이 검증용 데이터셋을 갖고 만든 매매 신호에 따라 수행한 전략의 누적수익률을 계산한다. 이번 예의 예측 목표는 주가의 상승 또는 하락이다. 예측값은 상승이나 하락을 의미하는 +1 또는 -1로 구성돼 있다.

# 예측값을 'Signal' 컬럼에 저장한다
df[ 'Signal' ] = model.predict( X )

# S&P500지수의 일간수익률을 계산해 'SPY_returns' 컬럼에 저장한다
df[ 'SPY_returns' ] = np.log( df[ 'Close' ] / df[ 'Close' ].shift(1) )

# S&P500지수의 누적 일간수익률을 구한다
Cumulative_SPY_returns = np.cumsum( df[ split: ][ 'SPY_returns'] )

전략의 일간수익률을 구해 'STR_Returns' 컬럼에 저장한다. 'Signal' 컬럼에는 +1 또는 -1이 저장돼 있는데, S&P500지수의 일간수익률인 df[ 'SPY_returns' ] 값과 곱해 수익률을 만든다. +1과 곱해지면 일간수익률 한 단위만큼 매수한 것이고, -1과 곱해지면 일간수익률 한 단위만큼 매도한 것이다.

df[ 'STR_Returns' ] = df[ 'SPY_returns' ] * df[ 'Signal' ].shift(1)

# 전략의 누적 일간수익률을 구한다
Cumulative_STR_returns = np.cumsum( df[ split: ][ 'STR_Returns' ] )
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.