본문 바로가기
Finance/Quant

ETF 괴리율이 다음날 시가, 종가에 미치는 영향 분석

by Quantrol 2025. 3. 22.
반응형

ETF 투자를 하다 보면 괴리율이라는 개념을 자주 접하게 됩니다. 괴리율은 ETF의 시장 가격이 실제 순자산가치(NAV)와 얼마나 차이가 나는지를 나타내는 지표입니다. 괴리율이 크면 ETF의 시장 가격이 과대 혹은 과소평가되고 있을 가능성이 있기 때문에, 괴리율이 높은 상황에서의 수익률을 분석하면 매매 전략에 도움이 될 수 있습니다.

 

이번 포스트에서는 KODEX 200 ETF의 괴리율을 계산하고, 괴리율이 다음날의 수익률(시가 및 종가)에 미치는 영향을 분석해 보겠습니다.


🎯 분석 목표

  • KODEX 200 ETF의 시가와 NAV를 이용해 괴리율을 계산합니다.
  • 괴리율이 다음날 시가 및 종가에 미치는 영향을 수익률을 통해 분석합니다.
  • 괴리율과 수익률 간의 상관관계 및 회귀 분석을 통해 의미 있는 패턴을 도출합니다.
  • 시각화 작업을 통해 괴리율과 수익률 간의 관계를 직관적으로 이해합니다.

괴리율(Discount Rate)이란?

괴리율은 다음 수식으로 정의됩니다:

# 괴리율 계산 (종가 기준)
df['괴리율'] = (df['종가'] - df['NAV']) / df['NAV'] * 100
  • 괴리율이 양수 → ETF의 시장 가격이 실제 가치보다 고평가
  • 괴리율이 음수 → ETF의 시장 가격이 실제 가치보다 저평가

괴리율이 높다는 것은 시장의 수급 불균형 또는 투자 심리에 의해 시장 가격이 실제 가치에서 벗어나 있다는 의미일 수 있습니다.


데이터 분석 과정

1️⃣ 데이터 불러오기 및 전처리

 pykrx 라이브러리에서 제공하는 get_etf_ohlcv_by_date 함수를 사용해 KODEX 200 ETF의 데이터를 불러옵니다.

from pykrx import stock

# ETF 코드 및 기간 설정
etf_code = "069500" # KODEX 200 ETF 코드
start_date = "20250301"
end_date = "20250331"

# 데이터 불러오기
df = stock.get_etf_ohlcv_by_date(start_date, end_date, etf_code)

데이터 컬럼 설명

  • NAV : ETF 순자산 가치
  • 시가, 고가, 저가, 종가 : ETF의 시장 가격
  • 거래량, 거래대금 : ETF의 거래 내역

2️⃣ 괴리율 및 수익률 계산

괴리율은 시가와 NAV의 차이를 기준으로 계산하고, 다음날의 시가 및 종가를 기준으로 수익률을 구합니다.

# 괴리율 계산
df['괴리율'] = (df['시가'] - df['NAV']) / df['NAV'] * 100

# 다음날 시가 및 종가 정보 추가
df['다음날 시가'] = df['시가'].shift(-1)
df['다음날 종가'] = df['종가'].shift(-1)

# 다음날 시가 및 종가 수익률 계산
df['다음날 시가 수익률'] = (df['다음날 시가'] / df['시가'] - 1) * 100
df['다음날 종가 수익률'] = (df['다음날 종가'] / df['종가'] - 1) * 100

# 다음날 수익률이 없는 마지막 행 제거
df = df.dropna()

3️⃣ 상관관계 및 선형 회귀 분석

  • scipy.stats.linregress를 사용해 괴리율과 다음날 수익률 간의 선형 회귀 분석을 수행합니다.
from scipy.stats import linregress

# 괴리율 vs 다음날 시가 수익률
reg_open = linregress(df['괴리율'], df['다음날 시가 수익률'])

# 괴리율 vs 다음날 종가 수익률
reg_close = linregress(df['괴리율'], df['다음날 종가 수익률'])

print("괴리율과 다음날 시가 수익률 간의 상관관계:", reg_open.rvalue)
print("괴리율과 다음날 종가 수익률 간의 상관관계:", reg_close.rvalue)
 

4️⃣ 시각화

선형 회귀 분석 결과를 기반으로 괴리율과 다음날 수익률의 관계를 산점도회귀선으로 시각화합니다.

 

.... 가볍게 보고 넘겨야

 
반응형