一、数据获取与因子对齐#
练习1:
从Fama-French数据库获取三因子数据并与股票收益率对齐:
-
下载2010-2020年日频三因子数据(包含Mkt-RF/SMB/HML)
-
获取苹果(AAPL)、微软(MSFT)、亚马逊(AMZN)同期日收益率数据
-
对齐两者的交易日历(保留共同交易日)
-
输出对齐后因子数据的前3行描述统计
code
# 依赖数据
ff3_url = "https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily_CSV.zip"
tickers = ['AAPL', 'MSFT', 'AMZN']
start_date = '2010-01-01'
end_date = '2020-01-01'二、因子暴露与风险分解#
练习2:
计算科技板块ETF(XLK)的因子暴露并进行风险分解:
-
下载XLK和Fama-French三因子2015-2022年数据
-
通过回归计算市场/规模/价值因子的暴露系数
-
分解总风险为系统性风险和特质风险
-
绘制风险占比环形图
code
# 依赖数据
xlk_data = yf.download('XLK', '2015-01-01', '2022-12-31')['Close'].pct_change().dropna()
ff3_data = pd.read_csv(ff3_url, skiprows=3, index_col=0, parse_dates=True).loc['2015':'2022'].iloc[:,:3]/100