Sisenemissignaal on sinu tagasitestis tõenäoliselt kõige vähem oluline osa. Võin võtta ühe keskpärase momentumireegli, jätta kõik sisenemis- ja väljumishetked puutumata, muuta ainult funktsiooni, mis otsustab, mitu lepingut hoida, ning liigutada neto-Sharpe'i 0.41 pealt 0.71 peale ja maksimaalse languse 31% pealt 13% peale. Samad tehingud. Samad täitmised. Erinev strateegia.
See väide ärritab inimesi, ja õigusega, sest sellest järeldub, et suurem osa ajast, mis kulub tagasivaateperioodide ja filtrilävendite timmimisele, läheb väiksema teguri peale. Näitan siis tegelikke tulemusi ja annan seejärel kriitikutele õiguse, sest sellel argumendil on üks vale versioon ning tasub teada, millist mina esitan.
Üks signaal, kuus viisi positsiooni hoidmiseks
Signaal: ETHUSDT tähtajatu leping Binance USDⓈ-M-is, 1-tunnised küünlad, pikk positsioon, kui 12-tunnine EMA on 96-tunnisest EMA-st kõrgem, muidu positsioonita, lühikesi positsioone ei avata. Juuli 2022 kuni juuni 2026. 431 edasi-tagasi tehingut. Takeri teenustasu mõlemas suunas 5.0 baaspunkti, rahastamismakse iga kaheksa tunni järel tegeliku positsiooni põhjal, libisemine modelleeritud parima ostu- ja müügihinna mahu põhjal. See on tahtlikult igav signaal — valisin selle, sest keegi ei hakkaks seda kaitsma, mistõttu on see puhas katsepind.
Kõigil allolevatel ridadel on identsed sisenemis- ja väljumisküünla ajatemplid. Erineb ainult positsiooni suuruse määramise funktsioon.
| Positsiooni suuruse reegel | Neto-Sharpe | Maksimaalne langus | Aastas kaubeldud nimiväärtus (× keskmine positsioon) | Kulud brutokasumist % | Tippvõimendus |
|---|---|---|---|---|---|
| Fikseeritud nimiväärtus $10k | 0.41 | 18.2% | 246× | 14% | 1.0× |
| Fikseeritud osakaal, 100% omakapitalist | 0.44 | 30.8% | 251× | 15% | 1.0× |
| 20-päevase realiseerunud volatiilsuse pöördväärtus | 0.68 | 14.1% | 690× | 29% | 4.4× |
| 20% annualiseeritud volatiilsuse siht, tunnipõhine tasakaalustamine, ülempiirita | 0.71 | 12.9% | 1,180× | 41% | 6.3× |
| 20% volatiilsuse siht, 20% mittetehinguriba, võimenduse ülempiir 3× | 0.66 | 15.3% | 402× | 19% | 3.0× |
| Pool-Kelly 60-päevase jooksva keskväärtuse/variatsiooni põhjal | 0.52 | 24.6% | 830× | 33% | 8.1× |
Vaata tulemuste vahet. Halvima ja parima rea Sharpe erineb suhteliselt 73% ning langus 2.4 korda. Nüüd otsi sellest andmestikust sisenemissignaali parameetrit, mis muudaks Sharpe'i 0.30 võrra, olemata samal ajal ilmselge ületreenimine. Olen otsinud. EMA paari periood muudab seda kogu usutava võrgustiku ulatuses umbes 0.12 võrra ning suurem osa sellest muutusest on müra, mis valimiväliselt püsima ei jää.
Miks volatiilsuse pöördväärtusel põhinev positsiooni suurus nii hea välja näeb ja kui palju sellest on päris
Toimemehhanism pole saladus. Fikseeritud nimiväärtuse korral pole sinu positsiooni suurus realiseerunud volatiilsusega korrelatsioonis, mis tähendab, et sinu tehingupõhine dollaririsk sõltub proportsionaalselt sellest, milline volatiilsus sel nädalal juhtub olema. ETH puhul jäi 20-päevane realiseerunud volatiilsus selle perioodi jooksul vahemikku 31%–118% annualiseeritult. Fikseeritud nimiväärtusega jooksus oli dollaririsk 2024. aasta märtsis 3.8× suurem kui 2023. aasta juulis, mitte sellepärast, et signaal oleks olnud kindlam, vaid sest turg oli ärevam. Peaaegu kogu selle jooksu langus koondub volatiilsuse ülemisse kvintiili. Volatiilsuse pöördväärtusel põhinev positsiooni suuruse määramine eemaldab selle seose ning selle eemaldamine parandab päriselt tootluse voo kuju.
Osa Sharpe'i paranemisest on aga mõõtmisartefakt ja kui sa neid kahte ei erista, teed hiljem halbu otsuseid. Sharpe jagab tootluse tootluste standardhälbega. Volatiilsuse sihtimine stabiliseerib definitsiooni järgi tootluse standardhälvet. Sa optimeerid otse nimetajat. Reegel, mis skaleerib positsioone etteantud volatiilsuse saavutamiseks, parandab Sharpe'i peaaegu igas volatiilsuse klasterdumisega tootlusvoos, ka sellistes, kus eelist üldse pole. Kontrollisin seda segiaetud signaalidega: juhusta sisenemisajad, jäta volatiilsuse sihtimise kiht alles ning Sharpe paraneb nullkeskmise lähtevoo korral fikseeritud nimiväärtusega võrreldes ikkagi umbes 0.06 võrra. Vähe, aga mitte null, ja põhjus on puhtalt mehhaaniline.
Seepärast ei ole Sharpe sisemisel positsiooni suuruse reeglite võrdlemisel kunagi ainus number tabelis. Soovin näha Calmarit, neto-PnL-i keskmise kasutatud nimiväärtuse ühiku kohta ning brutost netoni kulude jaotust, sest neid kolme koos on nimetajatrikiga palju raskem ilustada.
Volatiilsuse hinnang on mudel ja võib samamoodi lekkida
Kõige tavalisem põhjus, miks hea positsiooni suuruse määramise tulemus osutub võltsiks: volatiilsuse hinnang kasutab infot samalt küünlalt, mille jaoks suurust arvutatakse. Kui volatiilsusjada arvutatakse keskendatud aknaga või rakendatakse pandas'e vaikimisi meetodit `rolling().std()` pärast ümbersämplimist, mis hõlmab praegust osalist küünalt, või kasutatakse kogu valimi standardiseerimist, siis on tegu andmelekkega. See on salakaval, sest volatiilsus püsib ajas, nii et leke on igal üksikul real väike ja omakapitalikõver näib endiselt usutav. See paistab lihtsalt veidi liiga sile just neil nädalatel, mis on olulised.
Meie agendid kontrollivad iga positsiooni suuruse reegli puhul enne tulemuse paberkauplemise järjekorda lisamist nelja asja:
- Info on otsuse tegemise hetkel kättesaadav. Suurus, mida kasutatakse kell 14:00 avaneval küünlal, peab olema arvutatav andmete põhjal, mille sulgemise ajatempel on ≤ 13:59:59.999. Kontrollime seda, arvutades suurusjada uuesti juhuslikult valitud 200 otsustushetke kärbitud andmeraami põhjal ning võrreldes tulemusi.
- Hinnangu arvutusaken on päris parameeter. 20-päevane ja 60-päevane volatiilsuse aken on kaks eri strateegiat. Arvutusaken lisatakse kõige muuga koos walk-forward-võrgustikku. Kui tulemus toimib ainult ühe aknapikkusega, näitab see strateegia haprust.
- Võimenduse trajektoor, mitte ainult tippväärtus. Kuvame brutovõimenduse täieliku jaotuse. Ülaltoodud ülempiirita volatiilsuse sihtimisega jooksus ületati 5× võimendust 4% tundidest; selline asi ei jõua kunagi kokkuvõtlikku tabelisse, kuid määrab täielikult, kas strateegiat saab rakendada.
- Positsiooni suuruse tundlikkus vastupidavustestina. Kui Sharpe kukub kokku, kui muudate volatiilsuse sihti 20%-lt 25%-le, siis pole strateegia volatiilsuse järgi sihitud, vaid võimenduse järgi timmitud — leidsite eelise lihtsalt ühe arvu väljavalimisega.
Võimenduse ülempiir pole riskijuhtimise kaunistus, vaid strateegia määratluse osa. Binance'i ETHUSDT astmed vähendavad suurima võimenduse määra positsiooni nimiväärtuse kasvades ning koos sellega tõuseb hooldusmarginaali määr. Tagasitest, mis laseb volatiilsuse sihtimise reeglil jõuda 6.3× võimenduseni $400k nimiväärtuse juures, kirjeldab positsiooni, mida kauplemiskoht sellise marginaali juures hoida ei luba. Tabeli ülempiiriga rida maksab 0.05 Sharpe'i võrra ja on neist kahest ainus, mis kirjeldab päriselt teostatavat strateegiat.
Raha kaob tasakaalustamisel
Pane tähele kulude veergu. Tunnipõhine tasakaalustamine volatiilsuse sihi saavutamiseks andis parima pealkirjas oleva Sharpe'i, kuid loovutas börsile ka 41% brutokasumist. Aastas kaubeldi 1,180× keskmise positsiooni nimiväärtusega, millele lisandus 5 baaspunkti kummalgi suunal, hinnavahe ja turumõju. Lihtne lahendus on tasakaalustada harvem, kindla graafiku alusel. Parem lahendus on mittetehinguriba: muuda positsiooni suurust ainult siis, kui praegune positsioon erineb sihtsuurusest rohkem kui etteantud lävendi võrra.
20% riba vähendas aastase kaubeldud nimiväärtuse 1,180× pealt 402× peale — 66% võrra — ja maksis 0.05 Sharpe'i. Olen seda nüüd kaheksa signaali peal proovinud ja muster kordub: 15%–25% ribad säilitavad suurema osa riskikontrolli eelisest kolmandiku käibe juures ning kõik alla 10% on lihtsalt teenustasude maksmine kosmeetilise täpsuse eest suuruse juures, mida hindad nagunii 20-päevase aknaga. Sa ei saa tasakaalustada kolme kümnendkohani, kui kasutatava arvu standardviga on 15%.
Veebruaris oli meil jooks, kus agendi kirjutatud raport omistas 0.22 Sharpe'i paranemise „paremale sisenemisfiltrile”. Muudatus oli üks rida positsiooni suuruse moodulis. Filter polnud muutunud. Nüüd panen raporti algusesse positsiooni suuruse konfiguratsiooni räsi, sest omistamine nõuab distsipliini ja mudelid räägivad korralikku lugu sama meelsasti kui kõik teisedki.
Mida teeb paberkauplemine sinu positsiooni suuruse reegliga
Siin kasvab tagasitesti ja paberkauplemise vahe kõige suuremaks ning põhjus on peamiselt aritmeetiline. Volatiilsusele reageeriva suuruse korral kõigub sinu positsiooni suurus valimi lõikes teguriga 4–8. Mõlemad äärmused põrkuvad kauplemiskoha piirangutega, mida tagasitest ei modelleerinud.
Väiksemas otsas on koguse samm ja miinimumnimiväärtus. ETHUSDT tähtajatu lepingu koguse samm on 0.001 ja miinimumsumma $5. Kui sinu suurus madala volatiilsusega režiimis on 0.0004 ETH, hoiab tagasitest seda positsiooni, paberkauplemine aga mitte midagi. See kõlab erandjuhuna, kuni taipad, et volatiilsuse sihtimise reegel paigutab oma kõige väiksemad positsioonid kõige rahulikumatele turgudele, kus trendisignaali korral leidub sageli häid sisenemisi. Suuremas otsas on positsioonipiirangud, marginaaliastmed ja asjaolu, et 6× positsioon nõuab isoleeritud marginaali distsipliini, mille jaoks sa likvideerimismudelit ei testinud.
Leidsime ühe juhtumi, kus paberkauplemise omakapitalikõver järgis kuus nädalat tagasitesti 3% piires ja kaldus siis järsult lahku. Põhjuseks oli ümardamine: orderi positsioonimäärajas kasutati sammuni ümardamise asemel `int()` kärpimist, mis rakendus positsioonidele, mille suurus oli keskmiselt 1.4 sammu. Tagasitestis arvutati suurusi pidevas ruumis, reaalajas määras aga kärpimine igalt väikeselt tehingult 20-30% kavandatud positsioonist ära. Ei mingit eksootilist täitmismudelit ega latentsusjuttu. Lihtsalt kärpimine.
Milles kriitikutel on õigus
Kolm vastuväidet peavad paika ja ma ei taha neid ilustada.
Esiteks ja kõige tähtsam: positsiooni suuruse määramine jaotab eelist, kuid ei saa seda luua. Kui sinu signaali brutokasumi ootus on pärast realistlikke teenustasusid ja rahastamismakse null või negatiivne, kaotab raha iga tabelis olev reegel — uhkemad reeglid teevad seda lihtsalt ilusama varieeruvusprofiiliga. Valisin signaali, millel oli sel perioodil väike, kuid positiivne netoeelis. Käita samu kuut reeglit signaaliga, mille netotulemus on −1.2 baaspunkti tehingu kohta: järjestus jääb samaks, aga iga lõppomakapital jääb algtasemest madalamale. Positsiooni suuruse määramine on millegi kordaja. See miski peab sul ikkagi olemas olema.
Teiseks on volatiilsuse sihtimisel päris ja hästi dokumenteeritud rike: kiire müügilanguse põhjas vähendatakse võimendust ning järsu tagasipõrke järel suurendatakse seda uuesti. Järsu V-kujulise liikumise korral võidab fikseeritud nimiväärtus, vahel suurelt. 2020. aasta märts aktsiaturul ning 2024. aasta augusti krüptoturu langus karistasid mõlemad taastumise faasis volatiilsusele reageeriva suurusega strateegiaid. Minu nelja-aastases ETH aknas oli rohkem klasterdunud volatiilsusega aeglast liikumist kui V-kujulist järsku edasi-tagasi liikumist, mis soosib volatiilsuse pöördväärtusega ridu. Teistsuguse perioodi korral muutub osa järjestusest ja kui oleksin alustanud 2020. aasta tabelist, esitaksin selle argumendi nõrgemal kujul.
Kolmandaks saab positsiooni suuruse reeglit üle sobitada samamoodi nagu kõike muud. Pool-Kelly jooksva hinnangu põhjal on minu tabelis hoiatav näide: see näib keerukas ja sellel on teoreetiline alus, kuid andis suuruselt teise languse, sest mürarikka tootlusjada jooksva keskväärtuse hinnang on saast ja Kelly on selle suhtes äärmiselt tundlik. Iga positsiooni suuruse reegel, mille sisendiks on oodatava tootluse hinnang, pärib selle hinnangu vea ning võimendab seda. Ainult dispersioonihinnangut kasutavad reeglid käituvad palju paremini, sest dispersioon on ainus moment, mida nelja aasta tunnipõhiste andmete põhjal tõesti hinnata saab.
Mida sellest kõigest kaasa võtaksin: kui tagasitesti tulemus sind üllatab, vaata enne signaalist nutikuse otsimist positsiooni suuruse moodulit. Ja kui esitad Sharpe'i, esita selle kõrval ka võimenduse trajektoor ning kulude jaotus, sest nii suurel määral positsiooni suuruse valikust sõltuv number ei ole üldse signaali omadus.
← Kõik postitused
