2020. október 10., szombat

Implied dividend PUT opciókban

 Több helyen is említést tettem már a PUT opciókba ágyazott implied dividendről (pl. itt), de nem mélyedtem el a részletekben (ha egyáltalán érdekel valakit).

Tökéletes put-call paritás fontos faktor az opciók értékelésekor, hiszen aszimmetria esetén elvileg kockázatmentes haszonra, arbitrázsra adódik lehetőség. Ez az esetek túlnyomó részében viszont csak elvi lehetőség, hiszen retail befektetőként a lehetőség kiaknázását az opciók kereskedését kontrolláló Market Makerek blokkolják.

Implied dividend-del találkozhatunk osztalékot nem fizető eszközöknél (ad absurdum akár commodity vagy index opcióknál) is. Az implied dividend komponens teszi valóssá a put-call paritást. Ez az a hozam, ami covered call-lal összevetve többletként (vagy mínuszban) realizálható a PUT opció kiírásával. Figyelembe kell még venni osztalékfizető papíroknál, hogy PUT opció kiírásakor nem kapunk osztalékot, az benne van a prémiumban. A lejáratig elvárt osztaléknövekedés / vágás is benne van a prémiumban. Az implied dividend lehetséges osztalékvágásra is utalhat. Amennyiben az aktuális osztalékhozam és az implied dividend yield nagy eltérést mutat (esetleg akár negatívvá válik),az arra utal, hogy az opciós piac osztalék vágást vizionál. Tovább gondolva még akár annak becsült dátumára is találunk utalást. Az az opciólejárati dátum, amikor az implied dividend yield beszakad.

Hasznos lehet az implied dividend vizsgálata akkor, ha meg akarjuk határozni, hogy az elméletileg ugyanazon kifizetési görbéjű covered call és short put stratégiák között van-e kiaknázható kockázatmentes többlethozam. Erre tapasztalatom szerint leginkább (viszonylag) magas osztalékhozamú eszközök esetén nyílik lehetőség. A döntésben szerepet játszik még az is, hogy - korlátozott számlaméretet feltételezve - a short PUT kiírása kisebb tőkeígényt támaszt, mint a stock megvétele.

Viszonylag egyszerűen is felállítható egy durva becslés. Ha összeadjuk az opció lejáratáig még kifizetendő osztalékot, majd levonjuk azt a PUT opció időértékének aktuális értékéből, akkor put-call paritás esetén a call opció árát kapjuk. Amennyiben értelmezhető eltérés van közöttük, úgy érdemes elgondolkodni azon, hogy short put, vagy covered call kiírása a célszerű.

AT&T 2020.10.09-i záróértékeket felhasználva az alábbi grafikonok adódnak


Az aktuális osztalékhozamot a piros folytonos vonal jelöli. Az egyes lejáratokhoz és strike-hoz tartozó implied dividend-t a kék oszlopok reprezentálják. Az implied dividend kalkulációnál a bid-ask közötti középárfolyamot vettem. ATT esetén szerencsére a bid-ask spread nem túl széles, ezért ezt hipotetikus értékként elfogadhatónak tartom. A payout ratio non-GAAP EPS 60% alatt van, FCF pedig 50% körüli. Az osztalék megfelelően fedezettnek tünik.

A jelenlegi 7.34% osztalékhozammal szemben 2.0%-3.7% implied dividend áll.

Durva ellenőrzésként pl.2022. januárig 4 osztalékfizetés várható. Feltételezve a korábbi 1c osztaléknövelés fenntartását, ez 4x0.53=2.12$-t eredményez. Ezzel szemben 30-as strike put ára 4.85$ (extrinsic 3.15$), akkor 3.15-2.12=1.03 marad számított call időértékként. A valóságban viszont a call opció ára 1.90= . A számítás azt mutatja, hogy 87c/részvény előny származik akkor, ha covered call-t írunk ki put opció eladása helyett. Ez 0.87/28.32= 3% többlethozamot eredményez (ami az aktuális osztalékhozammal együtt 10.3%). Ebben a durva számításban nem vettem figyelembe, hogy put eladásakor azonnal megkapjuk az opciót (nincs benne még elméletileg sem osztalékvágás kockázata, de osztalékemelésé sem). A grafikon számol ezekkel a részletekkel is (mint pl. pénz időértéke) és vizuálisan könnyebb kiválasztani a megfelelő opciót további vizsgálatra.

Én a 30 strike-ot preferálom, mert itt van 30.0-28.32=1.68$ tere az emelkedésnek. Ha ezután lejáratra az árfolyam eléri ill. meghaladja 30-t, akkor az 1.68 intrinsic hozzáadódik az osztalékhoz 1.68(emelkedés tere) + 1.90(30 call ára, tisztán extrinsic) + 2.12(osztalék) = 5.7 ez 20%-t meghaladó hozampotenciált eredményez 468 nap időtávon, ami évesítve 15%-t jelent. A BEP 30-5.7=24.3$. A hozam %-t  BEP-re kiszámítva 5.7/24.3= 23.5% adódik; évesítve 17.6%-t eredményez.

A 30-as strike-t nem tartom a realitásoktól elrugaszkodottnak, hiszen az osztalékhozam 10 éves (történelmi?) maximumon van 7.34%-kal. Az átlagos osztalékhozam 5.73%, ami 36$ "fair" árat implikál. Számított céláram pedig 37 - 42$.

Amennyiben nem covered call stratégiát választjuk, cash secured put esetén a prémium a már fent említett 4.85$ . Amennyiben az árfolyam 30 felett zár, a teljes prémium megtartható és a részvényeket lejáratra lehívják. Ekkor a strike-ra számolt hozam 4.85/30=16%, évesítve  12% . BEP-re számolt hozam, ami szerintem a reális értékelés: BEP=30-4.85= 25.15; 4.85/BEP=19.3% évesítve: 14,5% (a fenti ábra nem a maximális hozampotenciállal számol, hanem a jelenlegi árfolyammal megegyező lejárati árfolyammal, ezért az eltérés).

Összevetve a cc 17.6%  és a put 14.5% évesített hozampotenciált a cc egyértelműen nyerő pozícióban van. Döntés előtt azonban érdemes végig gondolni az adózási következményeket. A fizetett osztalékból 15% azonnal levonásra kerül, míg az opciós prémiummal csak a lejárati adóévet követő beszámolóban kell elszámolni.

Implied dividend calculator

2020. május 1., péntek

Adatfolyam (streamelés)

Ebben a posztban egy olyan eszközt adok kezedbe, melyet én nap mint nap használok és nagyban képes segíteni az elemzést, vagy meglévő portfólió értékelését.

Évek óta keresem - kisebb-nagyobb lelkesedéssel - online adatok Excelbe transzferálási és azok valósidejű feldolgozási lehetőségét. Egy ilyen megoldás rendkívüli módon leegyszerűsíti és felgyorsítja meglévő portfólió elemzését, illetve értékelését, valamint megkönnyíti watchlist-k készítését, stb.
1.) Először próbáltam weboldalakról leszedni adatokat. Ez a törekvésem csak részben volt sikeres, mert részben nem támogatták az adatexportot, részben pedig statikus, nem frissülő adatokkal szembesültem (újra el kellett indítani az Excel weblekérdezést)
2.) Google Táblázatok függvényei (googlefinance, importxml, importhtml) kínálnak webes lekérdezési lehetőséget. ez már jobban működött, de megvannak a korlátai. Nem szerkeszthető szabadon, nagy adatmennyiség esetén lefagy, az adatfrissítés frekvenciája alacsony és eléggé bizonytalan. Korábban Yahoo Finance szolgáltatott adatokat, de ezt 2017-ben leállították
3.) Egyedileg fejlesztett add-in segítségével lényegében bármilyen - webes - adatot le tudok hívni. Ennek hátránya, hogy statikus (nem frissül automatikusan), lassú (kb. 50 adat/perc lekérdezési sebesség), ami nagyobb adatigény esetén napokig eltartó lekérdezést eredményezett és egyes - előre definiálhatatlan - adatok lekérdezése visszautasításra kerül. Mindezekkel együtt ezt az eszközt már jól tudtam használni és máig is használom.
4.) Excel VIA (Valós Idejű Adatok, vagy RTD - Real Time Data) függvényének használata. A függvény létezése nem volt titok számomra, de használni nem tudtam (és most is csak hályog kovács módján). A valós idejű adatkiszolgáló helyi számítógépre telepítésének feladatát már nem tudtam megoldani. Időközben aztán kiderült, hogy ez talán még sem olyan ördöngösség. Elegendő az adatszolgáltató alkalmazást elindítani a számítógépen és nem szabad bezárni az adatlekérési időszak alatt, mert megszakad az adatfolyam. Persze ha bezárod, akkor sem történik katasztrófa. Újra kell indítani az egész mutatványt.
A jó hír az, hogy Interactive Brokers TWS és Thinkorswim (TOS) desktop alkalmazása egyaránt támogatja a streamelést. Én most TOS - Excel összekötést fogom bemutatni, mert ez igazán egyszerű, nem kíván semmilyen előképzettséget.
Sajnos ez a funkció nagyon gyengén (mondhatni sehogy) dokumentált TOS-nál, amely egyébként nagyon részletes funkció és működési leírással bír.
  • Első lépésként le kell tölteni és telepíteni TOS desktop (demo) alkalmazását. Ha ez  már fut a gépeden, akkor nincs semmi teendőd ezzel kapcsolatosan. Arra vonatkozóan nem találtam információt, hogy a demo változat - ami késleltetett adatokat mutat - ugyanúgy teljes körű lekérdezési lehetőséget biztosít-e, mint az éles kereskedési platform. Feltételezem és remélem, hogy igen, mert korábbi tapasztalatom szerint az összes funkciója elérhető demoban is azzal a korlátozással, hogy késleltetett adatokat ad. Időben korlátlan demo regisztráción Opcióguru lépésről lépésre végigvezet.
  • Ha a TOS fut a gépeden, az már fél siker. Indulás után az alábbi képernyőhöz hasonló fog megjelenni

A felső menüsorból a Marketwach-t kiválasztva jutunk a következő képernyőre.
A watchlist formátum és elnevezés (1)elkészítése után fogadókész a rendszer a portfólió,vagy a vizsgálandó sokaság fogadására. A ticker-ek beírhatók kézzel a "Symbol" oszlopba,vagy fájlból beimportálhatók (2). Több ilyen lista is készíthető ízlés szerint.
  • Kétféle adattípus áll rendelkezésre. Lekérdezhetők a statikus és dinamikus adatok. A statikus adatok azok, melyek negyedévente egyszer változnak. Ezek nem streamelhetők, de érdemes a (fundamentumok) lekérdezését elvégezni nagy adattömeg esetén, mert azok nagyon gyorsan előállíthatók. Ha elkészült az adattáblázat, akkor az fájlba exportálható.                                      A dinamikus (streamelt) adatok választéka a "help on data export" menüpont alatt található. Egy részét ennek valószínűleg nem fogod érteni (némelyiküket én sem), de a szükségesek könnyedén beazonosíthatók.                                                                                                          A Marketwatch oldalon megjelenő táblázat fejlécére ("Symbol" sora) jobb egérgombbal kattintva felkínálja a rendszer a táblázat oszlopainak (lekérdezendő mezőinek) összeállítási lehetőségét. Az itt kiválogatott streamelhető adatokat kell a táblázatba foglalni. Az előre legyártott mezőkön túl van még 19 custom mező lehetőség, de ezt most ne tárgyaljuk.
Az itt kiválasztható adatok mindegyike streamelt. 
List of available fields:  (nem teljes, stock és opciós paraméterek is streamelhetők)
52HIGH
52LOW
CLOSE
DESCRIPTION
DIV
DIV_FREQ
EXCHANGE
EX_DIV_DATE
HIGH
HTB_ETB
IMPL_VOL
INTRINSIC
LAST
LOW
MARKET_CAP
NAME
NET_CHANGE
OPEN_INT
PE
PERCENT_CHANGE
PROB_OF_EXPIRING
PROB_OF_TOUCHING
PROB_OTM
PUT_CALL_RATIO
RHO
ROC
ROR
SHARES
STOCK_BETA
VOLUME
YIELD

Ha kiválasztottad a mezőket és feltöltötted a szimbólumokat, akkor a rekordok automatikusan kitöltődnek. Itt több ezer rekordról beszélünk, amit a tetszőleges számú mezővel felszorozva kapjuk a lekérdezett adatszámot. Nagy adatmennyiség esetén lehet, hogy néhány másodpercet várni kell, amíg letöltődik maradéktalanul minden. Később a frissítés már gördülékenyen zajlik.
Az előző képernyőn az export "To Microsoft Excel" menüpontot választva a vágólapra másolódik a lekérdezésed, melyet Excel táblázatba másolva elkészül az adatfolyam import. Ezután már elhagyható "Marketwatch", sőt akár törölhető is a Watchlist. A "VIA" függvény argumentumai cellahivatkozásokra mődisíthatók. Így igazán rugalmassá válik az alkalmazás.
Később ez lementhető, bezárható, újranyitás után ismételten elindul az adatfolyam.
Fontos betartani, hogy először mindig a TOS-t kell elindítani, az Excelt csak ezután,
A kapott adatok valós időben frissülnek, a feldolgozó képletek eredménye is aktualizálódik.
Excel alapbeállítása szerint 250ms az adatfrissítési frekvencia. Erre a gyakoriságra valójában nincs szükség és nagyobb adatállomány esetén nem is feltétlenül tud teljes körűen frissülni.
Ezért én átállítottam a frissítési gyakoriságot 10000ms-ra, azaz 10mp-re.
Ehhez az Excel beállításaiban ki kell jelölni a "Fejlesztő eszközök" fület az alábbiak szerint,

A Visual Basic ikonra kattintás után az Immediate ablakban lehet megváltoztatni a frissítési frekvenciát a következők beírásával:
Application.RTD.ThrottleInterval=10000 <ENTER>

Ezzel minden érdemleges információt átadtam. Sok sikert!

UPDATE 2020.10.11. Találtam egy rövid videóbemutatót. 


2020. február 2., vasárnap

Belső Megtérülési Ráta

Befektetőként komoly feladat áll előttünk, ha befektetésünk évesített hozamát akarjuk kiszámolni akkor, ha az idők folyamán többször (jóllehet rendszertelenül és eltérő értékeket) befizetünk befektetési számlánkra, illetve kivonunk tőkét arról.

A 2010-ben bevezetett EHM (Egységesített HozamMutató) megfelelőeszköz a bankok számára a kötvények, változó kamatozású betétek várható hozamának kimutatására, melyből a befektető összehasonlíthatja a különféle ajánlatokat.
Mit tegyünk akkor, ha Önkéntes Nyugdíjpénztárunkban lévő befizetéseink tényleges évesített hozamát akarjuk megtudni? Vajon a Pénztár által közölt hozammérték megegyezik-e a miénkkel?
Mennyi a brókerszámlán lévő tőke hozama? Erre vonatkozóan a szolgáltatók egy része közöl adatot, de vajon a valós értékel látjuk-e a képernyőn villogni?

Excel és Google Sheets beépített függvénye segítségével egyszerűen megkapjuk a pontos választ, amennyiben bemenő adatként rendelkezésünkre áll a cash flow history.

Nem kell mást tennünk, mint két oszlopba rendezve megadni a cash flow irányát (számlára befizetés negatív előjelű) és dátumát. Az utolsó dátum legyen az aktuális (today() / ma() ), a cash flow oszlopba pedig a befektetési számla pillanatnyi értéke kerüljön.
=XIRR(B2:B7,C2:C7)angolul, vagy XBMR(B2:B7,C2:C7)magyar verzióban
XIRR formula to calculate IRR for irregular cash flows
Ezzel lehetővé válik a különböző befektetési formák és összegek eltérő időtávon mutatott teljesítményének összehasonlítása.

A legszebb az egészben, hogy végén aggregált adatsor adatsor képezhető az összes cashflow egy adatoszloppárba rendezésével. Így a teljes befektetési portfólió átlagos évesített hozama nyomon követhető .