해결된 질문
작성
·
49
답변 1
0
안녕하세요! Hoon님!
아래의 내용을 확인하시면, zscore_calculation 메서드를 PairTradingIntraDay에서 재정의할 때 ratio_intraday와 ratio 모두에서 np.log를 적용하였습니다.
def zscore_calculation(self):
"""
주어진 주식 Pair에 윈도우를 기반으로 가격 비율의 이동 평균, 이동 표준 편차를 기반으로 zscore를 계산합니다.
Attributes (속성):
- self.pair (튜플): 분석할 주식 쌍의 주식 심볼을 포함하는 튜플입니다.
- self.df_pair (DataFrame): 분석할 주식에 대한 주식 가격을 포함하는 DataFrame입니다.
- self.window (정수): 이동 평균과 이동 편차을 계산하는 데 사용되는 일수 (days)입니다.
Reseults (결과):
- 현재 가격 비율 from IntraDay Data과 주어진 윈도우의 과거 from 1-d interval Data로부터의 이동 평균, 이동 표준 편차를 추가하여 zscore를 계산하여 self.df를 업데이트합니다.
"""
self.df_pair_intraday["Day"] = self.df_pair_intraday.index.date
self.df_pair_intraday["ratio_intraday"] = np.log(self.df_pair_intraday[self.stock1]/self.df_pair_intraday[self.stock2])
temp_df = self.df_pair.copy() # 1-d interval data
temp_df["Day"] = temp_df.index.date
temp_df["ratio"] = np.log(temp_df[self.stock1] / temp_df[self.stock2])
temp_df["ma"] = temp_df["ratio"].rolling(window=self.window).mean().shift(1)
temp_df["msd"] = temp_df["ratio"].rolling(window=self.window).std().shift(1)
하지만 추가적으로 PairTrading class의 ratio에도 np.log를 적용하는 것이 맞습니다. 제가 간과했던 부분입니다. 좋은 지적 감사합니다. 향후 강의에 반영하도록 하겠습니다.
감사합니다.
다니엘 드림
아! 넵 감사합니다 선생님!