计算每期有效利率的还款额

时间:2020-10-08 01:52:46

标签: r

我有一个fibo.seq函数,并尝试编写一个带有三个参数的程序:一个称为n(无默认值),一个称为i(无默认值),一个称为欠款(默认值设置为)。真正)。假设n≥3。

n个支付流F1,F2,...,Fn的当前值,其中第k个支付Fk对应于斐波那契数列中的第k个数字(1≤k≤n),并且支付以固定的时间间隔进行。

每个期间的有效利率等于参数i。例如:如果i = 0.05,则每个期间的有效利率为5%。

如果参数arrears = TRUE,则第一次付款发生在第一个期间的末尾。否则,第一笔付款会立即发生。

我可以调用斐波那契序列的函数(例如fibo.seq)

说明(于03/10/2020添加):fibo.PV必须返回付款的总现值(即一个数字)。

我们可以使用年金吗?

fibo.PV <- function(n, i, arrears=TRUE) {
  if (arrears) {
    PV <- numeric(n)
    PV <- annuity(i=0.05, n=5, type="immediately")
  } else {
    PV <- annuity(i=0.06/12, n=5*12)
  }
  return(PV)
}

1 个答案:

答案 0 :(得分:0)

此代码足以创建函数

library(tidyverse)

i <- .05

# Data frame with cash flows
df <- tibble(
  fibo = fibo.seq(length) ) %>% 
  mutate(index = row_number(),
         flow = fibo/(1+i)^(index))

# calculate PV
df %>% 
  summarise(pv = sum(flow, na.rm = TRUE))