XIRR - kod fonksiyonu
XIRR(), bir group by cümlesi tarafından tanımlandığı şekliyle, birden fazla kayıt üzerinde yinelenen pmt ve date içindeki eşlenmiş sayılar tarafından temsil edilen (dönemsel olması gerekmeyen) nakit akışlarının planı için toplam iç geri dönüş oranını (yıllık) döndürür. Tüm ödemelere 365 günlük yıl temel alınarak iskonto uygulanır.
Qlik XIRR işlevi (XIRR() ve RangeXIRR() işlevleri), doğru XIRR değerini belirlemek için aşağıdaki denklemi kullanarak Rate değerini çözer:
XNPV(Rate, pmt, date) = 0
Denklem, Newton yönteminin basitleştirilmiş bir versiyonu kullanılarak çözülür.
Söz Dizimi:
XIRR(pmt, date )
Dönüş verileri türü: sayısal
Bağımsız Değişken | Açıklama |
---|---|
pmt |
Ödemeler. date içinde verilen ödeme planına karşılık gelen nakit akışlarını içeren ifade veya alan. |
date | pmt içinde verilen nakit akışı ödemelerine karşılık gelen tarih planını içeren ifade veya alan. |
Bu fonksiyonla çalışırken aşağıdaki sınırlamalar uygulanır:
-
Bir veri çiftinin herhangi bir veya her iki parçasındaki metin değerleri, NULL değerler ve eksik değerler, veri çiftinin tamamının göz ardı edilmesine neden olur.
-
Bu fonksiyon, en az bir geçerli negatif ve en az bir geçerli pozitif ödeme gerektirir (karşılık gelen geçerli tarihlerle birlikte). Bu ödemeler sağlanmazsa NULL değeri döndürülür.
Bu konular bu fonksiyon ile çalışmanıza yardımcı olabilir:
-
XNPV - kod fonksiyonu: Bir nakit akışı zamanlaması için birleştirilmiş net bugünkü değeri hesaplamak üzere bu fonksiyonu kullanın.
-
RangeXIRR - kod ve grafik fonksiyonu: RangeXIRR(), XIRR() fonksiyonunun eş değer aralık fonksiyonudur.
Farklı Qlik Sense Client-Managed sürümleri arasında, bu fonksiyon tarafından kullanılan temel algoritmada değişiklikler vardır. Algoritmadaki son güncellemeler hakkında bilgi için XIRR Fonksiyonu Düzeltmeleri ve Güncelleştirmeleri başlıklı destek makalesine bakın.
Örnek
XIRR dönüş değerini yorumlama
XIRR işlevselliği genellikle, başlangıçta bir giden (negatif) ödemenin ve daha sonra bir dizi küçük gelen (pozitif) ödemenin olduğu bir yatırımı analiz etmek için kullanılır. Yalnızca bir negatif ve bir pozitif ödeme içeren basitleştirilmiş örneği aşağıda bulabilirsiniz:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|-100
2024-01-01|110
] (delimiter is '|');
Başlangıçta 100 tutarında bir ödeme yapıyor ve tam bir yıl sonra 110 tutarında geri ödeme alıyoruz. Bu, yıllık %10 geri dönüş oranını temsil eder. XIRR(Payments, Date), 0,1 değerini döndürür.
XIRR işlevselliğinin dönüş değeri pozitif veya negatif olabilir. Bir yatırım söz konusu olduğunda, negatif sonuçlar yatırımın bir kayıp olduğunu gösterir. Kazanç veya kayıp miktarı, ödemeler alanı üzerinde bir toplama yapılarak hesaplanabilir.
Yukarıdaki örnekte, bir yıl boyunca paramızı ödünç veriyoruz. Geri dönüş oranı, faiz olarak düşünülebilir. İşlemin diğer tarafında olduğunuzda (ör. borç veren yerine borç alan sizseniz) da XIRR'nin işlevselliğini kullanabilirsiniz.
Şu örneğe göz atın:
Cashflow:
LOAD * inline [
Date|Payments
2023-01-01|100
2024-01-01|-110
] (delimiter is '|');
Bu, ilk örnekle aynıdır ancak tersine çevrilmiştir. Burada, bir yıl boyunca 100 tutarında parayı ödünç alıyoruz ve %10 faizle geri ödüyoruz. Bu örnekte, XIRR hesaplaması ilk örnekteki değerin aynısı olan 0,1'i (%10) döndürür.
İlk örnekte 10'luk bir kâr elde ettiğimizi ve ikinci örnekte 10'luk bir kayıp yaşadığımızı ancak XIRR işlevselliğinin dönüş değerinin bu iki örnek için de pozitif olduğunu unutmayın. Bunun nedeni, işlemde hangi tarafta olduğunuza bakılmaksızın XIRR işlevselliğinin işlemdeki gizli faizi hesaplamasıdır.
Birden çok çözüm içeren sınırlamalar
Qlik XIRR işlevselliği, Rate değerinin çözüldüğü, aşağıdaki denklemle tanımlanır:
XNPV(Rate, pmt, date) = 0
Bu denklemin bazen birden çok sonuç içermesi mümkündür. Bu, "çoklu IRR problemi" olarak bilinir ve normal dışı nakit akışı klasöründen (alışılmadık nakit akışı olarak da adlandırılır) kaynaklanır. Aşağıdaki komut dosyasında buna dair bir örnek gösterilmiştir:
Cashflow:
LOAD * inline [
Date|Payments
2021-01-01|-200
2022-01-01|500
2023-01-01|-250
] (delimiter is '|');
Bu örnekte, bir negatif çözüm ve bir pozitif çözüm vardır (Rate = -0,3 ve Rate = 0,8). XIRR() 0,8 sonucunu verir.
Qlik XIRR işlevselliği bir çözüm aradığında Rate = 0 noktasında başlar ve bir çözüm bulana kadar oranı adım adım artırır. Birden fazla pozitif çözüm varsa karşılaştığı ilk pozitif çözümü verir. Pozitif sonuç bulamazsa Rate değerini sıfır rakamına sıfırlar ve negatif yönde çözüm aramaya başlar.
"Normal" nakit akışı klasöründe yalnızca bir çözüm bulunmasının garanti olduğunu unutmayın. "Normal" nakit akışı klasörü, aynı işarete sahip (pozitif veya negatif) tüm ödemelerin sürekli bir grupta olduğu anlamına gelir.