Eugen Soloviov
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.
Articles
MEV anatomiyasi: sendvichlar, frontrunning va mempoolning qorong'u o'rmoni
Ochiq RPC'ga yuborgan har bir swap'ingiz — hech kim bajarishga majbur bo'lmagan ko'rinadigan limit order'dir. MEV extraction qanday ishlashining texnik tahlili: mempool tartiblash, Uniswap v2'da sendvich matematikasi, PGA'lar, Flashbots va treyder himoyasi.
Fill simulyatsiyasi: yopilish narxi fantaziyasidan navbat holatini hisobga oluvchi haqiqatgacha bo'lgan zinapoya
Fill simulyatsiyasi ishonchliligining beshta pog'onasi — yopilish narxidagi fillardan ehtimollik asosidagi navbat pozitsiyasi modellarigacha. Qisman fillar holat mashinasi sifatida, limit-fill ehtimollik chegaralari PnL qamrovi sifatida va jonli fillarga qarshi kalibrlash tsikli.
TWAP vs VWAP vs POV: bajarilish benchmarkini tanlash (va har biri qachon sizni aldashini bilish)
TWAP, VWAP va POV — hajm prognoziga qo'yilgan tikishlardir. Biz har bir schedulerning yashirin taxminlarini tahlil qilamiz, kripto kun ichidagi hajm egri chiziqlarini quramiz va uchalasini qayta o'ynatilgan L2 ma'lumotlarida yuzma-yuz sinaymiz.
Almgren-Chriss usulini chala tushuntirishlarsiz: bir kunda amalga oshirish mumkin bo'lgan optimal ijro
Almgren-Chriss optimal ijro modelining to'liq xulosasi: chiziqli impact, sinh/cosh traektoriyasi, samarali chegara va Binance L2 hamda savdo ma'lumotlaridan eta, gamma va sigma parametrlarini kalibrlash uchun ishlaydigan Python kodi.
Halol salbiy natija: oʻn minglab bektestlar, beshta yetakchi koin, mustahkam ustunlik yoʻq
Qidiruv va overfitting haqidagi yoʻnalishning yakuniy maqolasi — va u salbiy natija bilan tugaydi, bu esa aynan toʻgʻri natija. ETHUSDT ustida bitta simvolli, ikki taymfreymli qidiruv out-of-sample testda +16.35% va tegilmagan holdoutda +2.62% beradigan konfiguratsiyani topdi; ~37,000 sinovni hisobga olgan Deflyatsiyalangan Sharp koeffitsienti uni 0.00 gacha deflyatsiya qildi. Beshta yetakchi koin (ETH/BTC/SOL/BNB/XRP, har biri ~1.18M 1m bar) boʻyicha, out-of-sample medianasi asosida tanlaydigan kross-instrumental sinov uni uzil-kesil yoʻq qiladi: ikki taymfreymda DSR 0.24 / PBO 0.264, uch taymfreymda DSR 0.14 / PBO 0.327 — ikkalasi ham geytlardan oʻtmaydi. Chempion 5 simvoldan 1 tasida foydali, qolganlarida salbiy. Anti-overfit apparati aynan shu uchun kerak: shovqinning eng yaxshisini alfa sifatida ishga tushirishingizga yoʻl qoʻymaslik uchun.
Ko'p vaqt oralig'idagi bektestlarda kelajakka qarash yo'qligini isbotlash: kelajakni buzib, o'tmish uni ko'ra olmasligini isbotlash
Ko'p vaqt oralig'idagi (multi-timeframe) bektestlar hali yakuniy yopilish narxi mavjud bo'lmagan, shakllanayotgan yuqori vaqt oralig'idagi bar orqali kelajakni sizib chiqaradi. Kodni ko'rib chiqish orqali ishonchga erisha olmaysiz — buni sinab ko'rish kerak. Biz jonli botning yopiq-bar qoidasini aynan takrorlaymiz, so'ngra kelajakni siljitadigan tekshiruv bilan sizib chiqishning yo'qligini isbotlaymiz: kelajakdagi har bir barni buzamiz va o'tmishdagi har bir signal hamda savdo bit-baytiga o'zgarmasligini tasdiqlaymiz. 25/25 paritet tekshiruvlari, va tekshiruvning haqiqiy tishi bor.
GPU qachon o'zini oqlaydi: parametr qidiruvi roofline'i — sarlavhadagi 167x aslida 27x algoritm karra 6.2x apparat
GPUning CPUdan ustunligi paket hajmi bilan o'sadi — ko'p taymfreymli indikatorlarni oldindan hisoblashimizda har chaqiruvga bitta kombinatsiyada 54.5x dan 61 tasida 359.6x gacha — chunki kichik qidiruv kernelni ishga tushirish va uzatish ustamasini amortizatsiya qila olmaydi. Sarlavhadagi 167x ni CPUga ham naf keltiradigan 27x algoritmik yutuq karra 6.2x apparat yutug'iga ajratamiz, GPUning eng yaxshi CPUdan haqiqiy ustunligi bitta taymfreymda atigi 3.2x, ko'p taymfreymda 6.2x ekanini ko'rsatamiz va GPU sotib olish o'zini oqlashi uchun qidiruv qanchalik keng bo'lishi kerakligi haqida qaror qo'llanmasini beramiz.
GPU aniqlik tuzogi: Apple Metal ustidagi fp32 backtest qanday qilib jimgina axlat qaytaradi
Apple'ning Metal GPU'sida float64 yoq. Vektorlashtirilgan backtestni unga soddadillik bilan kochirsangiz, jozibali prefiks-yigindi WMA fp32'dan toshib ketadi — maksimal nisbiy xato 211× — biroq u baribir ishlaydi va ishonarli korinuvchi raqamlar qaytaradi. Yechim koproq aniqlik emas; bu boshqacha formulirovka: togridan-togri oynali konvolyutsiya, fp32 uchun xavfsiz 8×10⁻⁷ va bir oqimli numba'dan 55.9× tezroq. Tuzoq, arifmetika va unga tushmaganingizni qanday isbotlash.
Aniqlik darvozasi: agar arzon proksi konfiguratsiyalarni qimmat baholash kabi saralamasa, yirikdan-nozikkacha bektest sizni tezroq aldaydi
Yirikdan-nozikkacha / ko'p-aniqlikli qidiruv (ASHA, ketma-ket ikkiga bo'lish, Hyperband) minglab konfiguratsiyalarni arzon narxda saralaydi va faqat omon qolganlarni qimmat, to'liq baholashga o'tkazadi. Bu haqiqiy tezlashuv — lekin agar past aniqlikdagi reyting yuqori aniqlikdagisiga zid kelsa, u sezilmagan holda quladi. Biz fold-reyting korrelyatsiyasini o'lchadik: bitta fold'da Spearman ρ 0.03 bo'lishi mumkin (deyarli tasodifiy saralaydi), fold'lar to'planishi bilan 0.43, 0.67, 0.78, 0.91 gacha ko'tariladi. Yechim — bitta majburiy darvoza: avval ρ(arzon, to'liq)ni o'lchang va minimal aniqlik darajasini ρ ≥ 0.5 bo'lgan birinchi pog'onagacha avtomatik ko'taring.
Tasodifiy qidiruv vs aqlli qidiruv: kesishish nuqtasi baholash narxida, algoritmda emas
Bitta backtest arzon bo'lganda, ahmoqona aralashtirilgan Sobol xom o'tkazuvchanlikda g'alaba qozonadi — aqlli samplerlar (TPE, CMA-ES, ASHA) Python ask/tell solig'ini to'laydi, bu ularni 20x sekinlashtiradi, shu sababli ular teng wall-clock vaqtida ancha kamroq nuqtani baholaydi va yutqazadi. Har bir baholashni qimmat qiling (multi-TF + walk-forward foldlar) — kesishish nuqtasi teskarilanadi. Biz ikkala rejimni ham o'lchadik, shuningdek nima uchun fold-rank fidelity (ρ@1 0.03→0.43 gacha o'sishi) pruning foyda berishining zaruriy sharti ekanligini aniqladik.
Ikki oʻqli parametr fazosi: nega sweepingizning katta qismi deyarli bepul boʻlishi kerak
Barcha parametrlarni qidirish bir xil qimmatga tushmaydi. Strategiyaning parametrlari qimmat oʻqqa (indikatorlar — butun qator boʻyicha qayta hisoblanadi) va arzon oʻqqa (qaror threshold'lari — oldindan hisoblangan signallar boʻyicha O(n) oʻtish) boʻlinadi. Indikatorlar threshold'larga bogʻliq emasligi tufayli siz ularni bir marta hisoblaysiz va minglab threshold konfiguratsiyalarini ~5,600 cfg/s tezlikda sweep qilasiz — bu har bir konfiguratsiya uchun qayta hisoblashdan taxminan 1,600 marta arzon. Oʻlchamlilik laʼnatining qayta narxlanishi.
Freymvork solig'i: qachonki backtest kutubxonangiz oddiy pandas siklidan sekinroq bo'ladi
Biz sakkizta backtest dvigatelini bitta bir xil parametr sweepida solishtirdik — 150k bar, 80 ta HMA-cross kombinatsiyasi, savdolar soni 2707 da bir xil qulflangan. Eng mashhur ikkita hodisaga asoslangan freymvork qo'lda yozilgan pandas siklidan ham sekinroq chiqdi, vektorlashtirilgan/kompilyatsiya qilingan dvigatel esa xuddi shu ishni ~13,000× tezroq bajardi. Mashhur kutubxonalar hech qachon amortizatsiya qilishga mo'ljallanmagan har bir bar uchun yuklama tadqiqoti.