股票组合总是跟不上基准:定位主动风险和持续落后区间
组合与基准走势接近,仍可能有主动风险或持续落后。先建立对齐的组合减基准收益,计算变动,再查大差异期间及期初主动权重,不能用一个相关系数解释全部表现,也不能从高相关推断没有主动暴露。
本文交付主动收益表、实现跟踪误差和持仓贡献卡。标准库例的回报与权重全部虚构,属于外部分析,不假定CoTrading或参考多头风险工具已经提供基准相对模型。单市场单币种,无真实绩效或未来收益保证。
先固定基准与收益基础
选择同币种基准,记录身份、版本、总回报口径和会话,匹配组合估值与费用。价格基准对含股息组合,不是天然可比,需先明确差别。不能因为组合落后,就挑一个更弱基准让结果变好,原比较应保留。
外部资金先按账户政策处理,不把入金当跑赢。取得诊断期初持仓、证券回报,以及费用、现金或剩余项。总收益相同不表示逐期主动路径相同,后者才是跟踪误差基础,所以不能只给期初期末两个余额就计算。
基准如果后来修订,应另立上下文,写明原因和生效日。指数或宽基对照在这里服务股票组合,不扩成另一个产品主题,也不引入汇率回测。实际需要币种转换时,另核数据与政策,不能静默把本币回报混合。
不补零、不静默丢日期
按实际会话键连接,样例要求两边集合相同,删除基准第二期就拒绝,不自动取交集让缺口消失。接手者能看到原期望日期、实际覆盖和被阻断原因,而不是只拿到清洗后仍然漂亮的一条线。
相同键集合也不证明完整,两边可能都漏同一天。四期夹具声明连续,真实流程还需核对交易日历与频率。跨两期变化不能删除中间标记后变成一期日收益,观察单位错误会同时改变均值、波动和年化。
统计前查有限性和单位,零点〇一是一百分之一,不混百分数字与小数。保留原行及转换,使主动向量能够重建。非有限输入不会被abs或排序规则掩盖;样本不足则保留信息不足,不为了显示一个指标填零。
主动收益与主动风险分开
每期主动收益为组合减基准。CFA Institute多因子模型阅读将主动风险定义为主动收益标准差,也称跟踪误差。本文算实现样本统计,不是预测因子风险,更没有把长仓归一化模型直接当作主动风险。
标准差用Python statistics的样本口径,再按合成交易会话年频率二百五十二取平方根放大。真实数据应替换成已核实实际频率,不能只从四条观测猜一年日历。年化只是单位约定,不增加样本信息。
均值描述平均领先或落后,跟踪误差描述围绕均值的变动,两个问题不同。低误差不能证明达基准,高误差也不自动代表主动决策有价值。把系统性负偏差与不稳定偏离一起显示,比单一数字更容易解释。
四会话主例
基准A、B各半,组合期初A权重依次零点四、零点六、零点七、零点四五,B取剩余。权重是给定合成观察,不证明真实引擎已经按这些数无成本成交。实际资金路径需要另有证据,这里诊断已准备的回报与敞口。
| 会话 | A/B回报 | 组合 | 基准 | 主动 |
|---|---|---|---|---|
| 1 | 2%/0% | 0.8% | 1.0% | 负0.2百分点 |
| 2 | 1%/0% | 0.6% | 0.5% | 正0.1百分点 |
| 3 | 负2%/1.5% | 负0.95% | 负0.25% | 负0.7百分点 |
| 4 | 2%/0% | 0.9% | 1.0% | 负0.1百分点 |
主动序列[-0.002,0.001,-0.007,-0.001],每期均值负百分之〇点二二五,年化样本风险百分之五点四〇二七七七。代码以独立解析值√0.002919核对,不只打印一个结果就声称验证过。
四条虚构观察不足以估可信长期主动风险,也不能判断投资能力。表的作用是让输入、公式和解释互相对应,年化不让短样本变成年历史。用更多真实数据仍需要同样覆盖和口径检查,而不是仅增加小数位。
找高偏离与连续落后
先定绝对主动收益至少零点〇〇五为高偏离,当前只有第三期,恰好为负;正的大偏离也会按同一规则入选。不能看完结果才把筛选改成只挑亏损或只挑有利期,让解释失去原研究问题。
连续负主动另记:第一期独立落后,三与四连成两期。顺序长度不等于总体标准差。每段保存起止、观测数和缺失状态,缺日不能填零打断不利连续期。日历不完整时,持续时间应标未知或使用明确的合理政策。
若同一窗口内组合与基准观察频率不同,先解决,不能简单重复低频基准到每天。当前脚本只接受已对齐序列,没有频率转换器,也不替用户取得指数数据;来源与准备过程应在真实研究包中保留。
回连第三期主动持仓
第三期A较基准多零点二、B少零点二。A负百分之二贡献负零点四百分点,B正百分之一点五却低配,贡献负零点三,合计负零点七。正收益证券也可能导致负主动贡献,因为相对基准持有更少。
active_contribution[s] = (portfolio_weight[s] - benchmark_weight[s]) * security_return[s]
有费用、现金或无法解释差额则单列。主例零费、两股完整,不是通用Brinson分解、协方差预测或股票涨跌原因解释。不能把算术贡献叫作某项决策独立导致市场收益,也不从相关性推导因果。
主动权重可以为负,即使两组合都多头,只表示相对低配。不能用长仓归一化程序删负项或缩放到一,那会改变诊断量。基准和组合各自预算有效,也不意味着两者差向量应该当作可直接买入的仓位。
两个不同反例
第一个将组合设为变化基准的零点九倍,相关性一,但主动收益变化,跟踪误差正。因此完全相关不等于没有主动风险,倍率差异仍产生相对变化。程序实际计算相关与正风险,不靠文字推断。
第二个每期固定比基准少零点〇〇一,主动均值负,标准差在浮点舍入内为零,仍持续落后。这里零风险是合法变动性结果,不是缺失值。若另外计算均值除风险的比率,零分母需不可用,本例不输出该比率。
有限数验证先于样本量判断,即使仅有一条NaN或无穷回报也拒绝;只有有效且对齐的数据不足两条时,才返回信息不足。缺键和非有限值阻断,不转换成便利零收益。实际账户净值归零或流量口径错误时,应先解决收益输入,不用风险统计掩盖基础记账问题。当前函数消费已准备回报,不建立完整资金账户。
交接完整诊断链
归档基准定义、原始对齐序列、频率、均值标准差约定、标记窗口和期初主动权重。每张卡都能从持仓重建主动收益,并说明残差和未知分类。把持续偏差与变动风险同时保留,不能只选看起来有利的一项。
复核可先抽第三期两股贡献,再核四期均值,最后核年化因子。这样能发现使用期末权重、反转主动符号或错误百分点单位。高偏离筛选政策也随卡片保存,避免后续挑图时只剩作者偏好的窗口。
对照其他报告时,确认它用去均值标准差,还是主动收益均方根。后者包含平均偏差,是不同量;固定负差可以标准差零、均方根却为正。本文跟踪误差定义不变,不能为了两个报告相同而擅换公式或年化因子。保存中间均值,通常能解释这种差异。
实现统计与预测风险也分开。前者由已发生序列计算,后者需要对未来暴露和协方差作假设;本例没有建立后者。主动权重卡帮助定位过去哪种超低配对应差额,不说明同样持仓未来会产生相同风险,更不证明任何软件已连接完整基准风险模型。
下载完整示例。使用Python 3.12或更新版本,运行python R634.py。标准库断言主动向量、均值、风险、高偏离、两股贡献、连续期、相关一反例及缺会话拒绝。没有真实历史或模型风险调用。
基准、回报、费用、期间或持仓改变后重算,保留旧记录。本文不认证产品风险模块、实际成绩或基准对真实投资者的适用性,也不把四期合成落后当作策略有效或无效证明。
常见问题
相关性一还会有主动风险吗?
会,回报大小不同仍可使主动收益变化。
跟踪误差零就没有落后吗?
不是,固定负主动可以无变化却每期落后。