Pillinger Works

Over-optimization / Túloptimalizálás

HaladóA-052
Készen állsz a fejlődésre?

Az anyagokat regisztráció nélkül is megnézheted ugyan, de ha nyitsz egy ingyenes fiókot, követheted a fejlődésedet és jutalmakat is kaphatsz utad során. Mely tanulmányi utad végén minden hasznos tudás birtokosa leszel, hogy profitábilis Kereskedővé válhass!

Csatlakozom →

Azonosító: A-052

Bevezetés

Az A-051 egy fontos alapelvet rögzített: a stratégiába vetett bizalomnak bizonyítékhoz kell kapcsolódnia, nem bizonyossághoz. Az A-052 azt vizsgálja, hogyan válhat maga a bizonyíték félrevezetővé: a túloptimalizálás miatt.

Az optimalizálás professzionálisnak hangzik. Több teszt, több szűrő, jobb paraméterek, pontosabb belépés, jobb kilépés, kevesebb veszteséges trade. A probléma akkor kezdődik, amikor a stratégia már nem egy robusztus piaci kapcsolat megragadására készül, hanem arra, hogy minél jobban megmagyarázza a történelmi adatokat.

A központi veszély egyszerű: egy stratégia egyre jobbá válhat a múlt magyarázatában, miközben egyre rosszabbá válik a jövő kezelésében.

A túloptimalizálás ezért nem azonos az optimalizálással. A hasznos optimalizálás javítja a folyamatot úgy, hogy közben megőrzi az alapul szolgáló Stratégiai előnyt. A túloptimalizálás a történelmi pontszámot javítja azáltal, hogy egyre jobban függővé teszi a rendszert a fejlesztéshez használt konkrét mintától.

1. Optimalizálás és túloptimalizálás

Hasznos optimalizálás

Pontosítja a korábban bizonytalan szabályokat.

Eltávolítja a szükségtelen komplexitást.

Megvizsgálja, hogy egy paraméter valóban érdemben befolyásolja-e az eredményt.

Javítja a végrehajtást anélkül, hogy megváltoztatná az alapul szolgáló piaci hipotézist.

Hasonló viselkedést ad ésszerű paramétertartományokon belül.

Túloptimalizálás

Azért ad hozzá szűrőt, mert javítja a történelmi eredményt.

Főleg azért távolít el trade-eket, mert veszteségesek voltak a mintában.

Addig hangolja a paramétereket, amíg szokatlanul sima equity görbét nem kap.

Külön kivételeket hoz létre egyes történelmi helyzetekre.

Addig tesztel, amíg meg nem jelenik a kívánt eredmény.

Egyre szűkebb feltételeket használ, amelyeknek nincs önálló indoklásuk.

A különbséget nem a tesztek száma határozza meg. Hanem az, hogy milyen kapcsolat van a szabály és annak indoka között.

2. A kérdés minden paraméter mögött

Minden paraméternél tedd fel a kérdést: „Miért kell ennek a feltételnek léteznie a valós piacon?”

Ha a válasz strukturális vagy viselkedési okra épül, a paraméternek lehet védhető szerepe. Ha a válasz egyszerűen az, hogy „mert javította a backtesztet”, akkor a paraméter lehet, hogy a múltat írja le egy tartós kapcsolat kihasználása helyett.

Ez az egyik legfontosabb haladó kutatási szokás: minden szabálynak legyen olyan oka, amely független attól az eredménytől, amit a szabály a múltban produkált.

3. A többszörös tesztelés problémája

Tegyük fel, hogy egy kereskedő 100 különböző paraméterkombinációt tesztel. Még akkor is, ha a stratégiának nincs valódi edge-e, néhány kombináció pusztán véletlenül vonzó történelmi eredményt fog produkálni.

Minél több lehetőséget adunk magunknak a keresésre, annál könnyebb találni valamit, ami véletlenül statisztikailag meggyőzőnek látszik.

Ez a Data Snooping egyik alapintuíciója. A történelmi adat nem pártatlan bíró, ha addig kérdezgetjük, amíg olyan választ nem ad, amit szeretünk.

Ezért egy intenzív keresés után kapott magas backteszteredmény kevesebb információt hordozhat, mint ugyanaz az eredmény kevés, előre definiált döntés után.

4. Miért lehet figyelmeztető egy tökéletes backteszt?

A szokatlanul sima equity görbe, a nagyon magas találati arány, a rendkívül alacsony drawdown vagy a szinte tökéletes paraméter könnyen validációnak tűnik.

A történelmi tökéletesség azonban jelezheti azt is, hogy a modell a minta olyan sajátosságait szívta magába, amelyek nem ismétlődnek.

A professzionális reakció egy szokatlanul jó backtesztre nem mindig az ünneplés. Hanem a vizsgálat.

Hány változatot teszteltél?

Hány szabályt változtattál?

Hány szűrőt adtál hozzá az eredmények megtekintése után?

Eltávolítottál veszteséges időszakokat?

Ugyanazt az adatot használtad a paraméter kiválasztására és az értékelésre?

Működik-e a viselkedés érintetlen adaton?

5. Az adat nem feltétlenül akkora, mint amekkorának látszik

Egy stratégia úgy tűnhet, hogy több ezer megfigyeléssel rendelkezik, miközben valójában sokkal kevesebb független lehetőséget tartalmaz.

Több ezer gyertya ugyanabból a piaci rezsimből nem egyenértékű több ezer független stratégiai döntéssel. Az egymást követő megfigyelések ugyanazon alapfeltételeket hordozhatják.

A Mintanagyságnak ezért nemcsak számszerű, hanem fogalmi dimenziója is van.

Nem csak az a kérdés, hogy „Hány trade?”, hanem az is, hogy „Hány érdemben különböző környezetet és lehetőséget reprezentál ez a bizonyíték?”

6. Paraméterstabilitás

Egy robusztus stratégia gyakran egy ésszerű paramétertartományon belül is működik.

Tegyük fel, hogy egy küszöb 48, 49, 50, 51 és 52 mellett is hasonlóan működik. Ez biztatóbb, mint egy olyan rendszer, amely pontosan 49,73-nál kiváló, de attól kissé eltérve összeomlik.

A konkrét számok stratégiánként változnak, az alapelv azonban általános: a robusztusság gyakran egy tartományként jelenik meg, míg a túloptimalizálás gyakran csúcsként.

A paraméterstabilitás önmagában nem bizonyít robusztusságot, de a szélsőséges érzékenység mindenképpen vizsgálatot érdemel.

7. A komplexitásnak ára van

Minden új szabály újabb lehetőséget ad a zajhoz való illeszkedésre.

Képzelj el egy háromfeltételes stratégiát. Ezután hozzáadunk volatilitási szűrőt, volumenfiltert, napszakfiltert, hét napja szerinti szűrést, indexfeltételt, gap-feltételt és több kivételt. A végső rendszer kifinomultnak tűnhet, de lehet, hogy a komplexitása elsősorban a fejlesztési mintát írja le.

A komplexitás a végrehajtási kockázatot is növeli. Több szabály több lehetőséget teremt félreértésre, kihagyott trade-re, következetlen értelmezésre és véletlen eltérésre.

A legjobb stratégia nem feltétlenül a legegyszerűbb stratégia. Hanem az a legegyszerűbb stratégia, amely megfelelően megragadja a kívánt edge-et.

8. Túloptimalizálás és Előretekintési torzítás

Előretekintési torzítás akkor jelenik meg, amikor olyan információ befolyásolja a történelmi döntést, amely a döntés pillanatában még nem állhatott rendelkezésre.

A túloptimalizálás ezt nehezebben felismerhetővé teheti, mert az ismételt kutatás finom jövőbeli információhasználatra ösztönözhet.

Paraméter kiválasztása a későbbi teljesítmény ismeretében.

Átdolgozott történelmi adatok használata anélkül, hogy figyelembe vennénk, mikor váltak elérhetővé.

Példák kiválasztása azért, mert későbbi kimenetelük igazolja a szabályt.

Feltétel megváltoztatása a teljes chart megtekintése után.

Az eredmény kiváló optimalizálásnak tűnhet, miközben olyan információt tartalmaz, amelyhez éles kereskedő soha nem férhetett volna hozzá.

9. Túloptimalizálás és Túlélési torzítás

Ha a kutatás csak azokra az instrumentumokra koncentrál, amelyek fennmaradtak, likvidek maradtak, tőzsdén maradtak vagy sikeressé váltak, a stratégia robusztusabbnak tűnhet, mint amilyen valójában.

Ilyenkor maga a történelmi univerzum is optimalizálódhat.

A professzionális kutatás ezért azt is megkérdezi, hogy a tesztelt univerzum azt reprezentálja-e, amit az adott időpontban ténylegesen lehetett volna kereskedni, vagy csak azt, ami ma még látható.

10. Data Snooping és valódi felfedezés

Nem minden feltáró kutatásban talált minta hamis. A piacokon léteznek valódi kapcsolatok, és a kutatás szükségszerűen tartalmaz felfedezést.

A probléma a felfedezés és a validáció összekeverése.

A feltárás létrehozhat egy hipotézist. Önmagában nem bizonyítja, hogy a hipotézis általánosítható.

A helyes folyamat:

Feltárás.

Piaci hipotézis megfogalmazása.

A szabály önálló definiálása.

Tesztelés olyan adaton, amelyet a szabály létrehozásához nem használtunk.

Robusztusság értékelése.

Tesztelés releváns környezetekben.

Csak ezután jöhet az éles alkalmazás.

11. In-Sample és Out-of-Sample

Az In-Sample adatot a stratégia kialakítására vagy hangolására használjuk. Az Out-of-Sample adatot félretesszük az értékeléshez.

A különbség azért értékes, mert elválasztja egymástól a tanulást és a tesztelést.

Ha a stratégia In-Sample jól teljesít, de Out-of-Sample élesen romlik, akkor a fejlesztési folyamat valószínűleg a minta sajátosságait tanulta meg.

Az Out-of-Sample teljesítmény sem végső igazolás. Egy folyamatos bizonyítékfrissítési folyamat egyik fontos eleme.

12. Walk-forward gondolkodás

A Walk-forward tesztelés időbeli struktúrát ad a folyamathoz: egy múltbeli ablakon fejlesztünk vagy kalibrálunk, majd a következő, addig nem látott időszakot értékeljük, ezt pedig ismételjük.

Ez jobban hasonlít ahhoz, ahogy egy élő stratégia működik: a döntéshez csak az addig rendelkezésre álló információt használhatjuk.

A hasznos kérdés nemcsak az, hogy „Működik-e?”, hanem az is, hogy „Hiteles marad-e a kutatási folyamat, amikor előrehaladunk az időben?”

A Walk-forward viselkedés megmutathatja, hogy a stratégia ismételten túléli-e az új adatokat, vagy csak azon az időszakon működik, amelyből eredetileg kialakítottuk.

13. A rossz trade-ek eltávolításának rejtett veszélye

A túloptimalizálás egyik legegyszerűbb módja, hogy utólag megkérdezzük a történelmi adatokat: mit kellett volna elkerülni, miközben már ismerjük az eredményt.

A kereskedő lát egy veszteségcsoportot, hozzáad egy szűrőt, amely eltávolítja őket, és a backteszt javul.

A szűrő azonban egyszerűen a veszteséges trade-ek történelmi azonosságát kódolhatja.

Egy valid szűrőnek önálló indoka kell legyen. Olyan feltételt kell leírnia, amely érdemben megváltoztatja az edge-et, nem pedig pusztán egy olyan kategóriát, amely véletlenül veszteséges trade-eket tartalmazott.

14. Az equity-görbe csapdája

A kereskedők természetesen a sima equity görbét preferálják. Ez túlzott szűréshez vezethet.

Minden kellemetlen veszteség újabb szabályra ösztönöz. Végül lehet, hogy kevesebb trade-et, magasabb történelmi találati arányt és simább görbét kapunk – de gyengébb általánosíthatósággal.

A sima görbe eredményjellemző. A robusztusság szerkezeti tulajdonság.

A kettőt soha nem szabad azonosnak tekinteni.

15. Optimalizálás és Várható érték

Az optimalizálást nem csak a teljes hozam alapján kell értékelni.

Várható érték.

Drawdown-eloszlás.

Kockázathoz igazított viselkedés.

Trade-gyakoriság.

Paraméterstabilitás.

Teljesítmény különböző környezetekben.

Mintán kívüli viselkedés.

Ésszerű végrehajtási feltételekre való érzékenység.

Egy paraméterváltoztatás, amely növeli a teljes hozamot, de lerombolja a robusztusságot, rosszabb döntés lehet, mint egy olyan módosítás, amely kissé csökkenti a hozamot, miközben stabilabbá teszi a folyamatot.

16. A minimális komplexitás elve

Ha két modell hasonlóan jól magyarázza a kívánt edge-et, előnyben kell részesíteni azt, amelyik kevesebb önkényes feltételezést tartalmaz.

Ez nem azt jelenti, hogy „mindig kevesebb indikátort használj”. Azt jelenti, hogy minden új feltételnek ki kell érdemelnie a helyét.

Milyen piaci mechanizmust képvisel ez a szabály?

Milyen bizonyíték támasztja alá?

A történelmi eredmény megismerése előtt is beletettem volna?

Mi történik, ha a paraméter kissé elmozdul?

Mi történik a fejlesztési mintán kívül?

17. Mikor kell abbahagyni az optimalizálást?

Az optimalizálásnak nincs természetes érzelmi megállási pontja. Mindig van újabb paraméter, újabb szűrő, újabb történelmi időszak.

Ezért a megállást procedurálisan kell meghatározni.

A hipotézis egyértelmű.

A szabályok nem kétértelműek.

A kulcsparamétereknek van védhető indoklása.

Ésszerű paramétertartományokat teszteltünk.

A modell nem túlérzékeny.

Megvizsgáltuk az Out-of-Sample bizonyítékot.

A releváns torzításokat kontrolláltuk.

A további változtatásoknak már nincs egyértelmű, önálló indoka.

Az utolsó feltétel döntő: az, hogy „javítja a backtesztet”, önmagában nem elegendő indok egy újabb módosításhoz.

18. Esettanulmány — A tökéletes szűrő

Egy kereskedő kitörési stratégiát tesztel. Az alapmodell mérsékelt hozamot és jelentős drawdownt produkál. A kereskedő észreveszi, hogy sok vesztes trade alacsony volumen mellett történik, ezért hozzáad egy volumenfiltert.

A backteszt javul. Ezután jön egy napszakfilter, egy indexfilter és egy volatilitási küszöb. Minden új szabály javítja a történelmi equity görbét.

Végül a rendszer kiemelkedő találati arányt és alacsony drawdownt mutat – de már csak kevés trade marad.

A kereskedő azt hiszi, megtalálta a tökéletes stratégiát.

A professzionális kutató más kérdést tesz fel: hány döntés született úgy, hogy közben már ismertük ugyanazon történelmi eredményeket? Ha a szűrőket azért választottuk, mert eltávolították az ismert veszteseket, akkor a backteszt erősen a saját mintájára optimalizálódhatott.

A helyes következő lépés nem egy újabb szűrő. Hanem a független validáció.

19. A professzionális optimalizálási keretrendszer

A robusztus kutatási folyamat négy tevékenységet választ szét:

Feltárás: lehetséges kapcsolatok felfedezése.

Specifikáció: a hipotézis és a szabályok definiálása.

Validáció: az általánosíthatóság tesztelése nem látott bizonyítékon.

Monitoring: annak vizsgálata, hogy az éles viselkedés továbbra is összhangban van-e a várt edge-dzsel.

Ez a szétválasztás megakadályozza, hogy ugyanaz az adat legyen egyszerre kutató, bíró és esküdtszék.

Gyakorlati alkalmazás — Túloptimalizálási Labor

Válassz egy általad jól ismert stratégiát, vagy építs fel egy egyszerű, egyértelmű szabályokkal rendelkező hipotetikus stratégiát. A feladat nem a történelmi hozam maximalizálása. A cél annak feltárása, hogy hol válik veszélyessé az optimalizálás.

Írd le az eredeti piaci hipotézist még bármilyen módosítás előtt.

Rögzítsd az eredeti szabályokat és a baseline eredményeket.

Listázd az összes paramétert vagy szabályt, amelyet megváltoztatnál.

Minden változtatás előtt írd le az önálló piaci indokot, és csak ezután vizsgáld meg az eredményhatást.

Egyetlen preferált érték helyett ésszerű paraméterkörnyezetet tesztelj.

Rögzítsd, hány változatot teszteltél.

Válaszd külön a fejlesztési adatot egy valóban érintetlen Out-of-Sample időszaktól.

Vizsgáld meg, hogy a stratégia ésszerű végrehajtási feltételek mellett is működik-e.

Ellenőrizd az Előretekintési torzítást, Túlélési torzítást és Adatbányászati torzítást.

Az eredeti és az optimalizált változatot ne csak hozam alapján hasonlítsd össze, hanem Várható érték, drawdown, trade-szám, paraméterstabilitás és nem látott adaton mutatott viselkedés alapján is.

Írd le, mely javulások maradtak hitelesek a nem látott teszt után.

Határozz meg megállási szabályt a jövőbeli optimalizáláshoz.

A legfontosabb kérdés a végén: „Javítottam a stratégiát, vagy csak javítottam a történelmi adatok magyarázatát?”

Tudásellenőrzés

Mi a különbség a hasznos optimalizálás és a túloptimalizálás között?

Miért teremt minden új paraméter új lehetőséget a zajhoz való illeszkedésre?

Mi a Data Snooping lényege?

Miért lehet figyelmeztető jel egy rendkívül jó backteszt?

Miért több a Mintanagyság a trade-ek puszta számánál?

Mit árul el a paraméterstabilitás?

Hogyan kerülhet Előretekintési torzítás az optimalizálási folyamatba?

Hogyan torzítja a Túlélési torzítás a stratégiai kutatást?

Miért kell szétválasztani a feltárást és a validációt?

Milyen bizonyíték győzne meg arról, hogy egy optimalizálási módosítás robusztus, és nem csak a fejlesztési mintára jellemző?

Kulcselv: Az optimalizálás célja nem az, hogy a múlt tökéletesnek tűnjön. Hanem az, hogy olyan folyamatot azonosítsunk, amelynek alapul szolgáló Stratégiai előnye ésszerű eséllyel túlél olyan adatot is, amelyet még soha nem látott.