Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: где найти формулу расчета IPMT?
 
 автор: elenaki   (03.06.2010 в 15:00)   письмо автору
 
 

где найти формулу расчета IPMT? PMT у меня есть и на РНР и на javascript.
обыскалась. с работы еще и не все сайты открываются.
есть калькулятор для сложных финансовых расчетов, но мне его не дают скачать :(

Функция IPMT (норма; период; количество_периодов; ТЗ; БЗ; тип) вычисляет величину
процентного платежа на оставшуюся часть ссуды в заданном платежном периоде.

  Ответить  
 
 автор: sim5   (03.06.2010 в 15:14)   письмо автору
 
   для: elenaki   (03.06.2010 в 15:00)
 

http://infinan.ru/finmenagment/tekhnika_finansovykh_vychislenij_na_Excel_3.html
http://homepage.corbina.net/~sb1203665/calc2x2/samples45.html

  Ответить  
 
 автор: elenaki   (03.06.2010 в 15:38)   письмо автору
 
   для: sim5   (03.06.2010 в 15:14)
 

там не формула, а пример вызова функции с аргументами. это у меня есть и в Экселе. мне нужна формула, а не аргументы.

нашла это:

12% годовых это получается примерно по 1% в месяц итого годовых получается 1.01^12 ~ 1.1268 
ИТОГО реальный годовой процент составляет 12.68%


Теперь как считают размер аннуитетного платежа:
Допустим
S - сумма займа
k - месячный кооэфициент увеличения долга (в случае с 1% в месяц = 1.01)
N - количество месяцев в течении которых надо погасить платеж
x - сумма ежемесячного платежа

Заметим что каждый месяц сумма долга увеличивается в k раз и уменьшается на x
И так N раз:
(...((S*k-x)*k-x)*k-x)...)*k-x
И в итоге это должно равняться нулю

Раскроем скобки
S*k^n-x*k^(n-1)-x*k^(n-2)-...-x*K^0 = 0
S*k^n = x*(k^(n-1)+k^(n-2)+...+1)
Найдем сумму возрастающей геометрической прогресии
S*k^n = x* (k^n-1)/(k-1)

Итого находим x
x = S*k^n*(k-1)/(k^n-1)



но тут расчет PMT (догадалась по рез-ту), а мне надо IPMT

  Ответить  
 
 автор: sim5   (03.06.2010 в 15:49)   письмо автору
 
   для: elenaki   (03.06.2010 в 15:38)
 

Нет ничего страшнее, чем бухгалтерия ;-)
Я то наивно полагал, что "страшные" формулы в Эксель, это и есть формула, а оказывается это только аргументы.

  Ответить  
 
 автор: Trianon   (03.06.2010 в 17:02)   письмо автору
 
   для: elenaki   (03.06.2010 в 15:38)
 

можно ведь и точный месячный процент вычислить.
Если годовой процент Py = (E/S - 1)*100 = (ky-1)*100;
то поскольку E = S* km ^ n => E = S * (1+(Pm/100))^n ;
то месячный коэффициент увеличения долга km = E/S ^ (1/n) = ky ^(1/n)
а месячный процент Pm = 100*(1+((PY/100-1)^(1/n)))


S - начальная сумма
E - конечная сумма
k - коэффициент увеличения за период
P - процент добавления за период
n - число периодов накопления

y - годовой
m - месячный

  Ответить  
 
 автор: elenaki   (03.06.2010 в 21:41)   письмо автору
 
   для: Trianon   (03.06.2010 в 17:02)
 

к сожалению, во всех этих формулах присутсвуют по две неизвестных мне переменных. я не решу это никогда. :(

  Ответить  
 
 автор: ....   (03.06.2010 в 22:13)
 
   для: elenaki   (03.06.2010 в 21:41)
 

а что на входе ?
>Функция IPMT (норма; период; количество_периодов; ТЗ; БЗ; тип)

если периоды и колличества периодов это о месяцах,
то что такое норма , ТЗ, БЗ, и тип ?

>вычисляет величину процентного платежа на оставшуюся часть ссуды в заданном платежном периоде

другими словами на весь оставшийся интервал периодов возвращает веcь оставшийся долг исключая разнесённую по остатку сумму "непроцентов" ? сама сумма распределяется-же строго пропорционально по периодам ?
Или я совсем не понял, извиняюсь , в бугалтерии не бум-бум , просто любопытно :)

  Ответить  
 
 автор: elenaki   (04.06.2010 в 09:39)   письмо автору
11.9 Кб
 
   для: ....   (03.06.2010 в 22:13)
 

наконец, нашла что-то похожее у буржуев:


    
    /**
     * PMT
     * Calculates the payment for a loan based on constant payments
     * and a constant interest rate.
     * 
     * For a more complete description of the arguments in PMT, see the PV function.
     * 
     * Rate: is the interest rate for the loan.
     * Nper: is the total number of payments for the loan.
     * Pv: is the present value, or the total amount that a series of future payments
     *  is worth now; also known as the principal.
     * Fv: is the future value, or a cash balance you want to attain after the last
     *  payment is made. If fv is omitted, it is assumed to be 0 (zero), that is,
     *  the future value of a loan is 0.
     * Type: is the number 0 (zero) or 1 and indicates when payments are due.
     *  0 or omitted, At the end of the period
     *  1, At the beginning of the period
     * 
     * If rate = 0:
     *        -(FV + PV)
     * PMT = ------------
     *           nper
     * 
     * Else
     * 
     *                                      nper
     *                   FV + PV * (1 + rate)
     * PMT = --------------------------------------------
     *                             /             nper \
     *                            | 1 - (1 + rate)     |
     *        (1 + rate * type) * | ------------------ |
     *                             \        rate      /
     * 
     **/
    function PMT($rate, $nper, $pv, $fv = 0.0, $type = 0)
    {
        $pmt = $this->_calculate_pmt ($rate, $nper, $pv, $fv, $type);
        return (is_finite($pmt) ? $pmt: null);
    }
    
    /**
     * IPMT
     * Returns the interest payment for a given period for an investment based
     * on periodic, constant payments and a constant interest rate.
     * 
     * For a more complete description of the arguments in IPMT, see the PV function.
     * 
     */
    function IPMT($rate, $per, $nper, $pv, $fv = 0.0, $type = 0)
    {
        if (($per < 1) || ($per >= ($nper + 1)))
            return null;
        else {
            $pmt = $this->_calculate_pmt ($rate, $nper, $pv, $fv, $type);
            $ipmt = $this->_calculate_interest_part ($pv, $pmt, $rate, $per - 1);
            return (is_finite($ipmt) ? $ipmt: null);
        }
    }
    
    /**
     * PPMT
     * Returns the payment on the principal for a given period for an
     * investment based on periodic, constant payments and a constant
     * interest rate.
     * 
     **/
    function PPMT($rate, $per, $nper, $pv, $fv = 0.0, $type = 0)
    {
        if (($per < 1) || ($per >= ($nper + 1)))
            return null;
        else {
            $pmt = $this->_calculate_pmt ($rate, $nper, $pv, $fv, $type);
            $ipmt = $this->_calculate_interest_part ($pv, $pmt, $rate, $per - 1);
            return ((is_finite($pmt) && is_finite($ipmt)) ? $pmt - $ipmt: null);
        }
    }
    
    /**
     * NPER
     * Returns the number of periods for an investment based on periodic,
     * constant payments and a constant interest rate.
     * 
     * For a complete description of the arguments nper, pmt, pv, fv, and type, see PV.
     * 
     * Nper: is the total number of payment periods in an annuity.
     * Pmt: is the payment made each period and cannot change over the life
     *  of the annuity. Typically, pmt includes principal and interest but no
     *  other fees or taxes. If pmt is omitted, you must include the fv argument.
     * Pv: is the present value &#151; the total amount that a series of future payments
     *  is worth now.
     * Fv: is the future value, or a cash balance you want to attain after the
     *  last payment is made. If fv is omitted, it is assumed to be 0 (the future
     *  value of a loan, for example, is 0).
     * Type: is the number 0 or 1 and indicates when payments are due.
     *  0 or omitted, At the end of the period
     *  1, At the beginning of the period
     * 
     * If rate = 0:
     *        -(FV + PV)
     * nper = -----------
     *           PMT
     * 
     * Else
     *              / PMT * (1 + rate * type) - FV * rate \
     *         log | ------------------------------------- |
     *              \ PMT * (1 + rate * type) + PV * rate /
     * nper = -----------------------------------------------
     *                          log (1 + rate)
     * 
     **/
    function NPER($rate, $pmt, $pv, $fv = 0.0, $type = 0)
    {
        if (($rate == 0) && ($pmt != 0))
            $nper = (-($fv + $pv) / $pmt);
        elseif ($rate <= 0.0)
            return null;
        else {
            $tmp = ($pmt * (1.0 + $rate * $type) - $fv * $rate) /
                    ($pv * $rate + $pmt * (1.0 + $rate * $type));
            if ($tmp <= 0.0)
                return null;
            $nper = (log10($tmp) / log10(1.0 + $rate));
        }
        return (is_finite($nper) ? $nper: null);
    }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования