Frage

Wenn ich die interne Rendite (IRR) unter Verwendung der Numpy -Methode berechne irr, Ich erhalte nan als Rückkehr.

In [45]: numpy.irr([-10, 2, 2, 2, 2])
Out[45]: nan

Sollten die Ergebnisse nicht zumindest negativ sein? Sagen wir -8%? Als ich versuchte, die Implementierung besser zu verstehen, schaute ich mir das an Master -Zweig des Numpy Repository, Aber die Implementierung ergab für mich keinen Sinn.

Die Kommentare und die gegebene Literatur helfen nicht zu verstehen, unter welcher Bedingung nan wird ausgestellt. Wenn ich das IRR mit einem anderen Programm berechne, bekomme ich -8% zurückgekehrt.

Warum kehrt Numpy zurück? nan Für das Array oben?

War es hilfreich?

Lösung 2

Wenn Sie in die schauen Implementierung Von dieser Funktion sucht es nur nach Lösungen für IRR innerhalb (0, 1]. Dies liegt daran Sicherlich kann sich außerhalb dieses Bereichs befinden und dennoch vollkommen gültig sein. In Ihrem Fall würde ich vorschlagen, Ihre eigene Funktion (nach dem vorhandenen Zeilen) zu schreiben, was das tut, was Sie brauchen.

Andere Tipps

Nur eine kleine Korrektur der vorherigen Antwort. Die Implementierung begrenzt IRR nicht auf (0,1], sie begrenzt 1/(1+IRR) auf (0,1]. Das begrenzt IRR auf [0,+inf). Sie ist immer noch eine unvollständige Implementierung, da sie NAN zurückgibt Für Cashflows mit einer IRR von weniger als 0 (dh der Anleger hat Geld verloren). Der richtige Bereich für IRR ist (-1,+inf). Die Korrektur ist jedoch nicht trivial, da NPV (Rate) mehr als haben kann als Eine Null, hat aber nicht mehr als eine Nullkreuzung, bei der die Geschwindigkeit größer als Null ist. Die Begrenzung des Bereichs auf [0,+Inf), da die Funktion implementiert ist Wurzeln zurückgegeben.

Als Randnotiz, wenn Sie neugierig auf das Verhalten von NPV (Rate) sind, nähert es sich entweder +inf oder -inf als Rate -Ansätze -1. Das Zeichen der Unendlichkeit, dem sie nähert, ist das gleiche wie das Zeichen des endgültigen Cashflows. Am anderen Ende nähert sich NPV asymptotisch dem Wert des anfänglichen Cashflows in der Serie (normalerweise ein negativer Cashflow), wenn die Rate nähert. Bei Rate = Null ist der Wert von NPV die Summe der Cashflows.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top