【问题标题】:How to calculate compound interest by days?如何按天计算复利?
【发布时间】:2011-05-24 06:51:42
【问题描述】:

我正在编写一个 Java 应用程序来计算利息。简单、复合和连续复利的公式使用年数来计算累积金额,但我想使用天数,以便我的软件更新更频繁。我应该使用什么公式?这是一个为处理日期而实施了 JodaTime 的 Android 项目。

【问题讨论】:

  • 严格来说,这个问题不属于这里。但是,让我问一下:利息是每天复利还是每年复利但您想使用一定天数?
  • 抱歉放错地方了。但它的利息是每年复利的,我希望它使用一定的天数。
  • 在这种情况下,原始复利将不适用,因为它每年都有效 - 如果您可以将其转换为每日复利,@Tryer 的答案可能会起作用。

标签: java math formula jodatime financial


【解决方案1】:

复利倍数 = [1+(年利率小数/365)]^(天数)。

(以上假设每天应用或赚取利息。)

虽然没有作为您问题的一部分被问...如果您想要连续复利,

复利倍数 = e^(小数点*时间(的一部分))

(以上假设利息是连续应用或赚取的。)

【讨论】:

  • 复利的次数去哪儿了?
  • 如果你的年利率是8%,复利700天,倍数是[1+0.08/365]^700
  • 假设一年有 365 天。这可能不是真的(在银行,我们通常根据市场惯例假设 250、252 或 256,或者 256 = 16^2,但对于利率,它可以是 360 或 365)。
  • @Alexandre True...但话又说回来,利息计算取决于上下文。留在金融领域本身,债券市场(美国财政部)确实假设日历天(360 或 365 或在某些情况下为实际天数)而不是工作日/工作日。一个例子是应计利息的计算(在从“干净”价格计算债券的“肮脏”价格的背景下)。如果我没记错的话,即使是银行 CD(在到期前损坏)也会获得实际利息。
  • 您遇到的问题是 1+x/365 作为近似值。例如(1+10%/365)^365 是 1.11,所以 10% 变成了 11%。 ;) 你需要的是 (1+x)^days/365。在这种情况下,365 天是 1 + x。
【解决方案2】:

在金融中,利息遵循收益率曲线,因此利息谨慎基于期间的天数。例如http://en.wikipedia.org/wiki/Yield_curve 您甚至可以看到美国汇率(美元)每天都在变化。 http://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yield

另一个复杂之处是计算每日费率的方法有多种。计算利率的一种方法是假设一年有 365 天(即使闰年也是如此),但 360 更常见,一些债券只计算工作日。简而言之,这一切都取决于货币。

【讨论】:

  • 我怀疑 OP 是否愿意剥离市场数据来计算收益率曲线。
猜你喜欢
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 2018-11-08
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
相关资源
最近更新 更多