Nobyembre 7, 2026 · microistruktura

Nabasa ng Backtest ang Tamang Presyo sa Maling Market

Nabasa ng Backtest ang Tamang Presyo sa Maling Market

Noong 10:14 UTC, bumili ang isang simpleng breakout strategy ng crypto perpetual matapos lumampas ang presyo sa 20-minute high nito. Nagpakita ang backtest ng fill sa $64,210. Nasa datos ang numerong iyon, tama ang timestamp ng signal, at dumating ang simulated order sa susunod na bar. Muntik na naming tawaging malinis ang resulta.

Pagkatapos, itinugma namin ang mga instrument ID. Galing sa BTCUSDT perpetual ang signal. Galing naman ang fill sa BTCUSD inverse contract. Kapwa nag-trade ang mga ito malapit sa $64,210, at kapwa mga market na may sapat na liquidity. Pero magkaibang order book pa rin ang mga iyon, na may magkakaibang presyo, laki ng tick, lalim, at iskedyul ng bayarin. Pinagtagpi ng backtest ang isang market na walang trader na makakapasok.

Karaniwan lang ang strategy mismo: pumasok kapag nagsara ang presyo nang mas mataas sa rolling high, lumabas kapag nagsara ito nang mas mababa sa rolling low, at itakda ang laki ng bawat posisyon batay sa nakapirming dollar risk. Lumitaw lang ang problema nang magtanong kami ng mas tiyak kaysa “magkano ang halaga ng BTC?” Itinanong namin, “ano ang mabibili sana ng order na ito sa eksaktong kontratang ito sa oras na iyon?”

Composite na ang chart bago pa patakbuhin ang strategy

Pinadali ng research feed namin ang paghahambing ng mga venue. Pinag-isa nito ang mga simbolo at ipinakita ang pinagsama-samang serye ng presyo. Kapaki-pakinabang iyon sa pagtingin sa market; hindi iyon magandang batayan para sa execution. Maaaring ipakita ng composite ang pinakamagandang presyo sa iba’t ibang exchange, kahit iisang venue lang ang puwedeng padalhan ng order ng strategy.

Sa breakout, $64,205 ang high ng pinagsama-samang bar. Umakyat na sa $64,218 ang huling trade ng napiling kontrata. Samantala, nagpapakita pa rin ng ask na $64,210 ang isang naka-cache na quote para sa inverse contract. Ginamit ng simulator ang breakout mula sa isang serye at ang kaakit-akit na ask mula sa iba. Totoo ang bawat halaga. Imbento ang pagsasama ng mga iyon.

InputGinamit ng backtestKinailangan ng order
High ng breakoutPinagsama-samang presyo ng BTCKasaysayan ng presyo ng napiling kontrata
Batayan ng entryNaka-cache na ask ng inverse contractSariwang ask para sa instrumentong pinagpalitan
Dami ng fillHininging laki ng posisyonDaming available sa bawat antas ng presyo

Maaaring magmukhang kumpleto ang isang row sa talahanayan ng market data kahit magkaibang market ang inilalarawan ng mga field nito. Hindi patunay ang isang symbol alias na iisa ang order book ng dalawang instrumento. Kailangang magkasamang masubaybayan ang contract ID, venue, currency ng quote, at timestamp mula pagbuo ng signal hanggang execution.

Inulit namin ang order batay sa order book

Muli naming pinatakbo ang entry gamit ang sariling best ask ng napiling perpetual at ang mga update sa order book na available noong oras ng pagpapasya. Sariwa ang quote, pero 0.18 BTC lang ang nasa pinakamataas na antas. 0.50 BTC ang simulated order namin. Tatawid ang natitirang 0.32 BTC sa mas matataas na ask.

$64,218best ask nang dumating ang order
0.18 BTCavailable sa ask na iyon
$64,231presyo sa replay na tinimbang ayon sa volume

Mas mataas nang $21 bawat BTC ang inayos na entry kaysa sa naitalang fill, bago pa isama ang mga bayarin. Maliit ang diperensiya sa iisang trade. Pero sa kabuuan ng test, nakakuha ang strategy ng malaking bahagi ng gross profit nito mula sa iilang mabilis na breakout. Nang ulitin namin ang mga entry na iyon batay sa tamang mga order book, bumaba nang 31% ang gross result; lalo pa itong nabawasan dahil sa mga taker fee at impact.

May nakita rin kaming dalawang pagkakataong dumating ang quote sa pinakamataas na antas ng order book pagkaraan ng oras ng pagpapasya ng signal. Maaaring tahimik na pumili ng update mula sa hinaharap ang backtest na kumukuha ng pinakamalapit na timestamp. Ngayon, pabalik na ang ginagawa naming pagtutugma: dapat naobserbahan na ang quote bago ipadala ang order, at itinatala namin kung gaano na ito katagal. Kung masyadong luma ang pinakabagong magagamit na quote, minamarkahan ng simulator na hindi mapupunan ang order o naglalapat ito ng tahasang tuntunin para sa lipas na datos.

Mga kailangan para matawag na mapagpapalitang presyo

Kapaki-pakinabang ang pagsasara ng bar sa pagkalkula ng signal. Pero hindi nito pinatutunayang mapupunan doon ang isang partikular na order. Para matiyak iyon, kailangang tumukoy ang presyo sa eksaktong instrumento at venue, available ito sa oras ng pagdating ng order, at sapat ang dami ng katapat na order para sa hiniling na laki. Kapag hindi masasagot ng datos ang mga tanong na iyon, dapat tapat na magpakita ng saklaw o walang fill, sa halip na mag-imbento ng eksaktong presyo.

Itinabi namin ang pinagsama-samang serye para sa konteksto ng market at inalis ito sa proseso ng execution. Sariling kasaysayan ng napiling kontrata na ang tinutukoy ng mga signal; inuulit ang mga order batay sa order book ng kontratang iyon, at saka lang isinasama ang mga bayarin at laki kapag nakalkula na ang fill. Kaunting dagdag na koneksiyon sa sistema, at mas hindi kaakit-akit na equity curve.

Nangyari talaga ang breakout na iyon. Binigyan lang ito ng backtest ng mas magandang market kaysa sa market na pinili ng strategy.

crypto futuresorder bookdatos ng marketbacktestingexecution
← Lahat ng post