financialInternalRateOfReturn
Introducido en: v25.7.0
Calcula la tasa interna de retorno (TIR) para una serie de flujos de caja que se producen a intervalos regulares. La TIR es la tasa de descuento para la que el valor actual neto (VAN) es igual a cero.
La TIR busca resolver la siguiente ecuación:
\sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0Sintaxis
financialInternalRateOfReturn(cashflows[, guess])Argumentos
cashflows— Array de flujos de caja. Cada valor representa un pago (valor negativo) o un ingreso (valor positivo).Array(Int8/16/32/64)oArray(Float*)[, guess]— Estimación inicial opcional (valor constante) de la tasa interna de retorno (valor predeterminado: 0.1).Float*
Valor devuelto
Devuelve la tasa interna de retorno o NaN si el cálculo no converge, el array de entrada está vacío o solo tiene un elemento, todos los flujos de caja son cero o se producen otros errores de cálculo. Float64
Ejemplos
simple_example
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])0.2809484211599611simple_example_with_guess
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)0.2809484211599611financialInternalRateOfReturnExtended
Introducido en: v25.7.0
Calcula la Tasa Interna de Retorno Extendida (XIRR) para una serie de flujos de caja que ocurren en intervalos irregulares. XIRR es la tasa de descuento a la que el valor actual neto (VPN) de todos los flujos de caja es igual a cero.
XIRR intenta resolver la siguiente ecuación (ejemplo para ACT_365F):
\sum_{i=0}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} = 0Los arrays deben estar ordenados por fecha en orden ascendente. Las fechas deben ser únicas.
Sintaxis
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])Argumentos
cashflow— Un array de flujos de caja correspondientes a las fechas del segundo parámetro.Array(Int8/16/32/64)oArray(Float*)date— Un array ordenado de fechas únicas correspondientes a los flujos de caja.Array(Date)oArray(Date32)[, guess]— Opcional. Estimación inicial (valor constante) para el cálculo de XIRR.Float*[, daycount]— Convención de conteo de días opcional (por defecto ‘ACT_365F’). Valores admitidos:- ‘ACT_365F’ - Real/365 Fijo: utiliza el número real de días entre fechas dividido entre 365
- ‘ACT_365_25’ - Real/365.25: utiliza el número real de días entre fechas dividido entre 365.25
String
Valor devuelto
Devuelve el valor XIRR. Si el cálculo no puede realizarse, devuelve NaN. Float64
Ejemplos
simple_example
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])0.6342972615260243simple_example_with_guess
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 0.5)0.6342972615260243simple_example_daycount
SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_250.099785financialNetPresentValue
Introducido en: v25.7.0
Calcula el valor actual neto (VAN) de una serie de flujos de caja, con intervalos de tiempo iguales entre cada flujo de caja.
Variante predeterminada (start_from_zero = true):
\sum_{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}Variante compatible con Excel (start_from_zero = false):
\sum_{i=1}^{N} \frac{values_i}{(1 + rate)^i}Sintaxis
financialNetPresentValue(rate, cashflows[, start_from_zero])Argumentos
rate— La tasa de descuento que se aplica.Float*cashflows— Array de flujos de caja. Cada valor representa un pago (valor negativo) o un ingreso (valor positivo).Array(Int8/16/32/64)oArray(Float*)[, start_from_zero]— Parámetro booleano opcional que indica si el cálculo del NPV debe comenzar en el período0(true) o en el período1(false, compatible con Excel). Valor predeterminado: true.Bool
Valor devuelto
Devuelve el valor actual neto como un valor de tipo Float64. Float64
Ejemplos
default_calculation
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])3065.2226681795255cálculo_compatible_con_Excel
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)2838.1691372032656financialNetPresentValueExtended
Introducido en: v25.7.0
Calcula el valor actual neto Extendido (XNPV) para una serie de flujos de caja que ocurren a intervalos irregulares. XNPV tiene en cuenta el momento exacto de cada flujo de caja al calcular el valor presente.
Ecuación XNPV para ACT_365F:
XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}}Los arrays deben estar ordenados por fecha en orden ascendente. Las fechas deben ser únicas.
Sintaxis
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])Argumentos
rate— La tasa de descuento a aplicar.Float*cashflows— Array de flujos de caja. Cada valor representa un pago (valor negativo) o un ingreso (valor positivo). Debe contener al menos un valor positivo y uno negativo.Array(Int8/16/32/64)oArray(Float*)dates— Array de fechas correspondientes a cada flujo de caja. Debe tener el mismo tamaño que el array de cashflows.Array(Date)oArray(Date32)[, daycount]— Convención de conteo de días opcional. Valores admitidos:'ACT_365F'(predeterminado) — Real/365 fijo,'ACT_365_25'— Real/365.25.String
Valor devuelto
Devuelve el valor actual neto como un valor Float64. Float64
Ejemplos
Uso básico
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])2506.579458169746Uso de una convención de conteo de días diferente
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 'ACT_365_25')2507.067268742502