XIRR - 스크립트 함수
XIRR()은 group by 절로 정의된 여러 레코드에서 반복되는 pmt 및 date에서 숫자 쌍으로 표현된 현금 흐름 일정(주기적일 필요는 없음)에 대해 집계된 내부 수익률(연간)을 반환합니다. 모든 납입금은 1년 365일을 기준으로 할인됩니다.
Qlik의 XIRR 기능(XIRR() 및 RangeXIRR() 함수)은 다음 등식을 통해 Rate 값을 구하여 올바른 XIRR 값을 확인합니다.
XNPV(Rate, pmt, date) = 0
이 등식은 Newton 방법의 간소화된 버전을 사용하여 구합니다.
구문:
XIRR(pmt, date )
반환 데이터 유형: 숫자
인수 | 설명 |
---|---|
pmt |
지불. date에 제공된 지불 일정에 해당하는 현금 흐름을 포함하는 표현식 또는 필드. |
date | pmt에 지정된 현금 흐름 지급에 해당하는 날짜의 일정을 포함하는 표현식 또는 필드입니다. |
이 함수를 사용할 때 다음 제한 사항이 적용됩니다.
-
데이터 쌍의 한쪽 또는 양쪽에 텍스트 값, NULL 값, 누락된 값이 있으면 전체 데이터 쌍이 무시됩니다.
-
이 함수는 하나 이상의 유효한 음성 지불과 하나 이상의 유효한 양성 지불(해당 유효 날짜 포함)이 필요합니다. 이러한 결제가 제공되지 않으면 NULL 값이 반환됩니다.
다음 항목은 이 함수를 사용하는 데 도움이 될 수 있습니다.
-
XNPV - 스크립트 함수: 이 함수를 사용하여 현금 흐름 일정에 대해 집계된 순 현재 가치를 계산합니다.
-
RangeXIRR - 스크립트 및 차트 함수: RangeXIRR()은 XIRR() 함수와 동등한 범위 함수입니다.
Qlik Sense 클라이언트 관리의 다양한 버전 간에는 이 함수에서 사용하는 기본 알고리즘에 변형이 있습니다. 알고리즘의 최근 업데이트에 대한 자세한 내용은 지원 문서 XIRR 함수 수정 및 업데이트를 참조하십시오.
예
XIRR 반환 값 해석
XIRR 기능은 일반적으로 투자를 분석하는 데 사용되며, 처음에는 나가는(음성) 지불이 발생하고 나중에 일련의 작은 소득(양성) 지불이 발생합니다. 다음은 하나의 음성 지불과 하나의 양성 지불만 있는 간단한 예입니다.
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
초기에 100을 지불하고 정확히 1년 후에 110을 가져옵니다. 이는 연 10%의 수익률을 의미합니다. XIRR(Payments, Date)는 0.1 값을 반환합니다.
XIRR 기능의 반환 값은 양수 또는 음수일 수 있습니다. 투자의 경우, 음수 결과는 투자가 손실임을 나타냅니다. 손익 금액은 지불 필드에서 합계를 집계하여 간단하게 계산할 수 있습니다.
위의 예에서 우리는 1년 동안 돈을 빌려주고 있습니다. 수익률은 이자라고 생각할 수 있습니다. 트랜잭션의 반대편에 있을 때 XIRR의 기능을 사용하는 것도 가능합니다(예를 들어, 대출 기관이 아닌 차용인인 경우).
다음 예를 생각해봅니다.
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
이는 첫 번째 예와 동일하지만 반대의 경우입니다. 여기서 우리는 1년 동안 100을 빌리고 10%의 이자로 갚습니다. 이 예에서 XIRR 계산은 첫 번째 예와 동일한 값인 0.1(10%)을 반환합니다.
첫 번째 예에서는 10의 이익을 얻었고 두 번째 예에서는 10의 손실을 경험했지만, 두 예에서 XIRR 기능의 반환 값은 양수입니다. 이는 XIRR 기능이 트랜잭션의 어느 쪽에 있든 관계없이 트랜잭션의 숨겨진 이자를 계산하기 때문입니다.
여러 솔루션의 제한 사항
Qlik의 XIRR 기능은 Rate 값이 해결되는 다음 방정식으로 정의됩니다.
XNPV(Rate, pmt, date) = 0
때때로 이 방정식에 하나 이상의 해가 있을 수 있습니다. 이는 "다중 IRR 문제"로 알려져 있으며 비정규 현금 흐름 스트림(비규칙적 현금 흐름이라고도 함)으로 인해 발생합니다. 다음 로드 스크립트는 이에 대한 예를 보여 줍니다.
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
이 예에는 하나의 음성 솔루션과 하나의 양성 솔루션이 있습니다(Rate = -0.3 및 Rate = 0.8). XIRR()은 0.8을 반환합니다.
Qlik의 XIRR 기능은 솔루션을 검색할 때 Rate = 0에서 시작하여 솔루션을 찾을 때까지 단계적으로 속도를 높입니다. 둘 이상의 양성 솔루션이 있는 경우 가장 먼저 만나는 솔루션을 반환합니다. 양성 솔루션을 찾을 수 없으면 Rate를 다시 0으로 다시 설정하고 음성 방향에서 솔루션 검색을 시작합니다.
"정상적인" 현금 흐름 스트림에는 단 하나의 솔루션만 있음이 보장됩니다. "정상적인" 현금 흐름 스트림은 동일한 부호(양수 또는 음수)를 가진 모든 지불이 연속적인 그룹에 있음을 의미합니다.