-
[Python] 주식 스프레드 계산하는 방법투자/파이썬 2023. 2. 11. 19:42반응형
두 종목 사이의 가격 차이를 스프레드라고 한다.
주가가 절대적 가격을 나타낸다면 스프레드는 다른 종목 대비, 혹은 시장 대비 "상대적 가격"을 나타낸다고 할 수 있다.
필요한 이유
- 아무리 좋은 종목이라도 시장이 하락할 때도 상승하기는 어렵다. 그러나 시장 대비 적게 하락할 것이라고 예상할 수 있다.
- 하락장이어서 최근 3개월간 시장 수익률이 -10%였다고 하자. 이때 5%만 하락한 종목이 있다면 무엇인가 이유가 있을 것이라 추측할 수 있다.
- 이런식으로 상대적 가격을 나타내는 스프레드가 인사이트를 주기도 한다.
계산
- 스프레드를 계산할 때는 로그 가격을 이용하는 것이 편리하다.
- 로그 가격끼리 뺸 값이 두 기간의 수익률이 되기 때문이다.
- 현재의 주가가 100달러, 1년 전이 10달러라고 하자. 수익률을 계산하려면 주가를 뺸 값을 1년 전 가격으로 나눠줘야 해서 한 번 더 계산이 필요해진다.
- 그러나 가격을 로그로 나타내면 log(100) - log(10) 자체가 해당 기간의 수익률을 나타내게 된다. 그래서 로그 가격을 이용한다.
코드
- 다우존스 지수(DIA ETF이용)와 S&P500 지수(SPY ETF이용)의 스프레드를 계산해보자
- 1. 가격을 불러온 뒤(여기서는 yfinance 사용) 2. 로그 가격으로 수정하고 3. 두 로그 가격을 빼주면 된다.
#!pip install yfinance import yfinance as yf import numpy as np df = np.log(yf.download('DIA,SPY')['Adj Close'].dropna()) spread = df['DIA'] - df['SPY']
- 다우존스 지수는 2000년대 초반 이후로 항상 S&P500보다 높은 수익률을 기록했다는 것을 알 수 있다.
- 시기에 따라서는 S&P500이 상대적인 강세를 나타내기도 한다.
- 어떤 기간에 어떤 이유로 어떤 지수가 아웃퍼폼하고 언더퍼폼하는지를 생각해보면 투자 기회를 발견할 수 있다. 이때 스프레드 차트가 필요하다.
반응형'투자 > 파이썬' 카테고리의 다른 글
[Python] 주식 가격 데이터 불러오기, yfinance 사용법 (0) 2023.02.18 [Python] 주식 보조지표 사용하기 - TA 라이브러리 (0) 2023.02.17 [Python] 샤프비율, 정보비율 계산하기 (0) 2023.02.12 [Python] 최대낙폭 MDD 계산하는 방법 (0) 2023.02.11