티스토리 뷰

728x90
반응형

1. 개요

Fama-French 데이터 라이브러리는 자산 가격 결정 및 포트폴리오 성과 분석을 위한 중요한 금융 데이터셋 중 하나입니다. 경제학자 Eugene Fama와 Kenneth French가 개발한 이 라이브러리는 주식 시장에서 다양한 요인이 수익률에 미치는 영향을 분석하는 데 활용됩니다. 특히 가치주(Value Stocks)와 성장주(Growth Stocks) 간의 성과 차이를 설명하는 데 널리 사용됩니다.

 

https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/index.html
 

Kenneth R. French - Home Page

 

mba.tuck.dartmouth.edu

 

2. Fama-French 모델 개요

Fama와 French는 1992년과 1993년 논문에서 **3요인 모델(Three-Factor Model)**을 제안했습니다. 이는 기존의 자본자산가격결정모형(CAPM)이 시장 위험(Market Risk)만을 고려한 것과 달리, 다음과 같은 추가적인 요인을 포함합니다:

  • Market Risk (시장 요인): 전체 시장 포트폴리오의 수익률과 무위험 자산의 차이
  • Size Factor (규모 요인, SMB: Small Minus Big): 소형주(Small Cap)와 대형주(Large Cap) 간의 수익률 차이
  • Value Factor (가치 요인, HML: High Minus Low): 가치주(높은 Book-to-Market)와 성장주(낮은 Book-to-Market) 간의 수익률 차이

이후 연구를 통해 **5요인 모델(Five-Factor Model)**도 제안되었으며, 여기에 수익성(Profitability)투자(Investment) 요인이 추가되었습니다.

 

3. Fama-French 데이터 라이브러리 구성

Fama-French 데이터는 다음과 같은 다양한 포트폴리오 및 팩터 데이터를 제공합니다:

  • F-F Research Data Factors: 시장, 규모, 가치 요인을 포함한 기본적인 팩터 데이터
  • Portfolios Formed on Size: 기업 규모에 따라 형성된 포트폴리오의 수익률
  • Portfolios Formed on BE/ME (Book Equity to Market Equity): 가치주와 성장주로 나눈 포트폴리오의 성과
  • F-F 5 Factors (2x3): 5요인 모델에 해당하는 데이터
  • Industry Portfolios: 산업별 포트폴리오 수익률 데이터

데이터는 월간(Monthly), 일간(Daily), 연간(Annual) 등 다양한 주기로 제공됩니다.

 

4. 데이터 다운로드 및 활용

Fama-French 데이터는 Kenneth French의 공식 웹사이트에서 직접 다운로드할 수 있으며, Python을 사용하여 손쉽게 가져올 수도 있습니다.

📌 Python을 활용한 Fama-French 데이터 다운로드 예제

import pandas_datareader.data as web
import pandas as pd

# 'Portfolios_Formed_on_BE-ME' 데이터 다운로드
ff_data = web.DataReader('Portfolios_Formed_on_BE-ME', 'famafrench', start='1900-01-01')

# 데이터 확인
print(ff_data[0].head())  # 첫 번째 데이터셋 출력

이 코드를 실행하면 Book-to-Market (BE/ME) 비율을 기준으로 형성된 포트폴리오의 월별 수익률을 가져올 수 있습니다.

📌 Python을 활용한 실제 데이터 분석 예제

import matplotlib.pyplot as plt

# 첫 번째 데이터셋에서 특정 포트폴리오 그룹 선택
df = ff_data[0]
df.index = df.index.to_timestamp()  # PeriodIndex -> DatetimeIndex 변환

# 특정 포트폴리오(예: 'Hi 30', 'Lo 30')의 수익률 시계열 시각화
plt.figure(figsize=(12, 6))
plt.plot(df.index, df['Hi 30'], label='High BE/ME (Value Stocks)')
plt.plot(df.index, df['Lo 30'], label='Low BE/ME (Growth Stocks)')
plt.xlabel('Year')
plt.ylabel('Monthly Return (%)')
plt.title('Fama-French Value vs. Growth Portfolio Returns')
plt.legend()
plt.grid()
plt.show()

이 코드를 실행하면 가치주(Value Stocks)와 성장주(Growth Stocks)의 수익률 변화를 시각화할 수 있습니다.

 

5. Fama-French 데이터의 활용 예시

✅ 투자 전략 분석

Fama-French 데이터는 팩터 기반 투자 전략을 평가하는 데 활용됩니다. 예를 들어, 가치주(Value Stocks)가 성장주(Growth Stocks)보다 더 높은 수익을 제공하는지 분석할 수 있습니다.

✅ 백테스팅(Backtesting)

과거 데이터를 활용하여 특정 팩터 기반 전략이 실제 시장에서 얼마나 효과적이었는지를 테스트할 수 있습니다.

✅ 리스크 평가 및 포트폴리오 최적화

투자 포트폴리오의 성과를 분석하고, 시장 요인과 스타일 팩터에 따른 리스크를 평가하는 데 유용합니다.

 

6. 결론

Fama-French 데이터 라이브러리는 금융 및 투자 연구에서 매우 중요한 데이터셋으로, 팩터 모델을 활용한 분석 및 전략 개발에 필수적인 자료를 제공합니다. Python을 활용하면 손쉽게 데이터를 다운로드하고 분석할 수 있으며, 이를 통해 더 나은 투자 결정을 내릴 수 있습니다.

📌 향후 계획: Fama-French 모델을 실전 투자에 적용하는 방법에 대해 심층적으로 다룬 후속 글을 제공할 예정입니다. 많은 관심 부탁드립니다! 🚀

728x90
반응형