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.2809484211599611financialInternalRateOfReturnExtended
도입 버전: 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.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
도입 버전: 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.2226681795255excel_호환_계산
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)2838.1691372032656financialNetPresentValueExtended
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)orArray(Float*)dates— Array of dates corresponding to each cash flow. Must have the same size as cashflows array.Array(Date)orArray(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.579458169746Using 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