작성
·
243
·
수정됨
답변 1
0
안녕하세요.
우선 한동안 본업에 바빠서 답변이 늦은 것에 사과드립니다.
좋은 질문을 해주셔서 감사합니다.
저도 해당 내용을 다시 검토해보았습니다.
말씀해주신대로 피어슨 상관관계는 1과 -1 사이의 값으로.. 1은 양의 선형상관관계, -1은 음의 선형상관관계를 갖게 됩니다.
상관성이 낮은 종목을 고르는게 목적이라면 절댓값이나 제곱값으로 계산하는게 옳은 판단이 맞습니다.
하지만, 단순 합을 사용하면 음의 상관성이 높을수록 (즉, 자산의 가격이 반대로 움직이는 정도가 강할 수록) 높은 순위를 가지게 됩니다. 즉, 서로 가격이 반대로 움직이는 포트폴리오로 구성하겠다는 의미가 됩니다.
상관성이 낮은 종목으로 포트폴리오를 구성하느냐, 반대로 움직이는 종목으로 포트폴리오를 구성하느냐에 대한 속성을 결정하는 내용인 것 같습니다.
실제 백테스팅 결과는 아래 코드로 수정하여 돌려보시면 좋을 것 같습니다.
감사합니다.
절대값 계산 코드
corr4 = pd.DataFrame()
dayReturn = getDayReturn(closeDataSet=faaData) # 일간 수익률
for index, date in enumerate(reverseFaaRebalDate):
# 4개월 데이터를 잡을 수 없으면 break
if index >= len(reverseFaaRebalDate) - 4:
break
# 4개월 전 날짜
before4month = reverseFaaRebalDate[index+4]
# 4개월 상관성
corr = abs(dayReturn.loc[date:before4month:-1].corr(method="pearson")).sum(axis=1)-1 # 자신에 대한 상관계수를 제거하기 위해 -1
corr.name = date
corr4 = corr4.append(corr)
corr4 = corr4.sort_index(ascending=True)
corr4
단순 합 결과
절대값 합 결과