财务函数
以下文档是基于 system.functions 系统表生成的
financialInternalRateOfReturn
自 v25.7 引入
计算在固定时间间隔发生的一系列现金流的内部收益率(IRR)。 IRR 是使净现值(NPV)等于零的折现率。
IRR 通过求解下列方程得到:
\sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0语法
参数
cashflows— 现金流数组。每个值表示一笔付款(负值)或收入(正值)。Array(Int8/16/32/64)或Array(Float*)[, guess]— 可选的内部收益率初始猜测值(常量,默认 0.1)。Float*
返回值
返回内部收益率。如果计算无法收敛、输入数组为空或只有一个元素、所有现金流为零,或出现其他计算错误,则返回 NaN。Float64
示例
simple_example
simple_example_with_guess
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]— 可选的布尔参数,指示净现值(NPV)计算从第0期(true)还是第1期(false,与 Excel 兼容)开始。默认值:true。Bool
返回值
返回一个 Float64 类型的净现值。Float64
示例
default_calculation
excel_compatible_calculation
financialNetPresentValueExtended
引入版本:v25.7
计算在不规则时间间隔发生的一系列现金流的扩展净现值(XNPV)。XNPV 在计算现值时会考虑每笔现金流的具体时间点。
ACT_365F 的 XNPV 公式:
数组应按日期升序排序。日期必须唯一。
语法
参数
rate— 应用的贴现率。Float*cashflows— 现金流数组。每个值表示一笔支付(负值)或收入(正值)。必须至少包含一个正值和一个负值。Array(Int8/16/32/64)或Array(Float*)dates— 与每笔现金流对应的日期数组。必须与 cashflows 数组大小相同。Array(Date)或Array(Date32)[, daycount]— 可选的日计数惯例。支持的值:'ACT_365F'(默认)— 实际天数/365 固定法,'ACT_365_25'— 实际天数/365.25。String
返回值
返回 Float64 类型的净现值。Float64
示例
基本用法
使用不同的日计数惯例