Soci (Soczó Zsolt) szakmai blogja

2015.12.29.

Szuper befektetés 2016-ra

Filed under: Élet,Tőzsde — Soczó Zsolt @ 10:39

Ajánlok neked egy szenzációs üzletet. Olyan story van mögötte, hogy elájulsz. Szerény költségekkel dolgozok, és maximálisan a te érdekeidet tartom szem előtt.
Minden évben adsz nekünk egy milliót, 2008-tól 10 éven keresztül. Így 10 év után, most figyelj! lesz 9,990,379 Ft-od. Hát nem csodálatos? 10m Ft waze, ha mi nem lettünk volna, elittad volna az egészet. Most, amikor semmi kamatot nem adnak a bankok, hát nem nagyszerű ez?

Ja, hogy 10M-t adtál nekünk, és 10 év után is 10 milliód van? De kicsinyes vagy ember, ha mi nem vigyáztunk volna a pénzedre már nem lenne abból semmi.

Ja, hogy közben mi kerestünk rajtad 4,496,184 Ft-ot? Ember, most jobb lett volna, ha otthon tartod a cihában a pénzed? Most komolyan, sajnálod tőlünk azt a szaros négy és fél milliót? Egy vacak Opel Astra K ára, hogy lehetsz ilyen zsugori.

Ja, hogy a statisztikák alapján valójában tudjuk, hogy átlagban 6-7 év múlva megszünteted velünk a szerződésed, de mi elvisszük mind a 10-15 év díját előre. Ez a te érdekedben van, mert felelőtlen disznó vagy, ha nincs kényszer, még hamarabb megszüntetnéd a befektetésedet. Jó, valójában előre tudjuk, hogy meg fogod szüntetni, mert előbb-utóbb olvasol róla, hogy alaposan átvertek? Akkor is te vagy a fegyelmezetlen disznó, megérdemled a büntetést.

Ja, hogy elfelejtettük mondani, hogy ha nyitnál egy TBSZ-t, arra raknád be a pénzed ugyanarra a befektetésre, akkor a tiéd lenne az az új Open Astra is? Igen, erről nem szóltunk, mert akkor miből élnénk meg ilyen állat jól?

Ha neked nem kell egy új kocsi ára, akkor fektess be unit linked biztosításba. Ha kell, akkor meg nyiss minden évben egy TBSZ-t, és fektess be, ahogy leírtam.
Még van pár nap az évből, nem késő lépni.

Számítások a mellékelt Hozam és költség kalkuláció excelben. Az első lapon konstans évi 8% hozammal van számítva, a második 12%-kal. Utóbbi esetben már 6 milliót “csípnek” le, nyilván a te érdekedben, ezért óriási értékeket kapsz.

Ps. miért írok ezekről a dolgokról? Mi érdekem fűződik ehhez? A düh hajt. Annyira mérges vagyok, hogy ennyire lenyúltak a biztosítók, legutoljára a CIG, hogy ha módomban állna, sóval hinteném be őket. De egyelőre nem áll módomban, így marad az, hogy adok némi pénzügyi iránymutatást ezekkel az írásokkal, így ha sokan nem égetik el a pénzüket náluk, akkor azt hosszú távon megérzik. Olyan ez, mint a DDOS, ha elég sokan élnek vele. Ezért kérlek, hogy egy megosztással támogasd a törekvésemet (és segítsd a barátaikat, hogy ne verjék őket is át). Köszönöm.

2015.10.26.

Befektetésről programozóknak 5.

Filed under: Élet,Tőzsde — Soczó Zsolt @ 00:44

Első rész.
Második rész.
Harmadik rész.
Negyedik rész.

Adózás. Ez számomra a legtávolabbi téma, de fontos értenünk, hogy ez mennyit számít.
Adózni akkor kell, amikor profitot realizálunk, vagy veszteséget könyvelünk el. Azaz nem a benn lévő összeg után adózunk, hanem a “csinált” pénz után. Ha rendszeres befektetésben gondolkodunk, amiben nem váltogatunk befektetett eszközök között, akkor csak akkor fogunk realizálni profitot, amikor nyugdíjas korunkban elkezdjük felélni a megtermelt pénzt. Hogy akkor, 20-30 év múlva milyen adótörvények lesznek, azt senki nem tudja. Ezért csak a jelen törvényekből tudok kiindulni.
Most a profit után 16% szja-t kell fizetni, illetve 2013-tól 6% eho-t. Az ehot azonban normál adózóként is fizetünk, és annak maximuma évi 450,000 Ft, ezért azt nem tudom egyszerűen beszámítani. Más kérdés, amikor már nyugdíjasok leszünk, és nem akarunk dolgozni, akkor nem is fizetünk ehot.

Az egyszerűség kedvéért 16% adóval számolok a továbbiakban.

Ha harminc évig fizetnénk a mostani feltételek mellett a KBC-s árakkal, 1%-os devizaváltási veszteséggel (lást előző rész) évi 400e Ft-ot SPY-ba fektetve, feltéve az évi 8.75%-os hozamot, akkor 30 év után 54,657,547 Ft-unk lenne (sok a ha, de nem tudunk jobbat).

Ha ezt egy összegben ki akarnánk venni, akkor a profit után kellene 16% adót fizetni. 30 év alatt 30*400,000 ment be, azaz 12m. A profit 54m-12m=42m. Ennek 16%-a 42m*0.16=6.72m. Ez sok. Marad 54m-6.72m = kb. 47m. Nem rossz ez se, de azért lehet ez jobb is.

2012 óta van olyan tartós befektetési számla, TBSZ, amin ha 5 évig nem bántjuk a befektetett pénzt, akkor nincs utána adó. Nem tudjuk milyen adótörvények lesznek a jövőben, de eszement ökörség lenne kihagyni ezt a lehetőséget.

A KBC-n most csináltam egy 2015-ös TBSZ-t, 2 perc volt weben megnyitni a főszámlára belépés után. Aki erre nem tud időt szánni, az fizessen adót. :)

TBSZ-t miden évben kellett és kell majd nyitni, rá kell szánni pár percet évente. Aztán mehet rá a pénz, váltás a webes felülten (spreadre figyelni!), majd mehet a pénz a kiválasztott ETF-be vagy részvénybe. Utána egy évig megint semmi teendő.

Van Nyugdíj előtakarékossági számla is, de nekem nem tetszenek annak kötöttségei, annak ellenére, hogy ott még lehet max. évi 130,000 Ft állami szjat is rátolni.

A méregdrága Unit Linked biztosításoknál a fő érv az szokott lenni, hogy drága, de cserébe élhetsz a 20% max. 130,000 adóvisszatérítéssel, és nem kell 10 év után szja-t fizetni.

1. Ha van szabad szja-d. Nekem a 3 gyerek miatt nincs maradék szja-m, az egészet visszakapom.
2. TBSZ-nél sincs adó, ráadásul már 5 év után.
3. 2010 és 2013 között 4 évig nem volt ilyen. Aki emiatt kötött UL-t, az beszopta sajnos.
4. Még támogatással is elviszi a gatyádat az UL a különös költségei miatt.

Nézzünk a körmére ezen utóbbi állításomnak. A konkrét példa a CIG Signum nevű csoda. Ebben a következő költségek vannak:
Számlavezetési díj: 5400/év
Alapkezelési díj: max. 1.95%
Befektetett összegre commission: 3%.
És itt a poén, a különös költség:
“Az első 3 év rendszeres díjaiból vásárol kezdeti egységet a CIG Pannónia, amelyek számát évi 8,5%-kal csökkenti 10 éven keresztül”
Az első 3 éves díjadból vásárolt egységekből (részvényszerű izé) MIDEN ÉVBEN 8,5%-ot elvisznek. Így 10 év alatt ha az első 3 évben vettél 100, 100, 100 egységet, akkor marad belőle 135 (számítások: CIG2.xls, MisteriousCost sheet). Azaz több mint felét elvitték!!! Ráadásul én ezeket 2008, 2009, 2010-ben vettem, fasza nyomott áron, ami most a dupláját éri. Finom kis profitlehetőség ez.

A CIG biztosítások teljes költségmutatója egyébként itt van.

Ez alapján az én UL-em TKM-je: 7,62% – 12,00%, 10 éves befektetés estén. A S&P meg hoz 8.75%-ot. Mennyi marad nekem? (Itt most elmondtam az a hosszú átkot, amit illendőségből nem vetek papírra).

Akinél van hányózacskó olvassa el ezt a marketing dumát:
“A SIGNUM PRO a BROKERNET és a CIG Pannónia egybecsengő várakozása szerint újabb robbanást idéz elő a magyar
és a szlovák piacainkon, mivel Ügyfeleink számára olyan magas hozzáadott-értéket képes teremteni, mint eddig még
soha egyetlen megoldás sem a befektetéssel kombinált életbiztosítások közül. A SIGNUM PRO fejlesztése kapcsán
azt kértük stratégiai partnerünktől, hogy olyan hosszú távú befektetési és életbiztosítási eszközt hozzanak létre
hűséges ügyfeleink számára, amely a BROKERNET kizárólagos közvetítésében még a SIGNUM frenetikus sikerét is
képes túlszárnyalni.”

Lássuk ezeket a világsikerű (vég)termékeket (CIG2.xls)!

Nehéz modellezni a valódi költségeket, mivel az első 3 évben 3 különböző áron veszünk befektetési egységeket. Melyiknek viszik el a 8.5%-át?
Tegyük fel minden évben befektettem 105 Ft-ot. Az első éven vettem 3 Ft-ért 35 db-t, második évben 5 Ft-ért 21 db-ot, a harmadikban 7 Ft-ért 15 db-ot. Ma 10 Ft-ot ér a részvény. Az első értéke (10-3) * 35 = 245 Ft. A második évi pakk értéke: (10-5)*21 = 105 Ft, a harmadiké (10-7)*15 = 45Ft.

Ha profit maximalizálásra törekednél (melyik vállalkozás nem?), és nincs pontosan definiálva, melyik pakkból vegyél le 8.5%-ot, melyikből vinnél el először?

Összesen van 35+21+15 = 71db egységünk az első három évből. Ebből elmehet 8.5% évente. Az 71*0.085=6.035 egység. Ha ezt elviszem a 3 Ft-ért vásároltakból, akkor elvettem az ügyféltől 6.035*(10-3)=42.245 Ft-ot.
Ha a harmadik, rosszabb áron vett pakkból fogyasztanak, akkor 6.035*(10-7) = 18.105 Ft-ot visznek el tőled. Na, most jön a nagy kérdés. Ha te lennél a biztosító, és a különös feltételekben különös módon nincs precízen definiálva, mely egységeket viszik el az első három évből, te melyiket vinnéd el, tudva, hogy a szerződésnek megfelelően jársz el? 42 forintot, vagy 18 forintot? Nem tudom, hogyan működik az elvonási logikájuk, de ez a játéktér megvan nekik.

A modellembe behelyettesítve a fenti költségeket és logikát (CIG2.xls, CIG Actual Perf sheet) a befektetett 2.8M-ból 3.5M jön ki, ami egybevág a biztosító által riportolt értékkel (ennyivel persze még nem lehet kilépni, mert a 10 éves költségüket mindenképpen elvonják, most 3.2-ért adnák vissza, amire még jönne a fél szja).

A nagy adó-visszatérítés hatása: ha 2008-ban, 2009-ben és 2014-ben, amikor élt a 20% adóvisszatérítés, és lett volna szjam, akkor minden évben 400000 helyett 480000 ment volna be. Erre ma 3.5M helyett 3.75M-t érne a biztosítás. Ez a nagy adó-visszatérítés hatása. Nem lehet ólomcipőben futóversenyre menni.

És mekkora lenne a biztosítás valódi értéke? Saját számításaim szerint 5.6M!!! 3.5 vs. 5.6M, lehet ízlelgetni.

Hogy nézett volna ez ki, ha sima befektetési számlán játszom el ugyanezt, a KBC-s költségekkel, és 1%-os deviza váltással kalkulálva, közvetlenül befektetve a BRK-B részvénybe?

Mivel kis pénzről van szó beleférünk a havi 500Ft-os számlavezetési díjba (nem akartam túloptimalizálni, lehetett volna egy start számlával indítani, az csak 99Ft havonta, az első két év elment volna vele). Ami érdekes, hogy az induló költségek levonása után itt 388,075 Ft-ot tudunk befektetni (M oszlop), a CIG-nál 382,200-at, nincs nagy különbség, csak itt nincs alapkezelési díj, és különös költségek. Ennek meg is van a hatása: a számla végösszege 5,569,522 Ft lesz!!! Azt a leborult szivarvégit? Tetszik érteni végre, miért rablás az UL?
Megelőzendő az ügynök lármát, adózzunk 1 percet az adónak. Vonjunk le 16%-ot a profitból. Bement 2.8, kijött 5.56, azaz a profit 5.56-2.8=2.76M. Ennek 16%-a: 2.76M * 0.16 = 441e Ft. Azaz marad 5.56-0.441 = 5.119. Kontra 3.5M a biztosításnál (ami valójában 3.2 + kevés adó, ha most kiveszem).
Ha mindhárom évben, amikor volt igénybe vettem volna a 20% szja kedvezményt, akkor 3.74M lenne a biztosítás értéke 3.5 helyett. Hol van ez az adózott, rettenetes 5.119M-hoz képest? És akkor nem vagyok minimum 10 évre lekötelezve, ha hirtelen mégis kell a pénz. Normális világban a könnyű feltörhetőségért kell fizetni, de nálunk fordítva ülnek az urak a lovon, és pont fordítva csinálják.
Ééss, nem használtuk ki még a TBSZ-t? Jaj, szegény ügynökök, ez lehet a rémük.
2012-től lehet részvényeket is venni TBSZ mögött. Azaz a 2012 utáni 3 befizetés már adó nélkül fog kijönni a cső végén. 2012 őszén (excelben U6 cella) 91e adóval likvidálhattam volna a pozíciómat, majd átrakhattam volna a befektetést TBSZ-be, minden évben utána már csak újat nyitva, és pakolva bele a pénzeket. Így az előbb kiszámított 441e adó valójában csak 91e, nekem maradna 5,56-0.091 = 5.469M Ft.

Egy kis charton is összefoglalom, hogy vizuálisan is látsszon, hogy működik ez a lopó-ipar (klikk a nagy képért):

CIG Warren vs. KBC

A hülyének megéri a Unit Linked biztosítás. Nagyon elszomorít, hogy Magyarországon így működik a pénzügyi szabadrablás. Remélem, a cikksorozattal elgondolkodtattalak, és segítettem elindulni azon az úton, ahol vérszívók nélkül meg tudod teremteni a saját pénzügyi jövődet.

Sok sikert hozzá. :)
soci

Ps. a számítások során nyilván tévedhettem. Annyit tudtam tenni ennek kiküszöbölésére, hogy nyilvánossá tettem az összes számítást, így bárki utánanézhet, ha tévedtem. Ha találtok ilyet, szóljatok, javítom.

Befektetésről programozóknak 4.

Filed under: Élet,Tőzsde — Soczó Zsolt @ 00:30

Első rész.
Második rész.
Harmadik rész.

Nézzük meg, mennyibe kerül átutalni a pénzünket a kívánt befektetési számlára? Ezt igen nehéz lesz összehasonlítani, mivel eléggé szór még egy bankon belül is az átutalások díja számlafajtától függően, illetve ebben nem vagyok annyira otthon, csak összeszedek pár adatot a netről.

CIB-nél például ezt láttam most:
GIRO magyar: 0,43%, min. 122 Ft, max. 41000 Ft

Erste Egyszámla: 0,43%, min. 122 Ft, max. 41000 Ft

Unicredit: 0,33%, min. 255 Ft, max. 6 900 Ft

Ha euró lenne itt is egyszerűbb lenne a dolgunk, és az utalási költségek is normálisabbak lennének (persze adóval akkor is meg tudják majd fejelni).

Jobb híján 0.4%-kal fogok számolni. Ez pl. 400eFt-nál 1600 Ft. Ami érdekes, hogy az IB-hez is lehet utalni forintot, és az utalás célpontja is magyar bank, így nem több oda utalni pénzt, mint a magyar cégekhez.

Mivel ebben nincs különbség a különböző befektetési lehetőségek között, ezért ezt nem fogom bekalkulálni a számításaimba. Emlékeztetőül, a befektetési lehetőségek várható kilátásai érdekelnek, és ebbe ez nem szól bele az utalás, mivel minden felé azonos, de mint költség természetesen nagyon is valós.

Amit esetleg itt még meg lehet vizsgálni, hogy ha a bank és a bróker egy anyacéghez tartozik, akkor lehet, hogy a bankszámláról a befektetési számlára utalás olcsóbb vagy ingyenes, ebben nincs tapasztalatom, amit láttam a KBC-nél, hogy ha kifelé utalunk pénzt brókerszámláról K&H-s ügyfélszámlára, akkor az ingyenes. 25 év múlva visszatérünk erre, amikor nyögdíjas leszek (ha élek) :).

Következő költségünk a devizaváltás, az pl. forintot utaltunk be a befektetési számlára, de pl. USD alapú részvényt vagy ETF-et akarunk venni.

Ez egy forex tranzakciót jelent. A forex egy érdekes állatfajta, az egyik legjobb termék az amatőrök megkopasztására. De mi nem forexelni akarunk nagy tőkeáttétellel, egyszerűen csak pénzt váltani. Forexnél sokszor hallani, hogy nincs commission. Ez persze azonnal gyanús, mert akkor miből él a másik oldal? A spreadből, azaz az eladás és a vételi oldal árkülönbségéből.

Könnyű belátni a következőt. Mondjuk most (hétvégén) megnéznve a CIB honlapján az USD/HUF árfolyamokat ezt látjuk: 264 – 286. Mit jelent ez? Adok nekik 286 Ft-ot, ezért adnak nekem 1 USA dollárt. Aztán meggondolom magam, vissza akarom váltani. Akkor 1$-ért adnak nekem 264 forintot. Hoppá, hova tűnt 22 forint? Elvitte a spread! Erre nagyon oda kell figyelni, sokan nem realizálják, a spread miatt mekkora hatalmas százalékokat veszt az ember.

Nézzük, amikhez vannak adataim:
Biztosítók: itt a váltás a háttérben zajlik, erről nem tudok semmiféle számszerű összeget mutatni, a többi költség része.
KBC spread: egyszerűsítve: 1% napközben, 3% este, no commission. Én egyik hétköznap este megnéztem, az IB-hez képest pont 3%-kal volt eltolva az árfolyam felfelé. Akinek nincs referenciája, hogy megnézze mikor-mennyi a spread, annak egyelőre nem tudom megmondani, mikor tud tutira 1%-ért váltani (pedig ez fontos!). Aki tudja írja meg, de majd megnézem a jövő héten nap közben én is.
UPDATE: reggel 9-kor 1% volt, korrekt.
Tehát úgy működik a történet, hogy a KBC pontosan látja a háttérben a forexes árfolyamot (bid és ask), és annak közepétől mesterségesen eltolja 1 vagy 3%-kal az adási és a vételi árfolyamot. Ezt ők tisztán megkeresik a bizniszen. Így már érthetővé válik, miből finanszírozzák a hazai viszonylatban jó befektetési üzletüket. Ha megfordul náluk mondjuk évi 10 milliárd forint, akkor 2% spreaddel számolva csak ez az üzlet hoz nekik 200 millió forintot.
Erste: egyelőre nincs infóm, de megkérdeztem tőlük.
IB: 0.1-0.2 Ft. Hasonlítsuk csak össze a bankok 10-20 pontos spreadjével! 100x kisebb, leírom, százszor kisebb! Ez nagyon durva különbség. Ezért lehet náluk jól forexet tradelni, de most befektetünk. Viszont mivel ők nem húzzák szét a spreadet, nekik másképp kell keresni rajta, ezért az IB commissiont szed, 0,00002 * trade size értékben. Azaz 100000 dollárért 2$-t. Ha a KBC 1%-ával számolok, akkor ez a KBC-nél 1000$ (ezer!) lenne, durva különbség. Viszont megint bejön az IB ügyfélmérete, 2$ a legkisebb commission. 100 Ft-nál is. De ez a commission is lejön a 10$-os havi min költésből.

Mit jelentek ezek a számok a gyakorlatban? Ha pl. beutalok 1M Ft-ot a bróker számlára, és azt át akarom váltani USA dollárra, akkor:
CIB: (264, 286, feltételezve, hogy szimmetrikus a spread (lehetne nem az), akkor a valódi forex közép ((bid+ask)/2) 275 lenne), így a veszteségmentes váltásnál 1,000,0000/275=3636 dollárt kapnék.
A CIB spreadjével ez 1,000,0000/286=3496 dollár. 3636-3496=140 dollár a banké. Az kb. 140*275=38500 Ft. Minek is commission ilyen váltás mellett? :) Hétköznap egyébként asszem kisebb a bankoknál a spread, de hasonlóan elég tág. A spread is olyan, mint bármi más az életben, a szűket szeretjük. Szerintem ezen mondat után mindenki megjegyzi az alapelvet. :)

(Nem témánk, de sokan azt hiszik, ha pl. eurós országban magyar forintos számlához kapott kártyával fizetnek, akkor középárfolyamon történik a váltás. NEM. A CIB telebankon is megkérdeztem nyaralás előtt, megerősítették. Ha EUR vagy USD számlád van, és a megfelelő céghez tartozó kártyát (pl. VISA euro, Mastercard USD), akkor azonos devizában fizetve nem lesz költséged, pont mint Magyarországon, a bolttól veszik le a sápot. De ha pl. Horvátországban fizetsz, akkor egy pl. EUR-HRK konverziót csinál a kártyacég. Azok sokkal jobban váltnak, mint a bankok. Ha forintos kártyával fizetsz, először a magyar bankok váltanak pocsék spreaddel a kártyacég natív devizájára, majd a kártyacég vált kunára, még egy spreaddel.)

KBC: 275 közepet feltételezve az 1%-os időszakban ők mindkét irányban tolnak 1%-ot, azaz belövik a két oldalt 275*1.01=277.5-re, a másik oldalt 275*0.99=272.25-re (ez valójában 2%-os spread a szó eredeti értelmében, mivel valódi közép nincs forexen). (Az alját nem néztem meg élőben, az lehet nem * 0.99, hanem lehet / 1.01, a nitpickerek kedvéért.) Ha valaki nem tudja melyik árat kell használni valamelyik irányba váltáskor, a szabály igen egyszerű: amelyik számmal a kevesebbet kapod. :)

Szóval, 1M HUF, USA dollárra váltanánk. 1,000,000/277.75=3600$, 3636-3600=36$ esik le, 10000Ft (ugyanezen árfolyam mellett visszaszámolva).

3%-os időszakban az egyirányú spread 3%, azaz 275-3%, 275+3% a valós váltási szám, 266.75 és 283.25. Ez már gázos, marhára nem mindegy, mikor váltunk (10000 vs. 30000 Ft).

Az IB-nél tökéletesen látszik, mikor mennyi a spread, mivel itt eredeti valójában látjuk a forex piacot sokféle bank mint liquidity provider egybegyúrt árfolyaminfóival. Itt a középhez képest simán lehet 0.1Ft spreaddel váltani. Azaz 1M Ft esetén kapunk 1,000,000 / (275+0.1) = 3635$-t. A rendkívül szűk spread miatt csak 1$ veszik el! Durva. Ez a világ legjobb pénzváltója. Viszont írtam, van min 2$ commission, ami lejön a havi 10$-os account díjból, így a váltásnak praktikusan nincs költsége, csak az 1$-nyi a spread miatt.
Egyébként az IB-s számlán bármennyi deviza lehet egyszerre, nem kötelező átváltani a forintot dollárra. Azonban ha veszünk egy dollár alapú részvényt, akkor annak az ára mint negatív dollár egyenleg jelenik meg a számlán, ami miatt kamatot (interest) kell fizetni. Mivel befektetésben évekig élnek a pozícióink, ez a veszteség jelentős lenne, ezért érdemes átváltani a forintot befektetés előtt.

A spread hatása tehát összegezve a következő. 400e Ft befektetésekor 1%-kal eltolt ár (2% spread) esetén 4000 Ft veszteség keletkezik. Ez hozzájön a korábbi vételi és eladási tranzakciós költséghez, így évi 8.75%-os hozam és a korábbi bróker költségekhez még a váltást hozzávéve ennyi pénzünk lenne 10 év múlva a számlán:

Veszteség nélkül: 6,485,094 Ft
A következők a KBC egyéb költségeivel számolva, csak a spreadet variálva:
1% félspreaddel: 6,293,444 Ft
2% félspreaddel: 6,228,733 Ft
3% félspreaddel: 6,164,012 Ft

30 évre előre tekintve:
Költségek nélkül: 56,997,156
1% félspreaddel: 54,657,547
2% félspreaddel: 54,094,775
3% félspreaddel: 53,532,017

Biztos van, aki szarrágónak tart, de nekem számít az az 1 millió forint különbség a végén, és ha ehhez csak annyit kell tennem, hogy akkor váltsak, amikor kicsi a spread, akkor megteszem. 1 millióból sok farhát kijön majd akkor is – remélem. :)

Az IB a pici spreadje miatt is alulmarad sajnos, a 10$-os minimum számlavezetési díj miatt: 5,966,490 Ft. Az IB egy professzionális tradingre szakosodott bróker, nem egy befektetőkre kiélezett cég.

Csak érdekességképpen, ha 3M Ft-tal indulunk, és évi 4M Ft-ot tolunk be, akkor viszont az IB már leveri az összes többi alternatívát.
10 év után:
IB: 71,525,130
KBC 1%: 70,583,468
KBC 2%: 69,935,974
KBC 3%: 69,288,480

Szóval az IB nagyon olcsó, csak amerikai fizetésekhez van méretezve. :(

Maradt még az adózás és a “különös” költségek.

2015.10.25.

Befektetésről programozóknak 3.

Filed under: Élet,Tőzsde — Soczó Zsolt @ 13:26

Első rész.
Második rész.

Az előző részben az alapkezelési költségét néztük meg.

A következő költség a vételkor és eladáskor kifizetendő tranzakciós költség. Ezt szokták commissionnek hívni.
Ez a költség minden alkalommal, de csak egyszer vonódik le, amikor a pénzünkből veszünk valamilyen értékpapírt, vagy eladjuk azt, azaz nem hat az eddig befektetett pénzre.
Értéke óriási szórást mutat. A biztosítók általában 5% körüli vételi, és 0% eladási költséggel számolnak.
Az brókercégek mindkét irányban számolnak fel költséget, csak sokkal kisebbet. A bankoknál is lehet direktben venni ETF-et és részvényeket, de ezt nem “bátorítják”.

Pár kiragadott példa, amerikai ETF vételre (pl. SPY, ARCA tőzsde).

Unicredit: 2%, min. 150 EUR
CIB: max. 1,5%, min. 100 EUR
Erste NetBroker: 0.3%, min 15 USD (el lehet itt elérni az amerikai tőzsdéket?).
KBC külföld csomag:0.30%, min 7 USD
Interactive Brokers: 0.005 per részvény, de min. 1$, max. 0,5%

Az Este NetBroker és a KBC csak kiragadott példa, nincs időm végignézni az összes magyar brókert, ha valaki tud jót, szóljon, szívesen venném.

Lássuk a számítást, hogy össze tudjuk hasonlítani a költségeket. A kiinduló adatok:
EUR/HUF: 311
USD/HUF: 275

A megvenni kívánt amerikai ETF ára 200$ (pl. az SPY most kb. ezen az áron tradel).
Egyszerre befektetett összeg, 200$-os ETF-be. A biztosítós példát kivéve mindenhol 2x vettem a költségeket, vétel-eladás miatt. A biztosítónál eladási oldalra ezt használtam: “A kivont összeg 2 ezreléke, minimum 200Ft, maximum 2000 Ft.”, a vételire 5%-ot.
(Katt a képre nagyobb mérethez.)

TranCost

Látható, hogy az Interactive Brokers verhetetlen (még amerikai viszonylatban is az élvonalban van), de a magyar piacot nézve e KBC a legkedvezőbb árú. A bankok nem szeretnék, ha náluk ETF-eket vennénk, ők az alapjaikat akarják eladni (az előző részben részletezett okokból, az alapkezelési költségen minden évben stabilan keresnek rajta).
A biztosítók 5%-os díja az összegtől függő, mivel nincsenek minimális és maximális értékek a képletben.

A következő költség maga az értékpapírszámla fenntartási költsége.
Ez egyes cégeknél arányos a számlán található pénzzel, másoknál fix összegű vagy ingyenes. A továbbiakban a bankokat kihagyom, ha közvetlenül a cél részvényt vagy ETF-et akarunk megvenni, arra nem jók a bankok, láthattuk az előző részben. Maradnak a brókerek.

Havi számlavezetési díjak:
Biztosítás: 5400 Ft fix éves költséggel számoltam.

Erste NetBroker: 0,01%, Minimum: 125 Ft., 50M felett részre havi 0.005%

KBC: 0,01%, Minimum: 99 Ft, Maximum: 2 500 Ft. Ez csak a legkisebb csomagra, itt a commission 0,35%, a külföldi csomagban Minimum: 499 Ft, de ott a commission 0,25-0.3, én 0.3-mal számoltam az előző szakaszban. Azaz a számlán található pénzt mérete alapján érdemes csomagot választani vagy váltani.

Interactive Brokers: 10$, de teljes egészében commission-re használható. 100e $ felett ingyenes. :) Ez most még nevetségesen hangzik sokaknak, de aki komolyan gyűjt nyugdíjra (és közben nem lopják el költségekkel), annak simán lesz ennyi 20 év után.
Nem költség, de fontos tudni, hogy az IB-nél a minimum számlaméret 10,000$, így aki itt akar befektetni, annak első alkalommal ki kell tolni 3 misit.

Mit jelent ez egy folyamatosan növekvő befektetési számla esetén? Hogy egyszerűbb legyen a képlet most még fix évi 8.75%-os növekedést tételezek fel, a sorozat végén majd használok igazi adatokat.

A számítások a CostAccComm.xls-ben CostAccComm vannak, az AccountFee lapon (van több lap is benne!). A KBC-nél és az IB-nél nem egyszerű a helyzet, mivel a KBC-nél számla típustól függ a minimum, az IB-nél pedig commission-re fordítható a számla minimum költsége, így ezeknél a számlaköltség commission nélkül hamis számot ad, de majd finomítjuk a modellt (agile YAGNI :).

Tehát, 275 USD/HUF, 8.75%-os éves hozam, évi 400e Ft egyszeri befizetése mellett 10 év után a következő összegek lennének a számlákon (illetve ennyi veszteséget jelent), ha csak a számla költségét rakjuk be a képletbe:

Költségek nélkül: 6,930,585 (0%)
Biztosítás: 6,844,674 (-1.2%)
Erste: 6,878,906 (-0.74%)
KBC: 6,833,466 (-1.4%)
IB: 6,405,574 (-7.5%!)

Meglepő eredmények. Kis pénzről van még szó (befektetésekhez mérten). Az Erste 125Ft-os minimális díja miatt leverte a KBC-t, ahol 499-cel számoltam. Ha a KBC-nél a start csomagot nézem, ami 99Ft-os min havi díjú, akkor 6,880,287 jön ki, amivel egy hajszálnyival már jobb, mint az Erste. De ennél a csomagnál meg drágább a commission, azaz ezen komponens nélkül nincs értelme számolni a számlaköltségekkel.
A biztosítások évi fix 5400 Ft-os díja egy közepes költséget jelent, ha csak ezt néznénk, ki lennék békülve velük.
Ami igazán meglepő lehet, az az Interactive Brokers, 7.5% tűnne el az accountról a min költségek miatt! De természetesen nem eszik ilyen forrón a kását.
1. Okkal 10000$ a minimum számlaméret az IB-nél, másképp a költségek lemorzsolnák a számlát. Lássuk be, az IB nem akar kis traderekkel, befektetőkkel bajlódni. Ezen megsértődhet valaki, de ők nem a tipikus magyar méretekre vannak optimalizálva. 10k$ egy amerikai programozó 1-2 havi bére. Ez van.
2. Az IB traderekre van hangolva, akik simán ledolgozzák a havi 10$-t commissionnel, így nekik ez a költség 0. Mi most ritka, évi 1 tranzakcióról beszélünk, így a min. díj igen jelentős.

Hogy kicsit reálisabb számokat lássunk, tegyük fel induláskor betolunk 3M Ft-ot a számlákra, és évente befektetünk 1.2M Ft-ot (havi 100-at, magyar programozóként ez még reális, ha odafigyelünk a költéseinkre).

10 év után:
Költségek nélkül: 27,781,311
Biztosítás: 27,695,400 (-0.3%)
Erste: 27,552,500 (-0.8%)
KBC (499-cel számolva): 27,550,890 (-0.8%)
IB: 27,256,300 (-1.8%)

A biztosítók fix díja itt már alig vesz le a pénzből.
Az IB még így is sok, az elején amikor még relatíve kis pénz volt a számlán. 100e $ felett az IB ingyenessé válik, az előbbi befektetés pont a 10. év után csap ebbe a sávba.

Azonban fontos érteni, ez még csak a számla alapköltsége volt, hozzá kell venni a tranzakciós költségeket (commission) is.

A következő számítások a korábbi xlsben lesznek, csak az AccountFee+Comm lapon.
Ebben már a számlavezetési díj és a commission is benne van (van még egyéb költség is, így ez se a vége még), 10 év után, évente befektetve:

Költségek nélkül: 6,930,585 (0%)
Biztosítás: 6,498,144 (-6.2%)
Erste: 6,807,898 (-1.7%)
KBC: 6,800,186 (-1.8%)
IB: 6,405,574 (-7.5%!)

Kis pénznél nagy pofont kapnak a befektetett pénzek, főleg az IB-nél és a biztosítóknál.

3M Ft induló tőkével és évi 1,2M befektetéssel:
Költségek nélkül: 27,781,311
Biztosítás: 26,655,813 (-4.0%)
Erste: HUF 27,481,526 (-1.0%)
KBC (499-cel számolva): 27,488,898 (-1.0%)
IB: 27,256,300 (-1.8%)

Így már kiegyenlítettebb a helyzet, a hazai brókereknél a pénzünk 10 év alatt 1%-kel lesz kevesebb az ideális befektetésnél, ezt elfogadhatónak tartom. Az IB-nél így már normálisabb költségek jönnek ki, de még így is sok, mivel csak évente egyszer tradelünk, az IB pedig nagyobb pénzű és sokat kereskedő traderekre van optimalizálva (azért alacsony a commissionje). A biztosítóknál számolt 5% nagy pénzeknél is jelentős hatású, mivel nincs felülről korlátozva.

Összegezve, eddig ezeket a költségeket néztük meg:
1. Alapkezelési költség
2. Számlavezetési díj
3. Commission vagy tranzakciós költség

Mi maradt még hátra?
1. Át kell utalni a befektetni kívánt pénzt a brókerhez vagy biztosítóhoz, ennek van egy költsége.
2. Át kell váltani a Ft-ot valamilyen cél devizára, pl. USA dollárra. Ez jelentős tétel lehet, pedig erre kevesen figyelnek. Az IB itt nagyot hasíthat.
3. Adózás kivételkor. Magyar brókereknél TBSZ, biztosítónál 10 év után…
4. A biztosítóknak még vannak “különös” költségei, ezek durvák.

A következő részben ezen költségeket tekintem át.

2015.10.24.

Befektetésről programozóknak 2.

Filed under: Élet,Tőzsde — Soczó Zsolt @ 13:04

Az előző részt ott hagytam abba, hogy _szerintem_ dolgozó átlagemberként a részvényindexekbe történő rendszeres befektetés sok éven keresztül alkalmazásával lehet egy élhető szintű nyugdíjalapot összerakni.

Ez a rész matekosabb lesz azért, hogy aki érteni akarja, mi történik a pénzével, az maga is utána tudjon számolni. Aki nem szereti az ilyet, annak a végén leírom a konklúziókat.

Az indexek csak számok, nem lehet pénzt tolni beléjük. Vannak viszont olyan termékek, amik szimulálják egy adott számított érték, pl. egy stock index működését, így ezeket proxyként lehet használni az indexhez. Pl. a már emlegetett S&P 500-as indexhez van egy SPY nevű Exchange Traded Fund, röviden ETF. A belső mechanikája számunka közömbös, ami fontos róla, hogy elég pontosan követi az S&P 500-as index értékét. Kívülről pont olyan mint egy részvény, azt mondod a broker GUI-n, hogy venni akarok 10 db SPY-t, és egy pillanat múlva már a tiéd is.
Itt az adatlapja. Ha veszek egy SPY-t, az olyan, mintha minden benne levő 500 részvényből vennék egy picit, mivel a háttérben tényleg nap mint nap utánahúzzák az ETF mögötti részvényállományt. Mivel a piac állandóan mozog, ezért az ETF értéke nem hajszálpontosan követi az index értékét, ezt hívják tracking differencenek. Ez egy költség a befektetőnek, ami spy esetén kb. évi 0.1%. Az előző cikk részletezi, milyen más összetevőkből is áll a költség. Mivel az indexbe nem lehet közvetlenül befektetni, tudomásom szerint ez a legkisebb költségű eszköz, amin keresztül egy átlagember be tud fektetni pl. az S&P 500-ba. Ellenpontként a Unit Linked biztosítások minimum évi 2%-ot visznek el.
Itt látható, hogy 1993 óta, mióta létezik az SPY évi 8.75%-os hozott. Tudom, ez nem olyan szép, mint a kínai vagy indiai alpok elképesztő számai, de nincs ingyen ebéd, ami hatalmas erővel emelkedik, az még nagyobb erővel esik is, amit a legtöbb ember nem bír gyomorral. Aki bátrabb, talál ETF-et bármely piachoz, óvatosan lehet azokba is tolni pénzt.
Vissza az SPY-ra, ha 93-ban befektettem bele, az most kb. 1.0875^(2015-1993)=6.88-szor annyit ér. Ha megnézzük az SPY historikus adatait (magyar beállításoknál importálni kell excelbe, mert amerikai szeparátorok vannak a csv-ben, illetve rendeztetni és érdemes, hogy a múlt felől haladjon a jövő felé), 1993.01.29. az első adatunk, itt a close price, azaz a nap végi záró ár 43.9375 volt. A táblázat végén 2015.10.23-án 207.52 a záró ár. Ez alapján 207.52/43.9375=4.72-szorosára ment fel az ETF ára. Miért nem 6.88? A különbség azért van, mert az ETF mögötti részvények osztalékot is adnak, amit az ETF (részben) odaad az ETF-be fektetőknek. Hoppá, a Unit Linked biztosítások odaadják az osztalékot? :)
Az osztalék készpénzként megérkezik a számládra, a yahoon erről is van adat. Idén pl.

Sep 18, 2015 1.033 Dividend
Jun 19, 2015 1.03 Dividend
Mar 20, 2015 0.931 Dividend

Ha az SPY értékét 200-nak vesszük, az 1 az 0,5% osztalékot jelent, azaz csak idén 1.5% jött be csak osztalékokból. Az osztalékot újra be kell fektetni, ezzel számolják ki az SPY adatlapján is a 8.75%-os éves hozamot. Kisebb pénzekkel ezt nem lehet megjátszani, mivel ETF-ből min. 1 egységet lehet venni, ami most pl. 207$, ha ennél kevesebb az osztalék, akkor nem fut ki 1 egységet se.
Azaz azt tehetjük, hogy a következő évi befektetés esetén kicsit kevesebb pénzt utalunk a befektetési számlára, vagy picit többet veszünk az ETF-ből.
Visszatérve, hogyan lehet a számítások során figyelembe venni az osztalékot? Ehhez már két adathalmaz kell, az egyik a részvény (ETF, akármi) árai, a másik az osztalékok időpontja és idejei. Mivel így már nem olyan egyszerű a számítás a következő trükköt követjük el.
Ha ma 100-on zártunk, és holnap 1% osztalékot adnak, akkor változatlan körülmények között holnap 99 lenne a nyitó ár, mivel az 1% osztalékot tükrözni fogja a termék ára. Ha nem tudunk az osztalékról, akkor azt hisszük, hogy 1 nap alatt vesztettünk 1%-ot az üzleten, közben nullszaldón vagyunk. Hogy ne kelljen tudni az osztalékokról az csinálják, hogy a tegnapi és az összes korábbi árat beszorozzák az osztalék által okozott “pénzkivonással”, ezt hívják adjusted close-nak, a yahoo adatsorban ez az utolsó oszlop. Jól látható, hogy 09.16-ig a close és az adj close azonos, előtte már nem. Az osztalék előtti adatokat ugyanis visszacsökkentik az osztalék arányában, azaz mesterségesen belerakják az osztalék okozta nyereségtöbbletet az árba azáltal, hogy a múltbeli árakat csökkentik.
Pl. a szeptember 18.-ai osztalék miatt (199.699997-1.033)/199.699997=0.994827241-gyel szorozzák be a múltbeli záró árakat. Az 1.033 az osztalék, a 199.699997 pedig az osztalék előtti napon a záróár.
És tényleg, ha megnézzük pl. a 15-ei sort, akkor a záróár 198.449997, az adjusted záró 197.423469, a kettő aránya 0.994827271, ami elég pontosan egybevág a saját számításunkkal. Eredetiben itt a módszertan.

Miért kellett ez a bonyolítás? Azért, mert így sima kamatos kamattal, azaz exponenciális függvényekkel tudunk hozamokat számolni. Visszatérve a korábbi példánkra, az SPY kezdetekor, 1993.01.29.-én a close 43.9375, az adjusted close 28.772289. Ennyire sokat számít az osztalékok miatti plusz profit!
207.52 a legutóbbi záró ár, 28.772289 az 1993-as adjusted close, azaz a pénzünk most 207.52/28.772289=7.21-szor többet ér. Az SPY adatlapján számoltak alapján 6.88 jött ki, a különbség a tört évek miatt van.
Az egész gyakorlat célja az volt, hogy bemutassam, a valódi hozamok számításához az adjusted close price-t kell használni.

Amikor rendszeresen befektetünk, akkor mindenféle árakon veszünk a kiválasztott papírból, ezért az eredő hozamhoz minden befektetési időponthoz pontosan ismernünk kell az adjusted close árakat. Erre láthatóan ott a yahoo, így már csak a költségeket kell ismernünk, hogy egész pontosan kiszámoljuk, hogyan alakult volna befektetésünk a múltban.
Mi értelme a múltbeli hozamokat számolni, ha egyszer azok semmiféle garanciát nem jelentenek a jövőre nézve? Azért fontos ez, mert így objektíven, számszerűen tudunk értékelni különböző befektetési lehetőségeket. Ha valami a múltban is leszedte a gatyánkat is az óriási költségekkel (Unit Linked biztosítás), akkor a jövőben se lesz jobb, minek másnak termeli pénzt, nem magunknak?
Lássuk tételesen a költségeket, amiket bele kell venni egy reális modellbe.
1. A termékbe épített költség. Alapoknál ez általában 2% körül szokott lenni. Ez a teljes összegből levesz évente 2%-ot, ezért ennek költsége igen jelentős, minél több pénzünk halmozódott már össze. Pl. 10m esetén 2% már 200e Ft! Sokféle más termékbe befektető alapoknál ez a költség teljesen követhetetlen, ezért is nem szeretem ezeket (pl. a bankok által forgalmazott alapok ilyenek, illetve a biztosítók alapjai is). Praktikusan ez azt jelenti, hogy van valami vagy valamik, amikbe befektetnek, de a kisbefektetőknek már nem az eredeti árfolyamot mutatják, hanem egy, a költségekkel csökkentettet. Mivel ráadásul általában más devizában vannak a befektetések még a Ft-adott deviza árfolyam is befolyásolja az eredő árat, így a tényleges kezelési költség kívülről kiszámíthatatlan. Kivéve, ha egy konkrét dologba fektetünk be. Pl. az előző részben említett Unit Linked biztosításban minden évben a Warren Buffet alapba raktuk a pénzt, ami zömében büfé úr BRK-B nevű részvényébe fektet be. (Megjegyzem, az ügynökduma arról szól, hogy büfé úr részvényét nem tudja megvenni az átlagember, mivel annak értéke 200000$. Igen, az a BRK-A, de a biztosító a BRK-B-be fektet be, aminek értéke kb. 100$. Hivatkozás a biztosító hivatalos tájékoztatójában. “… BERKSHIRE HATHAWAY (B sorozat) …”)
Lássunk, mit kapna az, aki venne BRK-B-t közvetlenül vs. mit mutat ebből a biztosító:
CIG Warren vs. BRK-B

Az számításokat a mellékelt CIG1.xls mutatja be., az adatok forrása a yahoo finance, az MNB és a CIG (benne vannak a forrásadatok is, bárki ellenőrizheti a számításokat).

Jól látható, hogy nyílik az olló a két árfolyam között, minél több idő telik el, annál nagyobb a gáz.
Ez emésszétek, aztán jön a többi költség a következő részben. Látni fogjátok, ha az ügyfél megkopasztásáról van szó, elképesztő fantáziájuk van. :(

2015.10.21.

Befektetésről programozóknak 1.

Filed under: Élet,Tőzsde — Soczó Zsolt @ 23:22

Pár napja utánanéztem egy 2008-ban feleségem részére kötött életbiztosításnak (álcázott befektetésnek), CIG Signumnak. Mivel tudtam, hogy milyen részvény van mögötte, és ismert az USD/HUF historikus árfolyama is, elég egyszerűen utána tudtam számolni, mennyi lenne a befektetés valódi értéke egy költségmentes befektetés esetén. 7*400e lett befizetve, a szerződés pillanatnyi értéke 5.6M Ft lenne, a biztosító szerint IS. A valódi értéke 3.5M, ha most 8 év után kilépnénk belőle 3.2M lenne.

Ezen durva költségek vettek rá arra, hogy kicsit írjak róla, milyen alternatívák vannak. A kiszámoló blog sokat írt erről, én is megpróbálok erről úgy írni, hogy informatikus társaim is megértsék.

Az alábbi gondolatok nem jelentenek pénzügyi tanácsadást, csak leírom a véleményem a témáról. Sok ponton nem fogok precízen fogalmazni, hogy ne legyen terjedelmes az írás. Az alap koncepciókat akarom csak megmutatni.

Unit linked biztosítás esetén 2008-ban és 2014-ben, illetve idén is igénybe lehetne venni a 20% max. 130e Ft-ot az SZJA-ból. Nekem a 3 gyerek miatt nem marad SZJA, így ez az opció nem él.
Ez a lehetőség ráadásul illékony, mint kormányunk minden törvénye. Mivel a biztosítók költségei még többet is felemésztenek mint ez az adó támogatás, én ezt a lehetőséget bújtatott pénzszivattyúnak tartom, amivel csak gazdagodnak a biztosítók és a közvetítő cégek (bnet és társai).

Emellett 10 év után szja mentesen lehet kivenni belőlük a pénzt, de erre van TBSZ is, szívatós kötöttségek nélkül.

Cégből nem kívánok biztosítást fizetni, a meglévő meg nem is az én nevemre szól, illetve 2018-tól 52% adó terheli. Bővebben a témáról itt.

Ma voltam a CIG irodájában, nem sikerült egy részletes számítást kapnom, pontosan milyen képletek alapján vonják le a költségeket. Benne van a szerződésben, de én a saját szememmel akarom látni a számokat, mivel magam lemodellezve nem tudtam kihozni azokat a költségeket, amit ők, de ami érdekes, hogy ha minden évben levonok 8.5%-ot a _teljes_ befektetett összegből, akkor pont kijön a számla végösszege.

Amíg nem küldenek egy tényleg részletes elszámolást, addig nem tudom összehasonlítani egy ilyen UL költségeit egy bróker számláéval. Ha megértem, leírom majd.

Számomra, aki fegyelmezetten képes a pénzügyeit kezelni, nincs szükségem a Unit Linked biztosítások zavaros és óriási költségeire, nem kérek külső kényszert, hogy befizessem az éves díjat.

Tehát, a következő az alapállás. Jól kereső informatikus vagy. Felelősséggel gondoskodni akarsz a jövődről, szeretnél valami nyugdíjalapot magadnak összerakni hajlott korodra. Megvan benned a szándék és a kitartás is, hogy külső ostor nélkül is évente egyszer vagy kétszer átutalj egy adag pénzt, amelyet befektetsz valahová. Ha ezek teljesülnek, akkor nézzük, az én fejemben milyen lehetőségeid vannak.

1. Mindenféle lenyúlós unit linked biztosítások: big no, ne másnak gyűjts pénzt, magadnak.

2. A bankodnál vásárolható alapokba fektetsz be.

3. Keresel egy kis költségű de stabil brókert (nem Kajmán szigeteki, meg ciprusi), és direktben fektetsz be.

Én nagyon utálom, ha egy befektetés költségei nem transzparensek, ebből a szempontból a 3. a legkövethetőbb költségű.

Mibe lehet befektetni átlagemberként? Bármibe, a részvényektől, állampapíroktól addig, hogy hány fok lesz decemberben, szinte bármibe. De mi az, ami hosszú távon valami értelmes hozamot képes összehozni (hozam >= 10%)? Részvények.
Részvény vásárlásával egy pici tulajrészt szerzel a cégben, ha a cég árfolyama felmegy, akkor a te részvényed értéke is felmegy, így ha később eladod, hozamot generál neked.
A részvényekkel azonban két baj van:
1. Az árfolyamuk veszettül tud fel-le menni, pár nap alatt tudnak akár 20-40%-ig pattogni. Ezt a legtöbb ember nem bírja idegekkel.
2. Cégek becsődölhetnek, így a részvényed értéke 0 Ft lesz.

Van ennél egy konzervatívabb és biztonságosabb lehetőség is: részvény indexek. Ez egyszerűen arról szól, hogy fogják egy adag részvény árfolyamát, és folyamatosan képeznek belőlük egy súlyozott átlagot. Pl. van a DOW 30, ez 30 nagyon nagy amerikai cég részvényeinek átlagára. Ilyenek vannak benne, mint Apple, Coca Cola, Nike, stb.
Itt a chartja.

Nem kell megijedni a kis zöld és piros gyertyáktól, egyszerűen kompakt módon mutatják meg az adatokat. Az előbbi charton 1 gyertya 1 hónapot fog át. Azaz fogják az adott hónap összes kereskedésének árfolyamát, és képeznek belőle egy Min, Max értéket, az a kis pálcika alja és teteje, illetve egy First és Last értéket, ez a gyertya törzsének alja és teteje. Ha zöld, akkor abban az időszakban felfele ment az ár, ha piros, lefele. Azaz 4 aggregált értéket ábrázolnak egy gyertyában, semmi mágia nincs benne.

Másik híres index az S&P 500, ez 500 nagy amerikai cég súlyozott átlagára. Így nézi ki.

Kb. olyan, mint a dow, csak ez nagyobbakat pattog, volatilisebb. Emiatt többet is tud hozni, a dow 6470-ről ment fel 18351-re, azaz 2.83-szor többet ér, mint a mélyponton 2009 márciusában. Az S&P500 666-ról (viccesek a traderek) ment fel 2134-re, 320%-os hozamot generálva annak, aki beszállt volna a mélyponton, és kiszállt volna a tetején. Ilyen ember persze nincs.

Ha egy index komponens cég bedöglik, akkor kidobják, és beraknak helyette másikat, így index esetén nem kell félni, hogy lemegy nullára. Vagy ha igen, akkor már úgyis vége az általunk ismert világnak.

Az indexek nem olyan volatilisek, mint az egyedi részvények, de ezért van itt is rendesen szívdobogtató esemény. Pl. aki 2007 októberében vett SP-t 1576-on, az 2009 márciusában kétségbeesetten látta, hogy a befektetése 666-on áll. Berakott mondjuk 1 millió forintot, és rá másfél évre az már leolvadt 422 ezerre. Aki ebben benne ül, az úgy érzi itt a világvége.

És ez itt az első probléma: ha valaki rendes hozamokat akar elérni (ahogy írtam 10% éves hozam már rendben van), annak fel kell készülni az ilyen időszakokra. Gyomor kell hozzá, vasfegyelem, önkontroll. Akiben ez nincs meg, az ne akarjon ilyen hozamokat maga elérni!

Minden befektető álma, hogy csak a pozitív dőlésszögű szakaszokban üljön benne, de amikor lefele megy az adott részvény vagy index, akkor meg pl. állampapírban vagy más, nagyon kis, de elég biztos pénzt hozó alapban tartsa a pénzét. Ezt hívják tudományosan portfolio reallocationnek.

A csapda az, hogy egy átlag befektető, aki valamilyen normál munkából él, pl. te IT-s kolléga, az NEM képes erre. Ne legyünk naivak, a nagy fundok iszonyatos okos emberi és nagy kapacitású számítógépes infrastruktúrával is csak nagyon kevesen képesek legyőzni a piacot, azaz pl. az S&P 500-nál konzisztensen, hosszú távon nagyobb hozamot elérni. Se te, de egy macsakajancsi megmondóember valamelyik brókercégtől vagy banktól, se egy előfizetéses guru NEM FOG HOSSZÚTÁVON PROFITÁBILIS TANÁCSOKAT ADNI! Az egyik részvényből kiugraszt -5%-on, beugrasz egy másikba, az felmegy 20-szal, hogy aztán rémülten kiszállj -30%-on, mert történt valami a világban, amitől csobbant egy nagyot.
A piacra ki-be szállogatni, a befektetést időzíteni trading. A trading az egy külön szakma, és nagyon nehéz. Ne ringasd magad abba a tévhitbe, hogy te konzisztensen, hosszútávon jó leszel benne a portfólió.hu-t meg más elemzéseit olvasva. A te dolgod pénzt keresni a szakmáddal, és azt a lehető legjobban megnövelni pár 10 év alatt, nem elcseszni a tőzsdén rossz tradekkel.
(Aki tudja rólam, hogy tradelek az ellentmondásosnak ítélheti meg, amit írtam, de én kb. 2 emberévet raktam bele az aktív, algoritmikus tradingbe, és még nem biztos, hogy hoz annyit, mintha eladtam volna magam konzulensként. De inspirál, ezért csinálom.)

Szóval szerintem kétféle módon lehet hatékonyan elégetni a kemény munkával megkeresett pénzt: nagy költségekkel (UL, bankok), vagy béna aktív tradinggel.

Mi maradt akkor? Szerintem amire egy átlag ember építhet, az az buy and hold, amibe rendszeresen rak pénzt. Azaz periodikusan veszel egy kicsit valamiből, ami hosszútávon felfele megy. Az indexek ilyenek. Lesznek benne szopó időszakok, mint 2008. De ha elhiszed, hogy az indexek állandóan felfele mennek, csak vannak benne huplik, akkor még örülsz is a hupliknak, hisz ott olcsóbban tudsz befektetni.

Itt van pl. az S&P 500 1950 óta.
Látszik, hogy felfele megy, de pl. aki 2000-ben a csúcson vett, az 2007-ban elkezdett örülni, hogy végre visszatért a befektetett árhoz az index, hogy aztán újra a szakadékba zuhanjon, és végül csak 2013 körül tudta meghaladni a 2000-es csúcsot. Ez 13 csapkodó év! Aki rövid, pár éves távra tervez, annak ez nem való, azért is kezdtem azzal, hogy azokhoz beszélek, akinek még van 20-25 éve a nyugdíjig.
Viszont aki minden évben befektetett, az vett 2008 és 2009-ben potom áron is részvényeket, az most nagyon örül, mert az a befektetett pénze most 3x annyit ér.

A következő részben számszerűen bemutatom, hogy mit jelent ez, mennyit tud hozni egy minden évben befektetett pénzt egy indexbe. Aztán megmutatom, mennyire arcul vágják ezt a szép folyamatot a költségek, hogy aztán senkit ne vágjanak át zsíros biztosításokkal. Végül bemutatom, ETF-eken keresztül hogyan lehet tényleg megvalósítani a felvázolt rendszeres befektetést.

Stay tuned. :)

Ps. nem kérek UL ügynök kommeneteket, teljesen felesleges győzködni a szokásos érvekkel.

2014.11.25.

Lehúzásmentes befektetés – nincs is ilyen Magyarországon?

Filed under: Élet,Gazdaság,Tőzsde — Soczó Zsolt @ 14:27

Tegyük fel TBSZ-en van pénzem egy banknál. Hogy számok konkrétak legyenek, legyen ez az Unicredit.

Venni szeretnék 100 db SPY ETF-et, hogy a pénzem úgymond az amcsi gazdaságban legyen befektetve.
Lássuk, az SPY per pillanat $207, az USD/HUF pedig 246. 100 * 207 * 246 = 5092200 Ft 100 db részvény ára magyar forintban.

Az unicreditnél ezért fizetnem kell 2%-ot, de min. 150 EUR-ót. 5092200 Ft * 0.02 = 101844 Ft, ez 330 EUR, azaz ennyi lesz a vége.
Az Interactive Brokersnél a commission $0.005 per share. 100 shares * $0.005 per share = $0.5, de mivel egy order min 1$, így a vége 1$ lesz. 246 Ft!!!

Szóval, itthon fektetem be egy bankon keresztül, költségként fizetek 101844 Ft-ot, az IB-nél 246 Ft-ot. Ez 414, azaz négyszáztizennégyszer magasabb költség!

Tudom, nekem forintom van, nekik ezt át kell váltani dollárra. Szintén az IB-nél a forex tranzakció költsége: 0.00002 * trade value. Azaz 5092200 Ft * 0.00002 = 101 Ft, de min. 2$ ez is, így ez 492 Ft. Nagyságrendileg semmi nem változott.

Pénzváltáskor és részvény vételkor van spread, de azt mindkét esetben én fizetem.

A kérdés: Milyen értéket ad hozzá egy bank, ami indokolja a sokszázszoros költséget?

Referencia adatok, nem hasból beszélek:
Unicredit értékforgalmi hirdetmény, ebben vannak a költségek.
Interactive Brokers Commission lista részvényekhez (az ETF-ek ebbe a kategóriába esnek).
Interactive Brokers Commission forex.

Update: CIB-nél ugyanez: max. 1,5%, min. 100,- EUR. Esetünkben 5092200 * 0.015 = 76383. Ez se sokkal barátságosabb.

Update2: KBC-nél: 0,25-0,35%, min 6,99 USD. Számoljunk 0.3%-kkal: 5092200 * 0.003 = 15276 Ft, ez több mint 7$, így az a vége. Na, ez már kezd tetszeni.

2014.07.16.

Brokernet

Filed under: Élet,Tőzsde — Soczó Zsolt @ 10:16

Tóth úr (dr. Tóth András tanácsadó, Brokernet) írja hírlevelében:

“Az elmúlt évtizedben elképesztő mennyiségű ócska pénzügyi konstrukciót kínáltak vállalkozói nyugdíj célra. Ezek jelentős része hatalmas csalódást okozott. Akikkel most tárgyaltam, azok nagyobbik része már ki is szállt ezekből, a kisebbik része meg gondolkodik erről. És hatalmas a tanácstalanság.”

No, ha valaki, akkor a Brokernet igazán sokat tett, hogy ez a szabadrablás szisztematikusan működjön. Nem sorolom fel az összes megszüntetett unit linked biztosításomat, csak egyet mondok el, már csak ez él, de ennek sincs értelme.

CIG unit linked konstrukció. Az első két évből lenyúlnak 40 (negyven!) százalékot. Ettől mondhatni fejnehéz a biztosítás. Emiatt nem lehet normálisan szabadulni tőle, meg ez az első szintű rablás.
A befektetett minden egyes összegekből levonnak 5%-ot, és évente a akkumulálódni szándékozó, de nem tudó összegből 1.75%-os alapkezelői díjat, meg pár ezer forintot évente számlavezetési díjként.

Tegyük fel be akarok fektetni 10 évre. A 2 évi 40% 10 évre osztva évi 8%. Ehhez jön még az 5% amikor betolom a pénzt, illetve az 1.75%, ami ráadásul minden évi eredményre vagy megmaradt összegre rámegy. Ez összesen 14.75%. Nem teljesen pontos a szám, mivel a különböző számok más alapra viszonyulnak, de a nagyságrend jó.

No, akkor most jön a kérdés. Milyen passzív, buy and hold befektetés fog évi 26%-ot kitermelni, hogy abból kijöjjön a 14%-os rablás, és még nekem is maradjon az “ígért” 12%-os hosszútávú átlagos hozam?
Ne akarja nekem senki azt mondani, hogy de váltani kell az instrumentumok között, figyelve a trendeket. Aki ezzel konzisztensen tud pénzt csinálni, az kezdjen el tőzsdézni. De az, hogy a legjobb amerikai hedge fundok évi 30%-ot csinálnak, olyan emberekkel és technológiával, akiket elképzelni se tudunk, az nekem azt jelzi, hogy egy átlagember az alapváltásokkal sokkal nagyobb valószínűséggel veszít, mint nyer. Beating the market, ez nem egy olyan dolog, amit meló mellett tőzsdézgetve egy átlagember meg tud tenni. Szóval számomra unit linked biztosítás = undorító rablás.

2012.08.02.

Mohó bankok

Filed under: Élet,Tőzsde — Soczó Zsolt @ 18:25

Nyilvánvaló, hogy a bankok a pénzügyileg képzetlen tömegekből élnek. Hitelkártya-használat és más példák helyett álljon itt egy pénzváltási példa.
El akarok menni nyaralni Horvátországba. Venni akarok pl. 1000 eurót és 5000 kunát.
Ha ezt pl. a CIB-nél teszem meg (itt van számlám azért ezzel példálózok), akkor ezért adnom kell:
292.33 * 1000 + 41.24 * 5000 = 292,330 + 207,100 = 498,530 Ft-ot.

Egy pénzváltóban:
282.8 * 1000 + 38.35 * 5000 = 282,800 + 191,750 = 474,550 Ft.

A különbség 24e Ft! Ez 5%. Ennyiből kijön két ebéd a családnak, vagy az üzemanyag zöme. Vagy a bank következő negyedévi profitja. Lehet választani.

A cikk nem a CIB-et vagy a linkelt pénzváltót reklámozza, csak a spead (Bid-Ask különbség, azaz az eladási és a vételi ár távolság) fontosságára akarom felhívni a figyelmet.

Spreadek:
CIB: 292.33 – 269.85 = 22.48.
CorrectChange: 282.8 – 281.05 = 1.75.
A spreadek hányadosa: 12.84. Szerintem ez igen durva.

Annál a brókernél ahol tradelek, az Interative Brokersnél egyébként a spread 0.2-0.3 Ft, de ez persze nem papírpénz. Ez még a correctnek is a töredéke.

Persze, lehet azt mondani, bankban nem váltunk, kártyát használunk. Hisz a kártya használata ingyenes. Tényleg? “There is no such thing as a free lunch”. Ez olyan mint az energiamegmaradás a fizikában.
“If You Can’t See the Sucker, You’re It”. Szóval ingyen használjuk a kártyát. Ha fizetek vele Horvátországban, akkor először a kártyaszolgáltató átváltja a pénzt kunáról euróra vagy dollárra, társaságtól függően. Utána a bank ezt továbbváltja forintra. Utóbbit persze el lehet kerülni, ha van megfelelő deviza számlád.
Azaz ebben az esetben két spreadet kell kifizetni. Mondhatnánk, a deviza spreadek kisebbek, elvégre nem kell bankjegyeket kezelni, virtuális az egész ügyet. Lássuk csak:
CIB: 286.71 – 275.47 = 11.24. Pont a fele a valutának, de még így is sok, és a kártya cég spreadjét nem tudjuk, de látható, hogy a correct még valutában is sokszorosan olcsóbb, mint kártyázni.
Szóval leszarom a kártyát, és viszek kpt. Benéztem valamit? Még vissza tudom váltani, kicsi a spread. :)
Egy helyen viszont biztos kártyázok, a horvát autópálya fizetésnél. Francnak van kedve sorban állni. Az idő is pénz.

2012.06.05.

“Szakcikk”: Meneküljön, ki merre lát!

Filed under: Élet,Tőzsde — Soczó Zsolt @ 15:02

Amikor ilyen hírek jönnek már a csapból is, akkor szokott fordulni a piac. Pár héten belül kiderül.

2010.11.07.

Az ATS működik :)

Filed under: Élet,Személyes,Tőzsde — Soczó Zsolt @ 23:41

Az utóbbi időben nagyon csendben voltam, ennek az volt az oka, hogy a sok első féléves munka után azt mondtam, hogy most már itt az ideje komolyabban venni az automatikus trading rendszer írását, és nem csak éjszakánként fejleszteni. Ez egy rengeteg erőforrást zabáló, intenzív kutatási és programolási kaland volt, ilyenkor nincs erőm/kedvem blogolni. Volt benne sok frusztráló pillanat, amikor már fel akartam adni.
De a sok munka úgy néz ki kifizetődő. :)
Közel 4 hete már élőben fut a rendszer, és azt hozza, amit a backtest ígért. %-ot, stb. szándékosan nem mondok, de jelentősen több, mint egy befektetésé. Másként minek öltem bele 2 évet?
Hogy ez mennyire stabil hosszabb távon? Ezt csak a Jóisten tudja. 319 trade történt eddig, az statisztikailag már elég jelentős, így bízok benne, hogy stabil lesz a rendszer hosszabb távon is.

Az alábbi kép pár napja készült, ami egy ritka idegbeteg nap volt, akkor jelentette be a FED, hogy 600 milliárd dollárt tol be a gazdaságba.

A 3. trade 1.5 percig tartott. :)

Jelenleg 8 future termékkel (az alapjuk deviza, stock index és állampapír), 16 egyedileg paraméterezett algoritmus példány tradel. Hosszabb távon ennél több lesz majd, hogy lehetőleg ne legyenek olyan napok, amikor szívinfarktust kapok. A 2. nap pl. ilyen volt, akkor 2000$ bukót kellett lenyelnem.
Az egész tőzsdében ez a legnehezebb, a pszichológiai rész. Egyensúlyozni a mohóság és a félelem övezte mezsgyén. Félelmetes dolog ez, igencsak megmozgatja az ember emócióit. Ezt kell persze levetkőzni, ez a lényege az egésznek. Most pénteken pl. nem sikerült, és nem indítottam el csütörtök éjszaka, csak péntek délután, annyira megégetett az előbb írt veszteség. Pedig ilyenek törvényszerűen vannak, benne vannak a backtestben is. Csak más dolog statisztikákat nézni, meg más átélni. Mellesleg jót keresett volna a kieső időben, nem volt idegbeteg nap, mint egy hónappal korábban. Ez alap hiba volt, kifizettem a tanulópénzt.
Technológiai hátterét tekintve W2k8 R2, IIS7, .NET4, EF4, WPF, WCF, SQL Server 2008 R2, SQL Reporting Services alapú a rendszer. Elképesztő sebességeket lehet elérni .NET4-gyel, csak rendes design és odafigyelés kell hozzá. Meg sok profile-ozás. :)
Az SQL Serverben 15 milliárd sor van egy táblában, és teljesen jól lehet kezelni. Ez is tervezés és indexelés kérdése.

Akit érdekel a téma, az alábbi tőzsdés könyveket ajánlom, nekem ezek segítettek:
Come Into My Trading Room: A Complete Guide to Trading
High Probability trading
The Encyclopedia of Trading Strategies
New Trading Systems and Methods
Cybernetic Trading Strategies: Developing a Profitable Trading System with State-of-the-Art Technologies
Reading Price Charts Bar by Bar: The Technical Analysis of Price Action for the Serious Trader
Technical Analysis: The Complete Resource for Financial Market Technicians (nekem az első kiadás van meg)
Quantitative Trading Strategies: Harnessing the Power of Quantitative Techniques to Create a Winning Trading Program
Quantitative Trading: How to Build Your Own Algorithmic Trading Business
High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems
Professional Stock Trading: System Design and Automation
Trading Systems That Work: Building and Evaluating Effective Trading Systems
Mechanical Trading Systems: Pairing Trader Psychology with Technical Analysis
The Evaluation and Optimization of Trading Strategies
Evidence-Based Technical Analysis: Applying the Scientific Method and Statistical Inference to Trading Signals
Short Term Trading Strategies That Work
Trade Like a Hedge Fund: 20 Successful Uncorrelated Strategies & Techniques to Winning Profits

2010.06.23.

Tőzsde: Analysis of the “Flash Crash” Date of Event: May 6, 2010

Filed under: Élet,Tőzsde — Soczó Zsolt @ 22:30

Informatikai elemzés, mitől volt a tőzsdebeszakadás.
Egészen megdöbbentő. Kb. arról szól, hogy a New Yorki tőzsdéről elkezdtek késni az adatok, amitől megborult a tőzsdék közötti, legjobb árat szabályozó replikációs rendszer. A késés oka az lehetett, hogy túlterhelődött a tőzsde adatelosztója, és az ajánlatok időbélyegét (elég furcsa módon) nem az ajánlat beadásakor írják be, hanem amikor kijön a csőből. Emiatt kívülről nem látszik a csúszás. De ami érdekesebb, mitől dugult be a tőzsde?
Ma már nagyon sok nagyfrekvenciás algoritmus fut, amelyek már ms alatti idők alatt döntenek és reagálnak (ezek a szerverek a tőzsde LAN-ján vannak, nagyon közel a fő számítógépek hálózatához, így a hálózati késeltetés csak mikrosec nagyságrendű).
Ezek egymással persze versenyeznek. És itt jön a buli. Valamelyik algoritmus elkezd mpeknként több ezer ajánlatot beküldeni. Ő persze nem elemzi ezeket, hisz ő küldte be. De a többiek ezt elemzik, és amíg ezzel töltik az időt, ő ráér kisajtolni a profitot. Spamelik a tőzsdét. Ez persze destabilizálja az egész rendszert. A skynet ébredezik.

2010.06.07.

Elkúrtuk, nem kicsit, nagyon

Filed under: Élet,Tőzsde — Soczó Zsolt @ 08:49

Kósa shortol:

Bmeg, ezeknek szerintem elment az esze. Vagy tényleg shortolnak. Nem tudom, melyik a veszélyesebb.
Ami leginkább felháborít a dologban, az az, hogy nem vállalják a felelősséget a szavaikért. Á, miattunk nem esik a tőzsde. Persze, hogy most az egész világban idegesek a befektetők, morog a maci, de pont ilyenkor kell ésszel beszélni.
Mint a kisgyerek, amikor tűzzel játszik, leég a ház, aztán néz kerek szemekkel, hogy ő nem így gondolta. De ez egy ország, nem egy ház!

2010.05.06.

A mai amerikai tőzsde beszakadásról

Filed under: Élet,Tőzsde — Soczó Zsolt @ 23:23

Ma majdnem 10%-ot esett a Dow index, a többi is olyat zuhant, amilyet még nem láttam.
Az egyik cég részvényei (ACN) pár perc alatt beestek 40$-ról 0,01-ra, aztán vissza kb. 40-re. Gondolj bele, valaki megvette ekkor mondjuk 1$-ért a részvényeket, majd 5 perc múlva eladta 40x haszonnal.

Az okok között szerepel, hogy a görögök miatt be van mindenki tojva, de, és most jön az érdekes. Ekkora visszaesést mint az előbbi részvénynél nem tud okozni a pánik eladás. A pletykák szerint egy trader b-t írt be véletlenül m helyett, így az eladás (vagy short) billion lett million helyett. :) Pár nap múlva kiderül, mi volt pontosan.

Update: Kérdezték, mi történt volna, ha már menne a kereskedő algoritmusom?
Ez teljesen attól függ milyen az alg, és éppen pozícióban volt-e a zutty előtt. Vagy nagyon sokat keres, vagy sokat bukik. Waterfall profit vagy loss, az ilyen volatilitású napokon ez kiszámíthatatlan. Egyébként már rollbackelik vissza keményen a tőzsdei adatbázisokat, a tegnapi kritikus 20 perc kereskedéseit, a borokerek meg mozgatják vissza a pénzeket az accountok között, azokat, amelyek által érintett trade-k több mint 60%-kal kimásztak a korábbi árból. A tegnapi 1 centre leesett 40$-os részvény is ma már 17$-ra vissza van húzva, akinek volt pár százszoros profitja és pezsgőzött éjszaka, ma már csak 60%-os haszna maradt. Az se rossz. :)

2009.07.15.

Scatter riportok a Reporting Servicesben

Filed under: Élet,SQL Server,SQL Server 2005,SQL Server 2008,Szakmai élet,Tőzsde — Soczó Zsolt @ 12:07

A legtöbb riport item az RS-ben intuitív, na, ez nem az. Ezzel a chart fajtával nagyon jól lehet szemléltetni nagyszámú minta eloszlását, jól látszik pl. hol tömörödnek az értékek csoportokba (clusterekbe).

Nekem pl. intraday trade-ek elemzésére kiváló (példaként itt a rendszerem egyik riportja, a pötyösek a scatterek), mivel több mint ezer trade történik 2-3 évnyi adat tesztelése során, amelyek teljesítményét jól lehet vizualizálni a scatter chart segítségével valamely változó függvényében.

A chart beélesztésében ez segített.

2009.02.19.

A magyar tőzsdepiac kintről szemlélve

Filed under: Élet,Tőzsde — Soczó Zsolt @ 11:43

Feliratkoztam egy-két angol nyelvű trading (tőzsde) blogra, és az egyikben látom, hogy egy táblázatban ki van emelve Magyarország és a környező országok. Kiemelték, mert akkora az államadósság, hogy garantáltan lehet fogadni pl. a Ft esésre vagy a hazai blue-chipek esésére. Kérdezi is valaki egy kommentben, hogy van-e kelet-európai ETF (Exchage Traded Fund, olyan több részvényt magába foglaló alap, amivel lehet kereskedni), amin lehetne egy jót shortolni.
Szomorú ez, kívülről végül is csak pár kis diagram vagyunk, ami szépen zuhan lefelé, elég biztosan lehet az esésre fogadni. De, hogy közben mi lesz itthon velünk, akik ennek részesei vagyunk, azt nem tudom.
Okos politikusaink szépen bevezetnek minket a mocsár közepére, ahol elsüllyedhetünk. Mi meg megyünk mint a birkák. :(

2009.01.20.

Amikor egy metódus nem a helyén lakik

Filed under: .NET,Design,Élet,Felhívás,Szakmai élet,Tőzsde — Soczó Zsolt @ 12:52

Az utóbbi pár hétben rendkívül intenzíven egy programot írok – egy Automated Trading System-et, így mondják ezeket angolul. Azaz egy olyan programot, amely real-time tőzsdei adatok alapján automatikusan döntéseket hoz, ad-vesz. Persze a dolog a valóságban elképesztően bonyolult tud lenni, de programozási gyakorlatnak mindenképpen érdekes.

A rendszer részleteiről egyelőre nem akarok írni, majd ha működik, beszélek róla – bár lehet, hogy pont akkor nem kellene, mi? :)

No, a lényeg, hogy az ilyen rendszereket az ember csak akkor indít el, ha nagyon hosszú múltbeli adatokon végigpróbálva elég jó a nyereség/veszteség aránya, és nem csinál zsinórban annyi veszteséget, ami már pszichológialiag fáj, vagy akár le is nullázza az erre szánt pénzt.
Ezt a tesztelést hívják backtest-nek. Ehhez adatok kellenek, amit persze pénzért adnak, de ez már csak ilyen, ha ez ember pénzt akar keresni, ahhoz be is kell fektetni.
Nekem most már van több mint 10 évnyi perces adatom a legnagyobb likviditású futures-ökhöz (S&P 500 E-Mini, Nasdaq E-Mini, stb.).
Jöhet a szakma. A backtest írásakor kialakult a következő kódrészlet:

class BackTestSession
{

for (int i = 0; i < bars.Count; i++) { foreach (TradingAlgorithm alg in algs) { StepOne(alg, i); } } private void StepOne(TradingAlgorithm alg, int i) { if (!alg.InLong && !alg.InShort) { decimal entryPrice; TradeActionReason reason = alg.WantToBuyLong(i, out entryPrice); if (reason != TradeActionReason.None) { return; } reason = alg.WantToSellShort(i, out entryPrice); if (reason != TradeActionReason.None) { return; } return; } if (alg.InLong) { TradeActionReason reason = alg.WantToSellLong(i); if (reason != TradeActionReason.None) { return; } } if (alg.InShort) { TradeActionReason reason = alg.WantToCoverShort(i); if (reason != TradeActionReason.None) { return; } } return; } ... } [/source] Ez a kód messziről bűzlik. Mi a gond vele? Nem jó helyen lakik. Figyeljük meg, hogy egyfolytában egy másik típuson (TradingAlgorithm) végez műveleteket, átnyúlkál oda adatokért és műveleteket végezve rajta. Ez egy code smell a refactoringok házatáján, amire megoldás, ha elköltöztetjük a metódust a helyére. Move method refactoring. [source='C#'] class BackTestSession { for (int i = 0; i < bars.Count; i++) { foreach (TradingAlgorithm alg in algs) { alg.StepOne(i); } } } class TradingAlgorithm { public void StepOne(int i) { if (!InLong && !InShort) { decimal entryPrice; TradeActionReason reason = WantToBuyLong(i, out entryPrice); if (reason != TradeActionReason.None) { return; } reason = WantToSellShort(i, out entryPrice); if (reason != TradeActionReason.None) { return; } return; } if (InLong) { TradeActionReason reason = WantToSellLong(i); if (reason != TradeActionReason.None) { return; } } if (InShort) { TradeActionReason reason = WantToCoverShort(i); if (reason != TradeActionReason.None) { return; } } return; } } [/source] Látható a különbség? Sokkal direktebb lett a kód, oda került a metódus, ahová való. Erről szól az első GRASP pattern, az Information Expert.

Következő refactoring lenne az out paraméterek kiirtása, lecserélése member változóra. Erre még a VS is ad refactoring támogatást.

És most jön a shameless plug (bár nem ezért kezdem el írni a cikket, de ki nem hagynám a lehetőséget :): A Netacademiában márciusban lesz újra Design Patterns tanfolyamom, ahol az objektumorientált programozás praktikáit mutatom meg 4 napban, ilyen egyszerűeket mint a fenti, és sokkal bonyolultabbakat is. A régi tananyagot átírom a következő hetekben, kiegészítve .NET Fw. 3.5-ös példákkal (WCF-ben és WPF-ben nagyon szép példákat látni a patternekre).

Powered by WordPress