Pillinger Works

Strategy Optimization – Stratégiaoptimalizálás

SzakértőE-034
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 →

Bevezetés

A stratégiaoptimalizálás egy meghatározott stratégia paramétereinek vagy szabályainak tudatos módosítása egy előre kijelölt kutatási cél javítása érdekében. Professzionális kutatásban az optimalizálás nem azonos azzal, hogy szebbé tesszük a backtesztet.

Az optimalizálás lehet hasznos. Lehet például túl széles a stop, gazdaságilag indokolatlan a tartási idő, vagy egy előre meghatározott szűrőnek világos funkciója van. A veszély akkor kezdődik, amikor a történelmi adat visszacsatolási géppé válik: módosíts egy szabályt, nézd meg az eredményt, tartsd meg, ha javít, majd ismételd addig, amíg a múlt kiválóan néz ki.

A központi kérdés tehát nem az, hogy „Javíthatom-e a backtesztet?”, hanem az, hogy „Javíthatom-e a stratégiát anélkül, hogy pusztán jobban ráilleszteném a kutatási mintára?”

1. Mit jelent valójában az optimalizálás?

Az optimalizálás azt jelenti, hogy meghatározott alternatívák között keresünk egy előre definiált cél alapján.

Példák:• stop-távolságok összehasonlítása;• egy kis, előre definiált lookback-tartomány vizsgálata;• két kilépési szabály összevetése;• korlátozott számú pozícióméretezési módszer összehasonlítása.

A keresési teret és a célt előre meg kell határozni. Ellenkező esetben az „optimalizálás” korlátlan kísérletezéssé válhat.

2. Javítás vagy illesztés?

Az optimalizált stratégia történelmi teljesítménye javul. Ez önmagában semmit nem mond arról, miért javult.

Két fő lehetőség van:

1. A változtatás egy valódi, a kereskedési mechanizmushoz kapcsolódó tulajdonságot ragadott meg.2. A változtatás a minta véletlen sajátosságát ragadta meg.

Az első hasznos javítás. A második illesztés.

A különbség csak fegyelmezett validációval, stabilitásvizsgálattal és a kutatási szabadság kontrolljával vizsgálható.

3. Határozd meg az optimalizálási célt

Ne optimalizálj „mindent”.

Válaszd azt a tulajdonságot, amelyre a kutatási kérdés valóban vonatkozik.

Lehetséges célok:• várható érték;• költségek utáni várható érték;• drawdown;• hozam/drawdown arány;• tradeszám;• alidőszakok közötti stabilitás;• előre meghatározott kombinált cél.

A maximális történelmi profitra optimalizált stratégia teljesen más lehet, mint a stabil várható értékre és kontrollált drawdownra optimalizált rendszer.

4. Az egyetlen metrikára optimalizálás veszélyes

Ha csak egy számot optimalizálsz, a folyamat természetesen ennek a számnak a javítását fogja keresni.

A maximális nettó profit néhány kivételes ügyletet részesíthet előnyben.A maximális win rate apró nyerteseket és nagy veszteségeket eredményezhet.A maximális Profit faktor instabil lehet, ha kicsi a bruttó veszteség.A minimális drawdown túl kevés ügyletet eredményezhet.

Használj elsődleges célt és előre meghatározott másodlagos diagnosztikákat. Nem az a cél, hogy minden metrika tökéletes legyen.

5. Határozz meg ésszerű keresési teret

Egy kutatási paraméternek legyen gazdasági vagy strukturális oka.

Egy 20–50 közötti mozgóátlag-periódus vizsgálata indokolható lehet, ha a stratégia középtávú trendviselkedést vizsgál. A 20, 20,1, 20,2 … 50,0 keresése csak azért, mert a szoftver engedi, hatalmas keresési szabadságot adhat valódi többletinformáció nélkül.

A keresési tér legyen elég széles a hipotézis vizsgálatához, de elég szűk ahhoz, hogy értelmezhető maradjon.

6. Paraméterérzékenység

Optimalizálás után nézd meg, mi történik a kiválasztott érték környezetében.

Tegyük fel, hogy a legjobb történelmi eredmény a 37-es paraméternél jelentkezik.

Ha 36, 38, 39 és 40 is hasonlóan viselkedik, az eredmény kevésbé függhet egyetlen pontos számtól.

Ha a 37 kiugró, miközben a közeli értékek összeomlanak, az optimalizáció találhatott egy lokális történelmi véletlent.

A lényeg: stabil régiót keress, ne mágikus számot.

7. Optimalizációs plató

A plató olyan paramétertartomány, ahol több közeli érték hasonló eredményt ad.

Ez gyakran informatívabb, mint egyetlen kiugró csúcs, mert azt sugallhatja, hogy a stratégia nem extrém pontosságtól függ.

Például:

30–45 → hasonlóan pozitív várható érték.37 → abszolút maximum.

A 37-es maximum önmagában kevésbé fontos, mint a körülötte lévő tartomány alakja.

8. Ne csak számokat, szabályokat is optimalizálj

A túltanulás nemcsak numerikus paramétereken keresztül jöhet létre.

Példák:• második megerősítő feltétel hozzáadása;• exit módosítása a veszteségek megfigyelése után;• bizonyos napok kizárása;• eseményszűrő hozzáadása azért, mert javítja a történelmi eredményt;• az instrumentumkör megváltoztatása a gyenge eszközök eltávolítására.

Egy szabálymódosítás még több kutatási szabadságot adhat, mint egyetlen numerikus paraméter megváltoztatása. Mindkettőt rögzíteni kell.

9. In-sample optimalizálás

Az optimalizálást általában egy meghatározott fejlesztési mintán belül érdemes elvégezni.

Az in-sample kutatás célja, hogy megismerjük a jelölt stratégiát és kontrollált tervezési döntéseket hozzunk.

Amikor az optimalizált specifikációt befagyasztod, az információs határ válik fontossá. A következő, még nem látott minta már értékelje az eredményt, ne folytassa az optimalizációt.

10. Out-of-Sample értékelés

Az optimalizált stratégiát olyan adaton kell értékelni, amely nem határozta meg a végleges specifikációt.

Példa:Optimalizálás előtt: +0,18R várható érték.Fejlesztési optimalizálás után: +0,34R.OOS: +0,20R.

A történelmi javulás mérhető fejlesztési eredmény, de az OOS eredmény fontosabb annak megítélésében, hogy a javulás átkerült-e a fejlesztési mintán kívülre.

Ha az OOS összeomlik, az optimalizálás valószínűleg mintaspecifikus szerkezetet ragadott meg.

11. Walk-forward optimalizálás

A walk-forward a folyamatot időben ismétli:

Fejlesztési ablak → paraméterválasztás → következő ismeretlen értékelési ablak → továbbmozgatás.

Ez megmutathatja, hogy a paraméterválasztás használható marad-e változó piaci körülmények között.

Fontos: a walk-forward nem szünteti meg automatikusan a túltanulást. Maga az optimalizálási szabály, a keresési tér, a cél és a kiválasztási módszer is túltanulható.

12. Optimalizálás és adatbányászati torzítás

Minden további kutatási döntés újabb lehetőséget ad arra, hogy ugyanabból a történelmi adatból tanuljunk.

Tíz paraméter tesztelése egy keresés.Tíz paraméter, öt exit és három szűrő tesztelése már sokkal nagyobb keresés.

Ha a végső stratégia azért lett kiválasztva, mert sok próbálkozás közül ez teljesített a legjobban, a headline eredmény nem mutatja meg, mennyi keresés kellett hozzá.

Vezess kutatási naplót, és rögzítsd a sikertelen jelölteket is.

13. Optimalizálás és mintanagyság

A kis minta kevesebb megfigyelést ad az optimalizálónak, ezért könnyebben összetévesztheti a zajt a szerkezettel.

Ha egy stratégia csak 60 ügyletet tartalmaz, egy paraméter, amely véletlenül javít három szokatlanul nagy nyertest, jelentősen megváltoztathatja a pontszámot.

A nagyobb minta sem garantálja a validitást, de több információt adhat a stabil viselkedés és az elszigetelt eredmények megkülönböztetéséhez.

Mindig kérdezd meg: hány ügylet befolyásolta ténylegesen az optimalizációt?

14. Az eloszlást is optimalizáld, ne csak az átlagot

Egy változtatás javíthatja az átlagos várható értéket, miközben rosszabbá teszi az eloszlást.

Hasonlítsd össze:• átlagos R;• medián R;• nagy nyertesektől való függés;• nagy veszteségek gyakorisága;• veszteségklaszterek;• drawdown;• tradeszám.

Példa:A verzió: +0,20R, mérsékelt szóródással.B verzió: +0,27R, de a profit nagy része két +12R ügyletből származik.

B történelmi átlaga magasabb, de meg kell vizsgálni, hogy valóban javult-e az edge mechanizmusa.

15. Optimalizálás és drawdown

A drawdown lehet optimalizálási cél, korlát vagy diagnosztika.

Például az eljárás megkövetelheti:• pozitív nettó várható érték;• előre meghatározott szint alatti maximális drawdown;• elegendő tradeszám;• ne legyen extrém függés egyetlen nyertestől.

Ezzel a probléma nem „találd meg a legnagyobb számot”, hanem „találj elfogadható stratégiaviselkedési tartományt” lesz.

16. A költségek legyenek benne az optimalizálásban

Ha a költségeket kihagyod, az optimalizáló előnyben részesítheti a túl gyakori kereskedést vagy marginális árkülönbségekre építő stratégiákat.

Használj reális:• jutalékot;• spreadet;• slippage-et;• likviditási feltételezést.

A bizonytalan költségbecslésekkel is óvatosan kell bánni. A túl optimista költségmodell újabb illesztési forrás lehet.

17. Esettanulmány — A tökéletes paraméter

Egy trader 10 és 100 között optimalizálja a kitörési lookbacket, és a 63-as értéknél +0,52R várható értéket talál.

A közeli értékek:

60 → +0,24R61 → +0,31R62 → +0,28R63 → +0,52R64 → +0,25R65 → +0,30R

A csúcs feltűnő. A környezet nem.

A tradernek nem szabad automatikusan arra következtetnie, hogy a 63 a helyes paraméter. A görbe alakja arra utal, hogy a pontos maximum lehet mintaspecifikus. A következő lépés kontrollált validáció és a mechanizmus vizsgálata.

18. Esettanulmány — Hasznos optimalizálás

Egy másik stratégiának két előre definiált, ésszerű stop-megoldása van.

Stop A: −0,12R költségek után.Stop B: +0,09R költségek után.

A kutatási kérdés az, hogy a két előre definiált stop-mechanizmus közül melyik illeszkedik jobban a stratégia volatilitási viselkedéséhez. A két alternatívát a teszt előtt rögzítették, majd a végső választást befagyasztották.

OOS-ben Stop B +0,07R-t eredményez.

Itt az optimalizálás nem korlátlan görbeillesztés, hanem kontrollált összehasonlítás volt, amelyet validáció követett.

19. Professzionális optimalizálási protokoll

Gyakorlati protokoll:

1. Határozd meg a kutatási kérdést.2. Határozd meg, mi változhat.3. Határozd meg a keresési teret.4. Határozd meg a célt és a korlátokat.5. Fagyaszd be az adat- és költségfeltételezéseket.6. Futtasd az előre definiált keresést.7. Rögzítsd a jelentős jelölteket.8. Vizsgáld a paraméterstabilitást.9. Vizsgáld az eloszlást és drawdownt.10. Válassz az előre rögzített szabály szerint.11. Fagyaszd be a specifikációt.12. Validálj ismeretlen adaton.13. Rögzítsd az OOS eredményt azonnali újrahangolás nélkül.14. Ha szükséges, új kutatási ciklust indíts új verzióval.

20. Gyakori hibák

• Addig optimalizálni, amíg az equity curve tökéletesnek látszik.• Hatalmas paraméterteret keresni hipotézis nélkül.• Egyetlen zajos csúcsot kiválasztani.• Eredmény után szabályt módosítani dokumentáció nélkül.• A validációs adaton optimalizálni.• Költségeket figyelmen kívül hagyni.• Tradeszámot figyelmen kívül hagyni.• Csak a win rate-et optimalizálni.• R-eloszlást figyelmen kívül hagyni.• Drawdownt figyelmen kívül hagyni.• Sikertelen jelölteket törölni.• Az optimalizálást az edge bizonyítékának tekinteni.

21. Szakértői gyakorlat — Készíts optimalizációs térképet

Válassz egy paramétert egy stratégiából.

Tesztelés előtt írd le:• miért létezik a paraméter;• gazdaságilag ésszerű tartomány;• lépésköz;• elsődleges cél;• másodlagos diagnosztikák;• minimális minta;• maximális elfogadható drawdown;• validációs határ.

Ezután készíts térképet a teljes tartományról.

Ne azonnal a maximumot válaszd. Előbb nézd meg az alakot.

A kérdés:„Van egy stabil régió, vagy csak egy történelmi csúcsot találtam?”

22. Tudásellenőrzés

1. Mi a különbség az optimalizálás és aközött, hogy egyszerűen jobbá tesszük a backtesztet?2. Miért kell előre meghatározni az optimalizálási célt?3. Miért veszélyes az egyetlen metrikára optimalizálás?4. Mit mutat meg a paraméterérzékenység?5. Miért informatívak az optimalizációs platók?6. Hogyan okozhatnak a szabályváltozások nagyobb túltanulást, mint a numerikus módosítások?7. Miért kell az OOS adatot kívül tartani az optimalizálási folyamaton?8. Hogyan hat a mintanagyság az optimalizációs kockázatra?9. Miért kell az R-eloszlást is vizsgálni?10. Mit véd ki egy professzionális optimalizálási protokoll?

Kulcsgondolat: az optimalizálás egy előre meghatározott, gazdaságilag értelmezhető térben keresi egy hipotézis jobb változatát. Nem arra való, hogy a múltat újra és újra megkérdezzük, hogyan nézhetne ki szebben.