ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用 Python 分析股票收益率分布?(偏度、峰度与“尖峰厚尾“)

如何用 Python 分析股票收益率分布?(偏度、峰度与“尖峰厚尾“) 一句话回答用 AlphaFeed 取复权日线、算日收益率再用 pandas 的mean/std/skew/kurtosis几行就能刻画收益率分布——真实数据会告诉你股票日收益并不服从正态分布而是尖峰厚尾峰度远大于 0、极端涨跌远比正态频繁这对风险管理至关重要。为什么会有这个问题 / 传统做法的痛点很多风险模型如用标准差算 VaR、用正态假设定价默认收益率服从正态分布。但实际股票收益厚尾极端大涨大跌的频率远高于正态预测黑天鹅没那么稀有尖峰大量收益集中在均值附近中间比正态更尖有偏涨跌不对称偏度非 0。要验证这些需要干净的前复权日线和正确的统计口径。AlphaFeed 提供复权日线统计用 pandas 即可。分步骤解决每步配可运行代码第 1 步取复权日线并算日收益率fromalphafeedimportAlphaFeed afAlphaFeed(api_keyyour-api-key)# 或 export ALPHAFEED_API_KEY 后 AlphaFeed()dfaf.klines.get(600519.SH,period1d,count500,adjustforward,to_dataframeTrue).sort_values(trade_date).reset_index(dropTrue)retdf[close].pct_change().dropna()# 日简单收益率第 2 步计算分布特征defreturn_distribution(ret):return{n:int(ret.shape[0]),mean_%:round(float(ret.mean())*100,3),std_%:round(float(ret.std())*100,2),skew:round(float(ret.skew()),2),kurt_excess:round(float(ret.kurtosis()),2),# pandas 为超额峰度(正态0)min_%:round(float(ret.min())*100,2),max_%:round(float(ret.max())*100,2)}print(return_distribution(ret))分布特征含义指标含义正态基准mean平均日收益—std日收益标准差波动率—skew偏度分布左右不对称程度0对称kurt_excess超额峰度尖峰厚尾程度0pandas 已减 3min/max极端单日涨跌—第 3 步多标的对比forsin[600519.SH,000001.SZ]:daf.klines.get(s,period1d,count500,adjustforward,to_dataframeTrue).sort_values(trade_date)print(s,return_distribution(d[close].pct_change().dropna()))实测约 500 个交易日标的日均收益日波动偏度超额峰度单日最大跌/涨贵州茅台 600519.SH0.004%1.56%1.528.78−7.42% / 9.29%平安银行 000001.SZ0.051%1.26%−0.0710.03−9.32% / 6.92%结论很清楚两只票的超额峰度都远大于 08.78、10.03说明明显尖峰厚尾——极端涨跌远比正态分布预测的频繁。用正态假设会严重低估尾部风险。关键坑与注意事项别默认正态如上股票收益超额峰度远大于 0极端行情频率被正态严重低估。用正态算 VaR/期权定价会低估风险。峰度口径pandas 的kurtosis()返回超额峰度已减 3正态0有些库返回峰度正态3。对照时务必确认口径。极端值影响大偏度、峰度对少数极端值非常敏感样本区间含不含某次暴涨暴跌会显著改变结果。简单收益 vs 对数收益本文用简单收益pct_change()做加总/多期分析时对数收益log(1r)更方便口径别混用。前复权一律adjustforward否则除权跳空会制造假的极端收益。常见问题FAQQ超额峰度大于 0 意味着什么A意味着分布比正态更尖、尾更厚——大部分日子波动很小但极端大涨大跌的概率明显高于正态预测即厚尾。Q偏度正负代表什么A偏度0右偏表示大涨的极端值更突出偏度0左偏表示大跌更极端。本例茅台右偏、平安近似对称。Q怎么直观看分布A用直方图 正态曲线叠加matplotlib画ret的 hist叠加同均值方差的正态密度或用 QQ 图能直观看到厚尾偏离。Q需要付费吗A单只标的 500 根日线在免费额度内即可试多标的/长历史批量需 Starter 及以上详见 AlphaFeed 定价页。小结分析收益率分布的核心结论是股票收益不是正态分布而是尖峰厚尾、常带偏度。这意味着基于正态的风险度量会低估极端风险。AlphaFeed 提供干净的前复权日线让你几行算出均值/波动/偏度/峰度看清真相——记得确认峰度口径、注意极端值敏感别再默认正态。参考AlphaFeed Python SDK 文档https://docs.alphafeed.org/zh-Hans/sdk/python-quickstartAlphaFeed 官网https://alphafeed.org/
返回列表