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

> 재무 함수 문서

# 재무 함수

<Note>
  아래 문서는 `system.functions` 시스템 테이블(system table)을 기반으로 생성되었습니다
</Note>

{/*AUTOGENERATED_START*/}

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

도입 버전: v25.7.0

일정한 인터벌마다 발생하는 일련의 현금 흐름에 대한 내부수익률(IRR)을 계산합니다.
IRR은 순현재가치(NPV)가 0이 되는 할인율입니다.

IRR은 다음 방정식의 해를 구합니다.

$$
\sum&#95;{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0
$$

**구문**

```sql theme={null}
financialInternalRateOfReturn(cashflows[, guess])
```

**인수**

* `cashflows` — 현금 흐름 배열입니다. 각 값은 지급액(음수 값) 또는 수입(양수 값)을 나타냅니다. [`Array(Int8/16/32/64)`](/reference/data-types/array) 또는 [`Array(Float*)`](/reference/data-types/array)
* `[, guess]` — 내부 수익률의 선택적 초기 추정값(상수 값)입니다(기본값: 0.1). [`Float*`](/reference/data-types/float)

**반환 값**

내부 수익률을 반환합니다. 계산이 수렴하지 않거나, 입력 배열이 비어 있거나 요소가 하나뿐이거나, 모든 현금 흐름이 0이거나, 기타 계산 오류가 발생하면 `NaN`을 반환합니다. [`Float64`](/reference/data-types/float)

**예시**

**simple\_example**

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

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

**초깃값\_포함\_간단한\_예시**

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

도입 버전: v25.7.0

불규칙한 간격으로 발생하는 일련의 현금 흐름에 대한 확장 내부 수익률(XIRR)을 계산합니다. XIRR은 모든 현금 흐름의 순현재가치(NPV)가 0이 되는 할인율(discount rate)입니다.

XIRR은 다음 방정식의 해를 구합니다(`ACT_365F` 기준 예시):

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

배열은 날짜 기준 오름차순으로 정렬되어야 합니다. 날짜 값은 중복 없이 고유해야 합니다.

**구문**

```sql theme={null}
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])
```

**인수**

* `cashflow` — 두 번째 매개변수의 날짜에 대응하는 현금 흐름 배열입니다. [`Array(Int8/16/32/64)`](/reference/data-types/array) 또는 [`Array(Float*)`](/reference/data-types/array)
* `date` — 현금 흐름에 대응하는 고유 날짜의 정렬된 배열입니다. [`Array(Date)`](/reference/data-types/array) 또는 [`Array(Date32)`](/reference/data-types/array)
* `[, guess]` — 선택 사항. XIRR 계산에 사용할 초기 추정값(상수)입니다. [`Float*`](/reference/data-types/float)
* `[, daycount]` —
  선택 사항. 일수 계산 방식(기본값: 'ACT\_365F')입니다. 지원되는 값:
* 'ACT\_365F' - Actual/365 Fixed: 날짜 간 실제 일수를 365로 나눕니다.
* 'ACT\_365\_25' - Actual/365.25: 날짜 간 실제 일수를 365.25로 나눕니다.
  [`String`](/reference/data-types/string)

**반환 값**

XIRR 값을 반환합니다. 계산을 수행할 수 없는 경우 NaN을 반환합니다. [`Float64`](/reference/data-types/float)

**예시**

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

도입 버전: v25.7.0

각 현금 흐름 사이의 시간 인터벌이 동일하다고 가정할 때, 일련의 현금 흐름에 대한 순현재가치(NPV)를 계산합니다.

기본 변형 (`start_from_zero` = true):

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

Excel 호환 변형 (`start_from_zero` = false):

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

**구문**

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

**인수**

* `rate` — 적용할 할인율입니다. [`Float*`](/reference/data-types/float)
* `cashflows` — 현금 흐름 배열입니다. 각 값은 지출(음수 값) 또는 수입(양수 값)을 나타냅니다. [`Array(Int8/16/32/64)`](/reference/data-types/array) 또는 [`Array(Float*)`](/reference/data-types/array)
* `[, start_from_zero]` — NPV 계산을 기간 `0`부터 시작할지(true), 기간 `1`부터 시작할지(false, Excel 호환)를 나타내는 선택적 불리언 매개변수입니다. 기본값은 true입니다. [`Bool`](/reference/data-types/boolean)

**반환 값**

순현재가치를 Float64 값으로 반환합니다. [`Float64`](/reference/data-types/float)

**예시**

**default\_calculation**

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

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

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

도입 버전: v25.7.0

불규칙한 간격으로 발생하는 일련의 현금 흐름에 대한 확장 순현재가치(XNPV)를 계산합니다. XNPV는 현재 가치 계산 시 각 현금 흐름의 정확한 발생 시점을 반영합니다.

`ACT_365F` 기준 XNPV 방정식:

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

배열은 날짜 기준 오름차순으로 정렬되어야 합니다. 날짜 값은 중복 없이 고유해야 합니다.

**구문**

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

**인수**

* `rate` — 적용할 할인율(discount rate). [`Float*`](/reference/data-types/float)
* `cashflows` — 현금 흐름 배열. 각 값은 지출(음수) 또는 수입(양수)을 나타냅니다. 양수 값과 음수 값이 각각 하나 이상 포함되어야 합니다. [`Array(Int8/16/32/64)`](/reference/data-types/array) 또는 [`Array(Float*)`](/reference/data-types/array)
* `dates` — 각 현금 흐름에 대응하는 날짜 배열. `cashflows` 배열과 크기가 동일해야 합니다. [`Array(Date)`](/reference/data-types/array) 또는 [`Array(Date32)`](/reference/data-types/array)
* `[, daycount]` — 선택적 일수 계산 방식(day count convention). 지원 값: `'ACT_365F'` (기본값) — Actual/365 Fixed, `'ACT_365_25'` — Actual/365.25. [`String`](/reference/data-types/string)

**반환 값**

순현재가치를 Float64 값으로 반환합니다. [`Float64`](/reference/data-types/float)

**예시**

**기본 사용법**

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

**다른 일수 계산 방식 사용**

```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">
  ## 관련 리소스
</div>

* [ClickHouse 금융 함수 동영상](https://www.youtube.com/watch?v=BePLPVa0w_o)
