КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Додаток 3.⇐ ПредыдущаяСтр 13 из 13
ЗАВДАННЯ :
Підприємство повинно зробити вибір між двома інвестиційними проектами А та В : - початкові інвестиції – (50+10і+j)*1000 грн. і ідентичні для обох проектів; - доходи за проектом А : (180+20і+4j)*100кожний рік протягом 5 років, за В : 1-й рік – W,2-йрік - 2W ,третій- 3W,четвертий- 5W,п’ятий- 9W, W = (50+6і+j)*100грн. -ставка приведення- (10 + і) % . Обчислити :
і = 1, …, 8; j = 1, 2, 3.
Як бачимо, при тому, що у всіх випадках IRR проекту А вище. Але, враховуючи те, що при одинакових початкових інвестиціях в деяких випадках NPV проекту В вище, слід скоріше прийняти його.
Додаток 4.Программа для обчислення прибутковості до погашення методом січних. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Anal_oblig { class Program { public static int N = 100, P = 5; public static int j, n, z; public static double a, b, x1, x2, x3, t, e; public static double[] p = new double[100]; public static double[] v = new double[3]; public static double[] q = new double[100]; public static bool flag; public static double f(double d) { double s = d / 100 + 1; t = 0; for (int i = 1; i < n + 1; i++) { t = t + p[i] / (Math.Exp((i ) * Math.Log(s))); } t = t + N / (Math.Exp((n ) * Math.Log(s))) - P; return t; } public static void root() { j = 1; for (int k = 0; k < 100; k++) { q[k] = f(j); j = j + 5; } z = 0; for (int k = 0; k < 99; k++) { if (((q[k] < 0) && (q[k + 1] > 0)) || ((q[k] > 0) && (q[k + 1] < 0))) { z = z + 1; } } } public static void sek() { x1 = a; x2 = b; while (!flag) { x3 = x1 - (f(x1) * (x2 - x1)) / (f(x2) - f(x1)); if (Math.Abs(x2 - x3) < e) { flag = true; Console.WriteLine(String.Format("IRR = {0} \n", x3)); break; } else { x1 = x2; x2 = x3; } } } static void Main() { n = 25; for (int k = 0; k < n + 1; k++) { p[k] = 6; } e = 0.001; a = 1; b = 5; sek(); root(); if (z > 2) { a = 300; b = 310; sek(); } Console.ReadLine(); } } } Додаток 5 . Программа в Matlab знаходження IRR проекту. 1) function analiz_IRR clc; Q = 100; P_V = 15; T = 0.23; F = 500; Am = 200; I = 1000; eps = 0.000001; z = fsolve(@VND, 0.5, 0.00001 ) end function res = VND (IRR) Q = 60; P_V = 15; T = 0.23; F = 500; Am = 100; I = 2000; NPV = -I; NPV = NPV + ((0.5* Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)) ; NPV = NPV + ((0.7* Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)^2); NPV = NPV + ((0.9* Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)^3); for i = 4 : 6 NPV = NPV + (( Q * P_V - F - Am ) * (1 - T)+Am) / ((1 + IRR)^i); end res = NPV; end 2)function analiz_IRR clc; Q = 100; P_V = 15; T = 0.23; F = 500; Am = 200; I = 1000; eps = 0.000001; z = fsolve(@VND, 0.5, 0.00001 ) end function res = VND (IRR) Q = 60; P_V = 15; T = 0.23; F = 500; Am = 100; I = 2000; NPV = -I; for i = 1 : 6 NPV = NPV + (( Q * P_V - F - Am ) * (1 - T)+Am) / ((1 + IRR)^i); end res = NPV; end Додаток 6. Програма Matlab знаходження NPV проекту: 1)function analiz_NPV clc; Q = 100; P_V = 20; T = 0.23; F = 500; Am = 100; I = 2000; IRR = 0.12; NPV = -I; NPV = NPV + ((0.5*Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)) ; NPV = NPV + ((0.7*Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)^2) ; NPV = NPV + ((0.9*Q * P_V - F - Am) * (1 - T) + Am) / ((1 + IRR)^3); for i = 4 : 15 NPV = NPV + (( Q * P_V - F - Am ) * (1 - T)) / ((1 + IRR)^i); end NPV end 2)function analiz_NPV clc; Q = 100; P_V = 20; T = 0.23; F = 500; Am = 100; I = 2000; IRR = 0.12; NPV = -I; for i = 1 : 15 NPV = NPV + (( Q * P_V - F - Am ) * (1 - T)) / ((1 + IRR)^i); end NPV end
|