Eugen Soloviov

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

Aniqlik darvozasi: agar arzon proksi konfiguratsiyalarni qimmat baholash kabi saralamasa, yirikdan-nozikkacha bektest sizni tezroq aldaydi

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

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

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

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.

The Probability of Backtest Overfitting: Did Your Search Beat a Coin Flip?

The Probability of Backtest Overfitting: Did Your Search Beat a Coin Flip?

The Deflated Sharpe Ratio prices the winning strategy; PBO prices the search that picked it. Combinatorially Symmetric Cross-Validation runs C(16,8) = 12,870 train/test splits over a 1000x200 performance matrix and asks: does the in-sample winner land in the bottom half out of sample? The catch almost everyone misses — PBO's null is 0.5, not 1. On 200 zero-edge strategies the best in-sample annualized Sharpe of 1.98 collapses to 0.06 out of sample and PBO = 0.476: a coin flip, fully overfit. Plant a real edge (annualized Sharpe 2.38) and PBO drops to 0.001, the in-sample 3.73 surviving to an out-of-sample 2.34. A moving-average grid on a pure random walk has no out-of-sample skill either — PBO 0.463 averaged over 60 matrices, statistically indistinguishable from the null — and on one representative matrix the mirage is vivid: a best in-sample Sharpe of 2.33 collapses to a median out-of-sample -0.22, PBO 0.573, a 63% chance of a loss.

IPC solig'i: backtest dvigatelini soket ortiga qo'ying va 13% yo'qoting — bu deyarli hech narsasi soketga tegishli emas

IPC solig'i: backtest dvigatelini soket ortiga qo'ying va 13% yo'qoting — bu deyarli hech narsasi soketga tegishli emas

Biz numba backtest yadrosini qatorma-qator Rust tiliga ko'chirdik va uni jarayon chegarasi orqali to'rt xil usulda chaqirdik, so'nggi savdogacha bir xil PnL ni tasdiqlovchi ekvivalentlik darvozasi bilan. 1,2 MB narx seriyasining barchasini Unix soketi orqali yuborish ~2 ms turadi — vazifaning taxminan 0,1%. Xuddi shu yukni JSON formatida kodlash xom baytlardan 1348 marta qimmatga tushadi, kombinatsiya boshiga gaplashuvchi chaqiruvlar ma'lumotlarni 80 marta qayta yuboradi, va bar boshiga chaqiruv namunasi 2,0 s vazifada 2,1 s sof IPC to'laydi. Chegara arzon; soliq uni qanday kesib o'tishingizda.

Deflatsiyalangan Sharpe Koeffitsienti: Backtestingizdagi 'g'oliblar'ning qanchasi ko'p martalik testlashdan omon qoladi?

Deflatsiyalangan Sharpe Koeffitsienti: Backtestingizdagi 'g'oliblar'ning qanchasi ko'p martalik testlashdan omon qoladi?

Parametrlarni qidirish — bu omadni ishlab chiqarish mashinasi. Sof shovqinda — haqiqiy edge (ustunlik) nolga teng bo'lgan 1000 ta strategiyada — eng yaxshi yillik Sharpe o'rtacha 1.63 ni tashkil qiladi va sodda ahamiyatlilik testi 100% holatlarda 'kashfiyot'ni belgilaydi. Biz nazorat qilinadigan haqiqiy asosni quramiz va Deflatsiyalangan Sharpe Koeffitsienti, Harvey-Liu 'soch olish' tuzatmasi va Uaytning Reality Check testi halollikni qanday tiklashini ko'rsatamiz: soxta kashfiyotlar 1.000 dan 0.001-0.057 gacha tushadi, shovqin chegarasidan yuqori bo'lgan haqiqiy edge'lar ~1 quvvat bilan saqlanib qoladi — va bitta haqiqiy tuzoq (korrelyatsiyalangan setkalar) borki, unda xom DSR ortiqcha deflatsiya qiladi va xulosani bitta emas, balki samarali sinovlar sonining butun bahosi diapazoni bo'yicha o'qish kerak.

Maqsad funksiyasini loyihalash: siz optimallashtirgan metrika strategiyangizni yashirincha tanlaydi

Maqsad funksiyasini loyihalash: siz optimallashtirgan metrika strategiyangizni yashirincha tanlaydi

"Eng yaxshi" strategiyani izlash uchun avval "eng yaxshi"ni aniqlash kerak — va o'sha skalyar g'olibni jimgina tanlaydi. Ma'lum edge'ga ega sintetik ma'lumotlarda (600 seed, T=2000, 80 chegara), sodda per-trade Sharpe lotereyani toj kiydiradi: u 56% seed'larda 5%dan past ekspozitsiyaga ega g'olibni tanlaydi va 57%da degeneratsiyaga uchraydi — eng yorqin seed'da 8 bitim in-sample Sharpe 21.09 ko'rsatadi, u out of sample paytida 0.13gacha qulaydi. Halol yechim deyarli zerikarli: butun vaqt o'qi bo'yicha o'lchash, u hech qachon degeneratsiyaga uchramaydi (out-of-sample 1.71). Bitimlar soniga asoslangan shrinkage (conf_k) va ekspozitsiya pol chegarasi per-trade metrikasini tuzatishi mumkin, lekin to'liq tuzatilgan holda ham ular faqat full-timeline Sharpe bilan tenglashadi (1.70 ga qarshi 1.71) — hech qachon undan oshmaydi. Bektestda, nazorat qilinadigan asosiy haqiqat bilan Goodhart qonuni.

Look-Ahead Bias: bitta bar xatosi sof shovqindan qanday qilib 15 ta Sharpe yasaydi

Look-Ahead Bias: bitta bar xatosi sof shovqindan qanday qilib 15 ta Sharpe yasaydi

Bektestlarni sezdirmasdan shishiradigan nozik look-ahead sizib chiqishlarining nazorat qilinadigan tadqiqoti. Hech qanday haqiqiy edge bo'lmasa ham, bitta bardagi ijro sof shovqindan +14.8 yillik Sharpe yasaydi; indikatorning bir bar oldinga qarashi — +4.8. Taksonomiya, o'lchangan miqdorlar va har bir sizib chiqishni pulingizga zarar yetkazishidan oldin qanday aniqlash kerak.

Backtest tezligi zinapoyasi: laptop CPU'sida 298x, oxirgi bitimigacha bir xil PnL

Backtest tezligi zinapoyasi: laptop CPU'sida 298x, oxirgi bitimigacha bir xil PnL

Bir xil 80 kombinatsiyali parametr sweep'ining beshta implementatsiyasi, barchasi bir xil PnL ishlab chiqarishi tasdiqlangan: pandas rolling.apply 69.9 soniya, numpy 3.1, numba 2.0, parallel numba 0.23 — Apple M2 Max'da hech qanday apparat o'zgarishisiz o'lchangan 298x tezlashuv, va layoqatli vektorlashtirilgan bazaviy variantdan ham ~13x ustun. Har bir pog'ona nima beradi, nega GPU yetishmayotgan bo'lak emas, va ommaviy parametr qidiruvida haqiqiy bo'g'ilish qayerda yashaydi.

researcher: A Searchable Quant-Research Archive for Humans and AI Agents

researcher: A Searchable Quant-Research Archive for Humans and AI Agents

How we built researcher.marketmaker.cc — a unified, full-text-searchable archive of quant research (arXiv papers, GitHub repos, quant blogs, TradingView Pine scripts) that humans browse and AI agents query over MCP.

algo-investor-skills: firibgarlikka chidamli investor taklifini yaratuvchi Claude Code skilllar

algo-investor-skills: firibgarlikka chidamli investor taklifini yaratuvchi Claude Code skilllar

algo-investor-skills — algosavdo strategiyasini xom o'lchangan faktlardan auditlangan, halollikka yo'naltirilgan investor taklifiga aylantiruvchi Claude Code skillari to'plamiga chuqur nazar. Olti kombinatsiyalanuvchi skill, moliyaviy modellar dvigateli, mustaqil tekshiruv dalil to'plami va hech qachon raqamni o'ylab topmaydigan majburiy skeptik-investor audit darvozasi.