47
EÖTVÖS LORÁND TUDO MÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi problémák megoldásai Maple és más környezetekben Szakdolgozat Témavezető: Pröhle Tamás Valószínűségelméleti és Statisztika Tanszék Budapest, 2010

EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

E Ö T V Ö S L O R Á N D T U D O M Á N Y E G Y E T E M

T E R M É S Z E T T U D O M Á N Y I K A R

Nádas Katalin

Matematika BSc, Matematikai elemző szakirány

Pénzügyi problémák megoldásai

Maple és más környezetekben

Szakdolgozat

Témavezető: Pröhle Tamás

Valószínűségelméleti és Statisztika Tanszék

Budapest, 2010

Page 2: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 2 -

Tartalomjegyzék

1. Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Pénzügyi elmélet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1. Egyedi befektetések kockázatának és hozamának mérése . . 4

2.2. Befektetői magatartás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3. Portfólió hozama és kockázata . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4. Egyedi és piaci kockázat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5. A tőkepiaci árfolyamok modellje . . . . . . . . . . . . . . . . . . . . . . . . . 7

3. A Maple bemutatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1. Történeti áttekintés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2. Alapfunkciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3. Adattípusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4. Grafika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.5. Csomagok – Pénzügyi csomag . . . . . . . . . . . . . . . . . . . . . . . . . 16

4. Más környezetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.1. Microsoft Office Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2. R programnyelv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5. Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.1. Feladatok „papíron” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.2. Megoldások Maple-ben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.3. Feladatok továbbfejlesztése Maple-ben . . . . . . . . . . . . . . . . . 36

5.4. Feladatok megoldása Excelben . . . . . . . . . . . . . . . . . . . . . . . . 40

5.5. Megoldások R-ben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6. Összefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7. Irodalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8. Köszönetnyilvánítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Page 3: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 3 -

1. Bevezetés

„Az emberek szívesebben viselik el a megszokott körülményeket, mint a kockázatvállalást és a

jutalmazást. Érdemes felvállalni a kényelmetlen – kellemetlen helyzeteket, mert akkor fejlődik az

ember, és azokból tanul. Ha tudatosan hozod magadat kellemetlen helyzetbe, idővel cserébe nagy

kényelmet fogsz tudni magadnak biztosítani.” (T. Harv Eker)

„A biztonság többnyire csupán egy babonának tekinthető, mivel a természetben soha sem fordul elő, és

az emberek életében sem tapasztalható. Hosszú távon a veszélyt elkerülni semmivel sem

biztonságosabb, mint szembefordulni vele. Az élet egy merész vállalkozás, vagy egy nagy semmi.”

(Helen Keller)

Napjainkban a pénz világa igen fontos szerepet játszik mindenki életében.

Pénzügyi döntéseiknél mindenképp érdemes megnézni annak kockázatát. Mennyit

nyerhetünk, esetleg veszthetünk egy adott befektetésen? Vajon érdemes-e

kockáztatni? Inkább a biztosabb, de alacsonyabb hozamút válasszuk? Mibe és

mennyit érdemes befektetni? Dolgozatomban ezekre a kérdésekre szeretnék

rávilágítani néhány példán keresztül. Ehhez segítségül hívtam egy számomra

igencsak kedves szoftvert, a Maple-t, amit a tanulmányaim során ismertem meg. Ez

a program könnyen megtanulható, nem szükségesek mély programozási ismeretek

hozzá. Azonban jelenleg Magyarországon még nem igazán ismert, annak ellenére,

hogy a matematika számos területén alkalmazható. Azért is választottam a Maple-t,

hogy egy kevésbé ismert oldaláról is bemutassam, ezzel „reklámozva” a szoftvert.

Page 4: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 4 -

2. Pénzügyi elmélet – kockázat és hozam

A pénzügyek egyik kulcs tényezője a bizonytalanság. A pénzügyi döntések egyik

alapját képzik a kockázatok meghatározása, számszerűsítése, esetlegesen

csökkentése egy adott szintre. A döntések során a különböző kockázatú és hozamú

lehetőségekből kell kiválasztani a legmegfelelőbbet.

2.1. Egyedi befektetések kockázatának és hozamának mérése

A pénzügyek világában kockázaton a jövőbeli pénzáramlások bizonytalanságát

értjük. Pénzügyi befektetéseknél a kockázat azt jelenti, hogy a befektetés tényleges

jövőbeli hozamai eltérnek az elvárt hozamtól. Ez nem csak negatív irányú eltérés

lehet, hanem pozitív is, vagyis a vártnál magasabb hozam is lehetséges.

A pénzügyi kockázat fő jellemzői valószínűségi fogalmakkal írhatóak le. Egy

esemény valószínűsége 0 és 1 közötti érték lehet. A lehetetlen eseménynek 0 a

valószínűsége, a biztos eseménynek pedig 1. A lehetséges kimeneteleket a

valószínűségi eloszlás írja le. Az eloszlásból két fontos statisztikai mutatót lehet

kiszámítani: a várható értéket (jelen esetben a várható hozamot) és a szórást (a

kockázatot).

A hozam várható értéke a valószínűségeikkel súlyozott számtani átlaga az összes

lehetséges hozamnak:

𝐸 𝑟 = 𝑝𝑖 ∙ 𝑟𝑖

𝑛

𝑖=1

𝐸 𝑟 a hozam várható értéke

𝑟𝑖 a hozam i-edik lehetséges kimenete

𝑝𝑖 az i-edik kimenetel valószínűsége

A kockázat annak a valószínűsége, hogy egy befektetés tényleges hozama el fog

térni a várt hozamtól. Ezt a lehetséges hozamok szórásnégyzetével, varianciával

vagy szórásával, átlagos eltéréssel mérjük.

Szórásnégyzet (σ2): a lehetséges hozamok és a várt hozam közötti eltérések

négyzetösszegének valószínűségekkel súlyozott átlaga:

σ𝑟2 = 𝑝𝑖 ∙ [𝑟𝑖 − 𝐸 𝑟 ]2

𝑛

𝑖=1

Page 5: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 5 -

Szórás (σ): a várt hozamtól való eltérések négyzetes átlag:

σ𝑟 = σ𝑟2

Ha 0 a szórás, akkor nincs kockázat, a hozamok biztosak. Minél nagyobb a szórás,

annál változatosabbak a befektetés hozamai, azaz kockázatosabb a befektetés.

2.2. Befektetői magatartás

A befektetőket különböző tényezők befolyásolják. Az egyik ilyen a kockázathoz

való viszonyuk. A legtöbb befektető inkább a biztosabb befektetéseket választja, és

nem vállal felesleges kockázatot, még akkor is, ha magasabb hozamot érhetnének

el a kockázatos befektetéssel. A befektetőket magatartás alapján három csoportba

oszthatjuk:

Kockázatkerülő: az azonos hozamú befektetések közül a kisebb kockázatút

választja, csak akkor vállal nagyobb kockázatot, ha azért többlethozamot kap.

Kockázatkedvelő: a nagyobb kockázat vállalásért nem várnak magasabb

hozamot.

Kockázatelutasító: a befektető számára az alacsony kockázat a meghatározó,

bármekkora hozam esetében.

A három magatartásformát a kockázat-hozam közömbösségi görbék segítségével

ábrázoljuk:

Page 6: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 6 -

2.3. Portfolió hozama és kockázata

A portfólió tágabb értelemben a befektetéseknek összege. A befektetők a

befektetni szánt összeget megosztják a különböző kockázat-hozam tulajdonságú

eszközök között, vagyis diverzifikálják a befektetéseiket.

A portfólió hozama az őt alkotó befektetések várható hozamának súlyozott

számtani átlaga:

𝐸 𝑟𝑝 = 𝑤𝑖 ∙ 𝐸 𝑟𝑖

𝑛

𝑖=1

𝐸 𝑟𝑝 a portfólió várható hozama

𝑤𝑖 az i-edik befektetés súlya a portfólióban

𝐸 𝑟𝑖 az i-edik befektetés várható hozama

A portfóliók szórása a befektetések egyedi szórásától és az egymáshoz viszonyított

változástól függ. Az egymáshoz viszonyított változás mérőszáma a kovariancia,

azaz a tényleges hozamoknak a várható hozamtól való eltéréseinek együttes átlaga.

Egy kételemű portfólió kovarianciája:

𝐶𝑂𝑉𝑋,𝑌 = 𝑤𝑖

𝑖

∙ 𝑟𝑋 − 𝑟𝑋 ∙ (𝑟𝑌 − 𝑟𝑌 )

A kovariancia értéke pozitív, ha a befektetések hozama együtt mozog és negatív, ha

a hozamok alakulása ellentétes. Ha a kovariancia nulla, akkor a befektetések

függetlenek egymásra. Az egyes befektetések hozamai közötti kapcsolatot a

lineáris korrelációs együttható fejezi ki. A és B befektetés közötti lineáris

korrelációs a következő képen számítható ki:

𝜌𝐴,𝐵 =𝐶𝑂𝑉𝐴,𝐵

𝜎𝐴 ∙ 𝜎𝐵

Ez az érték -1 és +1 közötti értéket vehet fel. Minél közelebb esik az abszolút értéke

az 1-hez, annál szorosabb a kapcsolat.

A kételemű portfólió szórásnégyzete:

𝜎𝑝2 = (𝑤𝐴 ∙ 𝜎𝐴)2 + 2 ∙ 𝜌𝐴,𝐵 ∙ 𝑤𝐴 ∙ 𝜎𝐴 ∙ 𝑤𝐵 ∙ 𝜎𝐵 + (𝑤𝐵 ∙ 𝜎𝐵)2

𝜎𝑝2 = (𝑤𝐴 ∙ 𝜎𝐴)2 + 2 ∙ 𝐶𝑂𝑉𝐴,𝐵 ∙ 𝑤𝐴 ∙ 𝑤𝐵 + (𝑤𝐵 ∙ 𝜎𝐵)2

Page 7: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 7 -

Többelemű portfólió szórása:

𝜎𝑝 = 𝑤𝑖 ∙ 𝑤𝑗 ∙ 𝐶𝑂𝑉𝑖,𝑗

𝑗𝑖

𝜎𝑝 = 𝑤𝑖 ∙ 𝑤𝑗 ∙ 𝜌𝑖 ,𝑗 ∙ 𝜎𝑖 ∙ 𝜎𝑗𝑗𝑖

2.4. Egyedi és piaci kockázat

Kockázaton egy pénzügyi eszköz vagy portfólió tényleges hozama és a várható

hozama közötti eltérést értjük. A tőzsdén forgalmazott részvények hozama két

részre bontható. Az egyik a várható hozam, a másik a kockázatos hozam. A

kockázatos hozam a piaci váratlan eseményektől függ. Megkülönböztetünk egyedi

és piaci kockázatot attól függően, hogy a vállalatok mekkora körét érintik a

kockázati tényezők.

Egyedi kockázat: csak egy adott cégre vonatkozó kockázat. Ez csökkenthető a

befektetések megosztásával, vagyis a kockázat diverzifikálható.

Piaci kockázat: a kockázat az a része, mely diverzifikáció ellenére sem

kerülhető el

A portfólió kialakításakor fontos tényező, hogy hányfajta részvénytípus legyen

benne. A részvényfajták növelése csökkenti a kockázatot. Azonban az egyelemű

portfólió kockázata az egyedi kockázattal, illetve az olyan portfólió a kockázata,

melyben az összes részvényfajta szerepel, a piaci kockázattal egyenlő. A köztes

számú portfóliók kockázata az egyedi és a piaci kockázat között helyezkedik el:

2.5. A tőkepiaci árfolyamok modellje

(CAPM - Capital Asset Pricing Model)

A CAPM modell a tőkepiaci egyensúly jellemzőit vizsgálja. Feltételezései:

Tökéletes tőkepiac.

Sok, egymástól független kis befektető.

Kockázatkerülő magatartás.

A várható hozam és kockázat optimalizálása.

Page 8: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 8 -

Homogén várakozások, vagyis a befektetők azonosan vélekednek a

befektetések hozamának együttes valószínűség eloszlásáról.

Nyilvános kereskedés

Minden csere szabad

Nincsenek adók és tranzakciós költségek

Korlátozás nélkül elérhető minden információ mindenki számára

A pénzügyi eszközök korlátlanul oszthatóak

Van olyan kockázatmentes kamatláb, amely mellett bárki kölcsönt nyújthat és

kölcsönt vehet fel, és ez minden befektető számára azonos

Egyes pénzügyi eszközök eltérő módon reagálnak a piaci hozamok változására, ezt

a piaci kockázat mérőszáma írja le. Jelölése: β, béta.

𝛽𝑖 =𝐶𝑂𝑉𝑖,𝑀

𝜎𝑀2

Egy befektetés bétája azt jelenti, hogy a piaci hozam egy százalékos változása

esetén az adott befektetés hozama hány százalékkal változik. Egy befektetés elvárt

hozama a következőkép számítható ki:

𝑟𝑖 = 𝑟𝑓 + 𝛽𝑖 ∙ (𝑟𝑚 − 𝑟𝑓)

𝑟𝑖 az i befektetés hozama

𝛽𝑖 az i befektetés bétája

𝑟𝑓 a kockázatmentes hozam, ahol β=0 (pl. állampapírok)

𝑟𝑚 a piaci hozam

A béta ezen felül megmutatja, hogy az egyes befektetések és a piaci hozamok

közötti milyen irányú és nagyságú kapcsolat van. A befektetés hozama és a piaci

hozam azonos irányban változik, ha pozitív, ellentétes irányban, ha negatív. A

befektetés hozamának változása nagyobb, mint a piaci hozam változása, ha a béta

értéke 1-nél nagyobb, kisebb, ha 0 és 1 közötti. A piaci portfólió bétája 1, a

kockázatmentes befektetéseké pedig 0.

Page 9: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 9 -

3. A Maple bemutatása

3.1. Történeti áttekintés

A Maple első koncepciója 1980 novemberében alakult ki, a Waterlooi egyetemen. A

kezdeti fejlesztés nagyon gyorsan haladt, az első korlátozott kiadása 1980

decemberében jelent meg, és először egy konferencián mutatták be 1982-ben. A

nevét a kanadai nemzeti szimbólum (juharfalevél) angol nevéből kapta. 1983

végére már több mint 50 egyetem számítógéprendszerére fel volt telepítve a

program. Megalapították a Waterloo Maple Inc.-t, mely fő céljai a szoftver

osztályozása, illetve, hogy legyen egy részlege, ahol a folyamatos fejlesztés folyik.

1989-ben fejlesztették ki az első grafikusan használható kezelőfelületet. 1999-ben

jött ki a Maple 6, mely a numerikus NAG csomag beépítése miatt vált ismerté.

2003-ban mutatták be a Maple 9-et, ami a jelenlegi általános interfészt

tartalmazza. Ezt már Java környezetben fejlesztették. 2008-ban jelent meg a Maple

12, és 2009-ben a 13. Hivatalos weboldal: http://www.maplesoft.com/

3.2. Alapfunkciók

3.2.1. Ismerkedés a rendszerrel

Page 10: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 10 -

Minden parancs egy > jellel kezdődik és kétféleképen végződhet. Lezárásként a ; jel

az eredmény kiírására szolgál, a : jel pedig elvégzi a műveletet, de nem írja ki. Egy

sorban több parancs is szerepelhet. Enter hatására új parancssor kezdődik. Ha

hosszú parancsot akarunk megadni, az áttekinthetőség megkönnyítése érdekében

kezdhetünk új sort a parancson belül a SHIFT+ENTER kombinációval.

Az aritmetikai műveletei jelek:

összeadás: +

kivonás: -

szorzás: *

osztás: /

értékadás: :=

hatványozás: ^ vagy **

faktoriális: !

zárójelezés: ( )

A zárójelezés és a műveleti sorrend a szokásos. A [ ] és a { } alakú zárójeleknek

külön szerepe van, egyszerű zárójeleknek nem használhatóak.

Néhány változó és szimbólum, amit a Maple ismer:

π Jelölése: Pi

e Jelölése: E

−1 Jelölése: I

∞ Jelölése: infinity

Ezen a változókat más értelemben nem érdemes használni, mivel az hibát

eredményezhet.

A % jel az előző eredményt adja vissza. Ahány % jel van egymás mellett, annyival

azelőtti eredményt adja meg. Az értékek addig bennmaradnak a memóriában, amíg

nem töröljük azokat. A restart; paranccsal az összes kiszámított eredményt

töröljük a memóriából, így a munkalapot alaphelyzetbe állíthatjuk. Megjegyzéseket

a # jel után írhatunk. A bevitelt és az eredmény tudjuk manuálisan formázni is.,

amit a Format menüsorral érhetjük el.

3.2.2. Függvények és egyenletek

Definiálhatunk egy- és többváltozós függvényeket, majd megadhatjuk ezek

helyettesítési értéket egy-egy pontban, mint a következő példákban:

> f := x -> 1/x; f(2);

> g := (x,y) -> x^2 + y; g(2,3);

Page 11: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 11 -

A Maple-be nagyon sok függvény is be van építve, így ezeket nem kell külön

definiálni. Néhány fontosabb:

exponenciális: exp(x)

logaritmus: ln(x)

négyzetgyökvonás: sqrt(x)

abszolút érték: abs(x)

szinusz: sin(x)

koszinusz: cos(x)

tangens: tan(x)

kotangens: cot(x)

arkusz szinusz: arcsin(x)

arkusz koszinusz: arccos(x)

arkusz tangens: arctan(x)

arkusz kotangens: arccot(x)

szinusz hiperbolikusz: sinh(x)

koszinusz hiperbolikusz: cosh(x)

tangens hiperbolikusz: tanh(x)

kotangens hiperbolikusz: coth(x)

A matematikában gyakran találkozunk egyenletekkel, egyenlőtlenségekkel.

Egyenlőtlenségeknél a <, >, <=, >= jeleket használjuk. Ezeket a solve()

paranccsal oldhatjuk meg. A következő utasításokban egy egyenletet és egy

egyenlőtlenséget definiálunk, majd megoldjuk őket:

> a:= x+4 = 0; b:= x+4 > 0;

> solve(a); solve(b);

3.3. Adattípusok

Sok függvény kér különböző típusú változókat bemenetként vagy ad vissza

eredményként. Mint más programozási nyelvekben, a Maple-ben is megtalálhatóak

a megszokott adattípusok. Ezek rögzítik, hogy az adatok milyen értékeket vehetnek

fel, vagy milyen műveleteket lehet végezni velük. Maple-ben egy változó adattípusa

menet közben változhat attól függően, hogy milyen értéket kap. Egy adat típusát a

következő három paranccsal tudhatjuk meg: whattype, type, hastype. Léteznek

egyszerű és összetett adattípusok. Egyszerű adattípusok: egész (integer), tört

(fraction), lebegőpontos (float), komplex (complex), sztring (string), reláció

(relation), logikai (boolean), tartomány (range). Összetett adattípusok:

kifejezés sorozat (exprseq), halmaz (set), lista (list), tömb (array), vektor

(vector), mátrix (matrix). Nézzünk néhány gyakran használt adattípust.

Page 12: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 12 -

3.3.1. Egészek és törtek

A számjegyek száma rendszerfüggő, de sokkal nagyobb, mint más programozási

nyelvekben, akár 500 ezernél is több számjegy szerepelhet.

> c:=12345;

> whattype(c);

> type(c,integer);

A törteket ugyanúgy ábrázolja a rendszer, ezért ugyan az vonatkozik a

pontosságukra, mint az egészekre.

> d:=1/2;

> whattype(d);

> type(d,integer);

> type(d,fraction);

3.3.2. Tartomány

Tartományoknál egy változó fut végig egy bizonyos intervallumon. A ..-al képezzük.

Például vegyük 1-től 10-ig a számok összegét:

> sum(i,i=1..10);

3.3.3. Sztringek

Bármilyen karaktersorozat ” ” jel közé fogva. Elemei indexelés segítségével érhetők

el, és az egyes sztringeket a cat függvénnyel lehet összekapcsolni.

> s:="ez egy szöveg";

> s[8..13];

> s1:="első rész": s2:="második rész": cat(s1,", ",s2);

Page 13: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 13 -

3.3.4. Kifejezés sorozat

Kifejezések egymásutánja ,-vel elválasztva. [t] az 1, 2 ,3 elemeket tartalmazó lista,

{t} ugyanezeket tartalmazó halmaz lesz, h(t) pedig alkalmazkodik a sorozatra.

> t:=1,2,3;

> max(t);

Sorozatot a seq függvénnyel is megadhatunk, illetve az ismétlés jele a $.

> seq(h(i),i=1..5);

> x$4;

Elemeit indexeléssel tudjuk kiválasztani t[i], t[i..j]. A sorozat hossza pedig a

nops([t])-vel kapható meg. Az üres sorozatot a NULL jelöli.

3.3.5. Vektorok és mátrixok

A vektorok és mátrixok kétféleképen érhető el a linalg programcsomagból. A

csomag nevét tartalmazó kibővített utasítással, vagy bekapcsoljuk magát a

programcsomagot. Vektornál elég az elemeit felsorolni egy listában. A képernyőre

sorvektorokként írja ki a rendszer, azonban oszlopvektorként számol velük.

Mátrixoknál meg kell adni hány sorból és oszlopból áll, egy listával az elemeit. Az

evalm paranccsal a szokásos műveletek is érvényesek. A mátrix-szorzás jele: &*.

> v1:=linalg[vector]([1,2,3]);

> with(linalg): v2:=vector([3,2,1]);

> M:=matrix(2,3, [v1,v2]);

> v:=evalm(v1+v2);

> evalm(3*v1);

> evalm(M&*v);

Page 14: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 14 -

3.4. Grafika

A Maple nemcsak számolni tud, hanem a legkülönfélébb 2 dimenziós és 3

dimenzós grafikákat is megjeleníti. Többféle koordináta rendszerben (derékszögű,

polár, henger, gömbi) és ábrázolásmóddal (programozható színezés, választható

nézőpont, szintvonalak) egyetlen paranccsal és megfelelő paraméterezéssel tudja

ábrázolni a differenciálegyenletek megoldásait, statisztikai eredményeket,

geometriai felületeket, és nem utolsósorban mindenféle függvényeket. Azonban

nem csak rajzolni tudunk vele, hanem kisebb animációkat is elkészíthetünk.

A kirajzolási forma módosítható opciókon keresztül. Ezen opciók közül néhány

fontosabb:

scaling: constrained-re a tengelyeken azonos lépteket használ.

thickness: vonalvastagság.

discont: ha true, akkor figyeli a szakadási helyeket.

numpoints: minimum hány helyen számítja ki a függvényértékeket, ezek

között a rendszer lineárisan közelít. Minél nagyobbra állítjuk, annál szebb

lehet a rajz, viszont időben is tovább fog tartani a kirajzolás.

color: szín, megadhatunk előre megadott színeket, ezeket a ?plot,color;

paranccsal kérdezhetjük le, vagy RGB színekből ki is keverhetjük.

axes: tengelyek fajtája. Lehetséges értékei: frame, boxed, normal, none.

alapértelmezés 2 dimenzióban a normal, 3 dimenzióban a none.

title: a rajz címe.

labels: a különböző tengelyek feliratai.

A további opciókat a következő parancsokkal érhetünk el, 2D-ben

?plot[options]; 3D-ben: ?plot3d[options];

3.4.1. Kétdimenziós rajzok

2D-s rajzokat a plot paranccsal készíthetünk. A rajzolás egyik alapmódja pedig:

plot(f(x), x=a..b, opciók); parancs, mikor először megadjuk a függvényt,

az értelmezési tartományt majd a kívánt opciókat vesszővel elválasztva. Az ábrát

az enter lenyomása után is módosíthatjuk még manuálisan.

Page 15: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 15 -

> plot(sin(x), x=0..2*Pi, scaling=constrained, thickness=2,

color=blue);

3.4.2. Háromdimenziós grafika

3D rajzokat a plot3d nevű paranccsal készíthetünk. Megadásának egyik

alapmódja hasonlít a kétdimenzióshoz: plot3d(f(x,y), x=a..b, y=c..d,

opciók);. A másik gyakran használt módszer a paraméteres. A kirakott felület

egérrel forgatható, és sok minden utólag beállítható kézileg is.

> plot3d(x^2+y^2,x=-2..2,y=-2..2,transparency=0.3);

> plot3d([cos(u)*cos(v), sin(u)*cos(v), sin(v)], u=Pi/4..2*Pi, v=-Pi/2..Pi/2, scaling=constrained, shading=xy);

Page 16: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 16 -

3.5. Csomagok – Pénzügyi csomag

A Maple alaptudásán kívüli függvények csomagokba vannak rendezve. Ezek a

csomagok with(csomagnév); paranccsal érhetőek el. Ha ;-al zárjuk le, akkor

kiírja az összes benne lévő függvény nevét, amelyek ugyanúgy használhatóak

mintha azok a Maple beépített tudásának a részét képeznék. Abban az esetben, ha

csak egy függvényre van szükségünk egy adott programcsomagból, akkor azt az

egész csomag beolvasása nélkül is elérhetjük a következő módon:

csomagnév[függvény](argumentum);.

Néhány gyakran használt csomag:

codegen: átjárás Maple-ből más nyelvek felé

linalg: lineáris algebra

combinat: kombinatorika

networks: gráfelmélet

plots: grafika

stats: statisztika

finance: gazdasági számítások

Az összes csomag elérhető a ?index,package; paranccsal.

Pénzügyi csomag áttekintése

A pénzügyi csomagban gazdasági számításokkal kapcsolatos parancsok vannak.

Mint minden egyes csomagban itt is egy hosszabb és egy rövidebb formában

érhetőek el a parancsok. Hosszabb változat: finance[függvény](argumentum),

rövidebb változat: függvény(argumentum). Magát a programcsomagot a

with(finance); paranccsal lehet beolvasni.

> with(finance);

Segít különböző pénzügyi számítások kivitelezésében. Például segítségével

pénzáramlásokat figyelhetünk meg, kiszámítható egy fix mennyiség jelen- és

jövőbeli értéke egy adott kamatos kamatra, megadható annuitások, növekvő

annuitások, örökjáradékok, növekvő örökjáradékok értéke, továbbá kötvények

hozamát és értékét számolhatjuk ki és készíthetünk amortizációs táblát is.

Page 17: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 17 -

3.5.1. Megállapított kamat átalakítása tényleges kamatlábbá

finance[effectiverate]

Függvény parancsa és paraméterei: effectiverate(kamatláb, periódus). A

periódus az adott időszakon belüli kamatozások számát jelöli. Ezt végtelennek

adjuk meg, ha folyamatos a kamatozás.

Példa:

Egy adott hitel 12%-os havi kamatozású. A tényeges kamat így 1%, 12-szer

kamatozva.

Megoldás:

> (1+0.12/12)^12-1;

Ugyanezt az eredményt kapjuk a függvénnyel is:

> effectiverate(0.12, 12);

Folyamatos kamatozás esetén:

> effectiverate(0.12, infinity);

3.5.2. Jelenérték

finance[presentvalue]

Függvény parancsa és paraméterei: presentvalue(összeg, kamat,

időszakok száma). A jelenérték fogalom valószínűleg a legfontosabb elmélet a

pénzügyi csomagban. Lehetővé teszi a pénz időértékének megfelelő elszámolását.

Példa:

3 év múlva 100 $-ra lesz szükségem 12%-ot kapok évente a banktól. Mennyit kell

ma letétbe helyeznem, hogy a megadott idő elteltével a kívánt összeget

megkapjam.

Megoldás:

> 100/(1+0.12)^3;

Ugyanez a függvénnyel:

> presentvalue(100, .12, 3);

Page 18: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 18 -

Tegyük fel, hogy havonta kamatozik:

> presentvalue(100, effectiverate(0.12, 12), 3);

A rövidebb időközönkénti kamatozás hatása jól látszik.

3.5.3. Jövőérték és jelenérték

finance[futurevalue] és finance[presentvalue]

Függvények parancsa és paraméterei: futurevalue(összeg, kamatláb,

időszakok száma), illetve presentvalue(összeg, kamatláb, időszakok

száma). A futurevalue() függvény az összeget a jövőbe, a presentvalue()

pedig a múltba viszi.

Példa:

Mekkora lesz 1000 $ három év múlva, ha évente fektetem be 6%-os kamattal?

Megoldás:

> futurevalue(1000, 0.06, 3);

3.5.4. Pénzáramlások jelenértéke

finance[cashflows]

Függvény parancsa és paraméterei: cashflows(pénzáramlás, kamat). Ez a

függvény egy pénzáramlás listájának a jelenértékét számolja ki. A forgalomnak az

első fizetési időszakkal kell kezdődnie.

Példa:

Mi a jelenértéke annak a pénzáramlásnak, melynél a következő év végén 1000 $-t,

majd a következő 2 év végén 2000 $-t és 500 $-t fogunk kapni, a kamatláb pedig

10%.

Megoldás:

> cashflows([1000, 2000, 500], 0.1);

Ha ezt a pénzáramlást egy 950 $-ral kezdő befektetéséből nyerjük, akkor a nettó

jelenérték:

> -950+cashflows([1000, 2000, 500], 0.1);

Page 19: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 19 -

3.5.5. Hiteltörlesztési táblázat

finance[amortization]

Függvény parancsa és paraméterei: amortization(hitelösszeg,

kifizetések nagysága mérték, kamatláb, periódus). A hitelek

visszafizetésének legáltalánosabb módszere, mely általában egyenlő összegű, adott

kamatlábú periodikus befizetéseken keresztül törleszt. A periódus kifizetések

maximális számát jelöli, az alapértelmezett beállítása a végtelen. A parancs akkor

áll csak meg, ha az egyenleg eléri a nullát. Az eredmény két része: egy törlesztési

táblázat és a hitelköltség. A törlesztési táblázat listája öt elemből ál: a periódus

száma, fizetés összege, az adott időszakra vonatkozó kamat, a tőkét csökkentő

összeg (növeli, ha negatív), az új egyenleg. A hitelköltség pedig a harmadik oszlop

összege.

Példa:

Vegyünk egy 1000 $-os hitelt évi 10%-os kamattal, amit 500 $-os év végi

befizetéseken keresztül amortizálunk, amíg az szükséges.

Megoldás:

> amortization(1000.00, 500.00, 0.10);

Ebből láthatjuk, hogy három fizetés szükséges. Az utolsó 176 $. A hitelköltség

pedig, 176 $.

3.5.6. Örökjáradék –

finance[perpetuity]

Függvény parancsa és paraméterei: perpetuity(kifizetés összege, kamat).

Ez a függvény egy adott összeget fizető örökjáradéknak a jelenértékét számolja ki.

Örökjáradékra példa egy részvény, ami évről évre ugyanannyi osztalékot fizet.

Példa:

Egy ABC részvényért 1,5 $ osztalékot fizetnek évente. 11%-os diszkontráta esetén

mi a részvényenkénti jelenértéke ezeknek az osztalékoknak?

Megoldás:

> perpetuity( 1.5, 0.11 );

Page 20: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 20 -

3.5.7. Egyenletesen növekvő örökjáradék

finance[growingperpetuity]

Függvény parancsa és paraméterei: growingperpetuity(összeg, kamatláb,

növekedési mérték). Annak az örökjáradéknak a jelenértékét számolja ki,

amelynek az első kifizetése a következő időszakban történik, és ez a kifizetései

összeg időszakonként egy adott százalékkal nő.

Példa:

XYZ cégnél lévő részvények után minden évben osztalékot fizetnek. A következő

osztalék 1,5 $ lesz. Az évi osztalékok várhatóan 2%-kal növekednek évente. Mi a

részvényenkénti osztalékok jelenértéke, ha a diszkont ráta 11%?

Megoldás:

> growingperpetuity( 1.5, 0.11, 0.02 );

3.5.8. Annuitás, járadék

finance[annuity]

Függvény parancsa és paraméterei: annuity(pénzáramlás, kamatláb,

periódus). A járadékfüggvény annak az annuitásnak a jelenértékét adja meg,

amelyben egy adott időszakban, periódusonként egy fix pénzáramlás megy végbe,

és az első fizetés az első periódusban esedékes.

Példa:

Mi a 15 évig évente 1000 $-t fizető, következő évben induló annuitás jelenértéke?

A kamatláb évi 10%.

Megoldás:

> annuity(1000, .10, 15);

Példa:

Egy 1000 $ értékű, félévente kamatozó hitelt 2 éven keresztül, évi 10%

kamatlábbal, havi befizetéssel kell törleszteni. Ebben az esetben 2 *12 törlesztés

van, a féléves kamatláb pedig 5% (10% / 2).

Megoldás:

> periodusok:=2*12;

Page 21: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 21 -

Keressük meg azt a tényleges havi kamatlábat, amivel megkapjuk az 5%-os értéket.

> tenyleges_kamatlab:=fsolve(effectiverate(r,6)=0.05,r, 0..0.5)/6;

Ellenőrzés: 1 $ jövőbeni értékének 6 hónap után 1,05-nek kell lennie.

> futurevalue(1, tenyleges_kamatlab, 6);

1 $ járadék értéke 2 éven keresztül, havonta fizetve, a kiszámított kamatlábbal

tehát:

> A:=annuity(1, tenyleges_kamatlab, periodusok);

Így szükséges havi, és az összes fizetés összege:

> P:=1000/A; Total:=P*periodusok;

3.5.9. Egyenletesen növekvő annuitás

finance[growingannuity]

Függvény parancsa és paraméterei: growingannuity(összeg, kamatláb,

növekedési mérték, fizetések száma). Hasonló, mint az annuitás, csak itt a

kifizetések összege egy adott százalékkal növekszik időszakonként.

Példa:

Van egy befektetés, ami 5 évig fizet évente. Az első kifizetés, 100 $ a következő

évben lesz, és arra számítunk, hogy ez évente 3%-kal növekedni fog. A kamatláb

11%. Mi a befektetés jelenértéke?

Megoldás:

Ezt két féle képen is ki lehet számolni. Az egyik a kifizetések listájával

> cf:=[100, 100*1.03, 100*1.03^2, 100*1.03^3, 100*1.03^4];

> i:='i': cf:=[seq(futurevalue(100,0.03,i), i=0..4)];

> cashflows(cf, 0.11);

A másik megoldás, az adott függvénnyel:

> growingannuity(100, .11, .03, 5);

Page 22: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 22 -

3.5.10. Kötvények jelenértéke

finance[levelcoupon]

Függvény parancsa és paraméterei: levelcoupon(névérték, kamatláb,

szelvényráta, időszakok száma a lejáratig). Ez a függvény kiszámolja

egy kötvény jelenértékét.

Példa:

Egy 1000 $ névértékű kötvény éves szelvényrátája 12%. A kupon évente kétszer

fizet. A lejárat 3 év. Mi a kötvénynek a jelenértéke, ha a kamatláb jelenleg 10%, ami

félévente kamatozik?

Megoldás:

6 időszak van a lejáratig.

> levelcoupon(1000, 0.10/2, 0.12/2, 6);

Ha a kötvény kamatlába annyi, mint a szelvényrátája, akkor a kötvényt névértéken

számítjuk.

> levelcoupon(1000, 0.12/2, 0.12/2, 6);

Most emeljük 14%-ra kamatlábat:

> levelcoupon(1000, 0.14/2, 0.12/2, 6);

Ezzel azt láthattuk, hogy növekvő kamatláb mellett a kötvény névértéke csökken.

3.5.11. Lejáratig számított hozam egy kötvénynél

finance[yieldtomaturity]

Függvény parancsa és paraméterei: yieldtomaturity(kötvény

jelenértéke, névértéke, szelvényráta, időszakok száma lejáratig).

Ez a függvény megadja egy kötvény kamatlábát, ha ismert a kötvény jelenértéke,

névértéke, szelvényrátája és a lejáratig az időszakok száma. Ez a függvény

szorosan kapcsolódik a levelcoupon() függvényhez.

Példa:

Van egy 1000 $ névértékű kötvény évi 12%-os kamatot fizet. Kupont évente

kétszer fizet. A lejárat 3 év múlva esedékes. Mi a lejáratig számított hozama, ha

évente kétszer kamatozik és a jelenértéke 1050,75 $?

Page 23: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 23 -

Megoldás:

6 időszak van a lejáratig

> yieldtomaturity( 1050.75, 1000, 0.12/2, 6 );

A hozam félévente 5%, így:

> %*2;

10% évente. Ha a jelenérték egyenlő a névértékkel:

> yieldtomaturity(1000, 1000, 0.12/2, 6) * 2;

Vagyis a hozam megegyezik a szelvényrátával, ha a kötvényt a névértékén

értékeljük. (A kétszeres szorzóval a féléves kamatot évessé alakítjuk.)

Ha a jelenérték a névérték alá csökken:

> yieldtomaturity( 952.33, 1000, 0.12/2, 6) * 2;

Ez a példa azt mutatja meg, hogy a hozam nő, ha a kötvény értéke csökken.

Page 24: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 24 -

4. Más környezetek

A Maple programon kívül még nagyon sok matematikai szoftver létezik. Azonban

kevés az olyan rendszer, amelyben a numerikus rész és a grafikus rész is

ugyanolyan mértékben szerepelne. Néhány matematikai szoftver:

Szoftver Ingyenes? hivatalos oldal

Matlab nem http://www.mathworks.com/products/matlab/

Octave igen http://www.gnu.org/software/octave/

FreeMat igen http://freemat.sourceforge.net/

Scilab igen http://www.scilab.org/

Weka igen http://www.cs.waikato.ac.nz/ml/weka/

R programnyelv igen http://www.r-project.org/

Mathematica nem http://www.wolfram.com/products/mathematica/

GAUSS nem http://www.aptech.com/

MS Office Excel nem http://office.microsoft.com

4.1. Microsoft Office Excel

A Microsoft Excel táblázatkezelő igen közismert és közkedvelt program. Jelenleg a

legújabb változata a 2007-es, ami a Microsoft Office 2007 programcsomag tagja.

Az Excel létrehoz egy nagyméretű táblázatot, munkalapot, amely az adatok

tárolására, és a velük való műveletekre és analízisek elvégzésére szolgáló

dokumentum. Az adatok sorok és oszlopok által meghatározott, sorszámozott

cellákba kerülnek. A cellák tartalmazhatnak hivatkozásokat más cellák tartalmára,

ezért 1-1 adat módosulásakor nem kell újra mindent kiszámolni. Készíthetünk

velük egyszerű függvényeket, diagramokat, azonban bonyolultabb grafikai

megjelenítésre nem a legalkalmasabb. Ezen kívül még az Excelnek sok

hiányossága, hibája is van. Hiányzó adatok helytelen kezelése, hibás értékek

visszaadása a helytelen kerekítés miatt, a nagy számok nem megfelelő kezelése,

különböző függvények fordításából eredő hibák. Az Excelt számos ágazatokban

használják: matematikai és pénzügyi számítások, szimulációs számítások,

statisztikák, adatelemzések, optimalizálás. Az összes általa használt függvény

megtekinthető a Microsoft Office hivatalos oldalán.

Page 25: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 25 -

Pénzügyi függvények használatakor érdemes a következőket figyelembe venni:

Ha egy adott pénzügyi függvény nem áll rendelkezésre és a #NÉV? hibát adja

eredményül, akkor telepítsük és töltsük be az Analysis ToolPak bővítményt.

Az általunk kifizetésre kerülő összegek (például a bankbetétre befizetett pénz)

negatív értékkel szerepelnek; a hozzánk befolyó összegeket (például a kapott

osztalék) pozitív számok jelzik.

A dátumok sorszámként vannak tárolva, így műveletek hajthatók végre rajtuk.

Alapértelmezés szerint 1900. január 1. az 1-es sorszám, míg például a 2008.

január 1. dátumhoz 39448 tartozik, mivel 39448 nap a két dátum között. Ezért

a dátumokat a DÁTUM függvénnyel érdemes bevinni, illetve más képletek vagy

függvények eredményeként használni. Szövegként történő beírásuk hibát

okozhat.

Az időszakonkénti kamatláb (ráta) és a periódusok száma (időszakok_száma)

meghatározásakor ügyelni kell arra, hogy a periódusok milyen hosszúságúak.

Ha például egy négy éves, 10%-os éves kamatrátájú kölcsön havi törlesztő

részletét szeretnénk kiszámolni, a ráta: 10%/12, az időszakok_száma: 4*12. Ha

ugyanezt a kölcsönt éves részletekben törlesztjük, a ráta 10%, az

időszakok_száma 4 lesz.

Néhány pénzügyi függvény:

4.1.1. Jelenérték – MÉ

Megadja, hogy egyes jövőbeni törlesztések összesítve mennyit érnek ma. Szintaxis:

MÉ(ráta;időszakok_száma;részlet;jövőbeli_érték;típus). Angol megfelelője: PV( ).

Argumentumok:

ráta: kamatláb

időszakok_száma: hány kifizetés történik

részlet: fizetési időszakokban esedékes kifizetés, ez az összeg állandó.

jövőbeli_érték: az utolsó részlet kifizetése után elérni kívánt összeg. Ha

elhagyjuk, a program 0-nak tekinti, ebben az esetben a részletet mindenképp

meg kell adni.

típus: a részletek fizetés módját adja meg. Ha értéke 0 vagy hiányzik, akkor az

időszak végén, ha 1 akkor az elején kell fizetni

Page 26: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 26 -

4.1.2. Nettó jelenérték – NMÉ

Egy befektetéshez kapcsolódó pénzáramlás nettó jelenértékét adja meg, vagyis a

jövőbeni kifizetések (negatív értékek) és bevételek (pozitív értékek) összességét.

Szintaxis: NMÉ(ráta;érték1;érték2;...). Angol megfelelője: NPV( ).

Argumentumok:

érték1;érték2;… : legalább 1, legfeljebb 29 értéket tartalmazó pénzáramlás.

Ezek egyenlő időközönként a megfelelő időrendben felsorolva, és az

időszakok végén következnek be.

4.1.3. Jövőérték – JBÉ

Egy befektetés jövőbeli értéke, periodikus, állandó összegű kifizetések és állandó

kamatláb mellett. Szintaxis: JBÉ(ráta;időszakok_száma;részlet;mai_érték;típus).

Angol megfelelője: FV( ).

Argumentumok:

részlet: általában csak a tőke- és kamattörlesztés összegét tartalmazza, nem

tartalmaz egyéb költségeket és adókat

mai_érték: a jövőbeli kifizetések jelenértéke, vagyis az a jelenbéli egyösszegű

kifizetés, ez egyenértékű a jövőbeli kifizetések összegével. Az értéke 0 az

alapértelmezésben.

4.1.4. Törlesztési időszakok – PER.SZÁM

Törlesztési időszakok szám állandó kamatláb és adott nagyságú törlesztő részletek

mellett. Szintaxis: PER.SZÁM(ráta;részlet;mai_érték;jövőbeli_érték;típus). Angol

megfelelője: NPER( ).

Argumentumok:

jövőbeli_érték: az utolsó részlet kifizetése után elérni kívánt összeg. Ha a

elhagyjuk, a program 0-nak tekinti. Például egy kölcsön jövőbeli értéke 0.

4.1.5. Kamatláb – RÁTA

Egy törlesztési időszakban az egy időszakra eső kamatláb nagysága. Szintaxis:

RÁTA(időszakok_száma;részlet;mai_érték;jövőbeli_érték;típus;becslés). Mely angol

megfelelője: RATE ( ). Argumentumok:

becslés: a kamatláb nagyságának becslése. Alapértelmezésben ez 10%.

Page 27: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 27 -

4.1.6. Tényleges és névleges kamatláb – EFFECT és NOMINAL

Tényleges és névleges kamatláb szoros kapcsolatban vannak. Egymás segítségével

számítjuk ki őket. Szintaxisok: EFFECT(névleges_kamatláb;időszak_per_év), illetve

NOMINAL(tényleges_kamatláb;időszak_per_év). Nincs magyar megfelelőjük.

Argumentumok:

időszak_per_év: az évenkénti tőkésítési időszakok száma. Ennél az

argumentumnál a függvények az egészérték részt veszi figyelembe.

4.1.7. Belső megtérülési ráta – BMR

A megadott pénzáramlás-számsor (cash flow) belső megtérülési rátáját számítja ki.

A pénzáramlás értékeinek nem kell egyenlőknek lenniük, azonban szabályos

időközönként kell megjelenniük. A belső megtérülési ráta egy befektetés

eredményeképp előálló, periodikusan jelentkező bevételeken keresztül elért

kamatláb. Szintaxis: BMR(értékek;becslés). Angol megfelelője: IRR( )

Argumentumok:

értékek: a pénzáramlás értékeit tartalmazó cellákra való hivatkozás.

Legalább egy pozitív és egy negatív számot kell tartalmaznia. A függvény

figyelembe veszi a számok sorrendjét. Ezért a kiadások és a bevételek

sorrendjének megváltoztatása megváltoztathatja a ráta értékét is.

becslés: olyan szám, amely várhatóan közel esik az eredményhez. A legtöbb

esetben nem szükséges megadni. Alapértelmezésben ez az érték 10%.

4.1.8. Törlesztési összeg – RÉSZLET, PRÉSZLET,RRÉSZLET

Különböző törlesztő részletek kiszámítására alkalmas függvények. A törlesztési

időszakra vonatkozó adott kamatláb mellett állandó nagyságú törlesztő összegre

a szintaxis: RÉSZLET(ráta;időszakok_száma;mai_érték;jövőbeli_érték;típus). Egy

adott időszakra szabályos időközönként, állandó törlesztésen és kamatrátán

alapuló tőketörlesztés és kamattörlesztés részének nagysága egy. Szintaxisok: a

PRÉSZLET(ráta;időszak;időszakok_száma;mai_érték;jövőbeli_érték;típus), illetve a

RRÉSZLET(ráta;időszak;időszakok_száma;mai_érték;jövőbeli_érték;típus).

Angol megfelelője ennek a három függvénynek: PMT( ), PPMT( ) és IPMT ( ).

Argumentumok:

időszak: annak a periódusnak a száma, amelyre számolni szeretnénk.

Page 28: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 28 -

4.1.9. Kötvények hozama – YIELD, YIELDDISC, YIELDMAT

Periodikusan kamatozó értékpapír hozamára a szintaxis: YIELD(kiegyenlítés;

lejárat;ráta;ár;visszaváltás;gyakoriság;alap). Leszámítolt értékpapír és a lejáratkor

kamatozó értékpapír éves hozamát a következő két szintaxis adja eredményül:

YIELDDISC(kiegyenlítés;lejárat;ár;visszaváltás;alap) és YIELDMAT(kiegyenlítés;

lejárat;kibocsátás;ráta;ár;alap). Nincs magyar megfelelőjük.

Argumentumok:

kiegyenlítés: az a kibocsátás utáni dátum, amikor az értékpapírt a vevő

megvásárolta.

lejárat: az értékpapír lejárati napjának dátuma.

kibocsátás: az értékpapír kibocsátási dátuma.

ráta: az értékpapír éves szelvénykamatlába.

ár: az értékpapír ára 100 Ft-os névértékre számolva.

visszaváltás: az értékpapír visszaváltási ára 100 Ft-os névértékre számolva

gyakoriság: a kamatszelvény-fizetések száma egy évben. Értéke évenkénti

fizetésnél = 1; félévenkénti fizetésnél = 2; negyedévenkénti fizetésnél = 4.

alap: a napok kiszámítására használt módszer kódszáma. Ha értéke 0 vagy

hiányzik akkor a napok számításának alapja Amerikai (NASD) 30/360, ha 1

akkor tényleges/tényleges, ha 2 akkor tényleges/360, ha 3 akkor

tényleges/365, ha 4 akkor Európai 30/360.

4.2. R programnyelv

Az R egy statisztikai programozási nyelv és szoftver környezet is egyben. Ingyenes

és nyílt forráskódú, része a GNU (General Public License) projektnek. Mindenki

számára elérhető a www.r-project.org honlapon. Az eredeti változatát a University

of Auckland új-zélandi egyetemen Ross Ihaka és Robert Gentleman készítette

1997-ben az S programnyelv mintájára. Programozási elve az S-hez képest

modernebb és felhasználói szinten kényelmesebb felületet biztosít. Megjelenése

óta széles körben elterjedt. Azóta folyamatosan javítják és fejlesztik. Körübelül

félévente újabb verzió jelenik meg. Jelenleg az alapját az R Development Core Team

fejleszti. Felhasználói között óriáscégek is megtalálhatóak, mint a Google, a Bank of

America vagy a Shell.

Page 29: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 29 -

Alapjában egy Unix/Linux rendszer, azonban Windows és MacOS alatt is elérhető.

Kétféle módon is futtatható: command-line üzemmódban és GUI kapcsolaton

keresztül. Ez utóbbi igencsak megkönnyíti a fejlesztői munkát. Lényegében egy

mátrix kalkulációs program. Ilyen értelemben hasonlít az Octave-hoz és a Matlab-

hoz. Nagyszámú statisztikai eljárás tartozik hozzá, ezért alapvetően statisztikusok

használják. Emellett kimagasló grafikai lehetőségekkel rendelkezik és az

interneten található közel 1600 kiegészítéssel akár pénzügyi elemzéseket is

végezhetünk. Vannak még számos egyéb ismert numerikus és statisztikai program

interpretációjára kiegészítő csomagok. Mint például: NAG (Numerical Algorithms

Group), WEKA, Microsoft Excel. Az R objektum orientált nyelv. Ez nagyban

egyszerűsíti a nyelvi struktúrát, mint például a következő parancsoknál:

plot: az argumentumától függően készíti el a rajzot.

summary: az adatok tipikus formája a lista. Így a statisztikai eljárások

eredményeit általában egy nagyon összetett listában kapjuk meg. Ez

tartalmazza a földolgozott adatokat, eredményeket és diagnosztikai

statisztikákat. Ez a parancs ebből egy szűkebb összegzést, vagyis egy

áttekinthető kivonatot készít.

predict: a modellt új adatokra alkalmazza, például regresszió vagy idősor

elemzés esetén.

Fentebb már meg lett említve, hogy az R nyílt forráskódú, így kiegészítést bárki

írhat hozzá, ezt a rendszer külön eszközei. Az utóbbi időkben az újabb statisztikai

eljárás publikálásakor, a szerzők általában elkészítik és elérhetővé teszik a

módszer R-beli interpretációját is. Így a kiegészítő csomagok minőségben és

összetettségben jelentősen eltérhetnek. Léteznek olyan csoportok, melyek egy-egy

alkalmazási területet fognak össze, a kiegészítéseket összegyűjtik, rendszerezik és

fejlesztik, majd internetes tárolókra felteszik, megosztva az R-közösségnek. Egy

ilyen „tároló” a CRAN (Comprehensive R Archive Network). Itt elérhető a legutóbbi

stabil és az összes korábbi R verzió, többféle telepíthető formában, dokumentációk

és csomagok. A pénzügyi területeket legátfogóbban az R-metrics csoport

foglalkozik. Néhány általuk fejlesztett csomag: fArma, fAssets, fBasics, fOptions,

fPortfolio, fMultivar fRegression. Rajtuk kívül sokan fejlesztenek kisebb nagyobb

eszközöket. Példa erre a financial csomag, melyben a következő parancsok is

elérhetőek: cf – pénzáramlás modell, ireff/irnom – tényleges/névleges kamatláb.

Page 30: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 30 -

5. Feladatok

5.1. Feladatok „papíron”

5.1.1. Feladat1

Ön kétfajta befektetést tart. Az állampapírok darabszáma 1000, árfolyamuk 12000

Ft/db, elvárt hozamuk 10%. A részvények darabszáma 5000 árfolyamuk 2000

Ft/db, a hozamuk bizonytalan, amit az alábbi táblázat szemléltet:

Esemény Valószínűség Árfolyam 1 év múlva Szuper 50% 3000 Ft Hiper 30% 5000 Ft Peres 20% 500 Ft

a) Mekkora a részvények várható hozama?

b) Mekkora a portfólió várható hozama?

Megoldás:

a)

𝑃0 = 2000

𝑤𝑆𝑧 = 0,5 𝑃𝑆𝑧 = 3000

𝑤𝐻 = 0,3 𝑃𝐻 = 5000

𝑤𝑃 = 0,2 𝑃𝑃 = 500

𝑃1 = 𝑤𝑆𝑧 ∙ 𝑃𝑆𝑧 + 𝑤𝐻 ∙ 𝑃𝐻 + 𝑤𝑃 ∙ 𝑃𝑃

𝑃1 = 0,5 ∙ 3000 + 0,3 ∙ 5000 + 0,2 ∙ 500 = 3100

𝑟𝑟é𝑠𝑧𝑣é𝑛𝑦 =𝑃1

𝑃0− 1 =

3100

2000− 1 = 0,55 = 55%

A részvények várható hozama: 55%.

b)

𝑟á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 = 10%

𝑃á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 = 12000 𝑑𝑏á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 = 1000

𝑃𝑟é𝑠𝑧𝑣é𝑛𝑦 = 2000 𝑑𝑏𝑟é𝑠𝑧𝑣é𝑛𝑦 = 5000

Page 31: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 31 -

𝑤á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 =𝑃á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 ∙ 𝑑𝑏á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟

𝑃á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 ∙ 𝑑𝑏á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 + 𝑃𝑟é𝑠𝑧𝑣é𝑛𝑦 ∙ 𝑑𝑏𝑟é𝑠𝑧𝑣é𝑛𝑦

𝑤á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 =12000 ∙ 1000

12000 ∙ 1000 + 2000 ∙ 5000=

6

11

𝑤𝑟é𝑠𝑧𝑣é𝑛𝑦 = 1 − 𝑤á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 =5

11

𝑟𝑝𝑜𝑟𝑡𝑓 ó𝑙𝑖ó = 𝑤á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 ∙ 𝑟á𝑙𝑙𝑎𝑚𝑝𝑎𝑝 í𝑟 + 𝑤𝑟é𝑠𝑧𝑣é𝑛𝑦 ∙ 𝑟𝑟é𝑠𝑧𝑣é𝑛𝑦

𝑟𝑝𝑜𝑟𝑡𝑓 ó𝑙𝑖ó =6

11∙ 10% +

5

11∙ 55% = 30,5%

A portfólió várható hozama: 30,5%

5.1.2. Feladat2

A „Hozam” és „Kockázat” részvények, valamint a „Market” piaci portfólió

hozamainak variancia-kovariancia mátrixa a következő:

Hozam Kockázat Market Hozam 144 88 77

Kockázat 99 48 Market 64

A piaci portfólió várható hozama 12%.

Mekkora annak a portfóliónak a kockázata, mely 70%-ban a „Hozam”, 30%-ban a

„Kockázat” részvényből áll?

Megoldás:

𝜎𝐻2=144 𝑤𝐻 = 0,7

𝜎𝐾2=99 𝑤𝐾 = 0,3

𝑐𝑜𝑣 𝐻, 𝐾 = 88

𝜎𝑝2 = 𝑤𝐻

2 ∙ 𝜎𝐻2 + 𝑤𝐾

2 ∙ 𝜎𝐾2 + 2 ∙ 𝑤𝐻 ∙ 𝑤𝐾 ∙ 𝑐𝑜𝑣 𝐻, 𝐾 = 116,43

𝜎𝑝2 = 0,72 ∙ 144 + 0,32 ∙ 99 + 2 ∙ 0,7 ∙ 0,3 ∙ 88 = 116,43

𝜎𝑝 = 10,79%

A portfólió kockázata: 10,79%.

Page 32: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 32 -

5.1.3. Feladat3

Egy portfólióban 50 A részvény (árfolyama 20 Ft, jövő évi várható osztalék 2 Ft, a

várható osztalék növekedési üteme évi 5%) és 40 B részvény (árfolyama 25 Ft,

jövő évi várható osztalék 5 Ft, a várható osztalék növekedési üteme évi 3%) van. A

piaci portfólió várható hozama évi 15%, a kockázatmentes kamatláb évi 10%.

a) Mekkora a portfólió elvárt hozama?

b) Mekkora a portfólió bétája?

Megoldás:

a)

𝑑𝑏𝐴 = 50 𝑃𝐴 = 20 𝐷𝐼𝑉𝐴,1 = 2 𝑔𝐴 = 5%

𝑑𝑏𝐵 = 40 𝑃𝐵 = 25 𝐷𝐼𝑉𝐵,1 = 5 𝑔𝐵 = 3%

𝑟𝐴 =𝐷𝐼𝑉𝐴,1

𝑃𝐴+ 𝑔𝐴 =

2

20+ 5% = 15%

𝑟𝐵 = 23%

𝑤𝐴 =𝑃𝐴 ∙ 𝑑𝑏𝐴

𝑃𝐴 ∙ 𝑑𝑏𝐴 + 𝑃𝐵 ∙ 𝑑𝑏𝐵=

20 ∙ 50

20 ∙ 50 + 25 ∙ 40=

1

2

𝑤𝐵 = 1 − 𝑤𝐴 =1

2

𝑟𝑝𝑜𝑟𝑡𝑓 ó𝑙𝑖ó = 𝑤𝐴 ∙ 𝑟𝐴 + 𝑤𝐵 ∙ 𝑟𝐵 =1

2∙ 15% +

1

2∙ 23% = 19%

A portfólió várható hozama: 19%.

b)

𝑟𝐹 = 10%

𝑟𝑀 = 15%

𝑟𝐴 = 𝑟𝐹 + 𝛽𝐴 ∙ (𝑟𝑀 − 𝑟𝐹)

15% = 10% + 𝛽𝐴 ∙ 15% − 10% ⟹ 𝛽𝐴 = 1

23% = 10% + 𝛽𝐵 ∙ 15% − 10% ⟹ 𝛽𝐵 = 2,6

𝛽𝑝𝑜𝑟𝑡𝑓 ó𝑙𝑖ó = 𝑤𝐴 ∙ 𝛽𝐴 + 𝑤𝐵 ∙ 𝛽𝐵 =1

2∙ 1 +

1

2∙ 2,6 = 1,8

A portfólió bétája: 1,8

Page 33: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 33 -

5.2. Megoldások Maple-ben

Mint ahogy a 3. fejezetben láttuk, a Maple-nek vannak beépített pénzügyi

függvényei. Azonban vannak olyan esetek, mikor egy adott képletet szeretnénk

használni és nem találjuk az előre magadottak között. Ilyen esetekben, mi magunk

is definiálhatunk parancsokat, melyeket az adott worksheet-en használhatunk.

Mielőtt bevinnénk a használni kívánt parancsokat, érdemes a memóriából törölni

az addigi adatokat. Majd betöltjük a lineáris algebrai csomagot, mellyel

használhatunk mátrixokat és vektorokat a számítások megkönnyítése végett.

> restart:

> with(linalg):

A feladatokban használt előre definiált parancsok:

Árfolyam az első év után:

> P1 := (v,p) -> multiply(transpose(p),v):

Részvény várható hozama, ha ismert a kezdeti és az első év utáni árfolyam:

> r_reszveny := (P0,P1) -> (P1/P0)-1:

Súlyok kiszámítása, ha ismertek az árfolyamok és a darabszámok n eszköz esetén:

> sulyok := (p,db,n) -> vector([seq(evalf((p[i]*db[i])/(multiply(

transpose(p),db))), i=1..n )]):

Portfólió várható hozama:

> varhato_hozam := (r,w) -> multiply(transpose(r),w):

Portfólió szórásnégyzete:

> szorasnegyzet := (w,C) -> simplify(multiply(multiply(C,w),w)):

Portfólió kockázat:

> kockazat:= (w,C) -> sqrt(szorasnegyzet(w,C)):

Vektorban megadott n darab részvény várható hozama, ha ismert az árfolyamuk,

osztalékuk és az osztalékuk várható növekedése:

> reszveny_hozam := (div1,p,g,n) -> vector([seq(evalf((div1[i]/p[i])+

g[i]), i=1..n )]):

Béta kiszámolása, ha ismert a várható hozam, a kockázatmentes és a piaci hozam:

> B_reszvenyek:= (r,r_f,r_m,n) -> vector([seq( evalf((r[i]-r_f)/(r_m-

r_f)), i=1..n )]):

A portfólió bétája:

> B_p := (B_reszvenyek,w) -> multiply(transpose(B_reszvenyek),w):

Page 34: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 34 -

5.2.1. Feladat1

a)

Beolvassuk a megadott adatokat: a kezdeti árfolyamot; a valószínűségeket, és a

hozzájuk tartozó árfolyamokat vektorként.

> P0:=2000; v:=vector(3,[0.5,0.3,0.2]); p:=vector(3,[3000,5000,500]);

Ezek után már egyszerűen kiszámítható a részvények várható hozama:

> A_reszvenyek_varhato_hozama := r_reszveny(P0,P1(v,p));

b)

Beolvassuk a további adatokat: a kezdeti árfolyamokat, a darabszámokat és az a)

feladatrészben megkapott eredményt felhasználva a várható hozamokat

vektorként:

> p:=vector([12000,2000]); db:=vector([1000,5000]);

> r:=([0.1,A_reszvenyek_varhato_hozama]);

Az állampapírok és a részvények aránya:

> w:=sulyok(p,db,2);

A portfólió várható hozama az előbb kiszámolt aránnyal:

> A_portfolio_varhato_hozama:=varhato_hozam(r,w);

5.2.2. Feladat2

A variancia-kovariancia mátrix és az arányok beolvasása:

> C:=Matrix([[144,88,77], [88,99,48], [77,48,64]]);

Page 35: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 35 -

> w:=([0.7,0.3,0]);

A feladat megoldása:

> A_portfolio_kockazata:=kockazat(w,C);

5.2.3. Feladat3

a)

Beolvassuk a két részvény adatait:

> db := vector([50,40]); p := vector([20,25]); div1 := vector([2,5]);

g := vector([0.05,0.03]);

Meghatározzuk a két részvény várható hozamát és arányát vektorokként:

> r:=reszveny_hozam(div1,p,g,2); w:=sulyok(p,db,2);

Ezeket felhasználva a portfólió várható hozama:

> A_portfolio_elvart_hozama:=varhato_hozam(r,w);

b)

Megadjuk a kockázatmentes kamatlábat és a piaci portfólió várható értékét

> r_f:=0.1; r_m:=0.15;

Meghatározzuk a részvények bétájából álló vektort:

> B_reszvenyek:=B_reszvenyek(r,r_f,r_m,2);

Ezzel és a súlyokkal meghatározhatjuk az egész portfólió bétáját:

> A_portfolio_betaja:=B_p(B_reszvenyek,w);

Page 36: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 36 -

5.3. Feladatok továbbfejlesztése Maple-ben

A következő részben az előbbi példákból kiindulva néhány saját kiegészítést láthatunk,

és azt, hogy ezeket a Maple hogyan képes megoldani.

5.3.1. Feladat1

Függvénnyel szeretnénk szemléltetni az állampapírok és a részvények értékének

alakulását 10 éven keresztül, egyszerű és kamatos kamatozás esetén.

A rajzoláshoz beolvassuk a grafikai csomagot:

> with(plots):

Egyszerű kamatozás:

Definiáljuk a kamatozást az idő függvényeként, a feladatban megadott adatokat.

> allampapir_ertek_1:= n -> (p[1]*db[1])*(1+r[1]*n);

> reszveny_ertek_1:= n -> (p[2]*db[2])*(1+r[2]*n);

A rajzok elkészítésénél érdemes az évenkénti kamatozás miatt a függvények

kirajzolása mellett, az éves értékeket külön, egy lista segítségével ábrázolni.

> allampapir_1:=plot(allampapir_ertek_1(x),x=0..10,color=blue);

> allampapir_pont_lista_1 := [[ n, allampapir_ertek_1(n)] $n=0..10];

> allampapir_pont_1 := plot(allampapir_pont_lista_1, x=0..10, style=

point, symbol=circle,color=blue);

> reszveny_1:=plot(reszveny_ertek_1(x),x=0..10,color=green);

> reszveny_pont_lista_1 := [[ n, reszveny_ertek_1(n)] $n=0..10];

> reszveny_pont_1 := plot(reszveny_pont_lista_1, x=0..10, style=point,

symbol=circle,color=green);

Page 37: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 37 -

> display([allampapir_1,allampapir_pont_1,reszveny_1,reszveny_pont_1]);

Kamatos kamatozás esetén is ugyan ezt az eljárást végezzük el:

> allampapir_ertek_2:= n -> (p[1]*db[1])*(1+r[1])^n;

> reszveny_ertek_2:= n -> (p[2]*db[2])*(1+r[2])^n;

> allampapir_2:=plot(allampapir_ertek_2(x),x=0..10,color=blue);

> allampapir_pont_lista_2 := [[ n, allampapir_ertek_2(n)] $n=0..10];

> allampapir_pont_2 := plot(allampapir_pont_lista_2, x=0..10,

style=point,symbol=circle,color=blue);

> reszveny_2:=plot(reszveny_ertek_2(x),x=0..10,color=green);

Page 38: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 38 -

> reszveny_pont_lista_2 := [[ n, reszveny_ertek_2(n)] $n=0..10];

> reszveny_pont_2 := plot(reszveny_pont_lista_2, x=0..10, style=point,

symbol=circle,color=green);

> display([allampapir_2,allampapir_pont_2,reszveny_2,reszveny_pont_2]);

5.3.2. Feladat2

Szeretnénk ábrázolni a portfólió kockázatát, a kétfajta részvény arányának

függvényében, két és három dimenzióban is. Legyen az új súlyvektorban a „Hozam”

és „Kockázat” részvény aránya x és 1-x, 0 ≤ x ≤ 1.

> W:=([x,1-x,0]);

Az kockázat függvény:

> ((W[1])^2)*C[1,1] + ((W[2])^2)*C[2,2] + 2*W[1]*W[2]*C[1,2];

Ennek segítségével elkészítjük a kétdimenziós és a háromdimenziós ábrát:

Page 39: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 39 -

> plot((W[1]^2)*C[1,1]+(W[2]^2)*C[2,2]+2*W[1]*W[2]*C[1,2], x=0.0..1.0);

> plot3d([x, 1-x, (W[1]^2)*C[1,1]+(W[2]^2)*C[2,2]+2*W[1]*W[2]*C[1,2]],

x=0..1,y=0..1,axes=normal,shading=xy,shading=zgreyscale,thickness=2,

labels=[Hozam, Kockazat, kockazat]);

Most tegyük fel, hogy a kovariancia-variancia mátrix megállapításakor hiba lépett

fel. Mivel ennek a mátrixnak pozitív definitnek kell lennie, szimmetrikusnak kell

lennie, és az elemei nem lehetnek negatívak. Ezért a hibamátrixnak is

Page 40: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 40 -

szimmetrikusnak kell lennie, illetve az elemei egy minimum és maximum hiba

között mozoghatnak. Minimum és maximum hiba:

> min_h:=-1*(rtable_scanblock( C, [rtable_dims(C)],'Minimum'));

> max_h:=rtable_scanblock( C, [rtable_dims(C)],'Maximum');

A hibamátrixot egy véletlen mátrix segítségével állapítjuk meg:

> with(LinearAlgebra): H := RandomMatrix(3, 3, generator=min_h..max_h,

outputoptions=[shape=symmetric]);

Az új variancia-kovariancia mátrix:

> C2:=C+H;

A portfólió mostani kockázata és a hiba mértéke:

> A_portfolio_kockazata2:=kockazat(w,C2);

> hiba:=abs(A_portfolio_kockazata-A_portfolio_kockazata2);

5.4. Feladatok megoldása Excelben

5.4.1. Feladat1

Page 41: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 41 -

A cellákban használt számítások:

cella képlet

D2 =($B2*$C2)/(SZORZATÖSSZEG($B$2:$B$3;$C$2:$C$3))

D3 =($B3*$C3)/(SZORZATÖSSZEG($B$2:$B$3;$C$2:$C$3))

G6 =SZORZATÖSSZEG($B$7:$B$9;$C$7:$C$9)/SZUM($B$7:$B$9)

G8 =(G6/C3)-1

G9 =$D$2*$E$2+$D$3*$G$8

5.4.2. Feladat2

A cellákban használt számítások:

cella képlet

D6 =GYÖK((F2^2)*B2+(F3^2)*C3+2*F2*F3*C2)

5.4.3. Feladat3

A cellákban használt számítások:

cella képlet

B6 =(B4/B3)+B5

C6 =(C4/C3)+C5

B7 =(B2*B3)/SZORZATÖSSZEG($B$2:$C$2;$B$3:$C$3)

C7 =(C2*C3)/SZORZATÖSSZEG($B$2:$C$2;$B$3:$C$3)

G4 =$B$7*$B$6+$C$7*$C$6

G5 =(B6-$G$2)/($G$1-$G$2)

G6 =(C6-$G$2)/($G$1-$G$2)

G7 =B7*G5+C7*G6

Page 42: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 42 -

5.5. Megoldások R-ben

5.5.1. Feladat1

> vg <- c(.5,.3,.2)

> ar <- c(3000,5000,500)

> db <- c(1000,5000)

> p0 <- c(12000, 2000)

> db*p0/sum(db*p0)

[1] 0.5454545 0.4545455

> w <- db*jar/sum(db*jar)

> sum(vg*ar)

[1] 3100

> p1 <- sum(vg*ar)

> vhr <- (p1/p0[2])-1

> vha <- .1

> vhp <- sum (c(vha,vhr)*arany)

> feladat1 <- list(adatok=list(valoszinuseg=vg,arfolyam=ar,darabszam=

db,jelenar=p0,allampapir_varhato_hozama=vha),eredmenyek=list(reszveny_

varhato_hozama=vhr,portfolio_varhato_hozama=vhp))

> str(feladat1)

List of 2

$ adatok :List of 5

..$ valoszinuseg : Named num [1:3] 0.5 0.3 0.2

..$ arfolyam : Named num [1:3] 3000 5000 500

..$ darabszam : Named num [1:2] 1000 5000

..$ jelenar : Named num [1:2] 12000 2000

..$ allampapir_varhato_hozama: num 0.1

$ eredmenyek:List of 2

..$ reszveny_varhato_hozama : num 0.55

..$ portfolio_varhato_hozama: num 0.305

5.5.2. Feladat2

> vk <- matrix(c(144,88,77,88,99,48,77,48,64), nr=3, nc=3)

> w <- c(.7,.3,0)

> kockazat <- sqrt(w[1]^2*vk[1,1]+w[2]^2*vk[2,2]+2*w[1]*w[2]*vk[1,2])

> feladat2 <- list(adatok=list(matrix=vk,arany=w),eredmenyek=list(a_

portfolio_kockazata=kockazat))

> str(feladat2)

List of 2

$ adatok :List of 2

..$ matrix: num [1:3, 1:3] 144 88 77 88 99 48 77 48 64

..$ arany : num [1, 1:3] 0.7 0.3 0

$ eredmenyek:List of 1

..$ a_portfolio_kockazata: num 10.8

Page 43: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 43 -

5.5.3. Feladat3

> p <- c(20,25)

> db <- c(50,40)

> div <- c(2,5)

> g <- c(.05,.03)

> arany <- db*p/sum(db*p)

> arany

[1] 0.5 0.5

> rh <- div/p+g

> rh

[1] 0.15 0.23

> rp <- sum(rh*arany)

> rF <- .1

> rM <- .15

> B <- (rh-rF)/(rM-rF)

> B

[1] 1.0 2.6

> Bp <- sum(B*arany)

> feladat3 <-

list(adatok=list(arfolyam=p,darab=db,osztalel=div,novekedes=g,kockazat

_mentes_hozam=rF,piaci_hozam=rM),eredmenyek=list(a_portfolio_varhato_

hozama=rp,a_portfolio_betaja=Bp))

> str(feladat3)

List of 2

$ adatok :List of 6

..$ arfolyam : num [1:2] 20 25

..$ darab : num [1:2] 50 40

..$ osztalel : num [1:2] 2 5

..$ novekedes : num [1:2] 0.05 0.03

..$ kockazat_mentes_hozam: num 0.1

..$ piaci_hozam : num 0.15

$ eredmenyek:List of 2

..$ a_portfolio_varhato_hozama: num 0.19

..$ a_portfolio_betaja : num 1.8

Page 44: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 44 -

6. Összefoglalás

A pénzügy világában gyakran elég nehéz eligazodni. Azonban nem kell pénzügyi

szakembernek lennünk, hogy egy kis odafigyeléssel és néhány számolással felmérjük a

kockázatokat és a lehető legjobb döntést hozzuk. Ezeket a számításokat papíron is

elvégezhetjük, de segítségül hívhatunk különböző erre alkalmas szoftvereket. Manapság

szinte minden felhasználónál megtalálható a Microsoft Office rendszer. Kezelése elég

hamar megtanulható, viszont lehetséges, főként valószínűségi és statisztikai

függvényeknél, hogy nem azt számoljuk ki, amire szükségünk lenne és akármilyen szép

az ábrákat sem készíthetünk. Az R programnyelv is igen széles körben elterjedt.

Pontosan számol, szép rajzokat készít, azonban használatát egy laikus embernek, lehet

nem épp a legegyszerűbb megtanulni a kezelését. A dolgozatban megismerkedtünk a

Maple matematikai programmal, mely átmenetet képez a „komolyabb” programozás

felé, azonban nem szükséges teljes programot írni, hanem egy-egy paranccsal már

megkaphatjuk a kívánt eredményt. Bár a Maple-t nem kifejezetten pénzügyi

számításokra fejlesztették ki, a példákban és a feladatokban segítette a számolásunkat,

szép, és hasznos ábrákat készített.

Page 45: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 45 -

7. Irodalomjegyzék

[1] Richard A. Brealey - Stewart C. Myers: Modern Vállalati Pénzügyek

Panem Kft., Budapest, 2005.

[2] Fazakas Gergely - Juhász Péter (szerk.): Vállalati pénzügyi példatár

Tanszék Kft., 2008

[3] Dr. Farkas Szilveszter – Vállalati pénzügyek

Elektronikus jegyzet, 2006

[4] Molnárka - Gergó - Wettl - Horváth - Kallós: A Maple V és alkalmazásai

Springer Hungarica Kiadó Kft., 1996

[5] Maple Help, Waterloo Maple Inc. 1981-2009

[6] http://hu.wikipedia.org/wiki/Maple_(szoftver)

[7] http://en.wikipedia.org/wiki/List_of_numerical_analysis_software

[8] http://office.microsoft.com/hu-hu/excel/HP052042111038.aspx

[9] http://office.microsoft.com/hu-hu/excel/CH062528251038.aspx?stt=1

[10] http://en.wikipedia.org/wiki/R_(programming_language)

[11] http://en.wikipedia.org/wiki/Rmetrics

[12] http://cran.r-project.org/web/views/Finance.html

[13] http://cran.r-project.org/doc/contrib/Solymosi-Rjegyzet.pdf

[14] http://www.inf.unideb.hu/~jeszy/download/R/

[15] http://mek.niif.hu/01200/01259/01259.pdf

Megjegyzések:

Az internetes oldalak 2010. 05. 28-án a hivatkozott tartalommal elérhetőek voltak.

A dolgozathoz a felsorolt irodalmakat forrásként használtam fel.

Page 46: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

- 46 -

8. Köszönetnyilvánítás

Ezúton szeretnék köszönetet mondani mindazoknak, akik segítették a munkámat. Külön köszönet a témavezetőmnek, Pröhle Tamásnak, aki segített a téma kiválasztásában, és annak kidolgozásában. Családomnak és barátaimnak, akik mindvégig támogattak, megértéssel és türelemmel viselték ezt az időszakot.

Page 47: EÖTVÖS LORÁND T U D O MÁNYEGYETEM … · EÖTVÖS LORÁND T U D O MÁNYEGYETEM TERMÉSZETTUDOMÁNYI K A R Nádas Katalin Matematika BSc, Matematikai elemző szakirány Pénzügyi

NYILATKOZAT

Név: Nádas Katalin

ELTE Természettudományi Kar, szak: Matematika Bsc

ETR azonosító: NAKNACT.ELTE

Szakdolgozat címe: Pénzügyi problémák megoldásai Maple és más környezetekben

A szakdolgozat szerzőjeként fegyelmi felelősségem tudatában kijelentem, hogy a

dolgozatom önálló munkám eredménye, saját szellemi termékem, abban a

hivatkozások és idézések standard szabályait következetesen alkalmaztam, mások

által írt részeket a megfelelő idézés nélkül nem használtam fel.

Budapest, 2010. május 28. _______________________________

a hallgató aláírása