> ## 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.

> Documentación de las funciones financieras

# Funciones financieras

<Note>
  La documentación que figura a continuación se genera a partir de la tabla del sistema `system.functions`
</Note>

{/*AUTOGENERATED_START*/}

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

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

**Sintaxis**

```sql theme={null}
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)`](/reference/data-types/array) o [`Array(Float*)`](/reference/data-types/array)
* `[, guess]` — Estimación inicial opcional (valor constante) de la tasa interna de retorno (valor predeterminado: 0.1). [`Float*`](/reference/data-types/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`](/reference/data-types/float)

**Ejemplos**

**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>

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

Los arrays deben estar ordenados por fecha en orden ascendente. Las fechas deben ser únicas.

**Sintaxis**

```sql theme={null}
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)`](/reference/data-types/array) o [`Array(Float*)`](/reference/data-types/array)
* `date` — Un array ordenado de fechas únicas correspondientes a los flujos de caja. [`Array(Date)`](/reference/data-types/array) o [`Array(Date32)`](/reference/data-types/array)
* `[, guess]` — Opcional. Estimación inicial (valor constante) para el cálculo de XIRR. [`Float*`](/reference/data-types/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`](/reference/data-types/string)

**Valor devuelto**

Devuelve el valor XIRR. Si el cálculo no puede realizarse, devuelve NaN. [`Float64`](/reference/data-types/float)

**Ejemplos**

**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>

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

Variante compatible con Excel (`start_from_zero` = false):

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

**Sintaxis**

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

**Argumentos**

* `rate` — La tasa de descuento que se aplica. [`Float*`](/reference/data-types/float)
* `cashflows` — Array de flujos de caja. Cada valor representa un pago (valor negativo) o un ingreso (valor positivo). [`Array(Int8/16/32/64)`](/reference/data-types/array) o [`Array(Float*)`](/reference/data-types/array)
* `[, start_from_zero]` — Parámetro booleano opcional que indica si el cálculo del NPV debe comenzar en el período `0` (true) o en el período `1` (false, compatible con Excel). Valor predeterminado: true. [`Bool`](/reference/data-types/boolean)

**Valor devuelto**

Devuelve el valor actual neto como un valor de tipo Float64. [`Float64`](/reference/data-types/float)

**Ejemplos**

**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\_compatible\_con\_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>

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**

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

**Argumentos**

* `rate` — La tasa de descuento a aplicar. [`Float*`](/reference/data-types/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)`](/reference/data-types/array) o [`Array(Float*)`](/reference/data-types/array)
* `dates` — Array de fechas correspondientes a cada flujo de caja. Debe tener el mismo tamaño que el array de cashflows. [`Array(Date)`](/reference/data-types/array) o [`Array(Date32)`](/reference/data-types/array)
* `[, daycount]` — Convención de conteo de días opcional. Valores admitidos: `'ACT_365F'` (predeterminado) — Actual/365 fijo, `'ACT_365_25'` — Actual/365.25. [`String`](/reference/data-types/string)

**Valor devuelto**

Devuelve el valor actual neto como un valor Float64. [`Float64`](/reference/data-types/float)

**Ejemplos**

**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
```

**Uso de una convención de conteo de días 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 de funciones financieras en ClickHouse](https://www.youtube.com/watch?v=BePLPVa0w_o)
