货币的时间价值

tvm的Python项目详细描述


Author:Ken Kundert
Version:0.3.0
Released:2019-04-04

什么?

货币时间价值计算涉及以下数量:

  • 未来价值
  • 现值
  • 付款
  • 周期数
  • 贴现率

tvm在给定其他值的情况下计算其中一个值(贴现率除外)。

期间的数目分为两个值:年数和 每年的周期数(频率)。

开始

安装时使用:

pip3 install --user tvm

这会将tvm安装到~/.local/bin;确保此目录位于您的路径上。

用法:

tvm [options] [fv|pv|pmt|years]

选项:

-f <val>, --fv <val>     future value
-p <val>, --pv <val>     present value
-P <val>, --pmt <val>    payment per period
-y <val>, --years <val>  total number of years
-n <val>, --freq <val>   number of payments per year
-r <val>, --rate <val>   annual discount rate
-i, --ignore             ignore any previously specified values

如果未给定值,则会从上一次调用中调用该值。 specify–ignore为所有未指定的选项使用默认值, 它们是:pv=0,fv=0,pmt=0,years=30,freq=12。

当程序运行时,它总是先打印计算值,然后 打印剩余的值,以便于您确认是否使用了 正确的价值观。

储蓄账户

考虑一下,如果你有一个每年支付5%的有息账户 每月复利。如果你从10000美元开始,你可以计算出 5年后将与:

tvm --pv=10000 --rate=5 --freq=12 --years=5 fv

5年内的金额称为未来价值(FV)。电流 金额是现值。频率是每个 一年。程序的响应为:

fv = $12,833.59
pv = $10,000.00
pmt = $0.00
r = 5%
N = 60

n是周期总数,等于年份和 每年的周期数。

可以使用国际单位制比例因子、单位和逗号指定值。单位和 忽略逗号。因此,您可以对其中一个执行相同的操作:

tvm --pv='$10,000' --rate=5% --freq=12 --years=5 fv

或:

tvm --pv=10k --rate=5% --freq=12 --years=5 fv

在第一种情况下需要引号,以防止$被 贝壳。

tvm记住上一次调用中指定的值,如果 没有具体说明。这允许您快速运行假设实验 无需重新指定不更改的值。 所以,一旦您运行了第一个命令,您现在可以快速确定 您将在10年内使用:

tvm -y 10

fv = $16,470.09
pv = $10,000.00
pmt = $0.00
r = 5%
N = 120

在不改变任何东西的情况下,你可以决定如果你 每月额外缴纳100美元:

tvm --pmt 100

fv = $31,998.32
pv = $10,000.00
pmt = $100.00
r = 5%
N = 120

贷款

您还可以使用tvm来探索贷款。例如,您可以计算 根据本金、利率和期限支付抵押贷款:

tvm --ignore --pv=-250k --rate=4.375 --years=30 pmt

pmt = $1,248.21
pv = -$250,000.00
fv = $0.00
r = 4.38%
N = 360

添加了–ignore选项,以便我们从头开始;任何 忽略以前指定的。

你现在可以理解,多付一点钱对花多长时间有多大影响了 使用以下方式偿还贷款:

tvm --pmt=1.5k years

years = 21.42
pv = -$250,000.00
pmt = $1,500.00
fv = $0.00
r = 4.38%
N = 257.08

若要计算5年期纯利息气球抵押贷款的付款,请使用:

tvm -y 5 -f -250k pmt

pmt = $911.46
pv = -$250,000.00
fv = -$250,000.00
r = 4.38%
N = 60

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用prepared语句在oracle中插入日期   对点具有双重值的java   使用多个通配符的java请求映射   java Springboot为什么要设置springbootstartertomcat   除了对JavaBean的请求之外,还使用servletContext的servlet   java如何清除OCSID。返回到池的连接时的CLIENTID JDBC客户端信息属性   将整型数组转换为光栅Java   java使用对象引用作为互斥锁   java为什么在编程语言中使用sin函数返回奇怪的sin值不像计算器   java如何将JButton链接到对象并调用相关方法   php用Java发送POST数据   导航属性的java模拟加载   java多个活动错误Android试图对空对象引用调用虚拟方法“”   java Android更改ActionBar文本颜色   如何使用带有java反射且不带开关的parant引用创建子类