一份账户报告写着:全年时间加权收益略为正。你翻看自己的转账记录,一共放了11000美元,期末却不到11000。是报表粉饰,还是自己少算了一笔钱?
不一定是谁算错了。那张报表可能在回答“账户投资过程怎样”,而你在问“我这些钱什么时候进去,最后留下多少”。本篇只用G50的同一份账本,把这两个问题拆开,并先做一件更基本的事:让钱对上。
先固定账户,不为不同算法换一份成绩
要完成三件事:区分账户外资金流与账户内收益、交易和费用;在入金边界切开两段并连乘;核对资金加权收益的现金流、时点与求解约定,解释它为何可能与前者不同。
沿用C3-50-v1原规格,金额为美元,12个等长教学月M1—M12,不绑定真实日历。起始股票6000、债券3000、现金1000,权益10000,已给持有快照,不另扣初始建仓费用。全部资产袖套只做多、无杠杆,可连续分割,现金回报设零。
唯一新增资金为1000,发生在M6执行窗口W6结束后、M7收益开始前。记这个边界为t6,初始为t0、终点为t12。M7的入金不是M6的盈利,也不是M7月底才到的钱。期末使用W12执行并扣费后的权益,没有强制清仓。
原包目标股票60%、债券30%、现金10%。季度规则在M3、M6、M9、M12检查执行;阈值规则每月检查,任一资产偏离目标至少5个百分点就执行,相等也触发。触发时股票和债券按同一笔费前权益回到目标金额,交易每笔金额收5基点费用,现金承接费用,所以费后权重略偏;窗口中额外价格变化设零。总回报输入已含分配再投资,不在账外再加分红;没有其他滑点、税或管理费。本篇算的是本模型已计费用后的税前收益,不称现实全成本净收益。
从十二行输入,找到那笔不像收益的钱
下表给出全部收益输入、外部入金以及阈值规则每月费后权益。收益列为各资产当月总回报,不是账户收益。现金每月回报均为0;显示余额保留四位小数供阅读,正式计算使用原始输入与完整账本的未四舍五入值。
| 月份 | 股票回报 | 债券回报 | 月初外部入金 | 阈值规则月初入金后权益 | 窗口执行费后权益 |
|---|---|---|---|---|---|
| M1 | 5% | 1% | 0 | 10000.0000 | 10330.0000 |
| M2 | −8% | −2% | 0 | 10330.0000 | 9765.4000 |
| M3 | 3% | 0.5% | 0 | 9765.4000 | 9954.1270 |
| M4 | 6% | 0% | 0 | 9954.1270 | 10312.3198 |
| M5 | −4% | −1% | 0 | 10312.3198 | 10029.3544 |
| M6 | 2% | 1% | 0 | 10029.3544 | 10180.3975 |
| M7 | 1% | 0.5% | 1000 | 11180.3975 | 11256.8446 |
| M8 | −12% | −4% | 0 | 11256.8446 | 10311.2329 |
| M9 | 4% | 1% | 0 | 10311.2329 | 10581.4077 |
| M10 | 3% | 0.5% | 0 | 10581.4077 | 10783.2282 |
| M11 | −2% | 0% | 0 | 10783.2282 | 10655.8873 |
| M12 | 5% | 0.5% | 0 | 10655.8873 | 10984.3270 |
每月投资损益金额,等于费后终值减本月入金前权益,再减本月外部净入金。例如M7从10180.39746106开始,加入1000后参与当月变化,月底11256.84455688。因此投资损益约为76.4471,不是1076.4471。
十二个月这样逐期相加,阈值规则投资损益为−15.672997美元。期初10000,加外部入金1000,加投资损益−15.672997,得到期末10984.327003。余额比最早高了984.327003,不能把它全叫盈利。
账户内卖股票换现金,是资产形式改变,不是账户外提款;本包分配已再投,属于输入回报。佣金从现金扣除,已经进入各月损益和终值,不再从−15.672997里扣第二次。先画出被评价账户的边界,现金流标签才有意义。
时间加权:把入金前后各算一遍
时间加权收益(time-weighted return,TWR)在外部流发生处划分子期间,算各段变化,再把增长倍数连乘,避免将转入资金直接记成回报。GIPS方法说明用每次外部资金流时的估值计算子期间,再进行几何连接。[1] 本篇采用这一计算思路,不声称符合整套GIPS标准。
阈值规则t6入金前权益为10180.39746106。前六个月没有外部流,因此第一段收益为它除以10000再减1,约1.803975%。入金后立即变成11180.39746106,期间没有额外涨跌,第二段起点用这个数,不能继续用入金前的金额。
第二段终点为10984.32700283238,除以11180.39746106再减1,约−1.753698%。把两段增长倍数1.018039746106与0.982463015388相乘,再减1,全年TWR约0.018640%。不用把这两个百分比简单相加,也不让入金的1000变成段内利润。
逐月复核也能得到同一答案:每月费后终值除以该月入金后起值,再把十二个倍数连乘。M7分母必须包括期初刚到账的1000;其他月份分母就是前一窗口净终值。这里流边界估值齐全,才可以这样精确切分。真实账户缺少流入当时估值,若改用近似方法,须同时报告假设与误差范围。
TWR把外部流的机械加减剔开,不代表追加资金对投资过程完全没有影响。本例入金先留现金,可能改变后续权重和阈值检查,进而改变实际持仓;TWR测量的正是这条实际发生的管理路径,不是重新生成一条“假如从未入金”的回测。
资金加权:让每笔钱带上参与时间
资金加权收益(money-weighted return,MWR)关心投入金额与时点的共同结果,常用内部收益率(IRR)来表达。[1] 可以把它理解为:找一个固定复合增长速度,让按实际时点放进来的各笔钱,恰好长成最终账户价值。
统一站在投资者视角:t0支付10000记−10000,t6支付1000记−1000,t12把账户终值10984.32700283238记正。期末没有实际清仓,这个正数是剩余资产估值,用作测量终值,不是凭空新增的一笔分红或真实银行到账。
设固定月收益率为r。第一笔钱参与12个月,第二笔只参与6个月,需满足下面的等式:
10000×(1+r)^12 + 1000×(1+r)^6 = 10984.32700283238
无需自己开发求根算法。表格里按月序号0至12放满13行:第0行−10000,第6行−1000,第12行正终值,其他10行全部填数值0;再对这13格使用IRR,读取每月结果。不能只保留三笔金额直接套普通IRR,那会把半年的间隔压成一个月。Microsoft的函数说明明确要求等间隔,并按值的顺序解释现金流。[2]
独立计算得到月IRR约−0.0124471832%。按12个等长月组成一个教学年的约定,计算“1加月IRR”的12次方再减1,得到12个月有效资金加权收益约−0.149264%,不是把月数字直接乘12。它是这段已发生输入的等效变化率,不是未来一年收益预测。
实际日期不规则时可考虑XIRR,并保存每笔真实日期与金额。Microsoft的XIRR按日期、以365天年基准折现,结果口径与普通月IRR不同。[3] 本包没有真实日历日期,不能随手编三个日期,再把不同结果包装成更专业的答案。
一项略正,一项略负,矛盾在哪里解开
阈值账户前半年约涨1.804%,后半年约跌1.754%。后半年的跌幅不只作用在原有资金上,也作用在新加入的1000上,所以投入者合计会亏钱;但连乘得到的投资过程回报仍可略为正。两个数字没有互相推翻,它们放大的观察重点不同。
还可以用同一账本做份额归属演示,不重跑资产收益。假设甲提供t0的10000,乙在t6以当时净值加入1000,t6之后二者按共同账户份额承担相同回报和已计费用。这是内部归属假设,不是实际合伙产品安排。
甲原资金在t6为10180.39746106,乘后半段增长倍数,期末约10001.863987;乙的1000乘同一倍数,剩982.463015,合计仍10984.327003。甲整段微赚,乙参与后半段亏约17.536985,两笔合起来亏15.672997。
不能因此说乙投资能力较差。他加入时间不同,观察区间也不同;乙的半年收益不应与甲全年收益不改标签地排名。这一归属演示只拆开同一账户资金,不改变原入金先进入现金的政策,更没有假设乙在另一个账户独立买相同证券会得到完全相同费用和交易结果。
同样方法对季度规则复算,可以得到下面的同口径结果。两规则的费用已经计入,数字来自同一原始包,不为了证明某种收益率更好而换数据。
| 规则 | 投资损益美元 | 12月TWR | 每月IRR | 12月有效MWR |
|---|---|---|---|---|
| 季度 | 53.925304 | 0.652387% | 0.042700% | 0.513606% |
| 5个百分点阈值 | −15.672997 | 0.018640% | −0.012447% | −0.149264% |
问账户增加了多少投资价值,看损益金额;比较给定管理路径,先看相同区间、口径的TWR;关心自己的金额与时点组合体验,再看MWR。没有哪个数字永远更准确,也不能用个人MWR与一个不含相同资金流的指数TWR直接判胜负。
软件给了一个数,也要问它是不是唯一答案
IRR依靠求解等式,输入符号、时点和终值错误,都可能产生一个看似精确的无意义结果。先核终值是否只记一次、期间零值有没有漏、分红与费用是否重复分类,再把结果代回等式,检查残差是否足够小。软件报错不自动意味着收益为零,也可能是输入有问题或求解失败。
本包只有两次投入与一个正终值。在月增长倍数大于零的范围内,左侧随倍数严格增加,所以恰有一个满足的解。不能把这个性质推广到所有现金流。
另给一组独立的数学诊断,不属于C3账户:等间隔流为−100、+230、−132,每期10%和20%都能让净现值为零;多次符号变化可能出现多解,却不是一定多解。再如−100、+100、−100,在正增长倍数范围没有解。遇到这些情况,应记录无唯一结果或无法求得,不挑喜欢的那个当确定业绩。
零或负的子期间起值也会让简单TWR比值失效;非正常账户、借款或现金流日估值缺失,须先查适用方法。不能为了填满报表,把任意平均百分比硬塞进来;多个子账户汇总也要对齐资产与资金流,不能直接平均它们的收益率。
换一个评价窗口,自己重算
解释题:为什么“终值减入金”可以帮助算损益金额,却不能直接得到收益率?请把金额分母与参与时间各说清楚,并指出若从终值再扣累计佣金会发生什么。
应用题改的是评价窗口,不改C3-50任何交易。只评价季度规则M7—M12:W6后原权益为10180.413971237016,先加入1000,再作为这半年的期初;终点W12后为11053.925303545889。窗口内部没有其他资金流。有人又从终值减去1000,称这才是剔除入金后的半年回报。请指出错误,算正确半年TWR,并判断半年累计MWR应否与它不同。
答案中,评价窗口从入金后才开始,起值为11180.413971237016;终值除以起值再减1,半年回报约−1.131342%。那1000已经进入期初分母,再从终值减一遍就是重复排除。由于此窗口没有中途流入流出,按同一首尾时点,累计半年MWR与TWR相同。若工具返回月IRR,应先复合成6个月结果,不把一个月率拿来比较,也不把这个半年结果标全年收益。
解释题应指出减净入金还要减期初,才能得到投资损益金额;想得到收益率,仍须定义问题、分母和现金流时点。手续费已在本包终值中计入,再扣会重复减损益。只说“入金不是收益”还不够,必须能说明在哪一个时间边界排除它。
带走一张T22核对表
请用C3-50两规则保存账户边界、币种、月序号约定、期初、每笔外部流及方向、流前后估值、各期净损益与期末,再列TWR分段、IRR输入序列、求解结果、复合期间、残差与异常状态。把真实与合成、税前与已计费用范围写在表头,保留未舍入值。
自检首先让“期初加外部净流加投资损益等于期末”成立;其次让每笔资金只在一个正确边界出现;最后确认收益率回答的是自己的问题。缺日期、缺估值或多解,就留下待核状态,不能用更多小数遮住它。
小结:先找资金进入的边界,再比较收益
看到两份报告给不同收益,先别急着选高的。沿着同一账户、同一资金流和费用找边界,再看一份是在度量管理路径,还是在度量实际投入的时点体验。
账目一致之后,差异才有解释价值;收益来源与相对基准的归因,下一篇再拆。
参考资料
- GIPS Standards Handbook for Firms。Calculation Methodology中TWR外部流边界、几何连接及MWR/IRR定义;仅采用方法,不声称整套标准合规。
- Microsoft Support:IRR function。等间隔、符号与序列顺序、迭代求解限制。
- Microsoft Support:XIRR function。实际日期、365天基准、正负流与求解限制。
核查日期2026-10-29。AI辅助编写与检查,待人类金融审校与目标读者试读。数字为C3-50合成机制账本及明确独立数学诊断,不代表真实市场业绩。