我一直认为,一款投资分析软件最危险的错误,不是告诉你“算不出来”。
而是:
在数据有问题的时候,依然给你一个看起来非常专业的答案。
因为“算不出来”至少会让你停下来检查。
但一个看起来精确的错误数字,很容易让人直接相信。
尤其是投资归因。
归因分析的目的,是把一段时间的总盈亏进一步拆开:
这部分来自价格变化。
这部分来自分红、利息等投资收入。
这部分来自自己的买卖。
还有一部分来自汇率变化。
这样做的意义,是让你终于能够回答:
“我这段时间到底是怎么赚到这些钱,或者亏掉这些钱的?”
但这个问题有一个不能绕开的前提:
拆出来的东西,必须能够重新合回去。
如果拆解出来的几项加起来,和真实的总盈亏对不上,那么这些“收益来源”就没有资格成为结论。
所以在 WealthSight 里,我有一条不愿意妥协的原则:
数字对不平,就不下结论。
归因不是把一个数字拆成几个数字
很多人第一次看到收益归因,会觉得它只是一个更复杂的收益率。
比如:
总收益 10 万元。
然后软件告诉你:
价格贡献 +7 万。
分红贡献 +1 万。
交易贡献 +1.5 万。
汇率贡献 +0.5 万。
看起来非常完整。
但真正的问题是:
这几个数字加起来,真的应该是 10 万吗?
如果不是,那么拆得再细也没有意义。
归因分析最核心的不是“能拆出多少项目”。
而是:
拆解之后,能不能重新解释原来的结果。
所以 WealthSight 做归因时,首先要守住的是这条最基本的关系:
分解结果必须和总盈亏闭合。
只有能够闭合,后面的“价格贡献”“交易贡献”“汇率贡献”才有意义。
否则,只是在一个错误的总账上继续做更精细的数学。
为什么账对不上,往往不是归因算法的问题
实际遇到数据不闭合时,问题很多时候并不在归因公式。
而是在更早的地方。
例如:
历史上发生过拆股,但数量变化没有正确记录。
登记了一次分红事件,却没有对应的分红交易。
某段时间缺少历史价格。
交易记录和当前持仓没有对应起来。
某一次账户转移没有完整记录。
这些事情单独看,都可能只是一个“小问题”。
但一旦进入长期投资分析,它们就可能改变最终结果。
比如一次拆股。
如果原来持有 100 股,后来变成 200 股,而历史记录没有正确反映数量变化,系统可能把本来正常的价格变化理解成异常亏损。
又比如一笔分红。
如果系统知道“这里发生过分红”,却没有找到对应的收入记录,那么这笔钱到底去了哪里?
它不能凭空消失。
也不能为了让账平起来,随便补一个数字。
所以我们更愿意把这些问题留在数据层解决,而不是让归因层替它们掩盖。
一个投资分析软件,应该允许自己说“我现在不能确定”
这是 WealthSight 在产品设计上很坚持的一点。
很多软件天然倾向于:
用户点了分析,就应该返回一个结果。
因为没有结果,看起来就像功能没有工作。
但投资分析不是这样。
如果底层数据存在矛盾,继续输出结果并不能说明软件更强。
恰恰相反。
真正值得信任的系统,应该知道什么时候:
不能给答案。
所以 WealthSight 的归因分析有一道闭合校验。
当价格波动盈亏、收入影响、交易执行、汇率波动四项归因重新合计后,与总盈亏之间出现超过容差的差异时,系统会明确提示。
目前这个容差是 0.01 本位币。
这不是为了追求数学上的“好看”。
而是因为:
如果一个结果不能解释总账,就不应该被包装成正式结论。
更重要的是:告诉你哪里可能出了问题
“数据有误,请检查。”
这种提示其实没有多大帮助。
真正的数据校验,应该尽可能告诉你:
问题可能在哪里。
所以 WealthSight 不只是提示归因没有闭合,还会帮助缩小排查范围。
例如定位:
残差最大的日期。
残差最大的标的。
然后你可以继续回到相关的交易、事件和历史价格去检查。
这时候,原本一个抽象的:
“为什么收益归因对不上?”
就会变成一个可以实际处理的问题:
“是不是这一天发生过拆股?”
“是不是这个标的的分红没有对应交易?”
“是不是这一段历史价格缺失?”
好的校验不是告诉你“错了”。
而是帮助你找到“可能是哪里错了”。
我们不会为了“平账”而替你改数据
这里其实还有一个很容易做、但我不愿意做的功能。
假设系统发现:
总盈亏是 10000 元。
四项归因加起来只有 9700 元。
差了 300 元。
最简单的办法是什么?
随便找一个项目,加上 300。
账就平了。
界面也可以恢复正常。
甚至用户可能根本不会发现。
但这不是修复。
这是把错误藏起来。
系统不知道那 300 元到底是什么。
它可能是一笔漏记的分红。
可能是一笔没有记录的资金变化。
可能是拆股。
可能是历史价格问题。
也可能是其他数据缺失。
在不知道原因的情况下,软件没有资格替你创造一条事实。
所以 WealthSight 的原则是:
系统可以发现问题,但不应该替你编造事实来消灭问题。
“只定位、不自动修”这条取舍,我在《账本必须自己解释自己》里已经按持仓的维度展开过。归因守的是同一条线。
真正的数据修正,应该由投资者确认。
因为那是你的投资历史。
不是软件的历史。
但这并不意味着:少记一笔,就永远不能用
这里还有一个很重要的边界。
我并不认为一个人的投资档案必须达到“每一分钱都绝对完整”,才能开始使用。
现实中的投资历史很难做到这一点。
十年前的一笔小额分红找不到了。
早年的一份对账单丢了。
某个已经销户的账户只有部分记录。
这些情况都很正常。
所以 WealthSight 并不要求你先把过去十年的所有历史补齐。
可以不完整。
但需要知道哪里不完整。
这两件事情完全不同。
例如,一笔分红你从来没有登记过。
那么系统没有办法知道这笔分红曾经发生。
它不会因为你没记录,就凭空创造一条数据。
这部分收益自然不会进入相关分析。
这是“不完整”。
但如果你已经明确登记:
“这里发生了一笔分红。”
那么系统就应该能够继续追问:
这笔分红对应的交易在哪里?
这就是“不允许自相矛盾”。
所以我们真正坚持的并不是:
“所有数据必须完整。”
而是:
“你已经记录的事实,必须尽可能自洽。”
这是一个很重要的区别。
为什么我宁可让你晚一点看到结论
因为 WealthSight 最终想做的不是一个“收益率计算器”。
它想帮你完成的是投资复盘。
而复盘最怕什么?
不是少一个数字。
而是:
你基于一个错误的数字,得出了一个错误的判断。
假设系统告诉你:
今年赚了 20%。
其中:
15% 来自选股。
3% 来自交易。
2% 来自汇率。
于是你得出结论:
“看来我的主动交易能力不错。”
然后明年继续按照同样的方法操作。
但如果底层归因其实没有闭合,这个结论可能从一开始就是错的。
这就是为什么我认为:
投资分析软件不仅要计算结果,还应该保护用户不要过度相信结果。
当数据还没有足够可靠时,最有价值的提示可能不是:
“你的交易贡献是 +3%。”
而是:
“当前数据无法完成可靠归因,请先检查异常。”
这句话可能没有那么令人兴奋。
但它更诚实。
我希望 WealthSight 给你的,是可以被追问的数字
投资分析真正有价值的状态,不是:
“软件告诉我今年赚了 18.63%。”
而是你可以继续问:
为什么是 18.63%?
这个数字怎么计算的?
哪些因素贡献了收益?
哪些交易影响了结果?
如果不做这些交易,会怎么样?
如果和长期持有相比,结果如何?
当你继续追问时,软件应该能够继续给出解释。
而不是只能说:
“算法算出来就是这个数字。”
所以从产品设计上,我们一直在做一件事情:
让账能够解释自己。
交易可以追溯。
持仓可以核对。
收益可以解释。
归因可以闭合。
异常可以定位。
数据不可靠时,可以明确告诉你。
这些能力其实都指向同一个目标:
让投资分析从“相信一个数字”,变成“理解一个结果”。
归因很高级,但它底下是很朴素的东西
归因分析看起来很高级。
但它其实建立在一个非常朴素的东西上:
可靠的投资历史。
没有完整的交易记录,就无法准确还原持仓。
没有稳定的历史价格,就无法正确计算期间结果。
没有明确的现金流,就无法正确理解收益。
没有统一的计算口径,就无法比较不同时间段。
没有这些基础,归因算法再复杂,也只是把不确定性计算得更漂亮。
“档案先于分析”这个顺序,我在《我为什么把“投资档案”放在“复盘分析”之前》里已经展开过,这里不重复。归因这一侧只想补一句:它对基础的要求比一般分析更苛刻——不但要求总盈亏是对的,还要求这个总数能被拆成正确的比例。一个数据漏洞,推翻的不是一个数字,而是一组数字的正确性。
所以我们不急着把高级功能都推到前台。
因为对于一个真正准备保存很多年的投资档案来说,
一个暂时没有结论的正确状态,比一个漂亮但无法验证的结论更有价值。
我不希望 WealthSight 总是给你答案
这可能是一个不太符合“产品宣传”习惯的说法。
但我确实这么认为。
如果所有情况下,软件都能给你一个答案,那反而值得警惕。
因为真实的投资历史本来就会有缺失、有异常、有无法确认的地方。
好的软件不是把这些东西全部藏起来。
而是:
知道什么可以确定。
知道什么还不能确定。
知道为什么不能确定。
并且帮助你找到解决它的方法。
所以在 WealthSight 里,我宁愿看到:
“当前数据无法完成可靠归因。”
也不愿意看到一个:
“交易贡献 +2.37%”
但没有人知道这个数字到底是怎么来的。
数字对平,只是一个很小的技术细节
归因闭合校验看起来只是一个技术功能。
但对我来说,它背后其实代表了 WealthSight 做投资软件时的一条基本原则:
不要为了让产品看起来更完整,而牺牲结果的可信度。
可以没有答案。
可以让用户补数据。
可以提示异常。
甚至可以暂时阻止分析。
但不能明明知道数据有问题,还交给用户一个确定的结论。
因为 WealthSight 最终想保存的,不只是你今天看到的一张分析图。
而是你未来几年回头看时,依然愿意相信的一份投资档案。
账能解释自己,分析才有资格说话。
而如果数字还没有对平,
那就先别急着下结论。
