Skip to content

Commit

Permalink
Update NPV post
Browse files Browse the repository at this point in the history
  • Loading branch information
mengqi92 committed Apr 17, 2024
1 parent 64ed994 commit 721c32d
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/content/posts/personal-finance-101-xnpv.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
title: 个人财务 101 - NPV 的实现与改进
title: 个人财务 101 - 用 Python 计算 NPV
tags:
- 个人财务
- 投资
- Excel
- NPV
- XNPV
- 分期付款
category: 个人财务
description: 净现值 NPV 可以用来表示未来现金流在当前时刻的折现值。它是一个很方便的值,利用它,我们可以排除通货膨胀率(或者备选投资回报率)的干扰,将跨越时间的投资现金流投影到此时此刻,是真正收益还是亏损,看得清清楚楚。此外,NPV 的计算也能帮助我们理解内部回报率(IRR)的计算。这一篇,我们就尝试一下通过代码计算 NPV。
math: true
Expand Down Expand Up @@ -59,7 +62,7 @@ def npv(cashflows: List[float], rate: float) -> float:
## 存在的问题

无论是 Python 还是 Excel,我们的 NPV 实现都隐含了一个假设,那就是每一期的时间段是固定的,这个场景在我们平时生活也比较常见,比如我们每月定投基金,或者每月换信用卡,都可以用这种固定时间间隔的现金流来建立模型。但是,我们日常生活中,更大概率是在处理不定长时间的现金流,比如买卖股票、购置大件商品等等,这些交易在时间上都是比较随机地发生的——即使我们选择定投买入股票,卖出的时间通常也不是提前就计划好的。有时甚至还可能听到风声,头脑一热,任意地加仓减仓 :)。
无论是 Python 还是 Excel,我们的 NPV 实现都隐含了一个假设,那就是每一期的时间段是固定的,这个场景在我们平时生活也比较常见,比如我们每月定投基金,或者信用卡分期付款,都可以用这种固定时间间隔的现金流来建立模型。但是,我们日常生活中,更大概率是在处理不定长时间的现金流,比如买卖股票、购置大件商品等等,这些交易在时间上都是比较随机地发生的——即使我们选择定投买入股票,卖出的时间通常也不是提前就计划好的。有时甚至还可能听到风声,头脑一热,任意地加仓减仓 :)。

那么,对于这种不定长时间的投资现金流,我们该如何计算它的 NPV 呢?

Expand Down

0 comments on commit 721c32d

Please sign in to comment.