📝

Draft article

This draft is visible to admins and superusers only. Sign in with an authorized account.

← Maqolalarga qaytish
August 21, 2026
5 daqiqa o'qish

Synthetic Control Methods for Evaluating Trading Strategies

Synthetic Control Methods for Evaluating Trading Strategies
#causal-inference
#synthetic-control
#counterfactual
#evaluation
#econometrics

Bu turkum soxta ustunlikka olib boradigan yo'llardan biri — tanlash haqida batafsil gapirdi. Deflyatsiyalangan Sharpe nisbati qidiruv g'olibini baholaydi. Backtestning ortiqcha moslashish ehtimoli qidiruvning o'zini baholaydi. Halol salbiy natija esa ikkala usulni haqiqatan savdo qilmoqchi bo'lgan strategiyaga qo'llaganda yuz beradi. Bu vositalar bitta savolga yaxshi javob beradi: buni juda ko'p marta qaraganim uchun topdimmi?

Ammo ular ikkinchi, butunlay boshqa yo'lni — konfaundingni, ya'ni sabablarning aralashib ketishini — ko'rib chiqmaydi. Siz bitta narsani o'zgartirdingiz: yangi ijro algoritmini joriy qildingiz, parametrni almashtirdingiz yoki bozor rejimiga javob berdingiz, natija esa yaxshilandi. Qidiruv bo'lmagan. Ko'p martalik test muammosi ham bo'lmagan. Shunga qaramay, yaxshilanish sizga umuman bog'liq bo'lmasligi mumkin, chunki joriy qilgan haftangizda volatillik ikki baravar oshgan. Deflyatsiyaning hech qanday darajasi buni ushlamaydi: deflyatsiya sinovlar sonini tuzatadi, siz esa faqat bitta sinov o'tkazgansiz.

Abadie va Gardeazabal (2003) ishlab chiqqan, Abadie, Diamond va Hainmueller (2010, 2015) takomillashtirgan Sintetik nazorat usuli (SCM) konfaundingga bevosita hujum qiladi. U kontrafakt — siz tegmagan instrumentlarning vaznli kombinatsiyasini — quradi; bu kombinatsiya aralashuvdan oldin ta'sir ko'rgan instrumentni yaqindan kuzatishi uchun tanlanadi. Aralashuvdan keyingi ikki yo'l o'rtasidagi tafovut ta'sir bahosidir. Eng muhimi, SCM ishonchli kontrafakt qachon qurib bo'lmasligini ko'rsatadigan falsifikatsiya mezoni va asimptotik farazga ishonishni talab qilmaydigan permutatsion p-qiymat bilan birga keladi.

Nega ochiq-oydin muqobillar ishlamaydi

Kontrafakt taqqoslash yo'llari

Oldin-keyin taqqoslash aralashuvni o'sha sanada o'zgargan barcha boshqa narsalar bilan aralashtirib yuboradi. Bitta benchmark instrumenti bilan taqqoslash ham ishlamaydi, chunki hech bir alohida aktiv siznikini kuzatmaydi — bu Bitta instrument tuzog'ining teskari ko'rinishidir: agar bitta instrumentning o'ziga xos tuzilishi soxta ustunlik yaratishi mumkin bo'lsa, xuddi shu tuzilish soxta nazorat ham yaratishi mumkin. SCMning donorlar havzasi aynan shu e'tirozga rasmiy javob beradi: bitta o'xshash aktivni tanlash o'rniga, aralashuvdan oldingi ma'lumotlarga ularning vaznli savatini tanlashga imkon berasiz.

Farqlar farqi bir jumladan ko'proq e'tiborga loyiq, chunki u deyarli mos keladigan usuldir. DiD ta'sir ko'rgan birlikdagi o'zgarishni nazorat guruhidagi o'zgarish bilan solishtiradi va ta'sirni faqat parallel trendlar sharti ostida aniqlaydi: aralashuv bo'lmaganida ta'sir ko'rgan va nazorat birliklari birga harakatlangan bo'lardi. Moliyaviy bozorlarda bu farazni himoya qilish juda qiyin — aktivlar beta, volatillik rejimi va likvidlik darajasi bo'yicha farq qiladi, ularning nisbiy yo'llari esa o'zgarib turadi. SCM faraz o'rniga moslangan obyektni qo'yadi: parallel harakat qiladigan nazoratni faraz qilish o'rniga, uni quradi va amalda qanchalik yaxshi kuzatganini ko'rsatadi. Agar kuzatish yomon bo'lsa, usul to'xtash kerakligini bildiradi.

Usul

Sintetik nazorat donorlarini qurish

Masala va belgilashlar

J+1J + 1 ta birlikni (aktivlar, strategiyalar yoki portfellar) TT davr davomida kuzataylik. 1-birlik — ta'sir ko'rgan birlik, ya'ni siz aralashgan aktiv yoki strategiya. 2,,J+12, \ldots, J+1 birliklar o'xshash, ta'sir ko'rmagan birliklardan iborat donorlar havzasini tashkil qiladi.

Y1tIY_{1t}^I aralashuv ostida ta'sir ko'rgan birlikning tt vaqtdagi natijasini, Y1tNY_{1t}^N esa aralashuvsiz natijani bildirsin. t>T0t > T_0 vaqtdagi ta'sir effekti:

τ1t=Y1tIY1tN\tau_{1t} = Y_{1t}^I - Y_{1t}^N

Biz Y1tIY_{1t}^I ni bevosita kuzatamiz. Butun masala Y1tNY_{1t}^N ni baholashdan iborat.

Sintetik nazoratni qurish

SCM Y1tNY_{1t}^N ni donorlar natijalarining vaznli o'rtachasi sifatida baholaydi:

Y^1tN=j=2J+1wjYjt\hat{Y}_{1t}^N = \sum_{j=2}^{J+1} w_j \, Y_{jt}

bu yerda w=(w2,,wJ+1)\mathbf{w} = (w_2, \ldots, w_{J+1})' vazn vektori barcha jj lar uchun wj0w_j \geq 0 va jwj=1\sum_j w_j = 1 shartlarini qanoatlantiradi.

Bu ikki cheklov muhim ishni bajaradi. Ular sintetik nazoratni donorlarning qavariq kombinatsiyasi bo'lishiga majbur qiladi va ma'lumotlar tayanchidan tashqariga ekstrapolyatsiya qilishning oldini oladi. Cheklanmagan regressiya bir tangada 3,4x long pozitsiya va boshqasida 2,4x short pozitsiyadan tuzilgan kontrafaktni berishi mumkin — aralashuvdan oldingi davrga son jihatdan ajoyib moslik, ammo hech kim ushlay olmaydigan portfelga mos kelmaydigan kontrafakt. Qavariqlik cheklovi kontrafaktni tushunarli, vaznlarni esa siyrak qiladi: odatda faqat bir nechta donor nolga teng bo'lmagan vazn oladi va ularni ko'rish mumkin.

Optimal vaznlarni tanlash

Vaznlar aralashuvdan oldingi davrda ta'sir ko'rgan birlik bilan sintetik nazorat orasidagi masofani minimallashtirish uchun tanlanadi:

minwX1X0wV=minw(X1X0w)V(X1X0w)\min_{\mathbf{w}} \| \mathbf{X}_1 - \mathbf{X}_0 \mathbf{w} \|_V = \min_{\mathbf{w}} (\mathbf{X}_1 - \mathbf{X}_0 \mathbf{w})' \mathbf{V} (\mathbf{X}_1 - \mathbf{X}_0 \mathbf{w})

bu yerda X1\mathbf{X}_1 ta'sir ko'rgan birlikning aralashuvdan oldingi xususiyatlaridan iborat (k×1)(k \times 1) vektor, X0\mathbf{X}_0 donorlar havzasidagi xuddi shu xususiyatlarning (k×J)(k \times J) matritsasi, V\mathbf{V} esa har bir prediktorga ahamiyat beradigan (k×k)(k \times k) o'lchamli musbat yarim aniqlangan diagonal matritsa.

V\mathbf{V} kross-validatsiya orqali tanlanadi: hosil bo'ladigan w(V)\mathbf{w}^*(\mathbf{V}) aralashuvdan oldingi davrda natija o'zgaruvchisining o'rtacha kvadrat prognoz xatosini (MSPE) minimallashtiradigan V\mathbf{V} ni tanlang. Bu ichma-ich optimallashtirish: tashqi sikl V\mathbf{V} ni, ichki cheklangan yechim esa w\mathbf{w} ni optimallashtiradi.

Savdo uchun prediktor o'zgaruvchilar

Abadie va hammualliflar jon boshiga YaIM va sanoat tarkibidan foydalangan; savdo ilovalari esa quyidagilarni talab qiladi:

  • Daromad xususiyatlari: aralashuvdan oldingi davrdagi o'rtacha daromad, volatillik, qiyshiqlik, eksess
  • Likvidlik o'lchovlari: o'rtacha spread, kunlik hajm, Amihud likvidlik koeffitsiyenti
  • Mikrotuzilma xususiyatlari: order-flow nomutanosibligi, savdo kelish tezligi, kotirovka va savdo nisbati
  • Faktor ekspozitsiyalari: bozor, momentum, qiymat va volatillik faktorlariga beta
  • Kechikkan natijalar: aralashuvdan oldingi bir nechta sanalardagi jamlangan PnL qiymatlari

Kechikkan natijalar eng muhimidir. Abadie va hammualliflar (2010) sintetik nazorat uzoq aralashuvdan oldingi oynada ta'sir ko'rgan birlikka kechikkan natijalar bo'yicha mos kelsa, chiziqli faktor modeli ostida kuzatilmagan konfaunderlarni bilvosita nazorat qilishini ko'rsatadi — usulning murakkabligiga arziydigan asosiy sabab ham shu. PnL ni harakatga keltirgan konfaunderni nomlash shart emas. Unga ham duch kelgan donorlarni topish shart.

Qayerda qo'llanadi

Bozor rejimlari orasidagi sababiy ko'priklar

1-senariy: yangi ijro algoritmini baholash

Bir instrumentda yangi TWAP jadvalini joriy qilasiz va uning implementation shortfall ga ta'sirini bilmoqchisiz. Metrika va algoritmlar oilasi boshqa joyda batafsil yoritilgan — xarajatlar dekompozitsiyasi uchun implementation shortfall va TCA, rejalashtiruvchilarning o'zi uchun TWAP/VWAP/POV algoritmlari maqolalariga qarang. SCMning hissasi — ularning ustidagi baholash qatlami: donorlar havzasi ayni oynada eski rejalashtiruvchini ishlatayotgan o'sha instrumentlardan tuziladi, shuning uchun venue bo'ylab spread yoki hajm o'zgarishlari ta'sir ko'rgan birlik va donorlarga birday ta'sir qiladi.

Aralashuvdan oldingi davr: almashtirishdan oldingi 60 savdo kuni. Aralashuvdan keyingi davr: keyingi 30 savdo kuni. Ta'sir bahosi — tafovut:

τ^1t=Y1tactualY^1tsynthetic,t>T0\hat{\tau}_{1t} = Y_{1t}^{\text{actual}} - \hat{Y}_{1t}^{\text{synthetic}}, \quad t > T_0

Yangi rejalashtiruvchi haqiqatan ham xarajatni kamaytirsa, T0T_0 dan keyin τ^1t<0\hat{\tau}_{1t} < 0 doimiy bo'ladi — eng muhimi, ta'sir ko'rgan birlik tafovuti donorlar tafovutlari bulutidan tashqarida joylashadi.

2-senariy: bozor hodisasi ta'siri

Komissiya jadvali, tick-size pilot loyihasi, tranzaksiya solig'i yoki circuit-breaker qoidasi o'zgarishi bitta venue ga ta'sir qiladi. Ta'sir ko'rgan birlik: zarar ko'rgan venue dagi strategiyangiz. Donorlar havzasi: o'zgarish tegmagan venue lardagi o'sha juftlik. Ijroga komissiya tuzilmasi ta'siri maker-taker komissiyalari va rebate maqolasida alohida ko'rib chiqiladi; SCM esa "o'zgarishdan keyin fillarimiz yomonlashdi" degan gapni null gipotezali bahoga aylantiradi.

3-senariy: rejimga shartlangan strategiyani almashtirish

Rejimni aniqlash signali ishga tushganda bir aktivda mean-reversion dan momentum ga o'tasiz. Almashtirish o'z holicha qolishdan yaxshiroq bo'ldimi? Donorlar havzasi: signal ishga tushgan, ammo siz almashtirmagan o'xshash aktivlar. Bu yerdagi tuzoq shuki, rejim signali butun bozorda ishga tushsa, donorlaringiz ham ta'sir ko'radi va dizayn buziladi. Quyidagi spillover qoidasiga qarang.

Placebo testlari va xulosa chiqarish

Placebo trayektoriyalari va tekshirilgan yo'l

SCM bo'yicha xulosa permutatsiyaga asoslanadi. Yopiq shakldagi taqsimotga ishonish o'rniga qayta tanlash orqali empirik null qurishning umumiy holati backtestlar uchun Monte Carlo va bootstrap usullari maqolasida keltirilgan; quyidagisi SCMga xos qurilishdir.

Vaqt bo'yicha placebo

Aralashuv sanasini aralashuvdan oldingi davrga — masalan, yarmiga — suring va jarayonni qayta ishga tushiring. Agar SCM hech narsa bo'lmagan sanada "ta'sir effekti"ni topsa, u sizning aralashuvingizni emas, oldindan mavjud tafovutni ushlayapti. Ishonchli sintetik nazorat soxta aralashuv sanalarida ta'sir ko'rsatmaydi.

Makon bo'yicha placebo (permutatsiya testi)

Har bir donor uchun butun SCM jarayonini qo'llang va navbat bilan har birini ta'sir ko'rgan birlik deb tasavvur qiling:

  1. Har bir donor jj uchun qolgan donorlar va dastlabki ta'sir ko'rgan birlikdan sintetik nazorat quring.
  2. Aralashuvdan keyingi tafovutni hisoblang: gapjt=YjtY^jtsynth\text{gap}_{jt} = Y_{jt} - \hat{Y}_{jt}^{\text{synth}}.
  3. Ta'sir ko'rgan birlik tafovutini placebo tafovutlari taqsimoti bilan solishtiring.

p-qiymat — bu rang:

p=rank of treated unit’s post/pre MSPE ratioJ+1p = \frac{\text{rank of treated unit's post/pre MSPE ratio}}{J + 1}

bu yerda

MSPE ratio=MSPEpostMSPEpre=1TT0t>T0(Y1tY^1tN)21T0tT0(Y1tY^1tN)2\text{MSPE ratio} = \frac{\text{MSPE}_{\text{post}}}{\text{MSPE}_{\text{pre}}} = \frac{\frac{1}{T - T_0} \sum_{t > T_0} (Y_{1t} - \hat{Y}_{1t}^N)^2}{\frac{1}{T_0} \sum_{t \leq T_0} (Y_{1t} - \hat{Y}_{1t}^N)^2}

Xom aralashuvdan keyingi tafovut emas, aynan nisbat to'g'ri statistika hisoblanadi: hech qachon yaxshi moslashmagan donor hech qanday aralashuvga aloqasi bo'lmagan sabablarga ko'ra katta keyingi tafovut ko'rsatadi, uni aralashuvdan oldingi MSPE ga bo'lish esa aynan shuni jazolaydi.

Bu Deflyatsiyalangan Sharpe nisbati ishlatadigan xulosa chiqarish usulining o'zi: nomzodni nolga emas, empirik yaratilgan mos yozuvlar taqsimoti ichida ranglash. DSR g'olibni sinovlar bo'yicha best-of-N null ga nisbatan ranglaydi; SCM ta'sir ko'rgan birlikni birliklar bo'yicha null ga nisbatan ranglaydi. Estimator boshqa, intizom bir xil, ogohlantirish ham bir xil: J=15J = 15 donor bo'lsa, erishish mumkin bo'lgan eng kichik p-qiymat 1/160.061/16 \approx 0.06. Permutatsiya testi o'z granulyarligidan nariga o'ta olmaydi, shuning uchun donorlar havzasi kichik bo'lsa, ta'sir qanchalik katta ko'rinmasin, da'vo qilishingiz mumkin bo'lgan ahamiyat chegaralanadi.

Amaliy filtrlash

Abadie va hammualliflar aralashuvdan oldingi mosligi yomon placebo birliklarini chiqarishni tavsiya qiladi — ularning aralashuvdan oldingi MSPE si ta'sir ko'rgan birliknikidan kk marta katta bo'lsa; odatda kk 2 dan 20 gacha olinadi. Yomon moslashgan placebo lar kichik maxrajga ega bo'lib, ulkan MSPE nisbatlarini hosil qiladi; bu mos yozuvlar taqsimotini ifloslantiradi va ta'sir ko'rgan birlikni oddiy ko'rsatadi. Nisbatni bir nechta chegaralarda hisobot qiling; agar p-qiymat faqat bitta aniq kk da ahamiyatli bo'lsa, siz ta'sirni emas, sozlash parametrini topgansiz.

Amalga oshirish

Kontrafakt tahlil konveyeri

Quyidagi kod faqat numpy va scipy dan foydalanadi, shuning uchun mexanika ko'rinib turadi. Production muqobillari — SparseSC (Microsoft Research), pysyncon, SyntheticControlMethods — chekka holatlarni qayta ishlaydi va yaxshiroq masshtablanadi.

Prediktor matritsasini qurish

import numpy as np
import pandas as pd
from scipy.optimize import minimize


def build_predictors(series: pd.Series, T0: int) -> np.ndarray:
    """
    Extract predictor vector from pre-intervention data.
    Features: mean return, volatility, skewness, kurtosis,
              plus lagged outcome values at regular intervals.
    """
    pre = series.iloc[:T0]
    daily_ret = pre.diff().dropna()

    stats = [
        daily_ret.mean(),
        daily_ret.std(),
        daily_ret.skew(),
        daily_ret.kurtosis(),
    ]

    lag_indices = np.linspace(0, T0 - 1, 5, dtype=int)
    lags = pre.iloc[lag_indices].values.tolist()

    return np.array(stats + lags)

Bu yerda df — jamlangan daromadlar paneli: ta'sir ko'rgan birlik 0-ustunda, donorlar qolgan ustunlarda, har bir satr bitta bar. Narx darajalarini emas, jamlangan daromadlarni ishlating.

X1 = build_predictors(df["Treated"], T0).reshape(-1, 1)   # (k x 1)
X0 = np.column_stack([                                    # (k x J)
    build_predictors(df[col], T0) for col in df.columns[1:]
])

Vaznlarni optimallashtirish

def solve_weights(
    X1: np.ndarray,
    X0: np.ndarray,
    Y1_pre: np.ndarray,
    Y0_pre: np.ndarray,
) -> np.ndarray:
    """
    Solve for optimal synthetic control weights.

    Nested optimization:
      Outer: optimize V (predictor importance)
      Inner: optimize w (donor weights) given V
    """
    k = X1.shape[0]
    J = X0.shape[1]

    def solve_w_given_V(V_diag: np.ndarray) -> np.ndarray:
        """Inner: find w minimizing weighted predictor distance."""
        V = np.diag(V_diag)

        def objective(w):
            gap = X1.flatten() - X0 @ w
            return gap @ V @ gap

        constraints = {"type": "eq", "fun": lambda w: np.sum(w) - 1.0}
        bounds = [(0, 1)] * J
        w0 = np.ones(J) / J

        result = minimize(objective, w0, method="SLSQP",
                         bounds=bounds, constraints=constraints,
                         options={"maxiter": 1000, "ftol": 1e-12})
        return result.x

    def outer_objective(V_diag: np.ndarray) -> float:
        """Outer: minimize pre-period MSPE given V."""
        w = solve_w_given_V(np.abs(V_diag))
        return np.mean((Y1_pre - Y0_pre @ w) ** 2)

    V0 = np.ones(k)
    result = minimize(outer_objective, V0, method="Nelder-Mead",
                     options={"maxiter": 5000, "xatol": 1e-8})

    return solve_w_given_V(np.abs(result.x))


Y1_pre = df["Treated"].iloc[:T0].values
Y0_pre = df.iloc[:T0, 1:].values
weights = solve_weights(X1, X0, Y1_pre, Y0_pre)

for col, w in zip(df.columns[1:], weights):
    if w > 0.01:
        print(f"  {col}: {w:.4f}")

Shundan so'ng tafovutlar qatori df["Treated"].values - df.iloc[:, 1:].values @ weights bo'ladi; u aralashuv sanasi bo'yicha chiziladi va quyidagi placebo ishga tushirishidan olingan donor tafovutlari bilan taqqoslanadi.

Placebo testlari

def run_placebo_tests(df: pd.DataFrame, T0: int) -> pd.DataFrame:
    """In-space placebo: treat each unit in turn as if intervened upon."""
    results = []
    all_columns = df.columns.tolist()

    for placebo_col in all_columns:
        donor_cols = [c for c in all_columns if c != placebo_col]
        donor_df = df[donor_cols]

        X1_p = build_predictors(df[placebo_col], T0).reshape(-1, 1)
        X0_p = np.column_stack([
            build_predictors(donor_df[c], T0) for c in donor_cols
        ])

        w_p = solve_weights(
            X1_p, X0_p,
            df[placebo_col].iloc[:T0].values,
            donor_df.iloc[:T0].values,
        )
        gap_p = df[placebo_col].values - donor_df.values @ w_p

        mspe_pre = np.mean(gap_p[:T0] ** 2)
        mspe_post = np.mean(gap_p[T0:] ** 2)

        results.append({
            "unit": placebo_col,
            "mspe_pre": mspe_pre,
            "mspe_post": mspe_post,
            "mspe_ratio": mspe_post / mspe_pre if mspe_pre > 1e-10 else np.inf,
            "gap_series": gap_p,
            "is_treated": placebo_col == "Treated",
        })

    return pd.DataFrame(results)


placebo_results = run_placebo_tests(df, T0)

treated_pre = placebo_results.loc[placebo_results["is_treated"], "mspe_pre"].values[0]
filtered = placebo_results[placebo_results["mspe_pre"] <= 5 * treated_pre]

treated_ratio = filtered.loc[filtered["is_treated"], "mspe_ratio"].values[0]
p_value = (filtered["mspe_ratio"] >= treated_ratio).sum() / len(filtered)
print(f"MSPE ratio (treated): {treated_ratio:.2f}   p = {p_value:.3f}")

Estimatorni kalibrlash

Ishga tushirishga arziydigan va rad etishga arziydigan namoyish mavjud. Sintetik panel ma'lumotlarini yaratish, +0,3%/kun effekt qo'shish, taxminan +0,3%/kunni qayta tiklash va buni dalil sifatida ko'rsatish faqat SLSQP konvergensiyasini isbotlaydi. Bu doiraviy xulosa, maqola esa buni nashr etmaydi.

Sintetik ma'lumotlar kalibrlash uchun foydali — DSR maqolasi va PBO da qo'llangan o'sha standart: ma'lum null statistikani ishonchli qiladi. Sizdagi donorlar soni va aralashuvdan oldingi davr uzunligi bilan chiziqli faktor modelidan yaratilgan ma'lumotlarda ikkita tekshiruvni bajaring:

  1. Ma'lum effekt o'lchamidagi quvvat. Ma'lum kattalikdagi effekt qo'shing. Baholangan keyingi davr tafovuti uni qayta tiklaydimi va xato qancha? Tiklash muvaffaqiyatsiz bo'lguncha effektni kamaytiring — bu chegara panel geometriyangiz aniqlay oladigan eng kichik effekt bo'ladi; undan pastdagi har qanday real natija p-qiymatidan qat'i nazar shovqindir.
  2. Haqiqiy null ostidagi hajm. Hech narsa qo'shmang. To'liq placebo konveyerini ishga tushiring. P-qiymat [0,1][0, 1] da taxminan bir tekis bo'lishi kerak; demak, takroriy generatsiyalarda u taxminan 10% hollarda 0,10 dan past tushadi. Agar bundan ancha ko'p ishlasa, prediktorlar to'plami yoki filtr chegarasi ahamiyatni sun'iy yasayapti va real ma'lumotga yetmasdan oldin konveyer buzilgan.

2-tekshiruvni odamlar o'tkazib yuboradi, holbuki aynan u muhim. Uni birinchi bajaring.

Amaliy mulohazalar

Muvozanatlangan sababiy baholash tizimi

Donorlar havzasini tanlash

Donorlar ta'sir ko'rgan birlikka ishonarli darajada o'xshash va aralashuvdan ta'sirlanmagan bo'lishi kerak. Ijro ishlari uchun: o'xshash instrumentlarda bir xil algoritm — bir xil sektor, bozor kapitallashuvi decili va likvidlik darajasi. Ko'p belgili validatsiya dagi daraja taksonomiyasidan bu yerda bevosita foydalanish mumkin; instrumentlarni adolatli robustness testi qiladigan xususiyatlar ularni adolatli donorlar havzasiga ham aylantiradi. Venue hodisalari uchun: o'zgarish yetib bormagan venuelardagi o'sha instrument.

Spillover bo'lgan birliklarni chiqarib tashlang. Agar bitta instrumentdagi algoritmni o'zgartirish korrelyatsiyalangan instrumentlardagi quotingni o'zgartirgan bo'lsa, bu instrumentlar qisman ta'sirlangan. Ularni havzada qoldirish sintetik nazoratni ta'sir ko'rgan birlikning keyingi davr yo'liga og'diradi va bahoni nolga siqadi — bu yomon nazorat musbat natijalarni yasagani kabi osonlik bilan null natijalarni yasaydigan dizayn xatosidir.

Aralashuvdan oldingi moslik — butun dalil

SCMning ishonchliligi to'liq aralashuvdan oldingi moslikka tayanadi. Aralashuvdan oldingi MSPE ni hisobot qiling va moslikni ko'rsating. Yomon pre-fit T0T_0 dan keyingi hamma narsani bekor qiladi.

Abadie va hammualliflar (2015) qoidani aniq aytadi: agar donorlarning hech bir qavariq kombinatsiyasi ta'sir ko'rgan birlikning aralashuvdan oldingi trayektoriyasini qayta yaratmasa, usulni qo'llamang. Bu halol falsifikatsiya mezoni bo'lib, odatdagidan kam uchraydi — ko'p estimatorlar ularga nima bersangiz ham son qaytaradi. SCM ishonchli kontrafakt qura olmaganini aytadi; to'g'ri javob muvaffaqiyatsizlikni nashr etish, moslik yaxshilanguncha donorlar havzasini kengaytirish emas. Pre-fitni quvish uchun havzani kengaytirish — bu xuddi o'sha overfitting, faqat ushbu turkum gapirayotgan muammo nazorat qurish bosqichiga ko'chirilgan.

Qisqa panellarda overfitting

SCMga xos kuzatiladigan miqdor — donorlar soni JJ ning aralashuvdan oldingi kuzatuvlar soni T0T_0 ga nisbati. T0T_0 nuqtada JJ ta erkin vazn moslashtirilsa, JJ T0T_0 ga yaqinlashganda mukammal pre-fit konstruksiya bo'yicha erishiladigan bo'ladi — lekin shu tarzda olingan mukammal pre-fit hech qanday ma'lumot bermaydi. T0T_0 ni JJ dan sezilarli katta tuting; agar strategiya o'zgarishdan oldin 30 kun ishlagan bo'lsa va sizda 20 ta donor nomzodi bo'lsa, bu SCM muammosi emas, interpolyatsiyadir. Yumshatish choralari:

  1. Regularizatsiya: SparseSC vazn optimallashtirishiga 1\ell_1 va 2\ell_2 jarimalarini qo'shadi.
  2. Donorlar havzasini cheklash: kamroq, yaxshiroq asoslangan donorlar ko'proq donorlardan afzal — permutatsiya panjarasi qo'polroq bo'lishi evaziga, chunki JJ minimal p-qiymatni ham belgilaydi. Bu haqiqiy taranglik va uning sodda yechimi yo'q.
  3. Augmented SCM: Ben-Michael, Feller va Rothstein (2021) mukammal pre-fitga erishib bo'lmaganda biasni tuzatish uchun natija modelidan foydalanadi.

Nostatsionarlik

SCMni narx darajalarida emas, jamlangan daromadlarda ishlating — darajalar soxta mosliklarni taklif qiladi. Keyingi davr tafovutiga ishonishdan oldin aralashuvdan oldingi gap o'rtachasi nol va stasionar ekanini tasdiqlang; kuzatilgan qator emas, moslangan qoldiq tekshirilganda kerak bo'ladigan tuzatilgan kritik qiymatlar bilan birga ADF va Engle-Granger usullari statistik arbitraj va juft savdo maqolasida yoritilgan.

Bir nechta ta'sir ko'rgan birlik

Bir vaqtning o'zida bir nechta aktivga joriy qilish bitta ta'sir ko'rgan birlik dizaynini buzadi. Kengaytmalar: pooled SCM (ta'sir ko'rgan birliklar bo'yicha o'rtacha effektlar) va turli vaqtlarda ta'sirlangan birliklar uchun staggered adoption dizaynlari (Ben-Michael va hammualliflar, 2022).

SCMni qachon ishlatmaslik kerak

Noaniq sababiy tuzilma

Quyidagilarga mos: ma'lum sanada bo'lgan diskret, aniq belgilangan aralashuv; o'xshash, ta'sir ko'rmagan birliklardan iborat oqilona donorlar havzasi; oldindan kutilmagan aralashuvlar, chunki kutilish ta'sir ko'rgan birlikni T0T_0 dan oldin siljitadi va identifikatsiyani buzadi.

Quyidagilarga mos emas: bir necha hafta davomida siljiydigan parametr kabi uzluksiz ta'sir; haqiqatan ta'sir ko'rmagan o'xshash birliklar bo'lmagan holatlar; signal-shovqin nisbati vaznlarni baholashga xalaqit beradigan yuqori chastotali baholash.

Xulosa

Haqiqiy va sintetik trayektoriyalarning birga yaqinlashishi

Tanlash va konfaunding — turli muvaffaqiyatsizlik rejimlari, ularga turli vositalar kerak. DSR va PBO qidiruvni baholaydi. SCM kontrafaktni baholaydi va aynan bitta tajriba o'tkazgan bo'lsangiz ham natijaga ishonib bo'lmaydigan holatni ko'rib chiqadigan ushbu turkumdagi yagona vositadir.

Uni ad-hoc benchmarkdan afzal ko'rish sababi kattaroq effektlar berishi emas — u ko'pincha kichikroq effekt beradi — balki rad etishga qodirligidir. Agar donorlarning hech bir qavariq kombinatsiyasi aralashuvdan oldin instrumentingizni kuzatmasa, SCM buni aytadi va siz to'xtaysiz. Agar ta'sir ko'rgan birlik tafovuti donorlar buluti ichida bo'lsa, placebo p-qiymati buni aytadi va siz null natijani hisobot qilasiz. Shu ikki chiqish usulning qiymatidir; aralashuvdan oldingi MSPE va placebo p-qiymatisiz SCM tavsifi uni ikki chiziqning ajralishini ko'rsatuvchi grafikdan ko'proq qiladigan yagona qismlarni tashlab ketadi.


Qo'shimcha o'qish

  • Abadie, A., Diamond, A., & Hainmueller, J. (2010). "Synthetic Control Methods for Comparative Case Studies." Journal of the American Statistical Association, 105(490), 493-505.
  • Abadie, A. (2021). "Using Synthetic Controls: Feasibility, Data Requirements, and Methodological Aspects." Journal of Economic Literature, 59(2), 391-425.
  • Ben-Michael, E., Feller, A., & Rothstein, J. (2021). "The Augmented Synthetic Control Method." Journal of the American Statistical Association, 116(536), 1789-1803.
  • Cunningham, S. (2021). Causal Inference: The Mixtape. Chapter 10: Synthetic Control. Available at mixtape.scunning.com.
  • Microsoft Research. SparseSC: Sparse Synthetic Controls. github.com/microsoft/SparseSC.
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

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.