Про восторги все уже знают. Как при фиксированной ставке 8% вклад с ежегодной капитализацией за 10 лет вырастает в 2.16 раза.
Только эта ситуация не совсем реалистична. По жизни бывает так, что за эти 10 лет человек вкладывает каждый год определённую сумму. И, разумеется, все вложенные деньги за 10 лет никоим образом не удвоятся. На самом деле среднегодовая ставка при ежегодной капитализации будет 4.5777%, и суммарные вложения вырастут только в 1.57 раза.
Чтобы ни у кого больше не возникало таких вопросов, каждый может использовать скрипт Microsoft JScript. Интерпретатор Windows Script Host (WSH) для этого диалекта JavaScript есть в каждой Windows.
// Среднегодовая доходность с фиксированной ставкой
// Без капитализации = (FV/PV - 1) / N,
// C капитализацией = (FV/PV)^(1/N) - 1, где:
// PV - вложенная сумма, FV - полученная сумма,
// N - число ежегодных вложений.
var msg = "Расчёт средних доходностей.\n"
+ "cscript YieldMean.js R N [1]\n"
+ "R - годовая ставка, проценты. <a name="cut"></a> \n"
+ "N - число ежегодных вложений.\n"
+ "1 или пусто - вложения с индексацией."
if (WScript.Arguments.length != 2 &&
WScript.Arguments.length != 3) {
WScript.Echo (msg);
WScript.Quit (0);
}
var R = parseFloat (WScript.Arguments (0)) / 100
var N = parseInt (WScript.Arguments (1))
var I = (WScript.Arguments.length == 3)
if (I == 0)
WScript.Echo ("Без индексации вложений.")
else
WScript.Echo ("С индексацией вложений.")
var PV = 0.0, FV = 0.0, dlt = 1
for (i = 1; i <= N; ++i) {
PV += dlt // Первые меньшие вложения на больший срок!
FV += dlt * Math.pow (1 + R, N-i+1)
if (I != 0) dlt *= 1 + R
}
WScript.Echo ("Вложено ", formatNumber (PV, 4))
WScript.Echo ("Получено ", formatNumber (FV, 4))
var avrg = (FV/PV - 1) / N * 100
var mean = (Math.pow (FV/PV, 1 / N) - 1) * 100
WScript.Echo ("Без капитализации",formatNumber(avrg,4)+"%")
WScript.Echo ("C капитализацией ",formatNumber(mean,4)+"%")
//////////
function formatNumber (val, num) {
var fct = Math.pow (10, num)
return Math.round (val * fct) / fct
}
Ахтунг! Смарт-Лаб иногда искажает программный код. Например втюхал:
+ "R - годовая ставка, проценты. <a name="cut"></a> \n"
вместо: + «R — годовая ставка, проценты.\n». А здесь нарисовал угловые кавычки вместо обычных двойных.
PS Первая редакция кода с ошибкой. Не было учёта что при индексации вложений
// Первые меньшие вложения на больший срок!