> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentação sobre funções financeiras

# Funções financeiras

<Note>
  A documentação abaixo é gerada com base na tabela de sistema `system.functions`
</Note>

{/*AUTOGENERATED_START*/}

<div id="financialInternalRateOfReturn">
  ## financialInternalRateOfReturn
</div>

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&#95;{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0
$$

**Sintaxe**

```sql theme={null}
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)`](/reference/data-types/array) ou [`Array(Float*)`](/reference/data-types/array)
* `[, guess]` — Estimativa inicial opcional (valor constante) para a taxa interna de retorno (padrão: 0.1). [`Float*`](/reference/data-types/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`](/reference/data-types/float)

**Exemplos**

**simple\_example**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])
```

```response title=Response theme={null}
0.2809484211599611
```

**simple\_example\_with\_guess**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)
```

```response title=Response theme={null}
0.2809484211599611
```

<h2 id="financialInternalRateOfReturnExtended">
  financialInternalRateOfReturnExtended
</h2>

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}} = 0
$$

Os arrays devem estar ordenados por data em ordem crescente. As datas devem ser únicas.

**Syntax**

```sql theme={null}
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)`](/reference/data-types/array) ou [`Array(Float*)`](/reference/data-types/array)
* `date` — Um array ordenado de datas únicas correspondentes aos fluxos de caixa. [`Array(Date)`](/reference/data-types/array) ou [`Array(Date32)`](/reference/data-types/array)
* `[, guess]` — Opcional. Estimativa inicial (valor constante) para o cálculo do XIRR. [`Float*`](/reference/data-types/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`](/reference/data-types/string)

**Returned value**

Retorna o valor do XIRR. Se o cálculo não puder ser realizado, retorna NaN. [`Float64`](/reference/data-types/float)

**Examples**

**simple\_example**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])
```

```response title=Response theme={null}
0.6342972615260243
```

**simple\_example\_with\_guess**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 0.5)
```

```response title=Response theme={null}
0.6342972615260243
```

**simple\_example\_daycount**

```sql title=Query theme={null}
SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_25
```

```response title=Response theme={null}
0.099785
```

<div id="financialNetPresentValue">
  ## financialNetPresentValue
</div>

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&#95;{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}
$$

Variante compatível com o Excel (`start_from_zero` = false):

$$
\sum&#95;{i=1}^{N} \frac{values_i}{(1 + rate)^i}
$$

**Sintaxe**

```sql theme={null}
financialNetPresentValue(rate, cashflows[, start_from_zero])
```

**Argumentos**

* `rate` — A taxa de desconto a ser aplicada. [`Float*`](/reference/data-types/float)
* `cashflows` — Array de fluxos de caixa. Cada valor representa um pagamento (valor negativo) ou uma entrada (valor positivo). [`Array(Int8/16/32/64)`](/reference/data-types/array) ou [`Array(Float*)`](/reference/data-types/array)
* `[, start_from_zero]` — Parâmetro booleano opcional que indica se o cálculo do VPL deve começar no período `0` (true) ou no período `1` (false, compatível com o Excel). Padrão: true. [`Bool`](/reference/data-types/boolean)

**Valor retornado**

Retorna o valor presente líquido como um valor do tipo Float64. [`Float64`](/reference/data-types/float)

**Exemplos**

**default\_calculation**

```sql title=Query theme={null}
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])
```

```response title=Response theme={null}
3065.2226681795255
```

**cálculo\_compatível\_com\_excel**

```sql title=Query theme={null}
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)
```

```response title=Response theme={null}
2838.1691372032656
```

<h2 id="financialNetPresentValueExtended">
  financialNetPresentValueExtended
</h2>

Introduzido em: v25.7.0

Calcula o Valor Presente Líquido Estendido (XNPV) para uma série de fluxos de caixa que ocorrem em intervalos irregulares. O XNPV considera o momento exato de cada fluxo de caixa ao calcular o valor presente.

Equação XNPV para `ACT_365F`:

$$
XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}}
$$

Os arrays devem ser ordenados por data em ordem crescente. As datas devem ser únicas.

**Syntax**

```sql theme={null}
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])
```

**Argumentos**

* `rate` — A taxa de desconto a ser aplicada. [`Float*`](/reference/data-types/float)
* `cashflows` — Array de fluxos de caixa. Cada valor representa um pagamento (valor negativo) ou receita (valor positivo). Deve conter pelo menos um valor positivo e um negativo. [`Array(Int8/16/32/64)`](/reference/data-types/array) ou [`Array(Float*)`](/reference/data-types/array)
* `dates` — Array de datas correspondentes a cada fluxo de caixa. Deve ter o mesmo tamanho que o array de cashflows. [`Array(Date)`](/reference/data-types/array) ou [`Array(Date32)`](/reference/data-types/array)
* `[, daycount]` — Convenção de contagem de dias opcional. Valores suportados: `'ACT_365F'` (padrão) — Actual/365 Fixed, `'ACT_365_25'` — Actual/365.25. [`String`](/reference/data-types/string)

**Valor retornado**

Retorna o valor presente líquido como um valor Float64. [`Float64`](/reference/data-types/float)

**Exemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])
```

```response title=Response theme={null}
2506.579458169746
```

**Usando uma convenção de contagem de dias diferente**

```sql title=Query theme={null}
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')
```

```response title=Response theme={null}
2507.067268742502
```

<div id="related-resources">
  ## Recursos relacionados
</div>

* [Vídeo sobre funções financeiras no ClickHouse](https://www.youtube.com/watch?v=BePLPVa0w_o)
