2026 m. rugsėjo 20 d. · vykdymas

Jūsų paper sąskaita atmetė backtesto įvykdymą: laiškas apie biržos filtrus

Jūsų paper sąskaita atmetė backtesto įvykdymą: laiškas apie biržos filtrus

Turite nedidelę kriptovaliutų ateities sandorių strategiją, kuri prekiauja keliais kontraktais, ir ką tik perkėlėte ją iš backtesto į paper prekybą. Pirmasis portfelio perbalansavimas pateikia 0.037 BTC pavedimą. Simuliatorius jį priima, o prekybos platforma atmeta, nes kontrakto kiekio žingsnis yra 0.001, o suapvalintas pavedimas nesiekia minimalios nominaliosios vertės. Jūsų pozicija lieka nulinė, nors backteste užregistruojamas įvykdymas.

Lengva numoti ranka į šį neatitikimą kaip į formatavimo klaidą. Tačiau jis gali pakeisti, kokį turtą laikote, kada perbalansuojate portfelį ir kiek rizikos lieka nepavykus įvykdyti pavedimo. Kiekvienos platformos prekybos filtrus laikykite strategijos vykdymo taisyklių dalimi ir užtikrinkite, kad backtestas bei paper prekybos adapteris taikytų tas pačias taisykles ta pačia tvarka.

Kokie biržos filtrai gali padaryti pavedimą negaliojantį?

Pradėkite nuo instrumentų metaduomenų, kurių reikia pavedimui: kiekio prieaugio, minimalaus kiekio, minimalios nominaliosios vertės, kainos prieaugio ir bet kokių pavedimo dydžio ar kainos intervalo apribojimų. Jų pavadinimai ir taikymo sritis įvairiose platformose skiriasi. Spot porai gali būti nustatytas kitoks minimumas nei jos nuolatiniam kontraktui; filtras gali pasikeisti strategijai veikiant.

Tarkime, tikslinės pozicijos vertė yra $12, o kontrakto minimali pavedimo vertė – $10. Jei dėl kiekio žingsnio pavedimas suapvalinamas žemyn iki $9.80, jis negalioja, nors nesuapvalinta tikslinė vertė viršijo minimumą. Suapvalinus aukštyn iki $10.20, pavedimas gali tapti galiojantis, tačiau tikslas bus viršytas $0.20. Šis skirtumas gali būti reikšmingas, kai sąskaita nedidelė arba strategija prekiauja daugybe instrumentų.

TaisyklėKą ji ribojaPoveikis backtestui
Kiekio žingsnisLeidžiamus pavedimo dydžio pokyčiusSuapvalintas dydis skiriasi nuo tikslo
Minimalus kiekis arba nominalioji vertėMažiausią priimtiną pavedimąKai kurie sandoriai nevykdomi arba dydį reikia apvalinti aukštyn
Kainos žingsnisLeidžiamas limitines ir aktyvavimo kainasKainos apvalinimas keičia pavedimo įvykdymo tikimybę
Kainos intervalas arba dydžio ribaPlatformos nustatytas pavedimo laukų ribasPavedimai gali būti atmesti per didelį rinkos svyravimą arba stambų portfelio perbalansavimą

Kurioje pavedimo proceso vietoje taikyti apvalinimą?

Suapvalinkite pavedimo laukus apskaičiavę norimą pozicijos pokytį, bet prieš nuspręsdami, ar jį pateikti. Analizei išsaugokite nesuapvalintą tikslą, o tada, remdamiesi esama pozicija, kontrakto daugikliu ir platformos žingsniais, apskaičiuokite įvykdomą pavedimą. Jei pardavimo kiekio žingsnis yra 0.001, norimą sumažinti kiekį 0.0017 galima suapvalinti iki 0.001 arba 0.002 – tai priklauso nuo jūsų aiškiai apibrėžtos taisyklės. Pasirinkus skirtingai, lieka skirtingos likutinės pozicijos, tad vien pasakyti „apvalinti pagal tikslumą“ nepakanka.

Kiekius apvalinant žemyn nulio link išvengiama netyčinio pozicijos padidinimo daugiau, nei prašyta, tačiau gali likti mažų likučių, kuriais taip ir neprekiaujama. Apvalinant iki artimiausios reikšmės vidutinė paklaida mažesnė, nors galima peržengti tikslą. Minimalios nominaliosios vertės taisyklei reikia atskiro sprendimo: praleisti sandorį, kaupti iki ribos arba padidinti dydį ir priimti viršijimą. Tyliai nekeiskite šių veikimo būdų.

Taip pat išsaugokite priežastį, dėl kurios pavedimas nebuvo pateiktas. „Pavedimo nėra: nesiekia minimalios nominaliosios vertės“ reiškia ką kita nei „įvykdyta už 0“. Sudarant portfelio perbalansavimo pavedimus, praleistas pavedimas gali palikti grynųjų nenaudojamų arba išlaikyti senojo turto poziciją; užregistruokite šį rezultatą sąskaitos būsenoje.

Kaip suderinti backtesto ir paper prekybos vykdymą?

Jei sistemos architektūra leidžia, abiejuose procesuose naudokite tą pačią pavedimų tikrinimo funkciją. Pateikite jai tuos pačius konkrečiu laiku galiojusius instrumentų apribojimus, norimą pavedimą ir sąskaitos būseną. Funkcija turėtų grąžinti arba normalizuotą pavedimą, arba konkrečią atmetimo priežastį. Tada simuliatorius galės taikyti savo įvykdymo prielaidas normalizuotiems pavedimams, o paper prekybos adapteris – siųsti platformai lygiaverčius laukus.

Prie kiekvieno paleidimo išsaugokite datuotą filtrų metaduomenų kopiją. Pasikeitus kiekio prieaugiui ar minimumui, turite žinoti, kokia taisyklė buvo taikyta backteste. Metaduomenų nuskaitymas šiandien, siekiant pakartoti prieš metus vykdytą strategiją, gali sudaryti įspūdį, kad seni pavedimai negaliojo, arba kad istoriniai pavedimai buvo įmanomi, nors iš tikrųjų tokie nebuvo.

Kai paper prekybos platforma praneša apie atmetimą, prieš keisdami signalą palyginkite pateiktus laukus su filtrų kopija. Jei backtesto pavedimų normalizatorius pateikė 0.037 BTC, nors platforma leido 0.001 BTC prieaugius, neatitikimas yra adapteryje arba metaduomenyse. Jei pateiktas pavedimas galiojo, bet nebuvo įvykdytas, tikėtina, kad problema susijusi su vykdymu, pavyzdžiui, kaina, likvidumu ar galiojimo laiku.

Ką patikrinti prieš pasitikint palyginimu?

Per kiekvieną portfelio perbalansavimą išsaugokite trumpą audito įrašą: tikslinę poziciją, esamą poziciją, pradinį pavedimą, normalizuotą pavedimą, taikytą filtrų versiją ir galutinę būseną. Tada palyginkite to paties sprendimo laiko paper prekybos ir simuliacijos įrašus.

Jūsų strategija gali būti tinkama, net jei nepavyksta pirmasis paper prekybos portfelio perbalansavimas. Tačiau kol simuliatorius negali paaiškinti, kodėl tas pavedimas būtų buvęs priimtas, suapvalintas, praleistas ar atmestas, jo nuosavo kapitalo kreivė aprašo kitokią vykdymo sistemą nei ta, kurią bandote paleisti.

biržos filtraipaper prekybapavedimų dydžio nustatymasbacktestingkriptovaliutų ateities sandoriai
← Visi įrašai