Z Skrypty dla studentów Ekonofizyki UPGOW
(Różnice między wersjami)
|
|
Linia 13: |
Linia 13: |
| | | |
| [[Plik:fair_price.png|thumb|360px|Wykres zależności wartości obligacji od stopy procentowej]] | | [[Plik:fair_price.png|thumb|360px|Wykres zależności wartości obligacji od stopy procentowej]] |
- | Dysponując taką funkcją możemy narysować wykres zależności ceny obligacji od stopy procentowej r:
| |
- | <source lang="matlab">
| |
- | r=linspace(0.01,0.5,25)
| |
- | for i=1:length(r)
| |
- | p(i)=Bond_Fair_Price(100,r(i),7,25);
| |
- | endfor
| |
- | plot(r,p)
| |
- | </source>
| |
- |
| |
- | ''Uwaga: Proszę zwrócić uwagę na fragment:''
| |
- | <source lang="matlab">
| |
- | C./(1+r).^[1:(n-1)]
| |
- | </source>
| |
- | ''który tworzy wektor o elementach będących funkcją wskaźnika''
| |
- |
| |
- | <math>\frac{C}{(1+r)^i} </math> dla <math>i=1..(n-1)</math>.
| |
- |
| |
- | ''Działanie można sobie przećwiczyć na prostym przykładzie:''
| |
- | <source lang="matlab">
| |
- | octave:271> idx=[1:4]
| |
- | idx =
| |
- |
| |
- | 1 2 3 4
| |
- |
| |
- | octave:272> idx.^2
| |
- | ans =
| |
- |
| |
- | 1 4 9 16
| |
- | </source>
| |
- |
| |
- |
| |
- | Przeliczmy teraz [[IRF:Analiza_i_wycena_instrument%C3%B3w#Cena_godziwa_.28fair_price.29|przykład]] ze skryptu Instrumenty Rynku :
| |
- |
| |
- | <source lang="matlab">
| |
- | octave:157>P0=1
| |
- | octave:157>PN=100
| |
- | octave:157>r=0.07
| |
- | octave:157>C=6
| |
- | octave:157>Bond_Fair_Price(PN,r,C,2)
| |
- | ans = 98.192
| |
- | </source>
| |
- |
| |
- | Analogicznie możemy zaimplementować naszą funkcje dla przypadków: [[IRF:Analiza_i_wycena_instrument%C3%B3w#Obligacja__zerokuponowa|m wypłat kuponu]] w jednym roku:
| |
- | <source lang="matlab">
| |
- | function P0=Bond_Fair_Price_multi(PN,r,C,n,m)
| |
- | P0 = sum ( (C/m)./(1+r/m).^[1:n] ) + PN/(1+r/m)^n;
| |
- | endfunction
| |
- | </source>
| |
- |
| |
- | oraz dla [[IRF:Analiza_i_wycena_instrument%C3%B3w#Wycena_przy_kapitalizacji_ci.C4.85g.C5.82ej|kapitalizacji ciągłej]] gdzie mamy:
| |
- | <source lang="matlab">
| |
- | function P0=Bond_Fair_Price_cont(PN,r,C,t)
| |
- | ti=1:floor(t);
| |
- | P0 = sum (C*exp(-r*ti)) + (t-floor(t))*C*exp(-r*t) + PN*exp(-r*t);
| |
- | endfunction
| |
- | </source>
| |
- | [[Plik:fair_price_cont_discr.png|thumb|360px|Wykres zależności wartości obligacji od stopy procentowej: porównanie modeli z kapitalizacjami: ciągłą i dyskretną.]]
| |
Wersja z 08:32, 27 paź 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] ) + PN/(1+r)^n;
endfunction
Wykres zależności wartości obligacji od stopy procentowej