Matematika | Valószínűségszámítás » Nádas Katalin - Pénzügyi problémák megoldásai Maple és más környezetekben

Alapadatok

Év, oldalszám:2010, 47 oldal

Nyelv:magyar

Letöltések száma:82

Feltöltve:2011. május 08.

Méret:3 MB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

http://www.doksihu EÖTVÖS LORÁND TUDOMÁ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 http://www.doksihu 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 -2- http://www.doksihu 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. -3- http://www.doksihu 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 -4- http://www.doksihu 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: -5- http://www.doksihu 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 -6- http://www.doksihu 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. -7- http://www.doksihu  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. -8- http://www.doksihu 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://wwwmaplesoftcom/ 3.2

Alapfunkciók 3.21 Ismerkedés a rendszerrel -9- http://www.doksihu 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: + értékadás: := kivonás: - hatványozás: ^ vagy * szorzás: * faktoriális: ! osztás: / 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.22 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); - 10 - http://www.doksihu 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) arkusz szinusz: arcsin(x)

logaritmus: ln(x) arkusz koszinusz: arccos(x) négyzetgyökvonás: sqrt(x) arkusz tangens: arctan(x) abszolút érték: abs(x) arkusz kotangens: arccot(x) szinusz: sin(x) szinusz hiperbolikusz: sinh(x) koszinusz: cos(x) koszinusz hiperbolikusz: cosh(x) tangens: tan(x) tangens hiperbolikusz: kotangens: cot(x) kotangens hiperbolikusz: coth(x) tanh(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 - 11 - http://www.doksihu 3.31 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.32 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.33 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); - 12 - http://www.doksihu 3.34 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.35 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); - 13 - http://www.doksihu 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.41 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. - 14 - http://www.doksihu > plot(sin(x), x=0.2*Pi, scaling=constrained, thickness=2, color=blue); 3.42 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=cd, 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=-22,transparency=03); > 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); - 15 - http://www.doksihu 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. - 16 - http://www.doksihu 3.51 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.52 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); - 17 - http://www.doksihu 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.53 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.54 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); - 18 - http://www.doksihu 3.55 Hiteltörlesztési táblázat finance[amortization] Függvény parancsa kifizetések és nagysága paraméterei: mérték, amortization(hitelösszeg, 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, 50000, 010); Ebből láthatjuk, hogy három fizetés szükséges. Az utolsó 176 $ A hitelköltség pedig, 176 $. 3.56 Ö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, 011 ); - 19 - http://www.doksihu 3.57 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, 011, 002 ); 3.58 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; - 20 - http://www.doksihu 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, 005)/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.59 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=04)]; > cashflows(cf, 0.11); A másik megoldás, az adott függvénnyel: > growingannuity(100, .11, 03, 5); - 21 - http://www.doksihu 3.510 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, 012/2, 6); Most emeljük 14%-ra

kamatlábat: > levelcoupon(1000, 0.14/2, 012/2, 6); Ezzel azt láthattuk, hogy növekvő kamatláb mellett a kötvény névértéke csökken. 3.511 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 $? - 22 - http://www.doksihu Megoldás: 6 időszak van a lejáratig > yieldtomaturity( 1050.75, 1000, 012/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. - 23 - http://www.doksihu 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.mathworkscom/products/matlab/ Octave igen http://www.gnuorg/software/octave/ FreeMat igen http://freemat.sourceforgenet/ Scilab igen http://www.scilaborg/ Weka igen http://www.cswaikatoacnz/ml/weka/ R

programnyelv igen http://www.r-projectorg/ Mathematica nem http://www.wolframcom/products/mathematica/ GAUSS nem http://www.aptechcom/ MS Office Excel nem http://office.microsoftcom 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. - 24 - http://www.doksihu 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.11 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 - 25 - http://www.doksihu 4.12 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.13 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.14 Törlesztési időszakok – PERSZÁM Törlesztési időszakok szám állandó kamatláb és adott nagyságú törlesztő részletek mellett. Szintaxis: PERSZÁ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.15 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% - 26 - http://www.doksihu 4.16 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.17 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.18 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. - 27 - http://www.doksihu 4.19 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-projectorg 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. - 28 - http://www.doksihu 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 Matlabhoz 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. - 29 - http://www.doksihu 5. Feladatok 5.1 Feladatok „papíron” 5.11 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 3100 −1= − 1 = 0,55 = 55% �0 2000 A részvények várható hozama: 55%. b) �á������� �á������� í� í� = 10% = 12000 ��á������� ��é���é�� = 2000 í� = 1000 ���é���é�� = 5000 - 30 - http://www.doksihu �á������� í� = �á������� �á������� í� = í� �á������� í� ∙ ��á������� í� ∙

��á������� í� + ��é���é�� ∙ ���é���é�� 12000 ∙ 1000 6 = 12000 ∙ 1000 + 2000 ∙ 5000 11 ��é���é�� = 1 − �á������� ������ ó��ó = �á������� ������ ó��ó = í� ∙ �á������� í� í� = 5 11 + ��é���é�� ∙ ��é���é�� 6 5 ∙ 10% + ∙ 55% = 30,5% 11 11 A portfólió várható hozama: 30,5% 5.12 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 Kockázat 88 99 Market 77 48 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%. - 31 - http://www.doksihu 5.13 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 + �� = + 5% = 15% �� 20 �� = 23% �� = �� ∙ ��� 20 ∙ 50 1 = = �� ∙ ��� + �� ∙

��� 20 ∙ 50 + 25 ∙ 40 2 �� = 1 − �� = ������ ó��ó = �� ∙ �� + �� ∙ �� = 1 2 1 1 ∙ 15% + ∙ 23% = 19% 2 2 A portfólió várható hozama: 19%. b) �� = 10% �� = 15% �� = �� + �� ∙ (�� − �� ) 15% = 10% + �� ∙ 15% − 10% ⟹ �� = 1 23% = 10% + �� ∙ 15% − 10% ⟹ �� = 2,6 ������ ó��ó = �� ∙ �� + �� ∙ �� = A portfólió bétája: 1,8 - 32 - 1 1 ∙ 1 + ∙ 2,6 = 1,8 2 2 http://www.doksihu 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 mr f)), i=1.n )]): A portfólió bétája: > B p := (B reszvenyek,w) -> multiply(transpose(B reszvenyek),w): - 33 - http://www.doksihu 5.21 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,03,02]); 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 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.22 Feladat2 A variancia-kovariancia mátrix és az arányok beolvasása: > C:=Matrix([[144,88,77], [88,99,48], [77,48,64]]); - 34 - várható hozamokat http://www.doksihu > w:=([0.7,03,0]); A feladat megoldása: > A portfolio kockazata:=kockazat(w,C); 5.23 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,003]); 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:=015; 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); - 35 - http://www.doksihu 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.31 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); - 36 - http://www.doksihu > 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); - 37 - http://www.doksihu > 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.32 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] + 2W[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: -

38 - http://www.doksihu > plot((W[1]^2)*C[1,1]+(W[2]^2)C[2,2]+2W[1]W[2]C[1,2], x=0.010); > plot3d([x, 1-x, (W[1]^2)*C[1,1]+(W[2]^2)C[2,2]+2W[1]W[2]C[1,2]], x=0.1,y=01,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 - 39 - http://www.doksihu 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.41 Feladat1 - 40 - http://www.doksihu 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.42 Feladat2 A cellákban használt számítások: cella D6 5.43 képlet =GYÖK((F2^2)*B2+(F3^2)C3+2F2F3C2) 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+C7G6 - 41 - http://www.doksihu 5.5

Megoldások R-ben 5.51 Feladat1 > vg <- c(.5,3,2) > ar <- c(3000,5000,500) > db <- c(1000,5000) > p0 <- c(12000, 2000) > db*p0/sum(dbp0) [1] 0.5454545 04545455 > w <- db*jar/sum(dbjar) > 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 03 02 .$ 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 01 $ eredmenyek:List of 2 .$ reszveny varhato hozama : num 055 .$ portfolio varhato hozama: num 0305 5.52 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]^2vk[2,2]+2w[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] 07 03 0 $ eredmenyek:List of 1 .$ a portfolio kockazata: num 108 - 42 - http://www.doksihu 5.53 Feladat3 > p <- c(20,25) > db <- c(50,40) > div <- c(2,5) > g <- c(.05,03) > arany <- db*p/sum(dbp) > arany [1] 0.5 05 > rh <- div/p+g > rh [1] 0.15 023 > rp <- sum(rh*arany) > rF <- .1 > rM <- .15 > B <- (rh-rF)/(rM-rF) > B [1] 1.0 26 > 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 003 .$ kockazat mentes hozam: num 01 .$ piaci hozam : num 0.15 $ eredmenyek:List of 2 .$ a portfolio varhato hozama: num 019 .$ a portfolio betaja : num 1.8 - 43 - http://www.doksihu 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. - 44 - http://www.doksihu 7. [1] Irodalomjegyzék 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.wikipediaorg/wiki/Maple (szoftver) [7] http://en.wikipediaorg/wiki/List of numerical analysis software [8] http://office.microsoftcom/hu-hu/excel/HP052042111038aspx [9] http://office.microsoftcom/hu-hu/excel/CH062528251038aspx?stt=1 [10] http://en.wikipediaorg/wiki/R (programming language) [11] http://en.wikipediaorg/wiki/Rmetrics [12] http://cran.r-projectorg/web/views/Financehtml [13] http://cran.r-projectorg/doc/contrib/Solymosi-Rjegyzetpdf [14] http://www.infunidebhu/~jeszy/download/R/ [15] http://mek.niifhu/01200/01259/01259pdf 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. - 45 - http://www.doksihu 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. - 46 - http://www.doksihu 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