Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

재무 함수

financialInternalRateOfReturn

도입 버전: v25.7.0

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

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

\sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0

구문

financialInternalRateOfReturn(cashflows[, guess])

인수

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

반환 값

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

예시

simple_example

SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])
0.2809484211599611

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

SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)
0.2809484211599611

financialInternalRateOfReturnExtended

도입 버전: 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

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

구문

financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])

인수

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

반환 값

XIRR 값을 반환합니다. 계산을 수행할 수 없는 경우 NaN을 반환합니다. Float64

예시

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

simple_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.6342972615260243

simple_example_daycount

SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_25
0.099785

financialNetPresentValue

도입 버전: v25.7.0

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

기본 변형 (start_from_zero = true):

\sum_{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}

Excel 호환 변형 (start_from_zero = false):

\sum_{i=1}^{N} \frac{values_i}{(1 + rate)^i}

구문

financialNetPresentValue(rate, cashflows[, start_from_zero])

인수

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

반환 값

순현재가치를 Float64 값으로 반환합니다. Float64

예시

default_calculation

SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])
3065.2226681795255

excel_호환_계산

SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)
2838.1691372032656

financialNetPresentValueExtended

Introduced in: v25.7.0

Calculates the Extended Net Present Value (XNPV) for a series of cash flows occurring at irregular intervals. XNPV considers the specific timing of each cash flow 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.

구문

financialNetPresentValueExtended(rate, cashflows, dates[, daycount])

인수

  • rate — The discount rate to apply. Float*
  • cashflows — Array of cash flows. Each value represents a payment (negative value) or income (positive value). Must contain at least one positive and one negative value. Array(Int8/16/32/64) or Array(Float*)
  • dates — Array of dates corresponding to each cash flow. Must have the same size as cashflows array. Array(Date) or Array(Date32)
  • [, daycount] — Optional day count convention. Supported values: 'ACT_365F' (default) — Actual/365 Fixed, 'ACT_365_25' — Actual/365.25. String

반환 값

Returns the net present value as a Float64 value. Float64

예시

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

Using different day count convention

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
Navigation