传遍全网的“财务自由金额表”?—— 不好意思,VBA说它算错了

教育   财经   2023-09-15 11:55   加拿大  


来都来了『不关注一下么』!

最近浏览财经文章时,经常会看到下面这张“财务自由金额表”,大概意思是:在3.5%的年化收益率下,如果每年消费10万元,只要存款达到300万元就永远花不完;如果每年消费20万元 ,那么500万元存款永远花不完;如此类推 ……



这个表格看起来确实很清晰,不过稍微心算一下觉得有点不对劲:假设有初始存款300万每年花费20万,那么在没有利息(年化收益0%)的情况下,所有存款会在15年内花光。而加上3.5%的利息率之后,按照图中的说法,同样的情况却可以支撑32年,足足是之前的还多!虽然复利有指数效应,带来的财富增加确实很惊人,但3.5%的利率怎么也不至于这么厉害吧?


想到这里,不做会计好多年的杨老师下意识地打开了Excel,随手列几个公式验证一下,发现确实有点问题:即使按照最宽松的条件,也就是把年初存款全都乘以年利率来计算收益,300万初始存款也会在第22年全部花光(第22年末负债7.13万元)。 

事实上,在真实情境中,只要消费金额高于利息收入,随着每日不断的消费,实际存款余额还会不断降低。因此真实的最终年收益还要低于上面的算法,存款也会比22年更早花光。


这张表中只有这一个错误么?调整初始存款和年消费额,再做几次推算,结果发现原表中很多结论都存在类似错误。比如初始存款500万元、年花费30万元时,原表说“第40年花完”,而Excel公式的推导结果却是26年花完,远远小于原表结论。


既然如此,我们当然会想到:正确版本的财务自由金额表该是什么样子呢?既然网上不好找,咱就自己做一个!

 

杨老师首先想到的,当然是推导一个“给定初始存款、利息率以及年消费额,然后计算最大可用年数”的方程,接下来在Excel表格中直接写出公式,不用编程就能搞定。但是龙飞凤舞地写了几步才反应过来:虽然只考虑了高度简化的模型(年息=年初存款*利率),得到的似乎也是一个“超越方程”,没有求解公式。

 

因此如果想知道“多少年可以花完这些钱”,我们只能采用最笨的“试探法”,也就是“先算算第一年能剩下多少,再算算第二年能剩下多少 …… ”,直到发现某一年变成负数为止。而这也只是针对前面设计的“简化模型” —— 也就是直接用年初存款乘以利率、不考虑存款每日消费而减少的情况。如果想进一步考虑每日消费导致的变化、得到更为精确的结论,就需要用到类似牛顿迭代法的各种逼近算法了。

 

不搞那么复杂,就按简化模型来计算。既然不能用公式,我们就上VBA!首先做出工作表基本样式:


然后创建模块,写出VBA代码:

 

程序很简单:先用两层while循环(i和j)扫描表格中的每个单元格;然后再用第三层循环(years)从第一年开始试探,直到某一年存款用光(remaining<0)或者超过100年仍有存款(years>100)为止。这时的years就是花光存款所用的时间。

 

接下来只要修改年收益率并按下按钮,就可以得到适用于任意利率的“财务自由金额表”了。虽然杨老师偷懒使用了简化模型,结论肯定不够精确,但相比前面在网上看到的版本,准确性已经可以接受了。

 

下面就请欣赏从1%年利率到5%年利率的各套表格,看一看我们还差多少钱就能财富自由吧:

 







最后再补充一点:上面的模型和代码都有很多可以改进的地方。比如(1)模型本身还可以进一步考虑每时每刻的消费支出与利息收入(按复利计算方法),从而得到更精确的结果(2)代码上,如果发现某一个单元格的初始存款与年度花费组合,符合“首年花费支出小于首年利息收入”,那么可以直接判定该单元格是“永远花不完”,完全不需要继续试探 ……


 

不过,其实也没必要这么精细。毕竟真正财富自由的人士或是日入一爽、或是年入18亿,再不济也有9位数的局长爷爷,或是一个要为之承担吾辈责的家族…… 总之,根本不会瞄一眼这种表格。而对于我们这些财富还没有自由的人,看不看这个表也没有什么用,毕竟财富人士已经告诉我们:有的时候还是找找自己的原因,比如这么多年了财富自由了没有?有没有努力工作 …… 


 







杨氏在线教学
由杨洋博士主持,专注制作高品质教学视频,以清晰简洁、生动有趣的教学风格,普及推广Python、VBA、SQL等各类实用计算机技术。 官方网址请见:https://www.ukoedu.com
 最新文章