一句话回答:用 AlphaFeed 取复权日线、算日收益率,再用 pandas 的mean/std/skew/kurtosis几行就能刻画收益率分布——真实数据会告诉你:股票日收益并不服从正态分布,而是"尖峰厚尾"(峰度远大于 0、极端涨跌远比正态频繁),这对风险管理至关重要。
为什么会有这个问题 / 传统做法的痛点
很多风险模型(如用标准差算 VaR、用正态假设定价)默认收益率服从正态分布。但实际股票收益:
- 厚尾:极端大涨大跌的频率远高于正态预测,"黑天鹅"没那么稀有;
- 尖峰:大量收益集中在均值附近,中间比正态更"尖";
- 有偏:涨跌不对称(偏度非 0)。
要验证这些,需要干净的前复权日线和正确的统计口径。AlphaFeed 提供复权日线,统计用 pandas 即可。
分步骤解决(每步配可运行代码)
第 1 步:取复权日线并算日收益率
fromalphafeedimportAlphaFeed af=AlphaFeed(api_key="your-api-key")# 或 export ALPHAFEED_API_KEY 后 AlphaFeed()df=af.klines.get("600519.SH",period="1d",count=500,adjust="forward",to_dataframe=True).sort_values("trade_date").reset_index(drop=True)ret=df["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(超额峰度) | 尖峰厚尾程度 | 0(pandas 已减 3) |
| min/max | 极端单日涨跌 | — |
第 3 步:多标的对比
forsin["600519.SH","000001.SZ"]:d=af.klines.get(s,period="1d",count=500,adjust="forward",to_dataframe=True).sort_values("trade_date")print(s,return_distribution(d["close"].pct_change().dropna()))实测(约 500 个交易日):
| 标的 | 日均收益 | 日波动 | 偏度 | 超额峰度 | 单日最大跌/涨 |
|---|---|---|---|---|---|
| 贵州茅台 600519.SH | 0.004% | 1.56% | 1.52 | 8.78 | −7.42% / +9.29% |
| 平安银行 000001.SZ | 0.051% | 1.26% | −0.07 | 10.03 | −9.32% / +6.92% |
结论很清楚:两只票的超额峰度都远大于 0(8.78、10.03),说明明显尖峰厚尾——极端涨跌远比正态分布预测的频繁。用正态假设会严重低估尾部风险。
关键坑与注意事项
- 别默认正态:如上,股票收益超额峰度远大于 0,极端行情频率被正态严重低估。用正态算 VaR/期权定价会低估风险。
- 峰度口径:pandas 的
kurtosis()返回"超额峰度"(已减 3,正态=0);有些库返回"峰度"(正态=3)。对照时务必确认口径。 - 极端值影响大:偏度、峰度对少数极端值非常敏感,样本区间含不含某次暴涨暴跌会显著改变结果。
- 简单收益 vs 对数收益:本文用简单收益
pct_change();做加总/多期分析时对数收益log(1+r)更方便,口径别混用。 - 前复权:一律
adjust="forward",否则除权跳空会制造假的极端收益。
常见问题(FAQ)
Q:超额峰度大于 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-quickstart
- AlphaFeed 官网:https://alphafeed.org/