financialInternalRateOfReturn
Introduzido em: v25.7.0
Calcula a Taxa Interna de Retorno (IRR) para uma série de fluxos de caixa que ocorrem em intervalos regulares. A IRR é a taxa de desconto para a qual o Valor Presente Líquido (VPL) é igual a zero.
A IRR busca resolver a seguinte equação:
\sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0Sintaxe
financialInternalRateOfReturn(cashflows[, guess])Argumentos
cashflows— Array de fluxos de caixa. Cada valor representa um pagamento (valor negativo) ou uma entrada (valor positivo).Array(Int8/16/32/64)ouArray(Float*)[, guess]— Estimativa inicial opcional (valor constante) para a taxa interna de retorno (padrão: 0.1).Float*
Valor retornado
Retorna a taxa interna de retorno ou NaN se o cálculo não convergir, se o array de entrada estiver vazio ou contiver apenas um elemento, se todos os fluxos de caixa forem zero ou se ocorrerem outros erros de cálculo. Float64
Exemplos
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
Introduzido em: v25.7.0
Calcula a Taxa Interna de Retorno Estendida (XIRR) para uma série de fluxos de caixa que ocorrem em intervalos irregulares. O XIRR é a taxa de desconto na qual o valor presente líquido (VPL) de todos os fluxos de caixa é igual a zero.
O XIRR tenta resolver a seguinte equação (exemplo para ACT_365F):
\sum_{i=0}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} = 0Os arrays devem estar ordenados por data em ordem crescente. As datas devem ser únicas.
Syntax
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])Arguments
cashflow— Um array de fluxos de caixa correspondentes às datas no segundo parâmetro.Array(Int8/16/32/64)ouArray(Float*)date— Um array ordenado de datas únicas correspondentes aos fluxos de caixa.Array(Date)ouArray(Date32)[, guess]— Opcional. Estimativa inicial (valor constante) para o cálculo do XIRR.Float*[, daycount]— Convenção de contagem de dias opcional (padrão: ‘ACT_365F’). Valores suportados:- ‘ACT_365F’ - Actual/365 Fixed: Usa o número real de dias entre as datas dividido por 365
- ‘ACT_365_25’ - Actual/365.25: Usa o número real de dias entre as datas dividido por 365,25
String
Returned value
Retorna o valor do XIRR. Se o cálculo não puder ser realizado, retorna NaN. Float64
Examples
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
Introduzido em: v25.7.0
Calcula o Valor Presente Líquido (VPL) de uma série de fluxos de caixa, considerando intervalos de tempo iguais entre os fluxos de caixa.
Variante padrão (start_from_zero = true):
\sum_{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}Variante compatível com o Excel (start_from_zero = false):
\sum_{i=1}^{N} \frac{values_i}{(1 + rate)^i}Sintaxe
financialNetPresentValue(rate, cashflows[, start_from_zero])Argumentos
rate— A taxa de desconto a ser aplicada.Float*cashflows— Array de fluxos de caixa. Cada valor representa um pagamento (valor negativo) ou uma entrada (valor positivo).Array(Int8/16/32/64)ouArray(Float*)[, start_from_zero]— Parâmetro booleano opcional que indica se o cálculo do VPL deve começar no período0(true) ou no período1(false, compatível com o Excel). Padrão: true.Bool
Valor retornado
Retorna o valor presente líquido como um valor do tipo Float64. Float64
Exemplos
default_calculation
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])3065.2226681795255cálculo_compatível_com_excel
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)2838.1691372032656financialNetPresentValueExtended
Introduced in: v25.7.0
Calculates the Extended Valor Presente Líquido (XNPV) for a series of fluxo de caixa occurring at irregular intervals. XNPV considers the specific timing of each fluxo de caixa when calculating present value.
XNPV equation for ACT_365F:
XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}}Arrays should be sorted by date in ascending order. Dates need to be unique.
Syntax
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])Arguments
rate— The taxa de desconto to apply.Float*cashflows— Array of fluxo de caixa. Each value represents a payment (negative value) or entrada (positive value). Must contain at least one positive and one negative value.Array(Int8/16/32/64)orArray(Float*)dates— Array of dates corresponding to each fluxo de caixa. Must have the same size as cashflows array.Array(Date)orArray(Date32)[, daycount]— Optional convenção de contagem de dias. Supported values:'ACT_365F'(default) — Actual/365 Fixed,'ACT_365_25'— Actual/365.25.String
Returned value
Returns the valor presente líquido as a Float64 value. Float64
Examples
Basic usage
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.579458169746Using different convenção de contagem de dias
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