2015-04-25 2 views
0

В приведенном ниже обсуждении содержатся коды в вычислении IRR Objective C, который по своей структуре является некорректным по сравнению с функцией IRR Excel. Кто-нибудь знает, почему существует такая разница?Задача C Расчет IRR по сравнению с функцией IRR Excel

Код, используемый предлагается в этом предыдущем обсуждении:

Calculate IRR (Internal Rate Return) and NPV programatically in Objective-C

Денежный поток теста я использую для расчета IRR заключается в следующем: «Печать tempCashFlow: ( „-5099701,25“, "-22503,796875", "-22503,79296875", "-22503,79296875", "-20907,26171875", "-17899,7421875", "-17899,7421875", "-17899,7421875", "-14660,69140625", "-12447,80078125", "-12447,796875", "-12018,1640625", "-5991,81640625", "-5991,81640625", "-5991,81640625", "-2885,875", " 1653.125" , "1653.125", "1653.125", "8307,328125", "11110408,45703125" )

выше временного потока денежных средств содержит квартальные показатели в течение 5 лет (т.е. 20 периодов плюс период нулевого времени ... так что 21 показатель в денежном потоке).

Код обеспечивает 15,2% IRR вместо около 16,0%, вырабатываемого функцией Excel IRR. Я также проверил его вручную, и я считаю, что 16% - правильный ответ. Кто-нибудь может понять, что может быть неправильным с кодом? Я не вижу никаких проблем. Кроме того, по-видимому, идентичен коду повышен по этой ссылке, а также:

http://www.codeproject.com/Tips/461049/Internal-Rate-of-Return-IRR-Calculation

PS: Я также заметил, что запас ошибки увеличивается значительно, если я уменьшить денежный поток в течение 2 лет вместо того периода 5 лет (например, что-то вроде 35% (неправильное) по сравнению с 45% IRR (правильный ответ)

ответ

0

ВСД для этой серии о движении денежных средств, как сообщает IRR функции Excel является 3.803961% (но это предполагает, что они были годовые денежные потоки). Этот алгоритм C, который вы ссылаетесь, возвращает 3.803961%. Таким образом, между этими двумя рассчитанными значениями нет расхождения. И если я применяю этот курс, когда я суммирую NPV всех этих годовых денежных потоков, я получаю нуль, проверяя, что 3.803961% является правильным IRR.

Вы не поделились тем, как используете Excel IRR или эту функцию обрабатываете ежеквартальные денежные потоки, но я подозреваю, что вы можете просто умножить полученное значение этой функции на четыре, что неверно. Вы должны применять ежеквартальные рецептуры к нему. Если я сделаю первый, я воспроизведу ваше неправильное значение 15.215842%, но если я сделаю последнее, я получу правильное значение, 16.106276%. И, опять же, проверяя это путем вычисления совокупной NPV этих денежных потоков, я получаю нуль, подтверждая, что 16.1% является правильным IRR для этой серии квартальных денежных потоков.

+0

Rob - вы абсолютно правы. Спасибо - моя ошибка. Я использовал XIRR вместо функции IRR для проверки, и этот код принимал годовые денежные потоки вместо квартальных. – MikeLondonUK

Смежные вопросы