使用yfinance获取2014年至2015年期间苹果公司(AAPL)、微软(MSFT)和标普500指数(SPY)的收盘价数据,构建等权重投资组合,计算该组合的年化波动率(使用empyrical库实现)
import yfinance as yf
import pandas as pd
from empyrical import annual_volatility
# 数据获取
start_date = '2014-01-01'
end_date = '2015-01-01'
# 获取三组资产数据
assets = yf.download(['AAPL', 'MSFT', 'SPY'],
start=start_date,
end=end_date)['Close']
# 创建投资组合收益率
portfolio_returns = assets[['AAPL', 'MSFT']].pct_change().mean(axis=1).dropna()
基于上述投资组合收益率数据和标普500基准数据,完成以下任务:
import yfinance as yf
import pandas as pd
import pyfolio as pf
import matplotlib.pyplot as plt
# 获取基准数据
benchmark = yf.download('SPY',
start='2014-01-01',
end='2015-01-01')['Close']
# 生成收益率序列
portfolio_returns = assets[['AAPL', 'MSFT']].pct_change().mean(axis=1).dropna()
benchmark_rets = benchmark.pct_change().dropna()
# 统一日期索引
combined = pd.concat([portfolio_returns, benchmark_rets], axis=1).dropna()
portfolio_aligned = combined.iloc[:,0]
benchmark_aligned = combined.iloc[:,1]