阶段3开篇:收益率的完整公式家族
我的掌握程度:
先掌握这个答案
公式家族总表:①简单收益率 r=(P1-P0)/P0,性质:横截面上可加权平均(组合收益)、下界-100%;②对数收益率 R=ln(P1/P0),性质:时间上可直接相加(多期=求和)、取值全实数、近似正态;③换算:R=ln(1+r),小收益率时几乎相等(1%→0.995%);④复合:多期简单收益=连乘,多期对数收益=求和后exp。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
先核对现金流与期限
没有中途出入金时才可直接用期末/期初计算持有期收益;分红、费用要避免漏计或重复计入。有出入金时区分时间加权与资金加权。复合年化使用净值比的幂,算术均值年化用于不同统计目的。
本阶段实战方法 · 每个统计量都要带单位和假设
计算收益、波动、回归、显著性或相关性时,先明确样本和推断条件。
- 写清收益频率、样本数、缺失处理、是否含费用;百分数与小数不可混用。
- 手算一组小样本,再用代码复算;区分算术均值年化、复合年化和年化波动。
- 解释假设不成立会发生什么:自相关、肥尾、非平稳与多次试验都会影响结论。
使用边界
- p值不是原假设为真的概率,也不是策略未来盈利概率。
- 日波动×√252依赖时间聚合假设;252是教学常用交易日数,实际市场与口径可能不同。
背景 · 从一个困惑说起
阶段1你已经会用收益率了:会算、会年化、知道要看波动。但当时是「够用就好」——公式从哪里来、彼此怎么换算、什么时候用哪个,还没有系统化。阶段3把数学工具箱一件件摆上台面,第一件自然是整座大厦的地基:收益率公式家族。
由此产生的问题
简单收益率和对数收益率各自的完整性质是什么?为什么量化研究需要两个版本并存?
核心概念
公式家族总表:①简单收益率 r=(P1-P0)/P0,性质:横截面上可加权平均(组合收益)、下界-100%;②对数收益率 R=ln(P1/P0),性质:时间上可直接相加(多期=求和)、取值全实数、近似正态;③换算:R=ln(1+r),小收益率时几乎相等(1%→0.995%);④复合:多期简单收益=连乘,多期对数收益=求和后exp。
为什么需要它
①各司其职:组合加权、金额计算用简单收益;跨期累加、统计建模(均值/方差/回归)用对数收益——用错场合是新手高频bug;②统计入口:本阶段后面的分布、假设检验全部以收益率序列为研究对象,先把「研究对象」定义严谨;③工程意义:回测引擎的净值计算=exp(对数收益累加),理解公式才能读懂代码。
实际应用场景
因子检验:横截面回归用简单或Rank收益;时间序列分析(GARCH等)用对数收益;业绩报告:内部算对数、对外展示简单(人类习惯百分比)。
与之前知识的联系
阶段1的q-001(定义)、q-011(复利连乘)、q-017(对数初识)三题在本题合流成完整体系。接下来阶段3将沿着「收益率→分布→检验→回归→时间序列→优化」的顺序,把每个数学工具配上一段金融含义。
⚠ 常见误解
- 记住一个收益率公式就够:简单和对数在±20%以上的变动时差异显著,混用会算错年化
- 对数收益率的均值可以直接当组合收益:跨资产只能加权简单收益,对数收益不可直接加权
- 公式推导是学术洁癖:回测代码里的每个exp和log都对应这些公式,不懂公式读不懂别人的框架
🛠 本题实践任务
任取一只股票近10个交易日的收盘价,分别用连乘法和对数求和法计算区间总收益,验证两者一致;再计算逐日简单与对数收益的最大差异出现在哪一天(应该是波动最大的那天)。
💡 提示(先自己想5分钟再看)
数据用akshare或行情软件手抄皆可;np.prod(1+r)-1 与 np.exp(np.log(1+p[1:]/p[:-1]).sum())-1。
✅ 验收标准
两种方法的总收益数字+最大差异日的日期。理解了「差异随波动放大」,你才知道什么时候必须分清两个世界。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(简单收益率、对数收益率(初步)、复利),再用案例、公式和代码帮助理解。此功能需要先启用服务。