Nie jestem w stanie obliczyć IRR. Jestem usign Microsoft.VisualBasic do obliczenia IRR. Tutaj jest to przypadek:Financial.IRR nie jest obliczany w C#
using Microsoft.VisualBasic;
...
static void Main(string[] args)
{
double[] tmpCashflows = new double[] {
-480117.0,
4471.5158140594149,
6841.5950239895265,
6550.383550359461,
6295.8611873818609,
6074.6070899770129,
5883.532880960287,
6006.9907860976427,
6133.1633945923877
,6262.1156759885489
//,6393.9143799520116
};
decimal irr = 0;
try
{
double tmpIrr = Financial.IRR(ref tmpCashflows);
...
}
catch (Exception ex)
{
irr = 0;
}
}
Daje wyjątek typu "argument nie ma" (na Microsoft.VisualBasic.Financial.IRR (Podwójne [] & ValueArray, dwukrotnie Guess)). Jednak to nie pokazuje żadnych błędów, jeśli wykonuję obliczenia w programie Excel.
to rzeczywiście poprawne dane. IRR staje się dodatnia po 60 miesiącach. Niestety funkcja ta nie jest w stanie pokazać mi wartości dodatniej. Zawsze daje mi błąd, jeśli pierwsze 10 pozycji jest takich, jakie widzisz powyżej. – renathy
niewiele więcej badań i kodu znalazło szczegóły błędu Microsoftu –