Transcription
[zene] Helló srácok, Roman vagyok, kvantitatív kutató és kereskedő, a Quon Guild alapítója. Már elég régóta kértek tőlem. Szóval ma hihetetlenül izgatott vagyok. Végre a Kalman-szűrőt fogjuk tárgyalni, kifejezetten a kvantitatív pénzügyekhez. A Kalman-szűrőt a modellfejlesztési folyamat megvitatásával fogom motiválni. Gyakorlatban, amikor új modellt építünk, specifikációs és parametrizációs problémával nézünk szembe. Mi is pontosan ez, és hogyan befolyásolja az általunk épített modellek értelmezését, és ami még fontosabb, a bizonytalanságban hozott döntéseinket. Ha megértettük ezt a folyamatot, hogyan segíthet a Kalman-szűrő a modelljeink frissítésében, különösen, amikor új adatokat figyelünk meg, még egy rezsimváltás kontextusában is. Itt jeleskedik a Kalman-szűrő és annak kiterjesztései, és pontosan ezt fogjuk tárgyalni ebben a videóban. Gyakorlatban, amikor modellt építünk, soha nem lehetünk biztosak abban, hogy helyesen specifikáltuk vagy helyesen parametrizáltuk. Ha ismernénk az igazi dinamikát, akkor eleve nem kellene modellt építenünk. Az egyetlen dolog ebben a térben, ami biztos, az a Jupyter notebookjaimhoz való hozzáférés, valahányszor új Quank Guild videó jelenik meg. Linket fogok hagyni ehhez a Jupyter notebookhoz az alábbi leírásban. Fel fogom tenni a Quank Guild könyvtárba a GitHubon, ahol megtalálhatod az összes Jupyter notebookomat és a hozzájuk tartozó YouTube videót, valamint az összes forráskódot a Quant buildjeimhez. Ennek a Jupyter notebooknak a tetején észre fogsz venni néhány kapcsolódó Quanield videót, amelyek a valószínűség és statisztika pénzügyekre és kereskedésre való alkalmazását tárgyalják. Ez az idősor-elemzés ötlete, kiskereskedelmi vs. intézményi kereskedés, kereskedés vs. befektetés, az várható érték és az várható érték felhalmozásának ötlete kereskedések sorozatán keresztül az idő múlásával, quant vs. diszkrecionális kereskedés, és természetesen három kereskedési mítosz lerombolása, amelyeket ezek a kereskedési guruk szeretnek terjeszteni. Ha nem vagy ismerős ezekkel az ötletekkel, erősen ajánlom, hogy nézd meg először ezeket a videókat, mielőtt egy ilyenhez hasonlóhoz fognál. Továbbá, ezeknek a videóknak az elkészítése rengeteg erőfeszítést igényel. Tehát, ha szeretnél segíteni a csatorna támogatásában, hogy továbbra is ilyen videókat készíthessek, kérlek, lájkold, kommenteld, iratkozz fel, oszd meg. Ez rengeteget segít nekem. Mindig nagyra értékelem. És ha szeretnéd elsajátítani a kvantitatív készségeidet, nézd meg a quankgild.com oldalt. Talán üzleti, közgazdasági, számítástechnikai háttérrel rendelkezel, és nem vagy biztos benne, hogyan kezdj hozzá a quant utazásodhoz. Talán törekvő quant vagy, vagy dolgozó szakember, aki szeretné élesíteni a technikai készségeit, vagy átállni a quant térbe. Mindenesetre a Quantild neked való. Több mint 90 quant leckénk van matematikából, valószínűségből, pénzügyekből, egy adaptív gyakorló motorunk, amely a készségszintedhez igazodik, így egyre nehezebb témák felé haladhatsz gamifikált, rang alapú fejlődéssel. Több mint 100 óra előadásanyag, olyan témák, amelyeket egy pénzügyi mérnöki mesterképzésen találnál, de az ár töredékéért. Tehát, ha szeretnél segíteni a csatorna támogatásában és elsajátítani a kvantitatív készségeidet kereskedési és piacépítési pozíciókhoz, nézd meg a quonkild.com oldalt. Minden további nélkül, kezdjük a modell specifikációs és parametrizációs probléma ötletének megvitatásával. Miért szembesülünk ezzel a problémával egyáltalán a gyakorlatban? Nos, ha tájékozott döntéseket akarunk hozni a bizonytalanságban, modellt kell építenünk. Máskülönben, kristálygömb nélkül, csak találgatni fogunk. És ha ismernénk az igazi dinamikát, akkor eleve nem kellene modellt építenünk. Általában ezek a modellek valamilyen akadémiai vagy gazdasági elméleten alapulnak. Első célunk egy modell specifikálása lesz, amelyet általában M jelöl. És a legtöbb általunk választott modellhez paraméterek tartoznak. Paraméteresek, ami azt jelenti, hogy vannak paramétereik, amelyeket szabadon választhatunk. És általában, mivel a paraméterek száma változhat a választott modelltől függően, itt csak a paramétervektorként fogom megadni a thétát. Ez csak egy vagy több paramétert fog tartalmazni a választott modellhez, M. És általában így írjuk le: m(θ). Van néhány példám az Ön számára. Itt van egy lineáris regressziós modell, egy AR1, egy autoregresszív modell, egy GARCH modell, egy Orstein-Uhlenbeck visszatérő modell, és természetesen az adatok változni fognak mindegyiknél, mivel mindegyikhez más paraméterek tartoznak. Ami a modell specifikációs problémát illeti, hatékonyan specifikálhatsz egy modellt, és ineffektíven is specifikálhatsz egy modellt. Bal oldalon egy hatékony modell specifikáció példáját látod. Van egy bemeneti jellemzőm, X, és egy kimeneti célom, Y. Megfigyeljük, hogy e két jellemző közötti kapcsolat minden bizonnyal lineárisnak tűnik. Egy lineáris modellt választunk, és ez minden bizonnyal hatékonyan megragadja ezt a dinamikát. Míg a jobb oldalon ez nem tűnik hatékony modell specifikációnak. Látunk némi görbületet. Látjuk, hogy X és Y-nak minden bizonnyal nincs lineáris kapcsolata. Tehát a lineáris modellünk dobozból kivéve nem végez jó munkát e dinamika megragadásában. Most nagyon fontos megérteni. Nem arról van szó, hogy nem tudja. Jellemzők mérnöki munkára lenne szükségünk ehhez. A lineáris modell csak a parametrizációban lineáris. Bármennyire is átalakíthatjuk a jellemzőinket, előfordulhat, hogy nem tudjuk megragadni ezt a dinamikát egy általunk specifikált modellel. És itt látjuk pontosan, hogy ez hogyan néz ki a jobb oldalon. Bizonyos esetekben, függetlenül attól, hogyan végezzük a jellemzők mérnöki munkáját vagy a modellünk parametrizálását, nem biztos, hogy képesek leszünk megragadni a kívánt dinamikát. Itt játszik szerepet az akadémiai és gazdasági elmélet. Nem csak a sötétben fogunk tapogatózni, hogy hatékonyan kiválasszuk, melyik modellt használjuk. Az általunk megfigyeltekre akarjuk alapozni a valóságban. Ez elvezet minket a VIX specifikus modell specifikációjának példájához. Tegyük fel, hogy a beárazott volatilitást akarnánk modellezni vagy előre jelezni. Hogyan fogjunk hozzá a modell specifikációjához? Ismét, nem csak egy modellt fogunk kiválasztani a kalapból. Alapra van szükségünk az akadémiai vagy gazdasági elméletben a modell specifikációjához. Mi is az a VIX? Mi az a beárazott volatilitás? Nos, ezen a héten felvettem egy videót a Goldman Sachs módszertanáról a variancia swapok árazásához, és beszélek a kapcsolatról ezen az árazási módszertanon és a VIX között a Goldman Sachs 90-es évekbeli kvant stratégákból álló asztali jegyzete alapján. Szerencsére számunkra rengeteg jól dokumentált akadémiai irodalom létezik a volatilitásban gyakorlatban megfigyelt dinamikáról. Általában jelölve van, és bizonyítottan egy visszatérő folyamat. Tehát miért fontos ez? Nos, ha figyelmen kívül hagyjuk azt az ötletet, hogy ez egy visszatérő folyamat, akkor helytelenül specifikálunk egy modellt, és helytelenül extrapoláljuk a dinamikát az előrejelzéseinkbe. Mi is pontosan ez? Bal oldalon egy lineáris modellt látok. Jobb oldalon egy visszatérő modellt. És iteratívan fogom előre jelezni a beárazott volatilitást. Iteratívan fogom előre jelezni a VIX-et erre az időszakra. És azt szeretném, hogy figyelj meg, hogyan fog az valóságon alapuló modell soha sem extrapolálni irreális vagy extrém értékekre. Amit ezzel értek, ha visszamegyünk, különösen oda, ahol a VIX felugrik, ha tetszőlegesen specifikálunk egy lineáris modellt, nézd meg ezt az előrejelzést. Ez szörnyű. Lényegében azt mondja, hogy végtelenig mehet, vagy amikor az emelkedés túl negatívvá válik, negatív végtelenig mehet. Míg a jobb oldali modell az akadémiai gazdasági elméleten alapul. Tudja, hogy van egy visszatérő elem. Egy hosszú távú átlag körül fog oszcillálni. Nos, ez minden bizonnyal változhat. Azonban mindig ésszerű értékeket figyelünk meg az előrejelzésünkben, még akkor is, amikor a VIX felugrik. Ezért olyan fontos az akadémiai és gazdasági elmélet, különösen a modell specifikáció és az extrapoláció kontextusában a tájékozott döntések meghozatalához a bizonytalanságban. Ha a modellje azt javasolja, hogy olyan szélsőségek, amelyek valójában nem fordulhatnak elő, valóság lehetnek, ez egy helytelen, ineffektív modell specifikáció következménye. A modellfejlesztési folyamatban a téves specifikáció nem az egyetlen dolog, ami extrém értékeket eredményezhet, mint amit itt látunk a lineáris modell specifikációjával. Még akkor is, ha hatékonyan specifikálunk egy modellt, gondoljunk erre a visszatérő modellre itt. Az akadémiai gazdasági irodalomra alapoztuk. Nagyon jól dokumentált, hogy a volatilitás egy visszatérő folyamat. Még mindig lehetnek extrém értékek, amelyeket ez a modell implikál, még akkor is, ha hatékonyan specifikáltuk. Mit értek ezzel? Nos, ez elvezet minket a modell parametrizáció fogalmához. Kiválasztottuk az M-et. Az elméletre alapoztuk. Ez egy visszatérő modell, de ez egy paraméteres modell, ami azt jelenti, hogy ki kell választanunk a θ paramétereket. Mik legyenek ezek? Nos, itt van egy példa arra, hogy néz ki a helytelen paraméterek specifikálása a helyesekkel szemben. Ismét, soha nem lesz tökéletesen helyes modellünk vagy tökéletesen helyes parametrizációnk. Kristálygömb nélkül, vagy anélkül, hogy ismernénk a modellezni kívánt dolog igazi dinamikáját, soha nem tudjuk majd a variancia 100%-át megragadni. De itt minden bizonnyal létrehozhatunk helyesebb modelleket és parametrizációkat, mint mások. És ez csak egy példa erre. Bal oldalon hatékonyan egy visszatérő modellt figyelünk meg, erőszakosan helytelen parametrizációval. Amit ezzel értek, az azt javasolja, hogy a VIX 60 feletti megfigyelésének valószínűsége annyira önkényesen kicsi lesz, hogy 65 milliárd évig tartana megfigyelni ezt az értéket. Ez valójában nem különbözik ettől az rendkívül helytelen, ineffektív specifikációtól, amely azt javasolja, hogy a beárazott volatilitás, ez a VIX érték itt, pozitív végtelenig mehet. Ez csak egy már specifikált és elméletre alapozott modell kontextusában van. Tehát még akkor is, ha az elméletre alapoztuk a specifikációnkat, még mindig lehetnek rendkívül helytelen értékek, helytelen valószínűségek, helytelen előrejelzések a parametrizációból. Jobb oldalon egy helyesebb parametrizációt figyelünk meg. És amit itt megfigyelhetünk, az a VIX 60 feletti megfigyelésének valószínűsége, most nem csak 1 a 65 milliárd évből, hanem valójában minden 4,2 évben egyszer fog előfordulni. Bizonyosan ésszerűbb érték. Hogyan befolyásolja ez a döntéshozatalunkat a bizonytalanságban? Ez egy extrém példa, de egy nagyon fontos példa, mert ha tévesen specifikáljuk a modellünket, akkor olyan valóságokat vehetünk figyelembe, amelyek valójában nem lehetségesek, mint ebben az esetben a lineáris modellel. Ugyanez igaz a téves parametrizációnkra is. Előfordulhat, hogy nem veszünk figyelembe egy olyan világállapotot, amelyet figyelembe kellene venni. Pontosan ezt látjuk itt. Helytelenül specifikáljuk a visszatérő modellünk paramétereit. Azt mondjuk: "Ó, 65 milliárd évig tart ennek az egy esetnek a megfigyelése. Még csak nem is vesszük figyelembe, amikor döntéseket hozunk a bizonytalanságban." De valójában csak nagyon rosszul parametrizáltuk a modellünket. Valójában nem olyan valószínűtlen, mint az eredeti helytelen parametrizáció sugallja. Ezért olyan fontos a modell specifikáció és a parametrizáció. Ez a döntéshozatali folyamat upstreamje. Ha valószínűségeket kapsz, ha várható értéket kapsz, ha van konfidencia intervallumod, ha van valamilyen szórásod egy gördülő átlag körül, akkor elvégzed ezt a specifikációs és parametrizációs problémát. És ha az upstream feltételezéseid erőszakosan helytelenek, nem az elméleten alapulnak, tévesen parametrizálod a modellünket, akkor minden valószínűség, minden várható érték, ezek a konfidencia intervallumok, még bármilyen statisztikai teszt is vadul helytelen lesz. Ennek orvoslására közelebb akarjuk hozni a modelljeinket a valósághoz. A leginkább tájékozott valószínűségeket és statisztikákat akarjuk előállítani, amelyek képesek vagyunk előállítani, hogy valójában döntéseket hozhassunk arról, hogy milyen különböző lehetséges világállapotokban lehetünk. Tehát ezért alapozzuk a modellválasztásunkat az elméletre. De nyilvánvalóan a parametrizáció is nagy szerepet játszik ebben. Ha a parametrizációnk rossz, rossz döntéseket fogunk hozni. Tehát hogyan választunk paramétereket? Szerencsére számos technika áll rendelkezésre. Momentumos módszer, maximális valószínűség becslés, a lista folytatódik. Mindegyik különböző osztálytermi garanciákat kínál aszimptotikusan, és így tovább. De természetesen ez az osztályteremben van. Mi a helyzet a valósággal? Nos, hatékonyan specifikálhatunk egy modellt, és talán még a paramétereket is hatékonyan specifikálhatjuk ezen technikák egyikének használatával. De ez nem garantálja, hogy örökké hatékony lesz. Ez elvezet minket ahhoz az ötlethez, hogy mikor és miért törnek össze a modellek. A kulcskérdés itt az, hogy miért tört össze a modell? Modell specifikációs probléma vagy parametrizációs probléma? A válasz valószínűleg mindkettő. Valószínűleg a választott modell képtelen megragadni az összes szükséges dinamikát, és a parametrizációt elavult adatokkal becsülték. Régi. Valójában nem tükrözi a jelenlegi adatgeneráló eloszlást. De ennek eltérő súlyosságai lesznek. Lehet, hogy csak új parametrizációra van szükséged. Lehet, hogy teljesen új modellre van szükséged, ebben az esetben mindkettőre szükséged lehet. Van egy animációm, amely pontosan illusztrálja, hogy ez hogyan néz ki. Két lineáris modellt figyeltek meg, és az egyetlen különbség a kettő között az, hogy hogyan választják ki a paramétereket az idő múlásával. Amit itt figyeltek meg, az egy hatalmas lefelé irányuló rés után, továbbra is az összes rendelkezésre álló adattal tájékoztatjuk a lineáris modellt. Ez megfelelő? Nos, talán nem. Mi van, ha e hatalmas lefelé irányuló rés után a rezsim teljesen más? Nem egy lefelé irányuló trend, mint amit ez a rés sugall. Nem, ez csak egy új szint egy új rezsimmel, és egy felfelé irányuló trendet indítunk. Ez a modell egyértelműen helytelen. Bizonyosan tévesen specifikált, de erőszakosan tévesen parametrizált is. Ezzel szemben nézd meg a jobb oldali modellt. Az idő múlásával, ahogy az új rezsim több adatot termel, a parametrizációját ehhez az új rezsimhez igazítja, és ésszerűbb előrejelzést produkál a régi modellhez képest. Ez a modell téves specifikáció és téves parametrizáció ötleteinek kombinálása. Láthatjuk, hogy ha nem frissítjük a modelljeinket rezsimváltáskor, vagy ha a modelljeink nem dinamikusak ahhoz, hogy ezt önmagukban képesek legyenek megtenni, akkor rossz döntéseket hozunk a bizonytalanságban. Más szóval, e hatalmas lefelé irányuló rés után itt ez a modell továbbra is lefelé irányuló trendet javasol, és továbbra is lefelé irányuló trendet fog javasolni. Míg valójában ez csak egy új rezsim felfelé irányuló trenddel. És ha van egy adaptív paraméterkészletünk a modellünkhöz, mint a jobb oldalon, akkor megragadjuk ezt az információt. Más szóval, hatékonyan specifikálhatunk és parametrizálhatunk egy modellt. És ez az, amit itt látsz, mindkettő ésszerű munkát végez, de végül összeomlanak, és tennünk kell valamit. Vagy a modell képes lesz önmagában valamilyen mértékben alkalmazkodni, vagy csak elavult lesz, és rossz információt fog nyújtani a döntéseid alapjául. Ezért fontos megérteni, hogy miért törnek össze a modelljeink. Frissítened kell a parametrizációdat vagy a kiválasztásodat. Ha nem teszed, akkor a döntéshozatalodat erőszakosan helytelen valószínűségeknek és statisztikáknak veted alá, mint ez a 65 milliárd év, amikor valójában nagyjából négynek kellene lennie, és ez az előrejelzés, amely azt sugallja, hogy a VIX 100 fölé mehet egy-két hónapon belül. A döntéshozatalodat olyan világállapotoknak veted alá, amelyek valójában nem lehetségesek, vagy ennek az extrémnek a másik oldalán nem veszel figyelembe olyan világállapotokat, amelyek valójában lehetségesek, ha nem frissíted a modelljeidet. Ez elvezet minket a Kalman-szűrő ötletéhez. A modellünk frissítésének kontextusában, különösen a valós világban. Nem csak az elméleten akarjuk alapozni a döntéshozatalunkat, hanem frissíteni akarjuk a modelljeinket is, ahogy új adatokat figyelünk meg. A Kalman-szűrő egy olyan modellezési technika, amely pontosan ezt teszi. Mind az alapvető dinamikát fogja használni, amely egy specifikált paraméteres modell, ahogy már megbeszéltük, és a valós megfigyeléseket, és szűrőként fog működni. Lényegében az igazi állapotot próbáljuk megkülönböztetni egy elméleten alapuló modell és néhány zajos mérés alapján. Ezt a fenti VIX példa kontextusában fogjuk megbeszélni, hogy a lehető legvilágosabb legyen. Végig fogunk menni a különböző lépéseken, hogy megértsük, hogyan kell egy Kalman-szűrő modellt illeszteni egy specifikált paraméteres modellhez és új megfigyelt adatokhoz. Aztán egy valós, gyártási minőségű példa kontextusában fogjuk megbeszélni, amelyen az iparágban dolgoztam. Majd kiterjesztjük a kettős szűrő modellek fogalmára, amelyek nem csak az előrejelzést frissítik a változó rezsimek alapján, hanem az elsődleges modell parametrizációját is. A Kalman-szűrő az úgynevezett Kalman-nyereségre támaszkodik. Lényegében van egy bizonytalansági szintünk a modell előrejelzésében, és vesszük ennek a bizonytalanságnak az arányát a magának az előrejelzésnek a bizonytalanságával, plusz a mérés bizonytalanságával, amely a tényleges megfigyelt adatok. Nos, mint minden más modellnél, a Kalman-szűrőnek is lesz parametrizációja. Ezeket többféleképpen is specifikálhatjuk. Csak tartsd ezt szem előtt. Lényegében egy modellt rakunk egy modellre. Van az eredeti, elméletre alapozott modellünk. Ebben a kontextusban még mindig a VIX-ről beszélünk. Van egy visszatérő modellünk parametrizációval. De most a Kalman-szűrőt rakjuk rá, és annak is vannak paraméterei, és az is téves parametrizációnak van kitéve. Tehát menjünk végig egy egyszerű példán, hogy megértsük ezt az állapot-tér modellt. Amit itt látok, az a Kalman-szűrő rekurzív egyenlete, és végig fogunk menni, hogy mik ezek a változók. Tehát az x_t lesz az igazi állapot. Rendben, a célunk az, hogy lényegében megfigyelünk egy zajos mérést, és ki akarjuk szűrni a zajt azáltal, hogy figyelembe vesszük a modell előrejelzésünket és a ténylegesen beérkező adatokat, és ezt rekurzív módon fogja megtenni. Nos, ebben a kontextusban már specifikáltam a Kalman-szűrő különböző komponenseit a visszatérő modellhez, és ez lényegében F, B, Q és R lesz. Tehát F lesz a bomlási tényező, a visszatérés sebessége. B lesz a hosszú távú átlag. Q lesz a folyamat zajának varianciája, és R lesz a mérési hiba. Tehát lényegében, amikor megfigyelünk egy kereskedési árat, feltételezzük, hogy van némi mérési hiba, és ez csak az adott példa kedvéért van. Nos, amikor a modell előrejelzését és a ténylegesen megfigyelt adatokat kombináljuk, különböző karokat húzhatunk meg, hogy bizalmat helyezzünk a modellre vagy a megfigyelt adatokra. És hamarosan látni fogsz egy animációt, amely ezt gyönyörűen illusztrálja. Lényegében ezt az R-t egy karként képzelheted el. Ha az R nagy, a szűrő jobban bízik a modellben. Ha az R kicsi, jobban bízik az adatokban. A nagyobb R kisebb Kalman-nyereséget jelent. A kisebb R nagyobb Kalman-nyereséget jelent. Tehát mindezen darabokat összekombinálva megkapjuk a becsült állapotot, a VIX becsült igazi állapotát ebben az időpontban. Hogy néz ez ki valójában? Nos, van egy nagyszerű animációm arról, hogy mit csinál a Kalman-szűrő. És adok egy példát arra, hogy néz ki egy nagyon érzékeny kiválasztás, amely érzékeny az adatokra, és egy kevésbé érzékeny kiválasztás, amely kevésbé érzékeny az adatokra. Ez egy nagy R-nek és egy kis R-nek felel meg. Amit itt szeretnék, hogy figyelj meg, ahogy megfigyeljük a bejövő kereskedéseket, láthatjuk ezt a szürke eloszlást, amely az igazi adatgeneráló eloszlást képviseli. És a szűrőnk megpróbálja modellezni ezt az elvárást, és elég jól csinálja, egészen addig, amíg ugrást nem figyelünk meg. Ugrást figyelünk meg ebben az elméleti eloszlásban. Nos, abban az esetben, ha a szűrőnk alkalmazkodik, kisebb R-ünk van, nagyobb nyereségünk van. Láthatjuk, hogy a bizonytalanság minden bizonnyal növekedni fog, de nagyon agresszíven alkalmazkodni fog ezekhez az új adatokhoz. És ez lesz az eset a jobb oldali modellnél, de kevésbé a bal oldali modellnél. Mi történik itt a Kalman-szűrőnkkel? Nos, a jobb oldalon nagyobb súlyt kapnak a megfigyelt adatok, kevesebb súlyt a modell előrejelzése. A bal oldalon több súlyt kap a modell előrejelzése, kevesebb súlyt a megfigyelt adatok. Lényegében semmit sem kapunk ingyen. És továbbra is beszélni fogunk erről az ingyenes ebéd nélküli ötletről egy modellezési kontextusban. De választhatunk, hogy nagyon reaktívak, nagyon adaptívak vagyunk az új adatokhoz, ahogy a jobb oldalon látod, vagy azt mondhatjuk: "hé, a modellünket az elméletre alapozzuk. Nem szabadna ezeket megfigyelnünk. Ezek kiugró értékek. Maradjunk a jelenlegi szintnél." És amit itt látsz, az lényegében a következménye annak, hogy kitartóak vagyunk ebben a képességben, tartjuk a vonalat. Láthatod, hogy a bal oldali eloszlás nem ugrik olyan gyorsan, mint a jobb oldali eloszlás ezekhez az új adatokhoz, ezekhez a kiugró értékekhez. És úgy tűnik, ahogy az animáció lejátszódik, helyes volt ebben, mert fenntartja a szintet. Míg a jobb oldalon egy ideig rossz döntéseket fogunk hozni, amíg a modell lényegében ostorcsapást nem kap, és vissza nem tér az igazi szintre. Ez az ár. Mi van, ha ez egy teljesen új rezsimet hoz létre? Bizonyosan gyorsabban lennénk ott a modellhez képest. Ez a legjobb módja a Kalman-szűrő vizualizálásának és megértésének. Kritikus fontosságú megérteni, hogy a Kalman-szűrő nem frissíti a modell parametrizációját. Más szóval, a Kalman-szűrő kombinálja a modell előrejelzését a megfigyelt adatokkal. Ebben a kontextusban egy visszatérő modellről beszélünk, amelyet talán valamilyen statisztikai technikával, momentumos módszerrel, maximális valószínűséggel, ahogy mi magunk döntünk, parametrizáltunk. De miután elvégeztük az elsődleges kalibrálást, a Kalman-szűrő nem frissíti ezt a modellt. Talán kellene, és valószínűleg kellene is. Vannak a Kalman-szűrő kiterjesztései, amelyek képesek erre. Lényegében a paramétereket is állapotként modellezzük, és ugyanúgy frissítjük őket, mint a megfigyelt szintet. De ebben a kontextusban csak egy nagyon standard Kalman-szűrőt figyelünk meg. Más szóval, ha ez a rezsim megváltozik, és a modellünk már nem produkál hatékony előrejelzéseket, ahogy itt láttuk a téves parametrizáció miatt, akkor lényegében csak egy kötszerként használjuk a Kalman-szűrőt. Nem gyógymód. Ezért akarunk kiterjesztéseket és bonyolultabb állapotmodelleket figyelembe venni, amelyek képesek frissíteni a modell parametrizációját, miközben új adatokat is megfigyelünk. Tehát alkalmazkodhatunk az új rezsimekhez, nem csak a Kalman-szűrő magában, hanem a modellben is, amely az előrejelzést nyújtja. Amit most szeretnék tenni, az egy lépésről lépésre szóló példát adni a Kalman-szűrő fejlesztésére, kifejezetten a VIX-hez. Végig fogunk menni az összes lépésen, hogy elkészítsük ezt a Kalman-szűrő modellt, hogy megértsük, mit jelent egy modell specifikálása, egy parametrizáció, adatok megfigyelése, majd a Kalman-nyereség fejlesztése a szűrő kimenetének előállításához. Az első lépés az offline modell kalibrálás. Ez a fizika törvényeinek beállítása. A célunk a VIX szűrése. Ez csak egy egyszerű alkalmazott példa. Tehát a fizika törvényei, az elméletre alapozott modellünk egy visszatérő modell lesz. Egy Orstein-Uhlenbeck modellt fogunk használni, és diszkretizálni fogom AR1 modellként. És fejlesztek egy parametrizációt. És hogyan választom ki a paramétereket ehhez a modellhez? Nos, használhatok egy regressziót ehhez az AR1 modellhez, hogy megkapjam V-t és B-t. Aztán visszaszámolhatom Kappát és Thétát. Ez lesz a visszatérés sebessége és a hosszú távú átlag. És pontosan ezt teszem itt. Tehát ez az első lépés a Kalman-szűrő modell komponensének felépítéséről szól. És ezt teszem itt. Tehát kiválasztom az Orstein-Uhlenbeck, a visszatérő folyamatomat az elmélet alapján. Diszkretizálom. Egy AR1 modellt használok, és regressziót végzek a modell parametrizációjának specifikus kiválasztásához. Nos, ez helyes? Mennyi adatot használjak? Ezek kérdések. Ezek nagyon fontos kérdések. Használjam az összes rendelkezésre álló adat történelmét a kezdetektől fogva? Használjam az elmúlt két évet, az elmúlt egy évet? Itt nincs helyes vagy helytelen. Ha minden ugyanabból az eloszlásból származna, akkor minden rendelkezésre álló adatot fel akarnék használni. De mi van, ha a valóságban valami ilyesmi van, hogy ha az összes adatot használom, csak helytelenül tájékoztatom a paramétereket. Valójában rövidebb időablakot kellene használnom, hogy hatékonyabban tudjam megragadni a spot adatgeneráló eloszlás dinamikáját. Ezzel küzdünk, amikor valós világra fejlesztünk modelleket. És ez az oka annak is, hogy a Kalman-szűrő kiterjesztései ezeknek a paramétereknek a dinamikus frissítésére olyan hatékonyak. Nem kell tovább gondolkodnunk azon, hogy melyik ablakot használjuk. Statisztikailag optimális módon frissíthetjük a parametrizációt élő, online módon. A második lépés a modell kalibrálása után ebben az egyszerű Kalman-szűrő modellben a folyamat inicializálása. El kell kezdenünk egy értékkel a t=0-nál, x_0. Ez általában az első elérhető idézet, vagy a mi kontextusunkban egy hosszú távú átlag. P_0 lesz az első bizalom ebben a legjobb becslésben. Ez az első kovariancia. De miután az úgynevezett "burn-in" periódus után, mivel ez egy állapot-tér modell, megfigyeljük a Kalman-nyereség konvergenciáját. Tehát, ahogy itt látható, van egy kezdeti állapotbecslésünk és egy kezdeti bizonytalanságunk, ami meglehetősen magas, de ahogy több adatot figyelünk meg, ahogy átlépjük ezt a "burn-in" periódust, megfigyeljük a konvergenciát. Oké, ez elvezet minket a harmadik lépéshez. Ez a rekurzív frissítés. Ez az élő szűrő. Lényegében minden lépés, minden alkalommal, amikor idézetet figyelünk meg, végigmegyünk a modell becslésén. Már megvan a modellünk. Ez az, amit itt építettünk. Ez a modell, amelyet specifikáltunk, a fizika törvényei, ha úgy tetszik, az elméleten alapul. Van egy parametrizációnk hozzá. Előállhatunk egy modell becsléssel, egy előrejelzéssel. És ezt tesszük itt. Előrevetítjük a modellt egy állapotra, és megjósoljuk a hiba kovarianciáját. És a "jóslás" szót nagyon lazán használom. Lényegében egy előrejelzés. Miután megvan ez a modell előrejelzés, megvan a vetített állapot és a vetített hiba kovariancia. Ezután használhatjuk a megfigyelést korrekcióként. Összeegyeztetjük a zajos mérést a modell becslésével. Ez csak az adatok kombinálása a modell legjobb becslésével. Tehát van az úgynevezett innováció. Ez lesz a megfigyelt adat és a modellünk előrejelzése. Ez lényegében az, hogy mennyire lepett meg a piac az OU-mat, a visszatérő modellemet. Aztán kiszámítjuk a Kalman-nyereséget, és ez azt mondja, hogy melyiknek higgyünk jobban. Ha a modell bizonytalansága magas, jobban fogunk hinni az idézetnek. Ha a mérési zaj magas, akkor jobban fogunk hinni a modellnek. Ez pontosan az, amit itt fentebb ebben az animációban megmutattam. Bal oldalon jobban hiszünk a modellnek, jobb oldalon jobban hiszünk az adatoknak. Aztán frissítjük az állapotbecslést az előző állapottal és a Kalman-nyereséggel. Frissítjük a hiba kovarianciáját. Lényegében, mivel láttuk ezt az új adatpontot, a valódi spot körüli bizonytalanság csökkenni fog. Amit itt látok, az mindhárom lépés megvalósítása valós VIX adatokon. A VIX idézeteket zajos méréseknek tekintem, és egy Orstein-Uhlenbeck modellt használok, amelyet AR1 modellre diszkretizáltam, mint a modell, amelyre alapozunk, mint a VIX fizika törvényei. Tehát nézzük meg pontosan, hogy ez hogyan néz ki. Amit itt figyeltek meg, az a Kalman-szűrő, amely lényegében követi az összes adatot. Előrejelzést nyújt, nem csak a megfigyelt adatok alapján, hanem a történelmi adatokra kalibrált modell, a visszatérő modell alapján is. Tehát, ahogy itt láthatod, megfigyeltük mindezeket a pontokat, de nézd meg. Ez a három pontozott vonal, vagy ez a három pont itt lényegében az előrejelzés. És mivel nem csak a modellünket, hanem a megfigyeléseinket is kombinálja, azt sugallja: "hé, van egy szint, amelyhez hosszú távon vissza kell térnie." És amit itt látsz, az azt javasolja, hogy ez a visszatérésnek felfelé kell húznia ezeket az adatokat. És bizony így is tesz. És még akkor is, amikor a VIX hatalmas ugrást produkál, láthatjuk: "hé, a Kalman-szűrő követni fogja az új adatokat, de tudja a fizika törvényeit is. Vissza fog jönni. Ez egy visszatérő modell." És láthatod, hogy az előrejelzés most arra próbálja visszahúzni az adatokat a hosszú távú átlaghoz. Tehát nagyon hatékony előrejelzést produkál, még akkor is, amikor új és extrém adatokat figyelünk meg. Ez csak egy példa a Kalman-szűrő alkalmazására, ahol egy elméleten alapuló modellünk van. Nagyon könnyű visszavezetni a beárazott volatilitásokat a opciós árakból. Nagyon könnyű megérteni a VIX-et a variancia swapok kontextusában. És megfigyelhetünk adatokat is. Ez lényegében az, ami ezt a szűrőt és előrejelzést produkálja. Kombináljuk a modellt és a megfigyeléseket a Kalman-szűrő keretrendszerében. De ez működik, amikor elméleti alapunk van egy modellhez és megfigyelésekhez. Egy másik hely, ahol ez abszolút ragyog, az illikvid kötvények árazásának kontextusában. Ha belegondolunk, a modellünk csak a kötvény árának előállításával foglalkozik. Semmi sem véletlenszerű per se. A modell csak a kötvény készpénzfolyamatainak, a kuponnak, bármilyen struktúrája is legyen, diszkontálása a jelenbe az érték kiszámításához. Ezt mivel tesszük? Kincstári kötvényekkel mint proxyval, valamilyen hitelprémiummal. És ez a hitelprémium az, ami változik. Ha illikvid, és nem kereskedik folyamatosan, akkor meg kell próbálnunk proxy-t készíteni. Hogyan tehetjük ezt? Nos, megtehetjük a Kalman-szűrővel. Van egy modellünk. Így állítjuk elő a kötvényárakat. Aztán vannak megfigyeléseink is. Időnként megfigyelhetünk egy kereskedést erre a konkrét kötvényre. De mi van, ha vannak hasonló kibocsátások? Nos, ezt használhatjuk a Kalman-nyereségben egy hasonló kibocsátáshoz. Aztán használhatjuk a Kalman-szűrőt az aktuális állapot, az illikvid kötvény aktuális árának megkülönböztetésére. Ezen dolgoztam nagyon régen a Bloomberg-nél. Ha használod a BV val parancsot, akkor működés közben látod ezt a modellt. Tehát ez egy általánosabb keretrendszer a Kalman-szűrőhöz. Itt nem csak a fenti visszatérő modellre alkalmazom a VIX példánk kontextusában. Itt van egy általánosabb változatom, ahol az állapot becsléséről beszélünk. Aztán ott van a Kalman-nyereség, a megfigyelés. Emlékezz, kiszámítjuk az innovációs kifejezést. Van az érzékenységünk a tényleges megfigyelésre, amelyet szintén beépíthetünk. És akkor a Kalman-nyereség természetesen a hiba kovariancia mátrixunk és a mérési hiba R függvénye lesz. Tehát hogy néz ez ki valójában a gyakorlatban? Mi történik, ha ezt a Kalman-szűrő modellt használjuk új szintekhez való alkalmazkodáshoz? Nos, ismét, több adaptív szűrésnek vagy kevesebb adaptív szűrésnek vagyunk kitéve. Bármelyik módon is választjuk meg a Kalman-szűrő modellünk parametrizálását. Statisztikailag is megtehetjük. Nem kell explicit módon beállítanunk ezeket a paramétereket. Látjuk az adatokban, hogy mi lenne az optimális kiválasztás. Amely minimalizál egy célfüggvényt. Tehát amit itt látsz, az lényegében az, amit fentebb a bal oldalon láttunk. Alacsony Kalman-nyereséget figyelünk meg. Magasabb R-ünk van. Figyelmen kívül fogjuk hagyni a zajt. Tehát amikor a rezsim megváltozik, lassúak vagyunk az alkalmazkodásban. Míg a jobb oldalon viszonylag gyorsan alkalmazkodunk. Nos, hogyan választjuk ki, melyiket használjuk? Statisztikailag megtehetjük. Megtehetjük az általunk megfigyelt adatok alapján, de ez minden bizonnyal túlmutat e videó keretein. Amit szeretnék, hogy figyelj meg, az az, hogy hogyan néz ki valójában az adaptív létének kontextusában. Amikor a rezsim megváltozik, az adaptív modell az új idézetek alapján fog igazodni. Növelni fogja a bizonytalanságot, amíg stabilizálódik az új szint körül. És természetesen a kisebb nyereséggel rendelkezőnek hosszabb időbe telik, mire odaér. A Kalman-szűrő rendkívüli módon kiterjeszthető. Ahogy már említettem a kettős szűrő megközelítést, és ez valójában, ha meg akarod nézni a kódot, egy példa erre, ahol valójában frissítjük a modell elsődleges parametrizációját e rezsimváltás után. Megnézheted ezt a kódot, ismét link az alábbi leírásban ehhez a Jupyter notebookhoz, amely szintén felkerült a Quankild könyvtárba a GitHubon. De még a kettős szűrő megközelítésen túl is, rengeteg kiterjesztés létezik. Megpróbálhatjuk megkülönböztetni a különböző rezsimeket, trendelést a visszatéréstől, magasról alacsony volatilitásra. Különböző modelleket és különböző parametrizációkat építhetünk be. Kezelhetjük a paramétereket lényegében állapotként, amelyek frissülnek a különböző modellek és megfigyelések mellett. Sok klassz dolgot tehetünk a Kalman-szűrővel. Ha érdekelnek további videók erről a témáról, amelyek kiterjednek a rezsim meghatározásának és megkülönböztetésének ötleteire, akár a Kalman-szűrő megvalósítása élő Quant buildben az Interactive Brokers-szel. Mindenképpen szólj nekem az alábbi kommentekben. Nagyon szeretnék többet foglalkozni a Kalman-szűrővel, legyen szó elméletről, az iPad elővételéről és a matematika kidolgozásáról, egészen az Interactive Brokers API-val történő megvalósításig. Túl hosszú, nem olvastam. Itt van az összefoglaló. Amikor tájékozott döntést akarunk hozni a bizonytalanságban, modell specifikációs és parametrizációs problémával nézünk szembe. Kristálygömb nélkül modellt kell építenünk. Ha nincs meg az alapvető igazi dinamika, modellt kell építenünk. Nem akarunk csak egy régi modellt építeni. Jó modellt akarunk építeni, amely reprezentálja az igazi dinamikát, amelyet meg fogunk figyelni, és amely pontosan tükrözi a világ különböző állapotait, amelyekben végül lehetünk. A modell kiválasztása ritkán probléma. Számos modell áll rendelkezésünkre. Általában ez gazdasági elméleten alapul. De minden esetben egy modell működhet, összeomolhat, újra működhet, és így tovább. A modell parametrizáció a választott paraméteres modellek esetében hasonlóan viselkedik. És akár azt is sugallhatja, hogy a specifikáció, a választott modell helytelen vagy ineffektív. Lehet, hogy csak a paraméterek tévesen specifikáltak. Mindenesetre egy parametrizáció működhet, összeomolhat, újra működhet, és így tovább. Egy dinamikusabb modellezési térbe akarunk elmozdulni, ahol nem csak az elméleten alapuló modellt, hanem a gyakorlatban megfigyelt adatokat is figyelembe vesszük. Lényegében a modell reprezentációt kombináljuk a megfigyelt adatokkal. És a Kalman-szűrő az, amit ehhez teszünk, amit ehhez használunk. Különböző karokat húzhatunk meg, akár saját magunk, akár statisztikailag a Kalman-szűrőn belül, hogy jobban bízzunk a modellben, vagy jobban bízzunk az adatokban, ami nagyon hasznos lehet, különösen rezsimváltás kontextusában. Számos kiterjesztése van a Kalman-szűrőnek, amelyeket a jövőbeli videókban szeretnék tárgyalni. Szeretnék mélyebben belemerülni a formális matematikába, elővenni az iPad-et. Szeretnék egy élő megvalósítást készíteni az Interactive Brokers-szel piaci idézetekkel. Ez nagymértékben a ti érdeklődéseteken fog alapulni. Szóljatok nekem az alábbi kommentekben, hogy mit szeretnétek látni legközelebb. Néhány jövőbeli téma, technikai videó és egyéb megbeszélések, amelyekre számíthatunk. Szeretném tárgyalni az FMA French, Carhart, és általában a faktor modellezést. A Hawks folyamat, a Burton ugrás-diffúzió, a piacépítési modellek és szimulációk. Mivel már tárgyaltuk a Poisson folyamatot, áttérhetünk ezekre a különböző modellekre, amelyek ugrás-diffúziót igényelnek. Szeretnék visszatérni a minőségi videókhoz is. Az első évem quantként, miért titkosak a hedge fundok. Még a sztochasztikus kalkulusból származó technikai témákról, néhány kutatási témáról, durva útvonal elméletekről, a sigv modellről és így tovább is szeretnék beszélni. De ez nagymértékben a ti érdeklődéseteken alapul. Tehát, ha szeretnél látni bármelyik témát, nem felsorolt témákat, többet a Kalman-szűrőről és a megvalósításokról, mindenképpen szólj nekem az alábbi kommentekben, hogy mit szeretnél látni. És nem feledkeztem meg a quant buildjeinkről sem. Szeretnék egy élő Kalman-szűrő modellt készíteni az Interactive Brokers-szel. Továbbra is szeretnék valamilyen mértékben foglalkozni egy VIX kereskedési rendszerrel, rövid Vega pozíciókat felvenni algoritmikusan, fedezni, és beszélni arról az ötletről, hogyan kell helyesen visszatesztelni egy kereskedési stratégiát. Sok statisztikailag helytelen megközelítést látok, különösen a közösségi médiában. Minden quant buildünkben az Interactive Brokers-t használjuk. Erősen ajánlom őket. Hagyok egy linket az alábbi leírásban, ha szeretnél elkezdeni velük. Már több mint 10 éve vagyok velük, algoritmusos kereskedést végzek Java, Python, C++ nyelven. Az API-juk fenomenális, és minden egyes Quant buildemben használjuk. Ezen a ponton ez lesz minden ebből a videóból a Kalman-szűrőről a Quant Finance-hez. Remélem, élvezted. Remélem, tanultál valamit. Ennek a videónak az elkészítése minden bizonnyal rengeteg erőfeszítést igényelt. Tehát, ha tetszett, és szeretnél többet látni hasonlókat a jövőben, kérlek, lájkold, kommenteld, iratkozz fel, oszd meg. Ismételten, ez rengeteget segít nekem. Mindig nagyra értékelem. Nézd meg a quankgild.com oldalt, hogy elsajátítsd a kvantitatív készségeidet kereskedési és piacépítési pozíciókhoz. Ezen kívül nagyon köszönöm, hogy megnézted, és a következő videóban találkozunk.