MKZR:sandbox

Z Skrypty dla studentów Ekonofizyki UPGOW

(Różnice między wersjami)
m (Obligacja ze stałym kuponem)
m (Obligacja ze stałym kuponem)
Linia 34: Linia 34:
octave:157>Bond_Fair_Price(PN,r,C,2)
octave:157>Bond_Fair_Price(PN,r,C,2)
ans =  98.192
ans =  98.192
 +
</source>
 +
 +
W przypadku [[IRF:Analiza_i_wycena_instrument%C3%B3w#Obligacja__zerokuponowa| m wypłat kuponu]] w jednym roku mamy
 +
<source lang="matlab">
 +
function P0=Bond_Fair_Price_multi(PN,r,C,n,m)
 +
  P0 = sum ( (C/m)./(1+r/n).^[1:n] ) + PN/(1+r/m)^n;
 +
endfunction
 +
</source>
 +
 +
a w przypadku [[IRF:Analiza_i_wycena_instrument%C3%B3w#Wycena_przy_kapitalizacji_ci.C4.85g.C5.82ej|kapitalizacji ciągłej]] mamy:
 +
<source lang="matlab">
 +
function P0=Bond_Fair_Price_cont(PN,r,C,t)
 +
  P0 = sum ( (C)*exp(-r*t) ) + PN*exp(-r*t(length(x))
 +
endfunction
</source>
</source>

Wersja z 09:04, 8 cze 2010


Obligacja ze stałym kuponem

Mamy obligację, której emitent zobowiązuje się do płacenia odsetek regularnie raz do roku i zamierza zwrócić zaciągnięte zobowiązanie (wartość nominalną) w chwili wykupu, na koniec życia zobowiązania. Wartość takie obligacji dane jest wzorem

\(\ P_o=\sum\limits_{i=1}^n\frac{C}{(1+r)^i} +\frac{P_N}{(1+r)^n},\)

który możemy zaimplementować jako funkcję w matlabie:

function P0=Bond_Fair_Price(PN,r,C,n)
  P0 = sum ( C./(1+r).^[1:(n-1)] ) + PN/(1+r)^n;
endfunction

Proszę zwrócić uwagę na frangment:

   C./(1+r).^[1:(n-1)]

który tworzy wektor o elementach będących funkcją wskaźnika \(\frac{C}{(1+r)^i} \) dla \(i=1..(n-1)\).


Dysponując tą funkcją przykład ze skryptu Instrumenty Rynku można przeliczyć wywołując:

octave:157>P0=1
octave:157>PN=106
octave:157>r=0.07 
octave:157>C=6
octave:157>Bond_Fair_Price(PN,r,C,2)
ans =  98.192

W przypadku m wypłat kuponu w jednym roku mamy

function P0=Bond_Fair_Price_multi(PN,r,C,n,m)
  P0 = sum ( (C/m)./(1+r/n).^[1:n] ) + PN/(1+r/m)^n;
endfunction

a w przypadku kapitalizacji ciągłej mamy:

function P0=Bond_Fair_Price_cont(PN,r,C,t)
  P0 = sum ( (C)*exp(-r*t) ) + PN*exp(-r*t(length(x))
endfunction

Rentowność obligacji

Stopa zwrotu w terminie do wykupu ( Yield to maturity)


Do tego momenty mówiąc o cenie obligacji używając wzoru:

\(\ P_o=\sum\limits_{i=1}^n\frac{C_i/m}{(1+r/m)^i} +\frac{P_N}{(1+r/m)^n}\)

Wyceniając ciąg płatności zakładaliśmy wartość stopy dyskontowej.


Na rynku mamy sytuacje nieco inna znamy raczej bieżące, ceny rynkowe obligacji. Aby wiec wycenić jej stopę zwrotu czyli stopę od chwili nabycia do końca życia instrumentu powinno się za stronę lewą równania wstawić wartość rynkowa obligacji i wyliczyć stopę zwrotu.

Tak wyliczona stopa zwrotu to jest nic innego niż wewnętrzna stopa zwrotu ( IRR) z inwestycji.

Stopa zwrotu w terminie do dnia wykupu ( YTM) liczona przy założeniu reinwestowania kuponów po rentowności YTM.

Wylicza się rozwiązując powyższe równanie względem r.

Łatwiej jest napisać rozwiązując niż to zrobić. Nie znamy analitycznej postaci rozwiązania - stosuje się w tym przypadku metody przybliżone.


Ryzyko

Duration według Macaulay’a - Duration obligacji przy kapitalizacji dyskretnej