Backtesting Without Fooling Yourself
A step-by-step path from what your backtest really optimizes to proving an edge survives overfitting, multiple testing, and live execution. Read top to bottom — each part builds on the last.
- 01
Jun 28, 2026 #algotradingМақсат-функциясын жобалау: сіз оңтайландыратын метрика стратегияңызды жасырын түрде таңдайды
"Ең жақсы" стратегияны іздеу үшін алдымен "ең жақсыны" анықтау керек — және сол скаляр жеңімпазды үнсіз таңдайды. Белгілі edge бар синтетикалық деректерде (600 seed, T=2000, 80 табалдырық) қарапайым per-trade Sharpe лотереяны тәж киеді: ол 56% seed-те 5%-дан төмен экспозициясы бар жеңімпазды таңдайды және 57%-да азғындайды — ең айқын seed-те 8 мәміле in-sample Sharpe 21.09 көрсетеді, ол out of sample кезінде 0.13-ке дейін құлайды. Адал жөндеу дерлік жалықтырарлық: толық уақыт өсінде өлшеу, ол ешқашан азғындамайды (out-of-sample 1.71). Мәміле санына негізделген shrinkage (conf_k) және экспозиция табалдырығы per-trade метрикасын жөндей алады, бірақ толығымен түзетілсе де олар тек full-timeline Sharpe-пен теңеседі (1.70-ге қарсы 1.71) — ешқашан одан асып түспейді. Гудхарт заңы, бэктестте, бақыланатын негізгі шындықпен.
- 02
Jul 8, 2026 #алготрейдингМультитаймфреймдік бэктестерде келешекке қарамауды дәлелдеу: болашақты бұзып, өткеннің оны көре алмайтынын дәлелдеу
Мультитаймфреймдік бэктестер әлі толық қалыптаспаған жоғары таймфреймдік бардың соңғы жабылу бағасы арқылы болашақты сыздырады. Кодты тексеру арқылы сенімге жете алмайсыз — оны тестілеу керек. Біз тірі боттың жабық-бар ережесін дәл қайталап, содан кейін болашақты ығыстыратын сынақпен ағып кетуді жоққа шығарамыз: болашақтағы әрбір барды бұзамыз да, өткендегі әрбір сигнал мен мәміле бит-бітімен өзгермегенін растаймыз. 25/25 паритет тексерулері, әрі сынақтың нағыз тісі бар.
- 03
Mar 15, 2026 #algotradingWalk-Forward Optimization: The Only Honest Strategy Test
Why a single train/test split does not protect against overfitting, how walk-forward optimization systematically verifies parameter robustness, and why a strategy with +3342% PnL@ML on 21 parameters is a ticking time bomb without WFO.
- 04
Mar 12, 2026 #algotradingПлато анализі: тұрақты оптимумды overfitting-тен қалай ажыратуға болады
Стратегияның ең жақсы параметрлерін табу неге жұмыстың тек жартысы ғана. Тұрақты плато мен нәзік шыңды визуалды әрі сандық түрде қалай ажырату керек, және оңтайландырылған стратегияны production-ға жіберер алдында Optuna contour plot-тары неге міндетті қадам.
- 05
Mar 6, 2026 #algotradingМонте-Карло бутстрэп: бэктест үшін сенімділік интервалдарын небәрі 10 жол кодпен қалай алуға болады
Бэктесттен алынған бір нүктелік бағалау неге қауіпті елес болып табылады. Монте-Карло бутстрэп есептеудің небәрі 2 секундында PnL мен MaxDD үшін 95% сенімділік интервалын қалай береді және бұл стратегияны өндіріске шығарар алдында неге міндетті қадам екені.
- 06
Jul 1, 2026 #algotradingThe 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.
- 07
Jun 29, 2026 #algotradingDeflated Sharpe Ratio: Бэктест 'жеңімпаздарыңыздың' қаншасы көптеген тестілеуден аман қалады?
Параметрлерді іздеу — сәттілікті жасанды түрде өндіретін машина. Таза шуда — шынайы эджі нөлге тең 1000 стратегияда — үздік жылдық Sharpe орта есеппен 1.63-ке жетеді, ал шикі маңыздылық тесті жаңалықты 100% жағдайда белгілейді. Біз бақыланатын шынайы негіз құрып, Deflated Sharpe Ratio, Harvey-Liu haircut және White's Reality Check әдістерінің шындықты қалай қалпына келтіретінін көрсетеміз: жалған жаңалықтар 1.000-нен 0.001-0.057-ге дейін төмендейді, шу шегінен жоғары шынайы эдждер ~1 қуатпен сақталады — және бір нақты тұзақ (корреляцияланған торлар) бар, мұнда шикі DSR шамадан тыс дефляцияланады да, қорытынды бір ғана бағалаудан емес, тиімді сынақтар санының бүкіл диапазонынан оқылуы керек.
- 08
Mar 7, 2026 #algotradingБэктест-лайв паритеті: боттың бэктестен неге басқаша сауда жасайды
Бэктестинг пен нақты сауда арасындағы алшақтықтардың толық таксономиясы: слиппедж бен ішінара орындаудан бастап кодтық база десинхронизациясына дейін. Паритетке жету үшін архитектуралық үлгілер, ортақ core модулінің Python мысалдары және өндірістік мониторинг үшін чеклист.
- 09
Jul 9, 2026 #алготрейдингАдал теріс нәтиже: ондаған мың бэктест, бес мажор, робастты эдж жоқ
Іздеу мен оверфиттинг желісінің қорытынды мақаласы, және ол теріс нәтижемен аяқталады — дұрыс нәтижемен. ETHUSDT бойынша бір символды, қос таймфреймді іздеу іріктемеден тыс +16.35% және қол тигізілмеген холдаутта +2.62% беретін конфигурация тапты; ~37,000 сынақты ескеретін Дефляцияланған Шарп коэффициенті оны 0.00-ге дейін дефляциялады. Бес мажор бойынша (ETH/BTC/SOL/BNB/XRP, әрқайсысында ~1.18M 1m бар), іріктемеден тыс медиана бойынша таңдайтын кросс-инструменттік тексеру оны біржола жоққа шығарады: қос таймфрейм DSR 0.24 / PBO 0.264, үш таймфрейм DSR 0.14 / PBO 0.327 — екеуі де гейттерден өтпейді. Чемпион 5 символдың 1-інде ғана пайдалы, қалғандарында теріс. Анти-оверфит аппараты дәл осы үшін бар: шудың ең жақсысын альфа ретінде саудаға жіберуден сізді тоқтату үшін.