年化波动率 = 日波动率 * sqrt(252) 注:假设一年有252个交易日。 # encoding: gbkimport akshare as akimport numpy as npfund_etf_hist_em_df = ak.fund_etf_hist_em(symbol='159915', period='daily', start_date='20230511', adjust='')# 计算对数收益率fund_etf_hist_em_df['收益率'] = np.log(fund_etf_hist_em_df['收盘'] / fund_etf_hist_em_df['收盘'].shift(1))fund_etf_hist_em_df = fund_etf_hist_em_df.iloc[1:, :]arr = fund_etf_hist_em_df['收益率'].to_numpy()# 计算样本标准偏差(日波动率)day_volatility = np.std(arr, ddof = 1)# 年波动率year_volatility = day_volatility * np.sqrt(252)print('日波动率', day_volatility)print('年波动率', year_volatility) 程序输出:
|
|