
gs-quant Brinson归因快速上手3步把超额收益拆成3份【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant经理说这个季度跑赢基准3个点更值钱的问题是这3个点从哪来的。本文用 gs-quant 的 timeseries 模块实现 Brinson 业绩归因——把超额收益拆成配置、选择、交互三部分读完后你可以对着自己的组合数据跑一遍完整归因计算。快速上手15行代码跑通归因本地没有项目的话先克隆git clone https://gitcode.com/GitHub_Trending/gs/gs-quantBrinson 归因只需要四张表组合/基准的权重、组合/基准的行业收益。先用虚构的示例数据2个行业 × 4个交易日跑通import pandas as pd # 组合(p)与基准(b)各行业的权重、各行业当日的收益率 pw pd.DataFrame({科技: [.5, .5, .4, .4], 医疗: [.5, .5, .6, .6]}) pr pd.DataFrame({科技: [.02, -.01, .01, .03], 医疗: [0, .01, .02, -.01]}) bw pd.DataFrame({科技: [.4]*4, 医疗: [.6]*4}) br pd.DataFrame({科技: [.01, 0, 0, .01], 医疗: [0, 0, .01, 0]}) def brinson(pw, pr, bw, br): alloc ((pw - bw) * br).sum(axis1) # 配置项权重差 × 基准收益 select (bw * (pr - br)).sum(axis1) # 选择项基准权重 × 收益差 interact ((pw - bw) * (pr - br)).sum(axis1) # 交互项两个差距的乘积 return pd.DataFrame({超额: alloc select interact, 配置: alloc, 选择: select, 交互: interact}) print(brinson(pw, pr, bw, br))输出是一张4行表每行一天的归因三列相加正好等于当天超额收益。换成真实数据时你只需要替换这四张 DataFrame函数本身不用动。它是怎么工作的输入→计算→输出输入是两类信息谁在哪个行业占多少权重和这个行业当天涨了多少输出是配置、选择、交互三个数。中间只有一个公式全文就这一个超额收益 Σ(Pw_i − Bw_i)×Bp_i ΣBw_i×(Pp_i − Bp_i) Σ(Pw_i − Bw_i)×(Pp_i − Bp_i)大白话翻译第一问你相对基准超配了哪些行业这些行业在基准里表现如何第二问同一个行业里你选的股票跑赢指数多少第三项是前两个差距相乘的联动效应。收益序列不用手算timeseries 模块里的 returns 能直接把价格序列变成收益序列from gs_quant.timeseries import returns port_ret returns(portfolio_price) # 价格 → 日度简单收益如果要从 gs-quant 拉真实持仓与指数成分走 markets 模块 里的 PortfolioManager 和 Index这需要配置 gs 会话但归因计算本身是纯 pandas 运算不依赖会话。实战演练一个小美股组合的归因解读背景示例数据某小盘组合以某中性指数为基准看 Q1 前4个交易日科技/医疗两个行业。组合超配科技权重0.4~0.5基准固定0.4跑上面代码后季度合计归因项Q1贡献一句话解读配置0.1pct超配科技略有加分但科技在基准里表现平平选择1.4pct超额的主要来源同行业里选到的股票跑赢指数交互≈0配置和选择没有互相抵消或放大总超额收益1.8pct与组合收益 − 基准收益直接相减结果一致两个读法一是超额主要靠选择能力说明组合的选股是真本事二是交互项接近零组合结构与基准差异不大结论稳健。想确认这是不是一时运气把brinson按滚动窗口如20个交易日重复跑一遍观察三列是否稳定即可。新手避坑3个高频问题Q三项加起来不等于组合减基准的差先查每天权重是否加总为1再查收益类型。gs-quant 的returns默认算简单收益若混入累计/复利收益恒等式必破。Q交互项为什么有时很大交互项是权重差 × 收益差同一行业两个差距都大时它才会大。持续偏大说明组合与基准在该行业结构差异明显先核对行业口径再下结论。Q不接 gs-quant 数据源能本地试吗能。归因计算是纯 pandas 运算用快速上手的四张 DataFrame 就能跑只有要通过 PortfolioManager/Index 拉真实持仓和成分时才需要配置 gs 会话。三分法跑顺之后下次看到跑赢基准X个点你看到的就不再是一个数字而是它背后的结构。能力点对应收益三项分解函数定位超额来自配置还是选股timeseries 的 returns 等函数价格序列直接变收益序列滚动窗口执行区分稳定能力与一次性运气【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考