ПЕРЕЛІК ДИСЦИПЛІН:
 
Бесплатные рефераты
 

 

 

 

 

 

     
 
Програма оптимізації ризикового портфеля
     

 

Економіко-математичне моделювання
Введення.

На фінансовому ринку звертається безліч цінних паперів: державні цінні папери, муніципальні облігації, корпоративні акції і т.д. Якщо в учасника ринку є вільні гроші, то їх можна віднести в банк і одержувати відсотки або придбати на них цінні папери і отримувати додатковий дохід. Але в який банк віднести? Які цінні папери купити? Малоризиковий цінні папери, як правило, і малоприбуткових, високоприбуткові, як правило, більш ризикові. Економічна наука може дати деякі рекомендації для вирішення цього питання.

Постановка завдання.

Розглянемо загальну задачу розподілу капіталу, який учасник ринку хоче витратити на покупку цінних паперів, за різними видами цінних паперів. Передуючи точні математичні постановки, констатуємо очевидну загальну мету інвестора - вкласти гроші так, щоб зберегти свій капітал, а при можливості і наростити його.
Набір цінних паперів, що знаходяться в учасника ринку, називається його портфелем. Вартість портфеля - це сумарна вартість всіх складових його паперів. Якщо сьогодні його вартість є Р, а через рік вона виявиться рівною Рг, то (Р,-Р)/Р природно назвати прибутковістю портфеля у відсотках річних. Тобто прибутковість портфеля - це дохідність на одиницю його вартості.
Нехай хi - частка капіталу, витрачена на покупку цінних паперів i-го виду. Міркування про частки еквівалентні тому, що весь виділений капітал приймається за одиницю. Нехай di - дохідність у відсотках річних цінних паперів i-го виду в розрахунку на одну грошову одиницю.
Знайдемо прибутковість всього портфеля dp. З одного боку, через рік капітал портфеля буде дорівнює 1 + dp, з іншого - вартість паперів i-го виду збільшитися з х до xi + di * xi, так що сумарна вартість портфеля буде рівна, xi + + xi * di = 1 + xi * di. Прирівнюючи обидва вирази для вартості портфеля, отримуємо dp = = xi * di.
Отже, завдання збільшення капіталу портфеля еквівалентна аналогічної задачі про прибутковості портфеля, вираженої через прибутковості паперів і їх долі.
Як правило, дохідність паперів коливається в часі, так що будемо вважати її випадковою величиною. Нехай mi,, i - середня очікувана прибутковість і середнє квадратичне відхилення (СКП) цієї випадкової дохідності, тобто mi = M [di] - математичне очікування дохідності і ri == Vii, де Vii - варіація або дисперсія i-ї дохідності. Будемо називати mi, ri відповідно ефективністю та ризиком i-ої цінного паперу. Через Vij позначимо коваріації дохідності цінних паперів i-го і j-го виду (або кореляційний момент Kij).
Так як прибутковість складових портфель цінних паперів випадкова, то і прибутковість портфеля є також випадкова величина. Математіческте очікування дохідності портфеля є M [dp] = x1 * M [d1] + ... + xn * M [dn] == xi * mi позначимо його через mp. Дисперсія прибутковості портфеля є D [dp] =]] xi * xj * Vij. Так само, як і для цінних паперів, назвемо mp ефективністю портфеля, а величину пp == D [dp] - ризиком портфеля rp. Зазвичай дисперсія дохідності портфеля називається його варіацією Vp.
Отже, ефективність і ризик портфеля виражені через ефективності складових його цінних паперів і їх спільні коваріації.

Портфель Марковіца мінімального ризику.

Існує кілька варіантів завдань оптимізації ризикового портфеля. Ми розглянемо тільки одну. Це так званий «портфель Марковіца». Ця задача була сформульована і вирішена американським економістом Г. Марковіцем (H. Markovitz) в 1952 році, за що пізніше він отримав Нобелівську премію.
Нехай є n видів цінних паперів, з яких інвестор хоче сформувати портфель. Необхідно знайти xi, які мінімізують варіацію портфеля
Vp === xi * xj * Vij

за умови, що забезпечується задане значення ефективності портфеля mp, тобто xi * mi = mp.
Оскільки xi - частки, то в сумі вони повинні складати одиницю:: xi = 1.
Залишивши за інвестором вибір середньої ефективності портфеля і допомагаючи йому мінімізувати в цьому випадку невизначеність, отримуємо наступну задачу з оптимізації портфеля цінних паперів:

min mm xi * xj * Vij
ixi = 1
 mi * xi = mp
xi? 0, ..., xn? 0

Це завдання квадратичного програмування. Опустивши умови точність змінних, отримуємо власне завдання Марковіца.



Рішення.

За допомогою функції Лагранжа зведемо задачу на умовний екстремум до задачі на безумовний екстремум:

L (x1, ..., xn ,,,,)=)) Vij * xi * xj - * (* mi -1) - * (* mi * xi - mp),

 L/Lxs = 2 *= Vis * xi - - - * ms = 0, s = 1, ..., n. (*)

похідні по о, відтворюють вказані вище два співвідношення, тим самим для (n +2) змінних x1, ..., xn,,, отримуємо (n +2) рівняння.
Запишемо отримані рівняння в матричній формі, використовуючи наступні позначення:

1 x1 m1
e =. x =. m =. x = (x1, ..., xn), mm = (m1, ..., mn)
. . .
1 xn mn

Штрих застосовується для позначення операції транспонування матриці.
B-матриця коваріації, B-1 - зворотна їй матриця. Отже рівняння (*) приймуть вигляд:
B * x = ((/ 2) * e + ((/ 2) * m,
ee * x = 1,
mm * x = mp.

Основне припущення цієї моделі полягає в тому, що між ефективністю m1, ..., mn немає лінійного зв'язку, тому коваріаційного матриця B невирождена (| B | 0), отже, існує зворотна матриця В-1. Використовуючи цей факт дозволимо в матричній формі щодо х:
х = (х/2) * В-1 * е + (е/2) * В-1 * m, (**)< br />
підставивши це рішення в перший і другий умови, отримаємо два рівняння для визначення/2 і// 2:

(її * В-1 * е) **/2 + (її * В-1 * m) **/2 = 1
(m (* B-1 * e) **/2 + (m (* В-1 * m) **/2 = mp.

Вирішуючи два останніх рівняння за правилом Крамера, знаходимо
 / 2 = ((m (* В-1 * m)-mp * (її * В-1 * m ))/(( її * В-1 * е) * (mm * В-1 * m) - ( mm * B-1 * e) 2)
 / 2 = (mp * (її * В-1 * е) - (mm * B-1 * e ))/(( її * В-1 * е) * (mm * В-1 * m) - (mm * B-1 * e) 2)

Підставляючи це рішення в (**) отримуємо наступну структуру оптимального портфеля:

  [(mm * В-1 * m)-mp * (її * В-1 * m)] * В-1 * е + [mp * (її * В-1 * е) - (mm * B-1 * e)] * В-1 * m
x * =
    (її * В-1 * е) * (mm * В-1 * m) - (mm * B-1 * e) 2

Простий підстановкою переконуємося, що е * х *= 1 і mm * х *= mp.
Крім того, знаходимо мінімальну дисперсію, що відповідає оптимальній структурі:

   [m2p * (її * В-1 * е) - 2 * mp * (mm * B-1 * e) + (mm * В-1 * m)]
D * p =
     [(її * В-1 * е) * (mm * В-1 * m) - (mm * B-1 * e) 2]

Тоді Т * p == D * p, що і є мінімальним ризиком портфеля.
Якщо x * i? 0, то це означає рекомендацію вкласти частку x * i наявного капіталу в цінні папери i-го виду. Якщо ж x * i
Що це за операція? Інвестор, що формує портфель, зобов'язується через якийсь час поставити цінні папери i-го виду (разом з доходом, який вони принесли б їх власникові за цей час). За це зараз він отримує їх грошовий еквівалент. Ці гроші він приєднує до свого капіталу і купує рекомендований оптимальним рішенням цінні папери. Так як цінні папери інших видів (тобто не i-го виду) більш ефективні, то інвестор виявляється у виграші.
Математично ця операція означає, що потрібно виключити цей вид цінних паперів з розгляду і вирішити завдання заново.

Приклад.

Дано: m1 = 11, 1 = 4, m2 = 10, 2 = 3, m3 = 9, 3 = 1, цінні папери не корельовані. Визначити оптимальний портфель при mp = 10.
Відповідь: Частки цінних паперів x1 = 0,3396; x2 = 0,3208; x3 = 0,3396. Мінімальний ризик йp = 1,699. Ефект диверсифікації портфеля наочно видно на цьому прикладі. Портфель має таку ж ефективність, як якби він був складений тільки з паперів 2-го виду, але його ризик значно менше, ніж у паперів 2-го виду (1,699 <3).>

Програма.

Далі наведена програма, яка розраховує структуру портфеля при заданій ефективності і його мінімальний ризик.

program riski;
uses crt;
type mas = array [1 .. 10] of real;
     mas2 = array [1 .. 10,1 .. 10] of real;
var a: real;
     m, be, bm: mas;
     B, E, b1, e1: mas2;
     i, k, c, v, l, j, n: integer;
     mp, ebe, mbm, ebm, x, mbe: real;

 procedure base;
     begin
 for i: = 1 to n do (звернення матриці B)
 begin
     for c: = 1 to n do (дублювання матриць)
 begin
   for v: = 1 to n do
     begin
     B1 [c, v]: = B [c, v];
     e1 [c, v]: = e [c, v];
     end;
 end;
   for k: = 1 to n do
     begin
 B [i, k]: = B1 [i, k]/b1 [i, i]; (ділимо рядки на дозволяє елемент)
 E [i, k]: = E1 [i, k]/b1 [i, i]; for l: = 1 to n do
   begin (знаходимо інші елементи)
    if li then
begin
  B [l, k]: = (B1 [l, k] - (B1 [l, i] * B1 [i, k]/B1 [i, i ]));< br />   E [l, k]: = (E1 [l, k] - (B1 [l, i] * E1 [i, k]/B1 [i, i ]));< br /> end;
   end;
     end;
end;

for i: = 1 to n do (підсумовування по рядках, формування вектора-стовпця Be)
begin
   for j: = 1 to n do
     begin
 be [i]: = be [i] + e [i, j];
     end;
end;

for i: = 1 to n do (формування вектора-стовпця Bm)
begin
  for j: = 1 to n do
  begin
    Bm [i]: = Bm [i] + m [j] * e [i, j];
  end;
end;

for i: = 1 to n do
begin (знаходження констант)
  ebe: = ebe + be [i]; (підсумовування по стоблцу)
  ebm: = ebm + bm [i];
  mbm: = mbm + m [i] * bm [i];
  mbe: = mbe + m [i] * be [i];
end;
end;
 procedure vvod;
label out1, out2, out3, out4, out5;
var z: real; mi, ma: real;
   begin
writeln;
writeln ( 'КУРСОВИЙ ПРОЕКТ');
writeln;
writeln;
writeln ( 'З ДИСЦИПЛІНИ МАТЕМАТИЧНІ МЕТОДИ ФІНАНСОВО-ЕКОНОМІЧНОГО АНАЛІЗУ');
writeln;
writeln ( 'АВТОР: Болдін СЕРГІЙ, ФІНМЕН II-3 .');< br /> writeln;
writeln ( 'ТЕМА: ЗАВДАННЯ ОПТИМІЗАЦІЇ ризиковості портфеля .');< br /> writeln;
writeln;
writeln;
out1:
writeln;
writeln ( 'Введіть кількість видів цінних паперів, з яких ви хочете');
write ( 'сформувати портфель (не більше 10):');
readln (n);
if (nint (n)) or (n> 10) then
begin
  writeln ( 'Помилка введення! Число повинно бути натуральним і менше 10!');
  goto out1;
end;
writeln;

writeln ( 'Введіть ефективності (прибутковості) цінних паперів :');< br />      for i: = 1 to n do
     begin
  E [i, i]: = 1;
  out2:
  write ( '', i, '-ого виду:');
  readln (m [i]);
  if (m [i]
  begin
  writeln ( 'Помилка введення! Число повинно бути позитивним!');
  goto out2;
  end;
     end;
     writeln;
     writeln ('!!! При введенні ризиків і спільних варіацій цінних паперів слід ');
     writeln ( 'бути уважним, тому що програма не розрахована на лінійну');
     writeln ( 'зв'язок дохідності цінних паперів. Тому рекомендується не вводити');
     writeln ( 'пропорційні ризики і спільні варіації цінних паперів !!!');< br />      writeln;
     writeln ( 'Введіть ризик (середнє квадратичне відхилення (СКП)) цінних паперів:');
     for i: = 1 to n do
     begin
  out3:
  write ( '', i, '-ого виду:');
  readln (z);
  if (z
  begin
  writeln ( 'Помилка введення! Число повинно бути позитивним!');
  goto out3;
  end;
  b [i, i]: = z * z;
     end;

     writeln;
     writeln ( 'Введіть спільну варіацію (кореляційний момент) цінних паперів .');< br />      writeln ( 'Вона не повинна бути більше твори СКО цих паперів .');< br />   for i: = 1 to n do
  begin
  for j: = i +1 to n do (введення матриці коваріації)
  begin
    out4:
    write ( '', i, '-го і', j, '-го виду:');
    readln (z);
    if abs (z)> = sqrt (b [i, i]) * sqrt (b [j, j]) then
    begin
    writeln ( 'Помилка введення! Число повинно бути позитивним і менше твори СКО цих паперів!');
    goto out4;
    end;
    b [i, j]: = z;
    b [j, i]: = z;
    if ij then begin E [i, j]: = 0; end;
  end;
  end;
  writeln;
  ma: = 0;
  for i: = 1 to n do
   begin
if m [i]> ma then ma: = m [i];
   end;
    mi: = 100000000;
  for i: = 1 to n do
   begin
if m [i]
   end;
  writeln ( 'Введіть бажану ефективність портфеля.');
  write ( 'Вона повинна бути в межах ефективності цінних паперів:');
  out5:
  readln (mp);
if (mpma) then
  begin
  writeln ( 'Помилка введення !');< br />   write ( 'Число повинно бути в межах ефективності цінних паперів!:');
  goto out5;
  end;
end;


 procedure vivod;
    begin
writeln;
writeln ( 'Структура портфеля. Частки цінних паперів .');< br /> for i: = 1 to n do
begin
  x: = ((mbm-mp * ebm) * be [i] + (mp * ebe-mbe) * bm [i])/(ebe * mbm-mbe * mbe);
  writeln ( '', i, '-го виду:', x: 6:5);
  if x
  begin
  writeln ( 'Так як частка паперів', i, '-го виду негативна, то необхідно');
  writeln ( 'провести операцію "short sale", виключити папери цього виду з портфеля');
  writeln ( 'і вирішити задачу заново .');< br />   end;
end;
writeln;
writeln ( 'Мінімальний ризик портфеля:', sqrt ((mp * mp * ebe-2 * mp * mbe + mbm)/(ebe * mbm-mbe * mbe)): 6:5);
   end;

begin
     clrscr;
     textcolor (yellow);
     textbackground (blue);
     vvod;
     base;
     vivod;
     readln;
end.


Список літератури:

1. Колеман В.А. Математична економіка. М.: «Юнити» 1998.
2. Малихін В.І. Фінансова математика. М.: «Юнити» 2000.

     
 
     
Українські реферати
 
Рефераты
 
Учбовий матеріал
Українські реферати refs.co.ua - це проект, на якому розташовано багато рефератів, контрольних робіт, курсових та дипломних проектів, які доступні для завантаження. Наші реферати - це учбовий матеріал для школярів і студентів. На ньому містяться матеріали, які дозволять Вам дізнатись більше про навколишнє середовище та конкретні науки які викладають у навчальних закладах усіх рівнів.
8.2 of 10 on the basis of 2427 Review.
 

 

 

 

 

 

 

 
 
 
  Українські реферати | Учбовий матеріал | Все права защищены. DMCA.com Protection Status