Топтамалар/11 бөлім/Барлығы 188 мин

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

Мақсат-функциясын жобалау: сіз оңтайландыратын метрика стратегияңызды жасырын түрде таңдайды

"Ең жақсы" стратегияны іздеу үшін алдымен "ең жақсыны" анықтау керек - және сол скаляр жеңімпазды үнсіз таңдайды. Белгілі 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

Мультитаймфреймдік бэктестерде келешекке қарамауды дәлелдеу: болашақты бұзып, өткеннің оны көре алмайтынын дәлелдеу

Мультитаймфреймдік бэктестер әлі толық қалыптаспаған жоғары таймфреймдік бардың соңғы жабылу бағасы арқылы болашақты сыздырады. Кодты тексеру арқылы сенімге жете алмайсыз - оны тестілеу керек. Біз тірі боттың жабық-бар ережесін дәл қайталап, содан кейін болашақты ығыстыратын сынақпен ағып кетуді жоққа шығарамыз: болашақтағы әрбір барды бұзамыз да, өткендегі әрбір сигнал мен мәміле бит-бітімен өзгермегенін растаймыз. 25/25 паритет тексерулері, әрі сынақтың нағыз тісі бар.

03

Look-Ahead Bias: бір бардың қатесі таза шудан қалай 15 Sharpe жасап шығарады

Бэктесттерді байқаусызда ісіндіретін нәзік look-ahead ағып кетулерін бақыланатын түрде зерттеу. Нақты edge мүлдем болмаса да, бір бардағы орындалу таза шудан +14.8 жылдық Sharpe жасап шығарады; индикатордың бір барға алдын ала қарауы - +4.8. Таксономия, өлшенген шамалар және әр ағып кетуді ақшаңызға тиер алдында қалай анықтау керек.

04

Плато анализі: тұрақты оптимумды overfitting-тен қалай ажыратуға болады

Стратегияның ең жақсы параметрлерін табу неге жұмыстың тек жартысы ғана. Тұрақты плато мен нәзік шыңды визуалды әрі сандық түрде қалай ажырату керек, және оңтайландырылған стратегияны production-ға жіберер алдында Optuna contour plot-тары неге міндетті қадам.

05

Мульти-символды валидация: стратегияңды барлық жұптарда тексер

ETHUSDT-та оңтайландырылған стратегия неге альткоиндерде сәтсіздікке ұшырауы мүмкін. Жұп топтары (blue chips, large caps, shitcoins) бойынша дұрыс тестілеу тәсілі және жеткілікті деп саналатын cross-symbol тұрақтылық көрсеткіші.

06

Монте-Карло бутстрэп: бэктест үшін сенімділік интервалдарын небәрі 10 жол кодпен қалай алуға болады

Бэктесттен алынған бір нүктелік бағалау неге қауіпті елес болып табылады. Монте-Карло бутстрэп есептеудің небәрі 2 секундында PnL мен MaxDD үшін 95% сенімділік интервалын қалай береді және бұл стратегияны өндіріске шығарар алдында неге міндетті қадам екені.

07

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.

08

Deflated 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 шамадан тыс дефляцияланады да, қорытынды бір ғана бағалаудан емес, тиімді сынақтар санының бүкіл диапазонынан оқылуы керек.

09

Бэктест-лайв паритеті: боттың бэктестен неге басқаша сауда жасайды

Бэктестинг пен нақты сауда арасындағы алшақтықтардың толық таксономиясы: слиппедж бен ішінара орындаудан бастап кодтық база десинхронизациясына дейін. Паритетке жету үшін архитектуралық үлгілер, ортақ core модулінің Python мысалдары және өндірістік мониторинг үшін чеклист.

10

Адал теріс нәтиже: ондаған мың бэктест, бес мажор, робастты эдж жоқ

Іздеу мен оверфиттинг желісінің қорытынды мақаласы, және ол теріс нәтижемен аяқталады - дұрыс нәтижемен. 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-інде ғана пайдалы, қалғандарында теріс. Анти-оверфит аппараты дәл осы үшін бар: шудың ең жақсысын альфа ретінде саудаға жіберуден сізді тоқтату үшін.

11

Каскадты стратегиялар: Резервпен толтыру арқылы басымдықты орындау

«Иллюзиясыз бэктесттер» сериясының финалы. N стратегия x M жұп негізінде оркестраторды қалай құру керек, басымдық пен резервті орындауы бар каскадты режимді іске асыру, dual_size таңдау және неге стратегиялар портфелін PnL қосу арқылы бэктестілеуге болмайтыны туралы.