展示HN:租房与购房,在241个美国城市进行的回测,数据已固定
视频背后的假设面板代码和数据。通过数据解决每个个人理财论点。屏幕上的假设,代码公开。如果你认为某个假设是错误的,可以更改并重新运行。这就是该仓库的目的。为什么会有这个存在?大多数金融内容要求你相信说话的人。这个频道是匿名的,所以这并不是承诺。相反,提供的是每个视频中的每个数字都可以从这个仓库中重现,使用你可以阅读的代码,从一个按日期和哈希固定的数据集。不要相信它。重新运行它。 剧集 # 问题 视频 数据 1 一次性支付还是分期支付? 《一次性支付与定额投资:我测试了自1871年以来的所有1,855个月》 episodes/ep01-lumpsum-vs-dca/results.json 2 1%的费用实际上成本是多少?是否值得? 《支付1%费用比每次崩盘时恐慌性抛售要贵30年》 episodes/ep02-fees/results.json 3 如果你总是在市场高点买入呢? 《我只在市场高点买入过。成本为10%。》 episodes/ep03-buying-at-the-top/results.json 4 哪个数字反转了租房与购房的关系? 《租房与购房:一个假设从82%翻转到31%》 episodes/ep04-rent-vs-buy/results.json 重现剧集 需要 Node.js 22 或更新版本和 .NET SDK 9 或更新版本。仅此而已。故意不安装任何 npm 包:要求你验证结果不应也意味着要求你信任一个依赖树。 # 从源重建固定数据集(可选,已被提交) node tools/build-shiller-snapshot.mjs # 将数据集与独立来源进行对比 node tools/validate-shiller.mjs data/snapshots/shiller-2026-07-26 # 运行模拟 # 第2集 dotnet run --project src/RunTheNumbers.Sim -- data/snapshots/shiller-2026-07-26 episodes/ep01-lumpsum-vs-dca/results.json # 第3集 dotnet run --project src/RunTheNumbers.Sim -- data/snapshots/shiller-2026-07-26 episodes/ep02-fees/results.json --episode ep02 # 第4集 dotnet run --project src/RunTheNumbers.Sim -- data/snapshots/shiller-2026-07-26 episodes/ep03-buying-at-the-top/results.json --episode ep03 # 第4集 dotnet run --project src/RunTheNumbers.Sim -- data/snapshots/shiller-2026-07-26 episodes/ep04-rent-vs-buy/results.json --episode ep04 # 独立重现并比较所有剧集4的结果字段 node tools/validate-ep04.mjs results.json 屏幕上出现的每个数字都保存在此。幻灯片直接从中读取,因此视频中的内容没有手动输入。要查看幻灯片: node tools/serve.mjs 5173,然后打开 http://localhost:5173/render/ep01.html, render/ep02.html, render/ep03.html 或 render/ep04.html。 结果 在1871年以来的1,855个月中,立即投资一次性金额在67.2%的情况下优于分散投资12个月。 三个比标题更重要的发现: 持有期无关紧要。在最后一次购买后,两个投资组合拥有相同的资产,因此结果在那时固定且始终不变。 安全漂移在每个测试的时间框架上都测量为:2.2e-16,这是浮点数的舍入。 定期投资的较好最坏情况是真实存在但短暂存在。它在一年和两年时显示,并且在三年之后无法与噪声区分开来,而其成本在每个时间框架上都会产生。 在记录的八个最差起始月份中的两个中,定期投资使结果更糟。两者均为1998年,该组中两个最高的起始估值。 假设 这些决定了答案。改变其中任何一个,数字都会改变。真实(通胀调整)总回报,红利再投资。 基础案例:闲置现金保持其实际价值(0%的实际)。 故意为定额投资的宽松假设,是国债的合理长期替代。 敏感性:闲置现金获得0%的名义收益,因此它会因通胀而减少。此时,一次性金额的胜率为72.0%而不是67.2%,因此答案不依赖于这一选择。 没有税收、没有交易成本、没有基金费用。 仅限美国大盘指数(标普综合指数)。 持有期从最终购买的月份开始计算。 数据 罗伯特·希勒的美国股市月度数据集,1871年1月至2026年6月,来自shillerdata.com。 如果你自己去寻找这些数据,需要知道两件事: 来自econ.yale.edu/~shiller/data/ie_data.xls的版本是一个过时的镜像,在本写作时约在2023年9月被冻结。请使用shillerdata.com。日期列是浮动的,所以2025年10月存储为2025.1,解析后与1月无法区分。月份必须来自日期小数列。tools/build-shiller-snapshot.mjs就是这样导出的,并且与严格的月份序列进行交叉检查。数据/snapshots/中的快照按日期固定,其manifest.json中包含一个sha256。 模拟读取快照,而不是网络,因此几个月前发布的结果仍然可以精确重现。tools/validate-shiller.mjs检查解析的数据与共享任何代码的来源对照:CPI与FRED的CPIAUCNS系列在1,361个月之间,还有对长期实际回报和1929-33年回撤的算术检查。 仓库布局 tools/ 数据管道,捕捉,和假设
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡