Нахождение срока в формуле PV с отрицательной процентной ставкой - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь воспроизвести точность BA II Plus при нахождении термина (N) в приведенной стоимости обычной формулы аннуитета. В частности, с отрицательными процентными ставками (где я не могу использовать натуральные логарифмы). Мой код ниже, но он медленный и немного менее точный. Есть ли лучший способ сделать это?

# code to find term (n) in present value of annuity formula, where the 
# interest rate is negative, i.e. -55.31257% in below example, as the
# general way to solve, i.e natural logarithms don't work with negative 
# interest rates.

pv = 1559606.4
pp = 100
i = -.5531257
# below is the desired answer
# n = 11.251357

# where interest rate is negative
for num in range(1,100000000):
   expn = num/1000000
   temp3 =  pv - pp*(1 - (1+i)**-expn)/i

   #set level of precision, i.e. accurate to within
   if temp3 <= 0.00000001:
       n = num/1000000
       print("The Number of periods is " + str(n))
       n = float(n)
       break   

1 Ответ

0 голосов
/ 07 января 2019

Я бы использовал numpy.nper(), например:

Код:

import numpy as np 
np.nper(i, -pp, pv)

Тестовый код:

pv = 1559606.4
pp = 100
i = -.5531257
# below is the desired answer
# n = 11.251357

import numpy as np

print(np.nper(i, pp, -pv))

Результаты:

11.2513570023
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...