财务函数
financialInternalRateOfReturn
引入于:v25.7
计算一系列定期现金流的内部收益率 (IRR)。内部收益率是使净现值 (NPV) 等于零的折现率。
IRR 尝试解决以下方程:
语法
参数
cashflows
— 现金流数组。每个值表示支付(负值)或收入(正值)。Array(Int8/16/32/64)
或Array(Float*)
[, guess]
— 可选的内部收益率初始猜测(常量值)(默认 0.1)。Float*
返回值
返回内部收益率或 NaN
,如果计算无法收敛、输入数组为空或只有一个元素、所有现金流为零或发生其他计算错误。Float64
示例
简单示例
带猜测的简单示例
financialInternalRateOfReturnExtended
引入于:v25.7
计算一系列不规则现金流的扩展内部收益率 (XIRR)。XIRR 是使所有现金流的净现值 (NPV) 等于零的折现率。
XIRR 尝试解决以下方程(ACT_365F
的示例):
数组应按日期升序排列。日期需要是唯一的。
语法
参数
cashflow
— 对应于第二参数中的日期的现金流数组。Array(Int8/16/32/64)
或Array(Float*)
date
— 对应于现金流的唯一日期的已排序数组。Array(Date)
或Array(Date32)
[, guess]
— 可选。XIRR 计算的初始猜测(常量值)。Float*
[, daycount]
— 可选的天数计算约定(默认 'ACT_365F')。支持的值:- 'ACT_365F' - 实际/365 固定:使用两个日期之间的实际天数除以 365
- 'ACT_365_25' - 实际/365.25:使用两个日期之间的实际天数除以 365.25
String
返回值
返回 XIRR 值。如果无法执行计算,则返回 NaN。Float64
示例
简单示例
带猜测的简单示例
简单示例(天数计算)
financialNetPresentValue
引入于:v25.7
计算一系列现金流的净现值 (NPV),假设每个现金流之间的时间间隔相等。
默认变体(start_from_zero
= true):
与 Excel 兼容的变体(start_from_zero
= false):
语法
参数
rate
— 要应用的折现率。Float*
cashflows
— 现金流数组。每个值表示支付(负值)或收入(正值)。Array(Int8/16/32/64)
或Array(Float*)
[, start_from_zero]
— 可选布尔参数,指示是从周期0
(true)开始计算 NPV,还是从周期1
(false,Excel 兼容)开始。默认:true。Bool
返回值
返回净现值,类型为 Float64。Float64
示例
默认计算
与 Excel 兼容的计算
financialNetPresentValueExtended
引入于:v25.7
计算一系列不规则现金流的扩展净现值 (XNPV)。XNPV 在计算现值时考虑每个现金流的具体时间。
ACT_365F
的 XNPV 方程:
数组应按日期升序排列。日期需要是唯一的。
语法
参数
rate
— 要应用的折现率。Float*
cashflows
— 现金流数组。每个值表示支付(负值)或收入(正值)。必须至少包含一个正值和一个负值。Array(Int8/16/32/64)
或Array(Float*)
dates
— 对应于每个现金流的日期数组。必须与现金流数组大小相同。Array(Date)
或Array(Date32)
[, daycount]
— 可选的天数计算约定。支持的值:'ACT_365F'
(默认) — 实际/365 固定,'ACT_365_25'
— 实际/365.25。String
返回值
返回净现值,类型为 Float64。Float64
示例
基本用法
使用不同的天数计算约定