Pirmdien mēs izdarījām to, kas pienākas. Aģentam bija momentum stratēģija uz vidējas kapitalizācijas USDT-M perpetual, ar 25,000 USDT clipu darījumā, un pirmais backtests bez apjoma filtra aizpildīja katru signālu, it kā grāmata būtu BTC. Tāpēc mēs pievienojām mācību grāmatas vārtus: divdesmit vienas minūtes bāru dolāru apjomam bija jāpārsniedz clips divdesmit reizes, pirms orderis varēja iziet. Divdesmit minūtes, pusmiljons dolāru lentes. Monēta aizņemtā dienā drukāja ap $40 miljoniem. Filtrs palaida cauri lielāko daļu signālu. Kapitāla līkne kļuva mazāk robaina. Mēs to nosūtījām uz paper.
Vienpadsmit stundas vēlāk 25,000 USDT pirkums apēda 8,400 no bid un apstājās. Divdesmit bāru apjoms tajā minūtē bija $1.14 miljoni. Filtrs bija teicis jā.
Pirmdiena: filtrs, kas lika mums justies godīgiem
Aģenta piezīme pie pull request bija "capacity check added, 20× notional." Es to apstiprināju. Esmu šo teikumu apstiprinājis jau agrāk. Tāds ir likums, ko uzraksti pēc tam, kad kāds parāda backtestu, kas tirgoja $4,000-OI monētu $50,000 clipos, un visiem telpā saraucas seja, un tu pievieno apjoma reizinātāju, lai tas vairs neatkārtotos.
Pirmdien likums izdarīja to, ko backtestā vienmēr dara. Tas izmeta mirušās stundas. Tas paturēja stundas, kurās biržas pašu apjoma skaitlis izskatījās skaļš. Apgrozījums kritās apmēram par trešdaļu. Vidējais darījuma izmērs palika 25,000, jo fill modelis ir gļēvulis: tas paņem visu clipu pie last-plus-daži-bps, tiklīdz vārti ir vaļā. Neviens nejautāja grāmatai, vai 25,000 tur vispār sēž.
Man joprojām iekaucas, kad monētas 24h apjoms ir apaļš skaitlis blakus plānam open interest. Tās ir paliekas no 2021, kad Discord "market making" boti bija divi subkonti, kas tirgojās savā starpā un ielīmēja apjoma screenshotu #brag. Lenta izskatās pēc ballītes. Grāmata ir kartons. Es sev teicu, ka 20× filtrs uz vienas minūtes bāriem ir veids, kā no tā izaugt. Tā nav. Tas ir veids, kā kartonu ievidējot pārvērst gludākā skaitlī.
Otrdiena: paper, tad atlikums
Paper sākās laipni. Pirmie pieci clipi aizpildījās 2–4 soļos lejup pa ask. Neglīti, bet izdarīts. Tad 14:07 UTC, long signāls, 25,000 USDT, grāmatas virsotne 1,100, nākamais līmenis 2,400, tad gaiss. Mēs dabūjām 8,400 aizpildītus kā taker un 16,600 resting. Četrdesmit sekundes vēlāk atlikums atcēlās pēc mūsu pašu time-in-force. Stratēģija domāja, ka ir long pilnā clipā. Konts bija long trešdaļā no viena.
Bet filtrs bija teicis jā. Es izvilku bāru. Dolāru apjoms divdesmit minūtēs līdz 14:07 bija $1.14 miljoni, ar rezervi virs $500k. Aptuveni $380k no šiem $1.14 miljoniem bija printu pāri: tā pati cena, tas pats izmērs, pretēji aggressor flagi, 2–8 milisekundes vienam no otra, un bid/ask izmērs pie šīs cenas nepakustējās. Tie darījumi maksāja komisijas viens otram. Tie mums nepiedāvāja 25,000 USDT caurumu.
Trešdiena: lentes saskaņošana ar grāmatu
Trešdiena bija lēnā diena, tā, kurai nākamreiz ieplānotu divreiz vairāk laika. Mēs ņēmām piecu darba dienu darījumus un L2 snapshotus uz tā paša perp, 100ms grāmatas fotogrāfijas, un klasificējām katru printu pret grāmatu snapshotu pirms un snapshotu pēc.
- Ja izmērs pie darījuma cenas kritās aptuveni par darījuma izmēru, tas skāra grāmatu. Ieskaiti.
- Ja pirkums un pārdošana vienādā izmērā izdrukājās pie vienas cenas bez grāmatas izmaiņas, sauc to par wash un izmet no jebkura kapacitātes skaitļa.
- Ja darījums izgāja cauri vairākiem līmeņiem un tie līmeņi pazuda, tas ir īsts taker. Ieskaiti, un neizliecies, ka tu arī vari paņemt to likviditāti; kāds jau to izdarīja.
- Ja darījums ir atzīmēts kā likvidācija, tas ir īsts izmērs, un tas ir pēdējais izmērs, ko gribi izmantot kā pierādījumu, ka tu vari clipot 25,000. Piespiedu orderis tev brauc pa priekšu.
Snapshoti mazliet melo. Viss, kas aizpildās un atjaunojas 100ms laikā, izskatās pēc spoka, un daži īsti market-makeri cancel-replace tik ātri. Vēlāk mēs paņēmām dažu minūšu 10ms grāmatas, un wash daļa pakustējās par pāris punktiem, nevis par faktoru divi. Ar pāris punktiem es varu dzīvot. Es nevaru dzīvot ar to, ka biržas apjoma tickeru uzskata par likviditātes tautas skaitīšanu.
AggTrades jau sakļauj vienu taker, kas trāpa vairākus maker pie vienas cenas. Tie nesakļauj divus subkontus, kas dara wash. Ja tava "tīrā" plūsma ir agregēti darījumi, tev joprojām ir šī problēma. Vienkārši tev tā ir ar mazāk rindām.
Un 24h apjoms ticker API ir tā pati netīrā summa, aizkavēta, tāpēc research aģenti to mīl. Viens lauks. Vienmēr klāt. Izskatās pēc feature. Tā ir mārketinga statistika, kas gadās būt market-data protobuf.
Ceturtdiena: nedēļa vienā tabulā
Piecas sesijas, tas pats clips, tas pats 20× likums, tas pats fill modelis backtestā. Paper fill koeficients ir aizpildītais notional pret iecerēto notional tiem orderiem, ko tajā sesijā patiešām nosūtījām. Pirmdienas paper ir tukšs, jo mēs vēl bijām backtestā.
| Sesija | Biržas lenta | Grāmatu pārvietojošais | Wash-veidīgie | Likv. printi | Filtrs teica iet | Paper fill |
|---|---|---|---|---|---|---|
| Pr | $38.4m | $22.6m | $13.5m | $2.3m | 41 / 48 signāli | n/a |
| Ot | $41.1m | $24.2m | $15.2m | $1.7m | 36 / 40 | 0.61 |
| Tr | $29.6m | $20.1m | $8.1m | $1.4m | 22 / 31 | 0.77 |
| Ce | $44.8m | $25.6m | $17.4m | $1.8m | 39 / 44 | 0.54 |
| Pk | $33.2m | $22.3m | $9.4m | $1.5m | 28 / 35 | 0.71 |
Wash-veidīgie printi bija 34% no nedēļas lentes. Tie nebija izkliedēti vienmērīgi. Ceturtdiena, sesija, kas sākotnējam filtram patika visvairāk, bija netīrākā. Tas ir kļūmes režīms, kas man rūp. Vārti ne tikai vidēji pārvērtē likviditāti. Tie atveras platāk dienās, kad wash boti strādā, jo tās ir dienas, kad jēlais skaitlis izskatās visveselīgākais.
Mēs palaidām backtestu no jauna tikai ar grāmatu pārvietojošo apjomu, tas pats 20× reizinātājs. Signāli kritās no 198 nedēļā uz 121. Daudzi no izmestajiem sēdēja tajās ceturtdienas stila stundās, kur lenta bija skaļa un grāmatas virsotne bija 1,100 USDT. Sākotnējais Sharpe izmantoja 198 pilnas izpildes. Es necitišu jauno, it kā tas būtu atklājums par stratēģiju. Tas ir atklājums par fill modeli: kad beidz piešķirt 25,000 USDT pie cenas, kādas grāmatai nebija, gabals no "edge" ir vienkārši pabeigti orderi, kas būtu bijuši atlikumi.
Piektdiena: ko mēs patiešām laidīsim ārā, un ko es izlaistu
Vārti, ko paturējām, ir garlaicīgi. Ritošajam grāmatu pārvietojošajam notional, skaitītam tikai no printiem, kas noņēma izmēru no līmeņa, ir jāpārsniedz 20× clips, un mēs to mērām uz bāriem pirms lēmuma bāra, lai tekošās minūtes wash nevarētu balsot. Likvidācijas printiem ir atsevišķs limits: ja vairāk nekā ceturtdaļa nesenā grāmatu pārvietojošā apjoma ir likvidācijas, stratēģija stājas malā. Piespiedu plūsma ir īsts izmērs, kas tev brauc pa priekšu.
Ietekme dabūja to pašu diētu. Vecais modelis izsecināja Kyle lambda no biržas apjoma un mūsu clipa. Pabaro to ar wash, un lambda krītas, jo tirgus izskatās dziļš. Pabaro to ar grāmatu pārvietojošo apjomu, un tas pats clips ir daudz lielāka daļa no tā, kas patiešām mainīja grāmatu. Paper slippage nākamajās sesijās sēdēja tuvāk tam neglītākajam skaitlim. Tuvāk, ne identisks. Mēs joprojām neredzam rindu, un 100ms foto joprojām palaiž garām kādu īstu izmēru.
Ko nākamreiz izlaistu, ir visa pirmā pirmdiena. Nesāc no tickera, nesāc no 24h apjoma, neļauj aģentam ielikt jēlo dolāru apjomu feature store un vārtos, it kā tie būtu divas idejas. Tā ir viena netīra sērija, izmantota divreiz. Vispirms uzbūvē ar grāmatu saskaņotu lenti, pat ja tas nozīmē pētīt divas dienas vienu vidējas kapitalizācijas monētu, pirms tev ir universs. Universs, filtrēts pēc wash, ir saraksts ar monētām, kas labi māk izskatīties aizņemtas.
Otrais izlaidums: jebkurš fill modelis, kas izturētu apjoma pārbaudi uzskata par izpildi. Otrdienas atlikums bija stratēģija. Filtrs var atbildēt tikai "vai kāds ir tirgojies." Tas nevar atbildēt "vai tavs 25,000 paliks vai pazudīs." Otrajam jautājumam vajag grāmatu, atlikumu un time-in-force, un tā ir cita dienasgrāmata, un tā, kas mums bija jāraksta pirms šīs.
← Visi raksti


