← Макалаларга кайтуу
August 7, 2026
5 мүн окуу

Toda-Yamamoto vs Differenced Granger: Does the BTC Lead-Lag Survive?

Toda-Yamamoto vs Differenced Granger: Does the BTC Lead-Lag Survive?
#causal-inference
#Granger-causality
#lead-lag
#crypto
#VAR

Крипто боюнча жарыяланган Грейнджер себептүүлүгүнүн дээрлик баары логарифмдик кирешелерде эсептелет. Бул тандоо бекер эмес. Дифференциалдоо стандарттуу F-тест талап кылган катарды стационардуу кылат, бирок деңгээлдердин байланышын да жок кылат. Эгер эки монета коинтеграцияланган болсо, айырмаларга түзүлгөн VAR туура эмес мүнөздөлөт жана тест баштапкы суроодон бир аз башка суроого жооп берет.

Тода жана Ямамото (1995) жол сунуштайт: VARды кошумча лагдар менен деңгээлдерде баалап, баштапкы лагдарды гана текшерсеңиз, бирдик тамырлар же коинтеграция бар-жогуна карабастан жарактуу χ2\chi^2 статистикасын аласыз. Бул ыкма эконометрикада белгилүү, бирок криптодогу опережение жана кечигүү анализинде дээрлик колдонулбайт.

Демек, макала бир нерсеге көңүл бурат: бирдей жуптарда жана бирдей терезеде эки тестти тең жүргүзүп, жыйынтыктары айырмаланабы, ошону көрсөтүү. Андан кийин алынган матрицага корреляцияланган тесттер үй-бүлөсү үчүн множестволук тестирлөө түзөтүүсүн колдонуп, жылма p-мааниси аркылуу "маанилүү" лаг соодага жетиштүү туруктуубу же босогодон кокус өтүп жатабы, текшеребиз.

Төмөндө келтирилген теория салыштырууну түшүнүктүү кылуу үчүн зарыл болгон өлчөмдө гана. Блог буга чейин бирдик тамырларды, коинтеграцияны, маалыматтарды жүктөө, өлчөмдөрдү жана чыгымдарды камтыйт; бул бөлүмдөр эмес, шилтемелер.

Грейнджердин себептүүлүгү чындыгында эмне дейт

Рынок окуяларындагы багыттуу артта калуу жолдору

Грейнджер себептүүлүгү механизм эмес, божомолдоодогу артыкчылык: XX Грейнджер боюнча YYнин себеби болот, эгер өткөн XX маанилери YY болжомунун катасынын дисперсиясын өткөн YY маанилери түшүндүргөндөн тышкары азайтса.

XX Granger-себептери YY эгерде σ2(YtYt1,,Ytp)>σ2(YtYt1,,Ytp,Xt1,,Xtp)\sigma^2(Y_t \mid Y_{t-1}, \ldots, Y_{t-p}) > \sigma^2(Y_t \mid Y_{t-1}, \ldots, Y_{t-p}, X_{t-1}, \ldots, X_{t-p})

Жалпы жашыруун фактор менен шартталган эки катар алардын ортосунда түз байланышсыз Гренжер себептүүлүгүн көрсөтө алат. Криптодо бул эскертүү академиялык эмес — BTC бүткүл альткоиндик комплексте бир басымдуу фактор, ошондуктан дээрлик бардык alt-to-alt "себептүүлүк" бир эле BTC шок үчүн ар кандай жооп ылдамдыгы талапкер артефакты болуп саналат.

VAR алкагы

Сыноо вектордук авторегрессияда жашайт. менен эки өзгөрмөлөр үчүн pp артта калуулар:

Yt=α0+i=1pαiYti+i=1pβiXti+ϵ1tY_t = \alpha_0 + \sum_{i=1}^{p} \alpha_i Y_{t-i} + \sum_{i=1}^{p} \beta_i X_{t-i} + \epsilon_{1t} Xt=γ0+i=1pγiXti+i=1pδiYti+ϵ2tX_t = \gamma_0 + \sum_{i=1}^{p} \gamma_i X_{t-i} + \sum_{i=1}^{p} \delta_i Y_{t-i} + \epsilon_{2t}

Матрица түрүндө, VAR(p) менен kk өзгөрмөлөр:

yt=c+A1yt1++Apytp+ut\mathbf{y}_t = \mathbf{c} + \mathbf{A}_1 \mathbf{y}_{t-1} + \cdots + \mathbf{A}_p \mathbf{y}_{t-p} + \mathbf{u}_t

Текшерүүдө XX Granger-себептери YY биргелешкен чектөөнү сынап жатат H0:β1==βp=0H_0: \beta_1 = \cdots = \beta_p = 0 биринчи теңдемеде. Стандарттык маршрут - бул квадраттардын чектелген жана чексиз калдык суммалары боюнча F-сынагы,

F=(RSSrRSSu)/pRSSu/(T2p1)F = \frac{(RSS_r - RSS_u) / p}{RSS_u / (T - 2p - 1)}

асимптотикалык эквиваленттүү Вальд формасы менен W=T(RSSrRSSu)/RSSudχ2(p)W = T \cdot (RSS_r - RSS_u)/RSS_u \xrightarrow{d} \chi^2(p). Андан кийинки бардык нерсе чектөө кайсы коэффициенттерге жана VAR кандай маалыматтарга орнотулганы жөнүндө суроо.

Тандоо артта калуу

pp Көпчүлүк жазуулар мойнуна алгандан да маанилүү: өтө аз артта калуу динамиканы өткөрүп жиберет, өтө көп эркиндик даражасын күйгүзүп, бийликти жок кылат.

AIC(p)=lnΣ^u(p)+2pk2T,BIC(p)=lnΣ^u(p)+pk2lnTT\text{AIC}(p) = \ln|\hat{\Sigma}_u(p)| + \frac{2pk^2}{T}, \qquad \text{BIC}(p) = \ln|\hat{\Sigma}_u(p)| + \frac{pk^2 \ln T}{T} HQIC(p)=lnΣ^u(p)+2pk2ln(lnT)T\text{HQIC}(p) = \ln|\hat{\Sigma}_u(p)| + \frac{2pk^2 \ln(\ln T)}{T}

Эстүү издөө диапазондору: экинчи маалыматтар боюнча 1-60, мүнөттүк маалыматтар боюнча 1-30, саат сайын 1-48. BIC бул жерде туура демейки - бул кыйла сарамжалдуу критерий, ал эми суюк крипто жуптарындагы коргошун артта калуу кыска эс тутумдагы көрүнүш. Төмөндөгү ар бир жыйынтык BIC тандалганын билдирет pp Аалам боюнча бир лагты бекиткендин ордуна, жуп үчүн, анткени белгиленген артта калуу унчукпай лаг-тандоо тандоосун маанилүүлүк дооматына айлантат.

Эмне үчүн айырмаланган тест демейки туура эмес

Айырмалоо алдыңкы-кечиккен мамилени үзүшү мүмкүн

Крипто баа катарлары I(1) болот. Кадимки оңдоо — логарифмдик кирешелерге өтүү — деңгээлдердин коинтеграциялык байланышын жоготуу эсебинен стационардуулукту берет. Эгер жуптун узак мөөнөттүү тең салмактуулугу болсо, айырмаларга түзүлгөн VAR туура эмес мүнөздөлөт. Бул пикирдин негизиндеги бирдик тамыры жана коинтеграция механизми (ADF, Монте-Карлонун критикалык маанилери менен Энгл-Грейнджер жана VAR системасы үчүн Йохансен) статистикалык арбитраж жана жуптук соода макаласында түшүндүрүлгөн; бул жерде аны даяр жыйынтык катары кабыл алабыз. Маанилүүсү: "алгач айырмала, андан кийин тестте" — кесепеттери бар моделдик чечим, ал эми Тода-Ямамото андан качууга мүмкүндүк берет.

Тода-Ямамото процедурасы

VAR менен тууралаңыз p+dmaxp + d_{max} артта калуу, кайда pp оптималдуу лаг тартиби болуп саналат жана dmaxd_{max} сериянын максималдуу интеграция тартиби, андан кийин сыноо чектөөлөрү биринчисинде гана pp артта калуулар. кошумча dmaxd_{max} артта калуулар стационардык эместикти өзүнө сиңирип алат; Уолд статистикасы биринчи pp коэффициенттер стандартка ылайык келет χ2(p)\chi^2(p) катар I(0), I(1) же коинтеграцияланганына карабастан.

  1. Аныктоо dmaxd_{max} — Ар бир серия боюнча ADF жана КПСС. Крипто баалар үчүн dmax=1d_{max} = 1 дээрлик дайыма.
  2. Тандоо pp — деңгээлдерге VAR ылайыкташтырыңыз, BIC боюнча тандаңыз.
  3. Көбөйтүлгөн VARды баалаңыз(p+dmaxp + d_{max}) деңгээли боюнча, эч кандай айырма жок.
  4. Wald-test биринчи pp артта калууда гана, этибарга албай dmaxd_{max} кошумчалар. Натыйжа болуп саналат χ2(p)\chi^2(p).

Пайдасы: коинтеграциянын алдын ала сыналышы жок, айырмачылыктар жок жана тесттин туура өлчөмү - нөлдүн астындагы четке кагуу коэффициенти интеграциялык касиеттер кандай болсо да номиналдуу бойдон калат. Баасы 4-кадам эмне эмес test_causality демейки боюнча кылат, бул жерде көпчүлүк ишке ашыруулар акырындык менен ката кетирет.

Ишке ашыруу

Лаг-матрицаны ишке ашыруу агымы

Сиз DataFrame'де мурунтан эле тегизделген мүнөт тилкелерин алдыңыз деп ойлойлу — ccxt алып келүү жана индекстөө пластинкасы HMM менен режимди аныктоодо жана сиз 1-кадам үчүн колдоно турган ADF оромосу статистикалык арбитраж жана жуптар соодасында.

Мунун кайсынысына болбосун мурун бир версия эскертүүсү: grangercausalitytests(..., verbose=False) эскирип, андан кийин ** 0,15 ** статистикалык моделдеринде алынып салынды. Аргументти таштаңыз (функция мындан ары демейки боюнча басып чыгарбайт) же кадап коюңуз statsmodels<0.15. Төмөндөгү код заманбап кол тамганы камтыйт.

Тода-Ямамото, туура аткарылды

Чектөө кол менен түзүлүшү керек. VARResults.test_causality орнотулган моделде себеп болгон өзгөрмөнүн бардык* артта калууларын сынайт — кеңейтилген VAR(p+1p+1) кирет dmaxd_{max} чектөөдөн артта калуу, Тода-Ямамото эмне кылбасын дейт. Оңдоо ачык-айкын болуп саналат RR толук коэффициент ковариациясына каршы матрица:

import numpy as np
from scipy.stats import chi2
from statsmodels.tsa.api import VAR


def toda_yamamoto_test(data, target, predictor, max_lag=15, d_max=1,
                       significance=0.05):
    """
    Toda-Yamamoto Granger causality on levels (no differencing).

    Fits VAR(p + d_max) and applies a Wald test to the predictor's
    coefficients at lags 1..p ONLY, leaving the d_max augmenting lags
    unrestricted. Statistic is chi2(p).
    """
    pair = data[[target, predictor]].dropna()
    n_vars = pair.shape[1]
    target_idx = list(pair.columns).index(target)
    pred_idx = list(pair.columns).index(predictor)

    model = VAR(pair)
    p = model.select_order(maxlags=max_lag).bic or 1
    res = model.fit(p + d_max)

    beta = res.params.values.ravel(order="F")
    cov = res.cov_params()
    cov = cov.values if hasattr(cov, "values") else np.asarray(cov)

    n_per_eq = res.params.shape[0]
    idx = [target_idx * n_per_eq + 1 + lag * n_vars + pred_idx
           for lag in range(p)]                      # first p lags only

    R = np.zeros((p, beta.size))
    R[np.arange(p), idx] = 1.0

    Rb = R @ beta
    V = R @ cov @ R.T
    wald = float(Rb @ np.linalg.solve(V, Rb))        # no pinv: V must be PD
    p_value = float(chi2.sf(wald, df=p))

    return {
        "target": target, "predictor": predictor,
        "p": p, "augmented_lag": p + d_max, "d_max": d_max,
        "wald_stat": wald, "p_value": p_value,
        "significant": p_value < significance,
    }

Жаңылып калуу оңой болгон жана эгер ката кетирсеңиз, тестти жараксыз кылган эки маалымат. Биринчиден, индекстин арифметикасы статистикалык моделдердин түзүлүшүнө дал келиши керек params — орнотулган моделде текшериңиз beta[target_idx * n_per_eq + 1] барабар res.params.iloc[1, target_idx] кандайдыр бир p-маанисине ишенүүдөн мурун. Экинчиден, колдонуу np.linalg.solve, жок pinv: эгерде VV сингулярдуу болсо, чектөө начарлайт жана жүгүрүү ишенимдүү көрүнгөн санды кайтаруунун ордуна, катуу кыйкырылышы керек. Бул жерде псевдо-тескери сынган Уолд тесттери кодду карап чыгуудан кантип аман калат.

Салыштыруу үчүн стандарттуу айырмаланган Гренжер

Негизги салыштыруу каршы - лог-кайтаруулар, ошол эле жуптар, ошол эле BIC лаг:

from statsmodels.tsa.stattools import grangercausalitytests


def differenced_granger(data, target, predictor, p):
    """Standard Granger test on log-returns at a fixed lag p."""
    pair = data[[target, predictor]].dropna()   # returns, not levels
    out = grangercausalitytests(pair, maxlag=[p])   # statsmodels >= 0.15
    f_stat, p_value = out[p][0]["ssr_ftest"][:2]
    return {"target": target, "predictor": predictor, "lag": p,
            "f_stat": f_stat, "p_value": p_value}

Эскертүү maxlag=[p] караганда maxlag=p: int өткөрүү 1ден 1ге чейинки ар бир артта калууда pp жана сизди эң ​​жакшысын кабарлоого азгырат, бул сиз иштеп жаткан бир нече тесттин үстүнөн чыгарылбаган бир нече сыноо.

Салыштыруу

Ар бир жуп үчүн бирдей BIC тандалган деңгээлдерде айырмаланган тестти кайтарып бериңиз жана Toda-Yamamoto деңгээлинде аткарыңыз pp, жана экөө макул болбогон жерди таблицага жазыңыз. Пикир келишпестик - бул кызыктуу клетка: деңгээли боюнча эмес, айырмачылыктар боюнча маанилүү болгон жуп коинтеграциялык мамилелерди айырмалоочу талапкер артефакты; тескери деңгээл мамилеси кайтаруу тести көрө албаган маалыматты камтыйт.

Себептүүлүк матрицасында бир нече салыштыруулар

Чоң себептүүлүк матрицасын чыпкалоо

Толук n×nn \times n матрица коркунучтуу болгон жер ушул. 20 актив жана 10 лаг 3800 гипотезалык тестти билдирет, ал эми Бонферрони мындай корреляцияланган үй-бүлө үчүн туура эмес оңдоо: тесттер бир маалыматты жана жалпы BTC факторун колдонот, демек көз каранды эмес. Бонферрони жалпы жыйынтыкта өтө консервативдүү болуп, кайсы уячалар босогодон өтөрүн да бурмалайт. Мындай учур үчүн түзүлгөн эффективдүү N механизмин дефляцияланган Шарп коэффициенти тууралуу макаладан колдонуңуз: корреляцияланган тесттер үй-бүлөсүн кластерлеп, чийки санды эмес көз карандысыз сыноолорду эсептеп, босогону ошол санга карата коюңуз.

def granger_matrix(data, max_lag=15, d_max=1):
    """Toda-Yamamoto p-value matrix. Entry (i, j): does col_j cause col_i?"""
    cols = list(data.columns)
    out = pd.DataFrame(np.nan, index=cols, columns=cols, dtype=float)
    for target in cols:
        for predictor in cols:
            if target == predictor:
                continue
            r = toda_yamamoto_test(data, target, predictor,
                                   max_lag=max_lag, d_max=d_max)
            out.loc[target, predictor] = r["p_value"]
    return out

Маанилүү сан канча клетканын 0,05тен төмөн экендиги эмес - бул канчасы эффективдүү-N түзөтүлгөн босогодон аман калганы.

Сатып калган матрицаны уячадан уяча эмес, структуралык жактан окуңуз: бир актив көптөгөн башкаларды пайда кылган саптар маалымат иерархиясын тастыктайт; эч нерседен улам пайда болгон тилке ачылышка караганда өзгөчөлөнгөн, токенге мүнөздүү динамикадан кабар берет.

Чынчыл сыноо: айлануу туруктуулугу

Айлануучу терезелер аркылуу туруктуу сигнал

Жалгыз үлгүдөгү p-маани соода үчүн жараксызга жакын. Тиешелүү суроо маанилүүлүгү * сакталып жатабы*. Криптодогу кросс-актив мамилелери режимге көз каранды — корреляция түзүмү тынч жана паника ортосунда кескин айырмаланат, жана режимдин өзү бааланат (HMM режимин аныктоо) — Ошентип, бир терезенин үстүнөн бааланган алып келүү ошол терезе жөнүндө билдирүү болуп саналат.

def rolling_granger(data, target, predictor, window=500, lag=5, step=50):
    """Rolling-window p-value: when is the lead-lag active vs dormant?"""
    rows = []
    for start in range(0, len(data) - window, step):
        chunk = data.iloc[start:start + window][[target, predictor]].dropna()
        if len(chunk) < window * 0.8:
            continue
        try:
            out = grangercausalitytests(chunk, maxlag=[lag])
            f_stat, p_value = out[lag][0]["ssr_ftest"][:2]
        except Exception:
            f_stat, p_value = np.nan, np.nan
        rows.append({"timestamp": data.index[start + window - 1],
                     "f_stat": f_stat, "p_value": p_value})
    return pd.DataFrame(rows).set_index("timestamp")

Бул сериядан эки нерсени билдириңиз: 0,05тен төмөн терезелердин үлүшү жана босогодон ашуулар саны. Үч кесилиши бар терезелердин 80%да маанилүү болгон мамиле, топтолгон p-мааниси бирдей болсо да, кырк кесилишкен терезелердин 55% маанилүү бир объектиден башка объект болуп саналат. Экинчиси соодалоого болбойт - сиз сигналдын позициясын өлчөй албайсыз, анын бар болушу бир нече жүз тилкеде өзгөрүп турат жана кайра баалоо артта калуу ар дайым мурунку режимди соодалап жатканыңызды кепилдикке алат.

Гренжерге мүнөздүү маалымат тузак

Түзүлбөгөн крипто кенелери себептик сигналдарды үзгүлтүккө учуратат

Крипто маалыматтарынын жалпы тазалыгы башка макалаларда каралган: боштуктар жана жетишпеген шамдар бэктест менен жандуу сооданын дал келүүсү тууралуу, убакыт белгилеринин тартиби look-ahead bias таксономиясында, ал эми таймфреймдерде келечекке көз салбоону далилдөө бул макалада берилген. Бирок бир көйгөй Грейнджерге мүнөздүү жана аны өзүнчө белгилөө зарыл:

Алга толтуруу натыйжаны чыгарат. Алдыга толтурулган шам мурунку жабууну кайталайт, ал катарга таза автокорреляцияны киргизет — жана лаг-1 автокорреляциясын YY бул механикалык жактан шайкеш келет XX айырмаланбайт, F-тестине, бир артта калган себеп-салдар байланышынан. Ушул эле нерсе бардык жерлерге да тиешелүү: мүнөт тилкелериндеги эки алмашуунун ортосундагы 1 секунддук сааттын жылышы lag-1 маанисин түзүшү же жок кылышы мүмкүн, анткени ал кыймыл тилкесинин чек арасынын кайсы тарабына жылганын жылдырат. Булардын бирин иштетүүдөн мурун, боштуктар толтурулгандын ордуна ташталганын жана эки серия тең бир сааттан мөөрү басылганын текшериңиз.

Адабиятта алдын-ала билдирилген

Изилдөөлөрдүн артта калуусунун далили

Бул цитаталар, бул макаладагы өлчөөлөр эмес. Алар бул жерде жогорудагы салыштыруу макул же макул болбогон нерсеге ээ болушу үчүн, жарыяланган рекорд эмнени билдирерин айтуу үчүн.

  • BTCден альткоиндерге. Asia-Pacific Financial Markets журналындагы 2026-жылкы изилдөө (Springer) Bitcoinден альткоиндерге жогорку жыштыктагы баа өткөрүлүшүн сүрөттөйт: капитализациясы чакан монеталар кыйла кеч жооп берет, ал эми төмөн ликвиддүүлүк реакциянын жайыраак болушу менен байланыштуу. Бул багытта көп келтирилген лагдар — BTCден ETHге болжол менен 1-3 мүнөт, орто жана чакан капитализациядагы активдерде узагыраак жана капитализация төмөндөгөн сайын барган сайын бир багыттуу — булакта келтирилген, бул жерде кайра эсептелбеген жыйынтыктар. Капитализация боюнча тепкич көп символду валидациялоо макаласындагыдай эле.
  • CEX DEXти жетектейт. Криптографиялык микроструктура боюнча изилдөөлөр (MDPI) маалымат агымы CEXден DEXке чейин иштеген жана олуттуу тескери себептүүлүк жок, баанын ачылышында үстөмдүк кылган борборлоштурулган жерлер жөнүндө кабарлайт — блок-убакыт эсептешүүсүнө каршы миллисекунддан төмөн дал келген кыймылдаткычтарга шайкеш келет.
  • ETH көз карандысыз монета катары. VAR-SVAR иши (MDPI) Ethereum булак катары иш алып барган режимдерди табат, ал эми Биткойн жайылуучу алуучу катары, айрыкча DeFi жана NFT менен башкарылган фазаларда.

Кайчылаш алмашуу, кыскача

Бир эле монетанын эки аянтчадагы лагы — реалдуу соода коюлушу, бирок анын экономикасы, комиссия босоголору, кечигүүлөрдүн тепкичи жана лагдын себептери статистикалык арбитраж жана жуптук соода менен кимчи премиуму макалаларында талданган. Грейнджер туруктуулук тууралуу гана суроо кошот: Binance -> Coinbase себептүүлүгү туруктуу маанилүүбү же баары сыяктуу жылт этип турабы? Аянтчалардын жупуна жылма тест жүргүзүңүз; жооп "ооба" эмес, p-маанилердин убакыт катары болот.

Аман калган артта калууну позицияга айландыруу

Сигнал босогосу башкарылуучу позицияга айланууда

Эгерде жуп оңдолгон босогону жана айлануу сынагынан тазаласа, сигналдын өзү анча маанилүү эмес: лаг терезеден кумулятивдик болжолдоочу кайтаруу, босого.

def lead_lag_signal(btc_returns, alt_returns, lag=5, threshold=0.001):
    """+1 / -1 / 0 on ALT from BTC's cumulative return over `lag` bars."""
    btc_cum = btc_returns.rolling(lag).sum()
    signal = pd.Series(0, index=alt_returns.index)
    signal[btc_cum > threshold] = 1
    signal[btc_cum < -threshold] = -1
    return signal

Үч нерсе бул берененин бөлүгү эмес, анткени алар бул жерде мурунтан эле чечилген:

Чектөөлөр

Себептик белгисиздик чек аралары

Грэнжердин себептүүлүгү себептүүлүк эмес. Чалыштыргычтар (убакыт белгисинин бир аз туура эмес тегизделиши менен эки буту тең кыймылдаган макроокуя), жалпы драйверлер (ар кандай ылдамдыкта BTCден кийинки эки алт) жана алынып салынган өзгөрмөлөр (системада ETH жок BTCди DOGEге сыноо) бардыгы түз маалымат агымы жок олуттуу статистиканы түзүшөт. Бивариаттуу тесттерге чектөө коюу, бул макалада айтылгандай, чыгарылып кеткен өзгөрмөлүү маселени жакшыраак эмес, начарлатат.

Сызыктуулугу. Тест шарттуу ортодо сызыктуу болжолдоо түзүмүн гана көрөт. Криптода туруксуздуктун кластерлери, левередж эффекттери жана режимди которуштуруулары бар — караңыз GARCH туруксуздугун болжолдоо жана DCC-GARCH динамикалык корреляциясы экинчи ирмемдик окуя үчүн. Белгилүү сызыктуу эмес альтернативалар: Дикс-Панченко (2006) ядро ​​тести, маалыматтык-теориялык аналог катары трансфер энтропиясы жана толук биргелешкен бөлүштүрүү боюнча копула Грейнджер себептүүлүгү.

Структуралык үзгүлтүктөр. Бир терезеде бааланган ар кандай байланыштар ошол терезенин режимине жараша болот; жогорудагы тоголок тест минималдуу диагностика болуп саналат жана бул оңдоо эмес, диагностика.

Жыйынтык

Ызы-чуудан тазаланган ишенимдүү артта калуу сигналы

  1. VARды деңгээлдерге тууралаңыз, тандаңыз pp жупка BIC боюнча, көбөйтүү dmaxd_{max}, жана Уолд-тест биринчи pp гана артта калат. Чектөө матрицасын кол менен түзүңүз — китепкананын test_causality Тода-Ямамото эмес, артта калуучулукту да чектейт.
  2. Бир эле жуптар жана артта калуулар боюнча базалык көрсөткүч катары айырмаланган кайтаруу сынагын аткарыңыз жана ** пикир келишпестиктер жөнүндө кабарлаңыз**. Бул таблица тыянак; жылдызчалардын матрицасы эмес.
  3. Бонферрони эмес, эффективдүү N аркылуу корреляцияланган тест үй-бүлөсү үчүн матрицаны оңдоп, канча клетка аман калганын кабарлаңыз.
  4. Тоголоктоп коюңуз. Маанилүү терезелердин үлүшүн жана кесилиштердин санын кабарлаңыз. Маанилүүлүгү, бириккен р-мааниси канчалык аз болсо да, жылтылдаган соодалоочу артта калуу эмес.
  5. Ар кандай лаг-1 натыйжасына ишенүүдөн мурун, алдыга толтуруунун ордуна боштуктарды таштаңыз жана сааттардын тегиздигин текшериңиз.

Бул процедуранын эң жакшы натыйжасы терс болуп саналат - үлгүдөгү олуттуу, оңдоодон аман калган жана дагы эле ар бир бир нече жүз тилкеде 0,05 сызыгын кесип өткөн BTC-to-alt мамилелери соодага жөндөмдүүлүк жөнүндө реалдуу натыйжа жана бир катары жарыялоого арзырлык.

Шилтемелер

blog.disclaimer

Authors

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.

Newsletter

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.