Pazartesi sorumlu olanı yaptık. Ajanın mid-cap bir USDT-M perpetual üzerinde momentum stratejisi vardı, işlem başına 25,000 USDT kesiyordu ve hacim filtresi olmayan ilk backtest her sinyali defter BTC'ymiş gibi doldurdu. Bu yüzden ders kitabı kapısını ekledik: bir emrin çıkabilmesi için yirmi adet 1 dakikalık barın dolar hacminin clip'in yirmi katını aşması gerekiyordu. Yirmi dakika, yarım milyon dolarlık bant. Coin yoğun bir günde yaklaşık $40 million basıyordu. Filtre sinyallerin çoğunu tuttu. Getiri eğrisi daha az tırtıklı hale geldi. Paper'a gönderdik.
On bir saat sonra 25,000 USDT'lik bir alış bid'in 8,400'ünü yedi ve durdu. O dakikadaki yirmi barlık hacim $1.14 million idi. Filtre evet demişti.
Pazartesi: bizi dürüst hissettiren filtre
Ajanın pull request notu şuydu: "kapasite kontrolü eklendi, 20× notional." Onayladım. Bu cümleyi daha önce de onayladım. Birinin size $4,000-OI'li bir coini $50,000'lik clip'lerle işlem yapan bir backtest gösterdiği, odadaki herkesin surat astığı ve bir daha olmasın diye bir hacim katı eklediğiniz türden bir kuraldır.
Pazartesi kural, bir backtestte her zaman yaptığı şeyi yaptı. Ölü saatleri eledi. Borsanın kendi hacim sayısının gürültülü göründüğü saatleri tuttu. Ciro yaklaşık üçte bir düştü. Ortalama işlem boyutu 25,000'de kaldı çünkü fill modeli bir korkaktır: kapı açıkken tüm clip'i last-artı-birkaç-bps'ten alır. Kimse deftere 25,000'in gerçekten orada oturup oturmadığını sormadı.
Bir coin'in 24h hacmi ince open interest'in yanında yuvarlak bir sayı olduğunda hâlâ irkilirim. Bu, 2021'den kalma; Discord "market making" botlarının iki alt hesabın birbirleriyle işlem yapıp hacim ekran görüntüsünü #brag'e yapıştırdığı dönem. Bant bir parti gibi durur. Defter kartondur. Kendime, 1 dakikalık barlar üzerinde 20× filtrenin bundan büyüyüp çıkmanın yolu olduğunu söylemiştim. Değil. Kartonu daha pürüzsüz bir sayıya ortalama yoludur.
Salı: paper, sonra bir kalan
Paper nazik başladı. İlk beş clip ask boyunca 2–4 sıçramada doldu. Çirkin, ama bitti. Sonra 14:07 UTC, bir long sinyal, 25,000 USDT, defterin tepesi 1,100, sonraki seviye 2,400, sonra hava. 8,400'ü taker olarak doldurduk, 16,600'ü resting kaldı. Kırk saniye sonra kalan, kendi time-in-force'umuzda iptal oldu. Strateji tam clip long olduğunu sanıyordu. Hesap, bir clip'in üçte biri kadar long'tu.
Ama filtre evet demişti. Barı çektim. 14:07'ye kadarki yirmi dakikadaki dolar hacmi $1.14 million idi, $500k'nin rahat üstünde. O $1.14 million'ın kabaca $380k'si basım çiftleriydi: aynı fiyat, aynı boyut, zıt aggressor bayrakları, 2–8 milisaniye arayla ve o fiyattaki bid/ask boyutu kımıldamamıştı. O işlemler birbirine fee ödedi. Bize 25,000 USDT'lik bir delik sunmadılar.
Çarşamba: bandı defterle eşleştirmek
Çarşamba yavaş gündü, bir dahaki sefere iki katı süre ayıracağım gün. Aynı perp üzerinde beş iş gününün işlemlerini ve L2 snapshot'larını aldık, 100ms defter fotoğrafları, ve her basımı bir snapshot önceki ve bir snapshot sonraki deftere göre sınıflandırdık.
- İşlem fiyatındaki boyut kabaca işlem boyutu kadar düştüyse deftere değmiştir. Say.
- Eşit boyutta bir alış ve bir satış defter değişmeden tek fiyatta basıldıysa wash de ve herhangi bir kapasite sayısından düş.
- Bir işlem birkaç seviyeyi yürüyerek geçtiyse ve o seviyeler kaybolduysa, bu gerçek bir taker'dır. Say ve o likiditeyi senin de alabileceğini varsayma; birisi zaten aldı.
- İşlem bir liquidation olarak etiketlenmişse gerçek boyuttadır ve senin 25,000 kesebileceğinin kanıtı olarak kullanmak isteyeceğin en son boyuttur. Zorunlu emir seninle yarışıyor.
Snapshot'lar biraz yalan söyler. 100ms içinde dolup yenilenen her şey hayalet gibi görünür ve bazı gerçek market-maker'lar o kadar hızlı cancel-replace yapar. Sonra birkaç dakikalık 10ms defter örnekledik ve wash payı birkaç puan oynadı, iki katı değil. Birkaç puanla yaşayabilirim. Borsa hacim ticker'ını bir likidite sayımı gibi ele almakla yaşayamam.
AggTrades zaten tek fiyatta birkaç maker'a çarpan bir taker'ı birleştirir. Wash yapan iki alt hesabı birleştirmez. "Temiz" feed'iniz aggregated trade'lerse bu sorun hâlâ durur. Sadece daha az satırla durur.
Ve ticker API'deki 24h hacim de aynı kirli toplamdır, gecikmeli; araştırma ajanlarının onu sevmesinin nedeni budur. Tek alan. Her zaman var. Bir özellik gibi durur. Market-data protobuf'ında bulunması tesadüf olan bir pazarlama istatistiğidir.
Perşembe: hafta tek tabloda
Beş seans, aynı clip, aynı 20× kural, backtestte aynı fill modeli. Paper fill oranı, o seansta gerçekten gönderdiğimiz emirler için dolan notional'ın hedeflenen notional'a bölümüdür. Pazartesi paper boş çünkü hâlâ backtestteydik.
| Seans | Borsa bandı | Defter-oynatan | Wash benzeri | Liq. basımlar | Filtre geç dedi | Paper fill |
|---|---|---|---|---|---|---|
| Pzt | $38.4m | $22.6m | $13.5m | $2.3m | 41 / 48 sinyal | n/a |
| Sal | $41.1m | $24.2m | $15.2m | $1.7m | 36 / 40 | 0.61 |
| Çar | $29.6m | $20.1m | $8.1m | $1.4m | 22 / 31 | 0.77 |
| Per | $44.8m | $25.6m | $17.4m | $1.8m | 39 / 44 | 0.54 |
| Cum | $33.2m | $22.3m | $9.4m | $1.5m | 28 / 35 | 0.71 |
Wash benzeri basımlar haftanın bandının 34%'üydü. Eşit dağılmamışlardı. Perşembe, orijinal filtrenin en çok sevdiği seans, en kirli olandı. Umursadığım hata kipi budur. Kapı yalnızca ortalama likiditeyi şişirmez. Wash botlarının çalıştığı günlerde daha geniş açılır, çünkü ham sayının en sağlıklı göründüğü günler onlardır.
Backtesti yalnızca defter-oynatan hacimle, aynı 20× katla yeniden çalıştırdık. Sinyaller haftada 198'den 121'e düştü. Elenenlerin çoğu, bandın gürültülü olduğu ve defter tepesinin 1,100 USDT olduğu o Perşembe tarzı saatlerde oturuyordu. Orijinal Sharpe 198 tam fill kullanıyordu. Yenisini strateji hakkında bir bulguymuş gibi alıntılamayacağım. Bu, fill modeli hakkında bir bulgudur: defterde olmayan bir fiyattan 25,000 USDT vermeyi kestiğinizde, "edge"in bir parçası yalnızca kalan olması gereken tamamlanmış emirlerdir.
Cuma: gerçekten canlıya aldığımız ve atlayacağım şey
Tuttuğumuz kapı sıkıcı. Yalnızca bir seviyeden boyut alan basımlardan sayılan kayan defter-oynatan notional, clip'in 20×'ini geçmek zorunda ve bunu karar barından önceki barlarda ölçüyoruz ki mevcut dakikanın wash'ı oy kullanamasın. Liquidation basımlarına ayrı bir tavan: son defter-oynatan hacmin dörtte birinden fazlası liquidation ise strateji kenara çekilir. Zorunlu akış, seninle yarışan gerçek boyuttur.
Impact aynı diyete girdi. Eski model borsa hacminden ve clip'imizden bir Kyle lambda çıkarıyordu. Wash besle, lambda düşer, çünkü piyasa derin görünür. Defter-oynatan hacim besle, aynı clip defteri gerçekten değiştirenin çok daha büyük bir payı olur. Sonraki birkaç seansta paper slippage o daha çirkin sayıya daha yakındı. Yakın, özdeş değil. Hâlâ kuyruğu görmüyoruz ve 100ms'lik bir fotoğraf hâlâ bazı gerçek boyutu kaçırıyor.
Bir dahaki sefere atlayacağım şey tüm ilk Pazartesi. Ticker'dan başlama, 24h hacimden başlama, ajanın ham dolar hacmini feature store'a ve kapıya iki ayrı fikirmiş gibi koymasına izin verme. Bunlar iki kez kullanılan tek kirli seridir. Önce defterle tutarlı bandı kur, bu evrenin olmadan tek bir mid-cap üzerinde iki gün araştırma yapmak anlamına gelse bile. Wash'a göre filtrelenmiş bir evren, meşgul görünmekte iyi olan coinlerin listesidir.
Diğer atlama: hacim kontrolünden geçmeyi fill sayan her fill modeli. Salı'nın kalanı stratejiydi. Filtre yalnızca "birisi işlem yapmış mı" sorusuna cevap verebilir. "25,000'in rest mi olacak yoksa yok mu olacak" sorusuna cevap veremez. O ikinci soru defteri, bir kalanı ve bir time-in-force'u ister; bu başka bir günlük ve bunu bundan önce yazmış olmamız gereken günlük.
← Tüm yazılar


