Noong Lunes ginawa namin ang tama. May momentum strategy ang agent sa isang mid-cap USDT-M perpetual, 25,000 USDT ang clip kada trade, at ang unang backtest na walang volume filter ay ni-fill ang bawat signal na parang BTC ang book. Kaya idinagdag namin ang textbook gate: kailangang lumampas sa dalawampung beses ng clip ang dalawampung one-minute bars ng dollar volume bago makalabas ang order. Dalawampung minuto, kalahating milyong dolyar ng tape. Nagpi-print ang coin ng humigit-kumulang $40 million sa abalang araw. Pinanatili ng filter ang karamihan ng mga signal. Hindi na gaanong magaspang ang equity curve. Pinadala namin sa paper.
Labing-isang oras ang lumipas, kumain ng 8,400 ng bid ang isang 25,000 USDT buy at tumigil. Ang twenty-bar volume sa minutong iyon ay $1.14 million. Oo ang sabi ng filter.
Lunes: ang filter na nagparamdam sa amin na tapat kami
Ang tala ng agent sa pull request ay "idinagdag ang capacity check, 20× notional." Inaprubahan ko. Naaprubahan ko na ang pangungusap na iyon dati. Iyan ang klase ng rule na sinusulat mo pagkatapos ipakita sa iyo ng isang tao ang backtest na nag-trade ng $4,000-OI coin sa $50,000 clips, at lahat sa silid ay napasimangot, at magdaragdag ka ng volume multiple para hindi na maulit.
Noong Lunes, ginawa ng rule ang palagi nitong ginagawa sa backtest. Tinanggal nito ang mga patay na oras. Pinanatili nito ang mga oras kung saan malakas ang itsura ng sariling volume number ng exchange. Bumaba ang turnover ng humigit-kumulang isang-katlo. Nanatili sa 25,000 ang average trade size dahil duwag ang fill model: kinukuha nito ang buong clip sa last-plus-a-few-bps tuwing bukas ang gate. Walang nagtanong sa book kung nakaupo nga ba roon ang 25,000.
Nangingimi pa rin ako kapag round number ang 24h volume ng isang coin sa tabi ng manipis na open interest. Tira iyan mula 2021, noong ang Discord na "market making" bots ay dalawang subaccount na nagte-trade sa isa't isa at nagpe-paste ng volume screenshot sa #brag. Parang party ang tape. Karton ang book. Sinabi ko sa sarili ko na ang 20× filter sa one-minute bars ang paraan para aahon doon. Hindi. Iyan ang paraan para i-average ang karton papunta sa mas makinis na numero.
Martes: paper, tapos isang tira
Mabait ang simula ng paper. Na-fill ang unang limang clip sa 2–4 hops pababa ng ask. Pangit, pero tapos. Tapos 14:07 UTC, isang long signal, 25,000 USDT, top of book 1,100, susunod na level 2,400, tapos hangin. Nakakuha kami ng 8,400 na na-fill bilang taker at 16,600 na naka-rest. Apatnapung segundo ang lumipas, na-cancel ang remainder sa sarili naming time-in-force. Akala ng strategy na long ito ng buong clip. Long ang account ng isang-katlo ng isa.
Pero oo ang sabi ng filter. Hinila ko ang bar. Ang dollar volume sa dalawampung minuto hanggang 14:07 ay $1.14 million, komportableng lampas sa $500k. Humigit-kumulang $380k ng $1.14 million na iyon ay mga pares ng print: parehong presyo, parehong size, magkasalungat na aggressor flags, 2–8 milliseconds ang pagitan, at hindi umusog ang bid/ask size sa presyong iyon. Nagbayad ng fee ang mga trade na iyon sa isa't isa. Hindi sila nag-alok sa amin ng 25,000 USDT na butas.
Miyerkules: pagtutugma ng tape sa book
Miyerkules ang mabagal na araw, ang isa na doblehin ko ang oras sa susunod. Kumuha kami ng limang weekday ng mga trade at L2 snapshot sa parehong perp, 100ms na litrato ng book, at kina-classify ang bawat print laban sa book isang snapshot bago at isang snapshot pagkatapos.
- Kung bumaba ang size sa presyo ng trade nang humigit-kumulang sa size ng trade, tumama ito sa book. Bilangin.
- Kung may buy at sell na magkapantay ang size na nag-print sa isang presyo nang walang pagbabago sa book, tawagin itong wash at tanggalin sa anumang numero ng kapasidad.
- Kung lumakad ang trade sa ilang level at nawala ang mga level na iyon, totoong taker iyon. Bilangin, at huwag magkunwaring puwede mo ring kunin ang liquidity na iyon; may nauna na.
- Kung naka-tag ang trade bilang liquidation, totoong size iyon, at iyon ang huling size na gusto mong gamiting patunay na ikaw ay makakapag-clip ng 25,000. Hinahabol ka ng forced order.
Medyo nagsisinungaling ang mga snapshot. Ang anumang na-fill at na-replenish sa loob ng 100ms ay parang multo, at may mga tunay na market-maker na nagca-cancel-replace nang ganoon kabilis. Sumampol kami ng ilang minuto ng 10ms book kalaunan at gumalaw ang wash share ng ilang puntos, hindi ng isang factor of two. Kaya ko ang ilang puntos. Hindi ko kaya ang tratuhin ang volume ticker ng exchange bilang census ng liquidity.
Kino-collapse na ng AggTrades ang isang taker na tumatama sa ilang maker sa isang presyo. Hindi nila kino-collapse ang dalawang subaccount na nagwa-wash. Kung aggregated trades ang "malinis" mong feed, nandiyan pa rin ang problemang ito. Mas kaunti lang ang rows.
At ang 24h volume sa ticker API ay parehong maruming sum, delayed, kaya mahal iyon ng mga research agent. Isang field. Palaging nandiyan. Parang feature. Marketing statistic pala na kasama sa market-data protobuf.
Huwebes: ang linggo sa isang table
Limang session, parehong clip, parehong 20× rule, parehong fill model sa backtest. Ang paper fill ratio ay filled notional over intended notional para sa mga order na talagang pinadala namin sa session na iyon. Blangko ang paper ng Lunes dahil nasa backtest pa kami.
| Sesyon | Tape ng exchange | Gumagalaw ng book | Parang wash | Liq. prints | Go ang sabi ng filter | Paper fill |
|---|---|---|---|---|---|---|
| Lun | $38.4m | $22.6m | $13.5m | $2.3m | 41 / 48 signal | n/a |
| Mar | $41.1m | $24.2m | $15.2m | $1.7m | 36 / 40 | 0.61 |
| Miy | $29.6m | $20.1m | $8.1m | $1.4m | 22 / 31 | 0.77 |
| Huw | $44.8m | $25.6m | $17.4m | $1.8m | 39 / 44 | 0.54 |
| Biy | $33.2m | $22.3m | $9.4m | $1.5m | 28 / 35 | 0.71 |
34% ng tape ng linggo ang mga parang-wash na print. Hindi pantay-pantay ang hatian. Huwebes, ang session na pinaka-gusto ng orihinal na filter, ang pinakamarumi. Iyon ang failure mode na inaalala ko. Hindi lang nito pinalalaki ang liquidity sa average. Mas bumubukas ang gate sa mga araw na nagtatrabaho ang wash bots, dahil iyon ang mga araw na pinakamalusog ang itsura ng hilaw na numero.
Muli naming ni-run ang backtest gamit ang book-moving volume lang, parehong 20× multiple. Bumaba ang mga signal mula 198 sa linggo papuntang 121. Marami sa mga tinanggal ay nakaupo sa mga oras na estilo-Huwebes kung saan malakas ang tape at 1,100 USDT ang top of book. Gumamit ang orihinal na Sharpe ng 198 buong fill. Hindi ko iqu-quote ang bago na parang finding tungkol sa strategy. Finding iyon tungkol sa fill model: kapag tumigil ka sa pagbibigay ng 25,000 USDT sa presyong wala sa book, isang chunk ng "edge" ay completed orders lang na sana ay mga remainder.
Biyernes: ang talagang shi-ship namin, at ang lalaktawan ko
Nakakabagot ang gate na pinanatili namin. Ang rolling book-moving notional, binibilang lang mula sa mga print na kumuha ng size mula sa isang level, ay kailangang lumampas sa 20× ng clip, at sinusukat namin ito sa mga bar bago ang decision bar para hindi makaboto ang wash ng kasalukuyang minuto. May hiwalay na cap ang liquidation prints: kung higit sa isang-kapat ng kamakailang book-moving volume ay liquidations, tumitigil ang strategy. Totoong size ang forced flow na hinahabol ka.
Parehong diet ang nakuha ng impact. Ang lumang model ay nag-infer ng Kyle lambda mula sa volume ng exchange at sa clip namin. Pakainin mo ng wash at bumababa ang lambda, dahil malalim ang itsura ng market. Pakainin mo ng book-moving volume at mas malaking share ng talagang nagbago sa book ang parehong clip. Mas malapit sa pangit na numerong iyon ang paper slippage sa susunod na ilang session. Mas malapit, hindi magkapareho. Hindi pa rin namin nakikita ang queue, at may totoong size pa ring namimiss ng 100ms na litrato.
Ang lalaktawan ko sa susunod ay ang buong unang Lunes. Huwag magsimula sa ticker, huwag magsimula sa 24h volume, huwag hayaang ilagay ng agent ang hilaw na dollar volume sa feature store at sa gate na parang dalawang idea iyon. Iisang maruming series iyon, ginamit nang dalawang beses. Unahin ang book-consistent tape, kahit pa magsaliksik ka ng dalawang araw sa iisang mid-cap bago ka magkaroon ng universe. Ang universe na na-filter sa wash ay listahan ng mga coin na magaling magmukhang abala.
Ang isa pang laktawan: anumang fill model na tinatrato ang naipasaang volume check bilang fill. Ang tira noong Martes ang strategy. Makakasagot lang ang filter ng "may nagte-trade ba." Hindi nito masasagot ang "magre-rest ba o mawawala ang 25,000 mo." Ang pangalawang tanong ay kailangan ng book, ng remainder, at ng time-in-force, na ibang talaarawan, at iyon ang dapat naming naisulat bago ito.
← Lahat ng post


