跳转至

像开发软件一样思考投资:关键指标和状态监控

在设计软件系统的时候,我们会非常关注系统的运行期指标,比如并发连接数、QPS、吞吐量、CPU和内存占用等等。这些指标代表着系统的健康情况,我们通过一些监控手段来收集、分析和可视化这些指标,帮助我们了解系统当前的状态。通过报警和自动化运维手段来进行决策和行动,保证系统按照我们的预期来运行。

构建一个投资组合很像构建一个软件系统,我们希望它按照我们设计的预期来运行。软件运行在操作系统、VM、中间件等基础平台上,受平台资源的限制,需要遵守平台的规则,投资组合运行在市场中,也需要遵守市场规则并受市场限制。为了及时掌握投资组合的健康情况,我们需要设计一些指标用来对投资组合的健康状态进行描述,就像监控软件系统的运行一样,也需要有合适的手段来收集、分析投资组合的状态,以辅助我们做出决策。

这些指标通常是量化的,可以很方便地转化成数学模型。这些指标包括:每股收益、股息率、市盈率、市净率、净资产收益率、交易量、股价波动、夏普率等等。

通过将软件开发的思维方式应用于投资,程序员可以利用自己的分析能力做出基于数据的投资决策。可以运用自己在监控关键指标和跟踪状态方面的专业知识,评估投资的健康状况和潜力,从而更有效地管理自己的投资组合。

像开发软件一样思考投资是程序员的优势,随着本教程的深入,我们会逐步构建一个完整的指标体系和监控系统。

作为入门教程的第一篇,我想先谈一个非量化,却很重要的指标。这是一个心理指标,我称它为 “焦虑指数”。我们可能听到过有人追求 “睡得着“ 的投资组合,也有投资大师非常依赖身体某个部位的疼痛状态来监控自己的投资组合,其实,它们的目的就是要寻找一个自己心理上舒服的状态。背后深层次的原因是人的非理性,不管我们多么推崇理性决策,实际上,我们都是情感动物。

焦虑指数是一个非量化的主观指标,因人而异。比如有的人会因为 5% 的亏损而焦虑,有的人可能 50% 的亏损也能泰然处之。造成这种差异的原因很复杂,不仅有对于市场和投资标的认识上的差异,也有个性的原因。重要的不是研究这种差异产生的原因,而是更诚实地了解自己。不因为对收益的过高预期,过份低估了把自己陷入焦虑的可能性,更要防止对自己的心理承受能力有不切实际的高估。谨记要让自己时刻都处于心理上舒服的状态。亏损只是结果,而心理焦虑才是投资最大的风险,因为结果是即时的,而焦虑可能持续很长时间,伤害的是我们的心理和身体健康。

我们不能准确量化焦虑指数,却可以很容易测试和模拟。可以把自己想象成一个返回值为bool的函数,把各种情境作为参数传入,如果告诉自己可以接受这种状态,那就返回False,表示不焦虑,不喜欢就返回True,表示焦虑。只要尽可能穷举出可能面临的情境,并避免让这些情境产生,就可以尽量避免把自己陷入焦虑中。比如:

  1. (s = "本金浮亏") -> bool # 是否可接受本金出现浮亏
  2. (s = "浮亏 50%") -> bool # 是否可接受 50% 的浮亏
  3. (s = "被迫退出") -> bool # 在已经浮亏或预期还会继续上升的情况下被迫退出,被迫退出的原因可能是急需用钱
  4. (s = "纠结机会成本") -> bool # 是否会后悔当初没有选择另一个投资机会

要避免任何一种可能引起焦虑的情境出现。如果完全不接受本金出现浮亏,就不应该进行债券、股票类投资;如果不能接受浮亏 50% ,就要避免自己的投资组合过度集中于某一类品种、风格、行业;如果不能接受被迫退出,就不能用随时可能需要使用的钱做投资,更不能借钱;如果会纠结机会成本,可能也不能过多参与。

这些情境只是每个人都可能会面对的情况,你需要完整列出自己实际可能面对的情况,并好好评估自己面对这种该情况时候的心理反应。

通过不停模拟测试自己的反应,就可以拟合出一个焦虑函数,在投资决策的过程中,通过这个函数,就可以尽量避免把自己陷入焦虑中。

购买银行理财产品的时候,银行会给客户做一个风险测试,这个测试通过问卷的形式进行,其原理就是通过这些情境问题来测试出客户的风险承受能力,进行打分以匹配理财产品。但是银行的问卷是有问题的,因为风险承受是很主观的,不是靠家庭年收入就可以简单划分,同样是家庭年收入20万,它们的风险偏好可能完全不同。把风险和收益完全对等也是有问题的,我们经常听到的说法是高风险、高收益,这不是事实,风险和收益并不存在线性关系。我们经常面临的投资陷阱恰恰是高风险低收益的,同时,市场中也存在很多低风险、高收益的机会,这才是我们要发掘的目标。

用一句话来结束第一课:好的投资是开心的,当你产生了焦虑,那么一定是做错了什么。