← Makalelere geri dön
August 1, 2026
5 dakikalık okuma

Ticaretsel Heterojen Tedavi Etkileri için Nedensel Ormanlar

Ticaretsel Heterojen Tedavi Etkileri için Nedensel Ormanlar
#causal-inference
#causal-forest
#heterogeneous-effects
#econometrics
#treatment

Bu blogdaki her tahminci model aynı nesneyi tahmin eder: koşullu bir ortalama μ(x)=E[YX=x]\mu(\mathbf{x}) = \mathbb{E}[Y \mid \mathbf{X} = \mathbf{x}]. Özellik mühendisliği, gradient boosting, konform aralıklar, walk-forward doğrulama — hepsi bir tek estimand için çalışır. Bu makale farklı bir estimand hakkındadır ve onu değiştirdiğinizde değişen makineler hakkında.

Nesne koşullu ortalama tedavi efekti:

τ(x)=E[Yi(1)Yi(0)Xi=x]\tau(\mathbf{x}) = \mathbb{E}[Y_i(1) - Y_i(0) \mid \mathbf{X}_i = \mathbf{x}]

aynı birim için iki potansiyel sonuç arasındaki fark — bunlardan birini asla gözlemlemezsiniz. Üzerine regresyon yapamazsınız, çünkü verilerinizde yoktur. Nedensel ormanlar (Athey ve Imbens 2016; Wager ve Athey 2018) bunu parametrik olmayan şekilde tahmin eder ve önemlisi, etrafında geçerli bir güven aralığı verir.

Bunu mümkün kılan üç şey vardır ve bunların hiçbiri standart rastgele ormanda yoktur: tahmin hatasını minimize etmek yerine tedavi efekti varyansını maximize eden bölme kriteri, aynı gözlemleri bir bölme seçmek ve içindeki efekti tahmin etmek için kullanmayı yasaklayan dürüstlük kısıtlaması, ve ormanı yaprak birlikte oluşumunu tahmin ağırlıklarına dönüştüren uyarlanır bir çekirdek olarak yeniden okuma. Bu üç şey, artı bulduğunuz heterojenitenin sinyal olup olmadığını söyleyen kalibrasyon testi, bu makalenin içeriğidir.

Ortalama Etkilerden Heterojen Etkilere

Düz bir ortalama tedavi efekti, heterojen tedavi-efekti yüzeyi tarafından ortaya çıkarılan pozitif ve negatif cepleri gizler

Ortalama Tedavi Etkisi

Ayar: ikili bir tedavi Wi{0,1}W_i \in \{0, 1\} (bir olay tetiklendi ya da tetiklenmedi), bir sonuç YiY_i (bir getiri), kovaryatlar Xi\mathbf{X}_i. Ortalama Tedavi Etkisi şudur:

τATE=E[Yi(1)Yi(0)]\tau_{\text{ATE}} = \mathbb{E}[Y_i(1) - Y_i(0)]

tüm birimler üzerindeki ortalama etki. Ticaret için bu neredeyse işe yaramaz — ortalama ticaret yapmazsınız. Bir olay yarım evreni yukarı itiyor ve yarım aşağı, ATE sıfırdır ve fırsat maksimumdur.

Koşullu Ortalama Tedavi Etkisi

CATE τ(x)\tau(\mathbf{x}) özellikler üzerinde koşullandırır. Belirli bir piyasa değerine, realize edilmiş volatiliteye, funding geçmişine ve order book derinliğine sahip bir coin verildiğinde, bu olayın bu varlık üzerinde beklenen getiri etkisi nedir? CATE, kovaryat uzayı üzerinde bir fonksiyondur ve bu fonksiyonu şeklini dayatmadan tahmin etmek, nedensel ormanların yaptığı şeydir.

Neden Sadece Lineer Etkileşim Modelleri Kullanmıyoruz?

Ders kitabı alternatifi doygun bir regresyondur:

Yi=α+βWi+γWiXi+δXi+ϵiY_i = \alpha + \beta W_i + \gamma W_i \cdot \mathbf{X}_i + \delta \mathbf{X}_i + \epsilon_i

burada γ\gamma etkileşimi taşır. Bu, etkileşimin doğrusal olduğunu varsayar. Nadirdir: bir funding flip'e duyarlılık, leverageda doğrusal değil, dışbükeydir; derinlik, piyasa değeri ile çarpımsal olarak etkileşir; volatilite rejimi diğer her şeyi kapılar. Nedensel ormanlar bunların hiçbirini dayatmaz — kovaryat uzayını uyarlanır şekilde böler ve heterojenite yapısının verilerden düşmesine izin verir.

Nedensel Ormanlar: Algoritma

Ayrık örnekler ağaç yapısını oluşturur ve donmuş yapraklarda efektleri tahmin eder, sonra çok sayıda dürün ağaç nedensel ormana birleşir

Nedensel orman, tedavi-efekti estimand etrafında yeniden inşa edilmiş bir rastgele ormandır. Her ağaç, tedavi-efekti heterojenitesini maximize etmek için kovaryat uzayını bölen bir nedensel ağaçtır.

Nedensel Ağaçlar

Her iç düğümde, algoritma bir bölme değişkeni jj ve bölme noktası ss seçer. Regresyon ağacından temel fark: kriter, karesel tahmin hatasını minimize etmek yerine çocuklar arasında tahmin edilen tedavi efektinin varyansını maximize eder.

(Yi,Wi,Xi)inode(Y_i, W_i, \mathbf{X}_i)_{i \in \text{node}} verisine sahip bir düğüm için, düğüm seviyesinde efekt tahmini grup ortalamaları farkıdır:

τ^node=YˉtreatedYˉcontrol\hat{\tau}_{\text{node}} = \bar{Y}_{\text{treated}} - \bar{Y}_{\text{control}}

ve bölme skoru şudur:

Δ(split)=nLτ^L2+nRτ^R2nτ^parent2\Delta(\text{split}) = n_L \cdot \hat{\tau}_L^2 + n_R \cdot \hat{\tau}_R^2 - n \cdot \hat{\tau}_{\text{parent}}^2

burada nL,nR,nn_L, n_R, n sol çocuk, sağ çocuk ve ebeveyndeki örnek boyutlarıdır. Bu, tam olarak tedavi etkilerinin gruplar arası varyansıdır: bir bölme, iki çocuk etki konusunda anlaşmazlığa düştüğünde iyidir, sonucu iyi tahmin ettiklerinde değil. YY'yi güçlü tahmin eden ancak WW'nin nasıl hareket ettiğine ortogonal bir kovaryat asla seçilmez.

Dürüst Tahmin

Kritik yenilik dürüstlüktür. Ağac yapısını belirlemek için kullanılan veriler, yaprak efektlerini tahmin etmek için kullanılan verilerden ayrık olmalıdır:

  1. Verileri böl Isplit\mathcal{I}_{\text{split}} ve Iest\mathcal{I}_{\text{est}} olarak
  2. Ağacı oluştur, bölme değişkenlerini ve noktalarını seçmek için sadece Isplit\mathcal{I}_{\text{split}} kullanarak
  3. Yaprak efektlerini tahmin et, sadece Iest\mathcal{I}_{\text{est}} kullanarak, bu gözlemleri zaten sabitlenmiş ağaca düşürerek

Bunsuz, ağaç hile yapar: onları bulmak için kullanılan aynı örnekteki gürültü olan ekstrem efektlerle yapraklar oyalar ve sonra bu gürültüyü tahmin olarak rapor eder. Bu, backtest overfitting olasılığı tarafından strateji seviyesinde ölçülen aynı uyarlanır-seçim başarısızlığıdır, ancak burada tahmin edicinin içinde buna karşı savunulur, durum sonrası teşhis edilmez. Dürüstlük asimptotik yanlılıksızlık satın alır:

E[τ^(x)Xi=x]=τ(x)+o(1)\mathbb{E}[\hat{\tau}(\mathbf{x}) \mid \mathbf{X}_i = \mathbf{x}] = \tau(\mathbf{x}) + o(1)

Fiyat örnek verimliliğidir — verilerinizin yarısı, sonra doldurmak için kullanılamayan bir yapı oluşturur.

Ağaçlardan Ormanlara

Nedensel orman, her biri s<ns < n boyutunda rastgele bir alt örnek üzerinde ve her bölmede rastgele bir kovaryat alt kümesi ile BB nedensel ağacı toplar:

τ^(x)=1Bb=1Bτ^b(x)\hat{\tau}(\mathbf{x}) = \frac{1}{B}\sum_{b=1}^{B} \hat{\tau}_b(\mathbf{x})

Bunu yazmanın daha kullanışlı yolu ağırlıklı ortalama bir sonuç olarak:

τ^(x)=i=1nαi(x)Yi\hat{\tau}(\mathbf{x}) = \sum_{i=1}^{n} \alpha_i(\mathbf{x}) \cdot Y_i

ii gözleminin x\mathbf{x} ile aynı yaprağa ne sıklıkla düştüğüne göre belirlenen uyarlanır ağırlıklar ile:

αi(x)=1Bb=1B1(XiLb(x))Lb(x)\alpha_i(\mathbf{x}) = \frac{1}{B}\sum_{b=1}^{B} \frac{\mathbb{1}(\mathbf{X}_i \in L_b(\mathbf{x}))}{|L_b(\mathbf{x})|}

burada Lb(x)L_b(\mathbf{x}), bb ağacında x\mathbf{x}'i içeren yapraktır. Bu, generalize random forest görüşüdür (Athey, Tibshirani ve Wager 2019): nedensel orman yerel uyarlanır bir çekirdek tahmin edicisidir. Kendi "benzerlik" notionsunu öğrenir, efekt heterojenitesinde önemli olan kovaryatlar tarafından tanımlanır, Öklid mesafesi tarafından değil, ölçeği elle seçmeniz gereken bir uzayda.

Asimptotik Teori

Düzenlilik koşulları altında (Wager ve Athey 2018) tahmin edici tutarlıdır, τ^(x)pτ(x)\hat{\tau}(\mathbf{x}) \xrightarrow{p} \tau(\mathbf{x}), ve asimptotik olarak normaldir:

τ^(x)τ(x)σ^(x)dN(0,1)\frac{\hat{\tau}(\mathbf{x}) - \tau(\mathbf{x})}{\hat{\sigma}(\mathbf{x})} \xrightarrow{d} \mathcal{N}(0, 1)

nokta aralıkları τ^(x)±zα/2σ^(x)\hat{\tau}(\mathbf{x}) \pm z_{\alpha/2} \cdot \hat{\sigma}(\mathbf{x}) verir. Varyans σ^2(x)\hat{\sigma}^2(\mathbf{x}), infinitesimal jackknife'den (veya bootstrap-of-little-bags) gelir, ormanın zaten inşa ettiği aynı alt örnek yapısından hesaplanır — dış bootstrap döngüsü yoktur.

Bu garantisinin ne ve ne olmadığı hakkında kesin olmaya değer. Bu asimptotik ve nokta sayılır, ve CATE için geçerlidir. Bu blogun başka yerlerinde kullanılan konform tahmin aralıkları sonlu örnek ve dağılımsızdır, ancak marjinaldir ve bir sonucu kapsar. Farklı estimand, farklı garanti; bunlar ikame değildir.

Double Machine Learning Bağlantısı

Tedavi rastgele atanmadığında, nedensel orman residualize veriye fit edilir: bir sonuç modeli m^(X)=E[YX]\hat{m}(\mathbf{X}) = \mathbb{E}[Y \mid \mathbf{X}] ve bir propensity modeli e^(X)=E[WX]\hat{e}(\mathbf{X}) = \mathbb{E}[W \mid \mathbf{X}] cross-fit ile tahmin edilir, ve orman Y~=Ym^\tilde{Y} = Y - \hat{m} karşı W~=We^\tilde{W} = W - \hat{e} üzerinde çalışır. Neyman ortogonalliği bunun güvenli olmasını sağlar: nuisance-tahmin hatası sadece bir ürün olarak girer, böylece m^\hat{m} ve e^\hat{e} her biri n1/4n^{-1/4} ile converge olabilir ve τ^\hat{\tau} hala n1/2n^{-1/2} ile converge eder.

Bu çerçeve — residualization, cross-fitting, ortogonallik argümanı, örnek boyutu etkileri — kendi makalesinin konusudur, Nedensel Ticaret Sinyalleri için Double Machine Learning. Önce onu okuyun; aşağıdaki her şey bunu varsayar ve sadece estimand τ\tau yerine τ(x)\tau(\mathbf{x}) olduğunda değişenleri kapsar.

Ticaret Uygulaması: Olay Etki Heterojenitesi

Bir piyasa olayı, farklı kovaryatlara sahip varlıklarda pozitif, nötr ve negatif karşıt olası yanıtlar üretir

Ayar

Bu blog için doğal alan, perpetual-futures coin evrenidir, burada olaylar sık, zaman damgalı ve vendor beslemesi olmadan gözlemlenebilir.

  • Birimler: ticareti perp evreni üzerinde coin-olay gözlemleri
  • Tedavi: Wi=1W_i = 1 eğer olay ii coini için tetiklendiyse — bir funding-rate işaret flip, spot listing, veya liquidation cascades as a trading signal içinde açıklanan süper kritik eşiği geçen bir tasfiye zinciri — ve eşleşen non-olay pencereleri için Wi=0W_i = 0
  • Sonuç: YiY_i = olay penceresi üzerindeki anormal getiri, ham getiri değil. Olaydan önceki bir tahmin penceresinde piyasa modelini fit edin, sonra kümülatif anormal getiriyi alın. Tam spesifikasyon — tahmin penceresi, piyasa-model regresyonu, CAR yapısı ve t-istatistiği — LLM alpha mining from earnings calls içindeki olay çalışması bölümünde çalışılır; aynen yeniden kullanın. Bu adım isteğe bağlı değildir: ham close-to-close sonucu, piyasa geneli hareketinin τ^\hat{\tau}'a girmesine izin verir ve piyasa hareketi tüm tedavi edilen birimler için ortak olduğundan, tam olarak bir tedavi efekti gibi görünür
  • Kovaryatlar Xi\mathbf{X}_i: piyasa değeri, realize edilmiş volatilite, funding geçmişi, order book derinliği, open-interest-to-cap oranı
  • Konfounders Wi\mathbf{W}_i: hem olasılık hem de getiri kaydıran rejim değişkenleri

Ticaret Sinyali

CATE yüzeyi, kalibre edilmiş belirsizlik tahmini gibi tam olarak bir position sizer'a map eder: aralık genişliğine göre τ^|\hat{\tau}| ile boyutlandır, ve aralık sıfırı kapsadığında ticaret yapma. Bu karar kuralı — ters genişlik boyutlandırma, edge oranı e=τ^/we = |\hat{\tau}|/w, no-trade filtresi, maliyet farklı varyantı ve neden bunu bir Kelly fraksiyonuna çarpmamanız gerektiği argümanı — Conformal Prediction for Risk-Aware Position Sizing içinde türetilir. μ^\hat{\mu} yerine τ^\hat{\tau} ile ve konformal yerine nedensel orman aralığı ile yeniden kullanın. Uzun ve kısa bacakları dengeleyin ve kit yapı gereği piyasa nötrdür.

EconML ile Python Uygulaması

import numpy as np
import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier
from econml.dml import CausalForestDML


def fit_causal_forest(Y, T, X, W, n_estimators=1000):
    """
    CausalForestDML: (X, W) karşı residualize et, sonra residual
    üzerinde nedensel orman fit et.

    Y: olay penceresi üzerinde anormal getiri (CAR, piyasa-model ayarlı)
    T: olay göstergesi
    X: etki değiştiriciler -- sadece bunlar heterojeniteyi sürdürür
    W: konfounders -- sadece nuisance model girer
    """
    cf = CausalForestDML(
        model_y=GradientBoostingRegressor(
            n_estimators=200, max_depth=5, learning_rate=0.05
        ),
        model_t=GradientBoostingClassifier(
            n_estimators=200, max_depth=5, learning_rate=0.05
        ),
        n_estimators=n_estimators,
        min_samples_leaf=20,
        max_depth=None,
        criterion="het",          # heterojenite tabanlı bölme
        honest=True,              # dürün tahmin
        inference=True,           # infinitesimal-jackknife aralıkları
        cv=5,                     # DML için cross-fit katlamaları
        random_state=42,
    )
    cf.fit(Y=Y, T=T, X=X, W=W)
    return cf


def summarize_cate(cf, X, feature_names):
    """CATE dağılımı ve heterojenitesini neyin sürdürdüğü."""
    tau_hat = cf.effect(X)
    tau_lo, tau_hi = cf.effect_interval(X, alpha=0.05)

    print(f"Mean CATE:      {tau_hat.mean():.4f}")
    print(f"Std CATE:       {tau_hat.std():.4f}")
    print(f"Range:          [{tau_hat.min():.4f}, {tau_hat.max():.4f}]")
    print(f"% CI excl. 0:   {((tau_lo > 0) | (tau_hi < 0)).mean():.1%}")

    for idx in np.argsort(cf.feature_importances_)[::-1]:
        print(f"  {feature_names[idx]:>20s}: {cf.feature_importances_[idx]:.4f}")

    return tau_hat, tau_lo, tau_hi

CATE Yüzeyini Yorumlama

Marjinal efekt grafikleri, tedavi efektinin bir kovaryat boyunca diğerleri medyan tutulduğken nasıl hareket ettiğini gösterir:

def plot_cate_by_feature(cf, X, feature_idx, n_points=50):
    x_grid = np.linspace(X[:, feature_idx].min(),
                         X[:, feature_idx].max(), n_points)
    X_eval = np.tile(np.median(X, axis=0), (n_points, 1))
    X_eval[:, feature_idx] = x_grid

    tau = cf.effect(X_eval)
    tau_lo, tau_hi = cf.effect_interval(X_eval, alpha=0.05)
    return x_grid, tau, tau_lo, tau_hi

Bunları fit edilmiş yüzeyin açıklamaları olarak okuyun, nedensel doz-yanıt eğrileri olarak değil — diğer kovaryatları medyanda tutmak sızı desteği olmayan bir kovaryat uzayı bölgesine yerleştirebilir.

Temel Varsayımlar ve Tanılar

Overlap, balance, gizli konfund etme ve placebo kontrolleri, savunulabilir bir nedensel tahmin yolu üzerinde kapılar

Bunları ihlal ederseniz, kendinden emin, kesin, yanlış etkiler elde edersiniz.

1. Unconfoundedness (Gözlemlenebilir Üzerinden Seçim)

Y(0),Y(1)WX,WY(0), Y(1) \perp W \mid \mathbf{X}, \mathbf{W}

Tedavi ataması, gözlemlenen kovaryatlar verildiğinde potansiyel sonuçlardan bağımsız olmalıdır. Mekanik olarak tanımlanmış bir olay için bu savunulabilir; kendisi piyasa reaksiyonu olan bir olay için — bir listing duyurusu, borsanın kendi tasfiye motorunun tetiklenmesi — değildir, çünkü olayı tetikleyen aynı gözlemlenmemiş akış getiriyi de hareket ettirir.

Bunu Rosenbaum hassasiyet analizi ile test edin: gözlemlenmemiş bir UU, tedavi şansını Γ\Gamma faktörüne kadar kaydırabilirse,

P(W=1X,U)P(W=0X,U)ΓP(W=1X)P(W=0X)\frac{P(W=1 \mid \mathbf{X}, U)}{P(W=0 \mid \mathbf{X}, U)} \leq \Gamma \cdot \frac{P(W=1 \mid \mathbf{X})}{P(W=0 \mid \mathbf{X})}

tahmin edilen efekt işaret değiştirmesinden önce Γ\Gamma ne kadar büyük olmalıdır? Γ=1.1\Gamma = 1.1'de kırılan bir tasarım bir bulgu değildir.

2. Overlap (Pozitivite)

0<P(W=1X=x)<1x0 < P(W = 1 \mid \mathbf{X} = \mathbf{x}) < 1 \quad \forall \mathbf{x}

Her birimin her iki kolda görünme olumlu olasılığına ihtiyacı vardır. Propensity skorlarını kontrol edin ve budama yapın:

propensity = cf.models_t[0][0].predict_proba(np.hstack([X, W]))[:, 1]
print(f"Propensity range: [{propensity.min():.3f}, {propensity.max():.3f}]")
valid = (propensity > 0.05) & (propensity < 0.95)
print(f"Retained after trimming: {valid.mean():.1%}")

Budama ücretsiz değildir — τ^\hat{\tau}'nın tanımladığı popülasyonu yeniden tanımlar. Hayta kalan kısmı raporlayın.

3. SUTVA (Stable Unit Treatment Value Assumption)

Yi=Yi(Wi)(birimler arasında interferans yok)Y_i = Y_i(W_i) \quad \text{(birimler arasında interferans yok)}

Bir birimin tedavisi başka bir birimin sonucunu etkilememelidir. Kripto'da bu, üçünün en zayıfıdır: bir perp'teki tasfiye zinciri, ortak collateral ve market maker envanteri üzerinden her korele çifte yayılır, bu interfering tanımıdır. Standart hataları korelasyon grubuna göre kümeleme kısmen ele alır; hiçbir şey tamamen yapmaz.

İkili Tedavilerin Ötesinde

Nedensel ormanlar aynı DML makinesi yoluyla sürekli tedavilere uzanır — sadece olayını değil, bir şokun büyüklüğünün varlıkları nasıl farklı şekilde hareket ettirdiğini tahmin eder:

Yi=τ(Xi)Ti+g(Xi,Wi)+ϵiY_i = \tau(\mathbf{X}_i) \cdot T_i + g(\mathbf{X}_i, \mathbf{W}_i) + \epsilon_i

burada TiT_i, örneğin, funding-rate değişikliğinin basis point cinsinden boyutudur. Şimdi τ(x)\tau(\mathbf{x}) bir basis point başına efektir.

cf_continuous = CausalForestDML(
    model_y=GradientBoostingRegressor(n_estimators=200),
    model_t=GradientBoostingRegressor(n_estimators=200),  # regression, not classifier
    discrete_treatment=False,
    n_estimators=1000,
    honest=True,
    inference=True,
)
cf_continuous.fit(Y=car, T=funding_change_bps, X=asset_features, W=controls)
effects_25bp = cf_continuous.effect(X_test, T0=0, T1=25)

Pratik Hususlar

Heterojenite Gerçek mi?

Bu, nedensel ormanların cevapladığı sorudur ve bu blogda başka bir şey yapmaz ve gerçek bir testi hak eder, baş parmak kuralı değil. Dürüstlük, tahmin edici içinde sahte bölmelere karşı korur; tutulan olaylar üzerinde (tutulan varlıklar üzerinde değil) örnek dışı değerlendirme standarttır ve walk-forward optimization ve deflated Sharpe ve multiple testing içinde kapsanır. Hiçbiri τ^(x)\hat{\tau}(\mathbf{x})'in x\mathbf{x} ile vary olup olmadığını söylemez.

Best Linear Predictor testi bunu yapar. Residualize sonucu residualize tedavi üzerinde ve centered CATE tahmini ile etkileşimi üzerinde regresyon yapın:

Yim^(Xi)=α0(Wie^(Xi))+α1(Wie^(Xi))(τ^(Xi)τˉ)+ϵiY_i - \hat{m}(\mathbf{X}_i) = \alpha_0 (W_i - \hat{e}(\mathbf{X}_i)) + \alpha_1 (W_i - \hat{e}(\mathbf{X}_i))(\hat{\tau}(\mathbf{X}_i) - \bar{\tau}) + \epsilon_i

İki katsayı iki farklı soruyu cevaplar. α0\alpha_0 ortalama etkidir: burada hiçbir şey var mı? α1\alpha_1 kendi tahminlerinizde kalibrasyon eğimidir: ormanınız etki daha büyük dediğinde, gerçekten daha büyük mi? Heterojenite yokluğunun null altında α1=0\alpha_1 = 0'dır. Mükemmel kalibrasyon altında α1=1\alpha_1 = 1'dir. α1\alpha_1 sıfırdan anlamlı ancak birinden uzaksa, orman gerçek bir sıralama bulmuş ancak dağılımını abartmıştır — sıralamayı ticaret edebilirsiniz, büyüklükleri değil.

EconML'in RScorer eşlik eden bir model seçim skoru verir:

from econml.score import RScorer

scorer = RScorer(
    model_y=GradientBoostingRegressor(n_estimators=100),
    model_t=GradientBoostingClassifier(n_estimators=100),
    discrete_treatment=True,
    cv=5,
)
scorer.fit(Y_val, T_val, X=X_val, W=W_val)
print(f"R-score: {scorer.score(cf):.4f}")

Scorer'ı, ormanın asla görmediği bir validation split üzerinde fit edin, ardından aday CATE modellerini birbirleriyle ve sabit efekt baseline ile karşılaştırmak için kullanın. R-score'da sabit efekt modelini yeneamayan bir orman, örnek içi importance'ları ne derse desin, ticaret etmeye değer heterojenite bulmamıştır.

Örnek Boyutu

Nedensel ormanlar, bir sonuç modelinden daha fazla veriye ihtiyaç duyar, çünkü estimand bir farktır ve her iki kol da her yaprak içinde doldurulmalıdır. Genel veri-vs-parametre disiplini — serbest parametre başına kaç örnek dışı nokta, ve configurations karşılaştırıyorsanız Bonferroni düzeltmesi — walk-forward optimization içindeki veri gereksinimleri bölümündedir. Nedensel ormana özgü cevap ampiriktir, baş parmak kuralı değildir: ormanı iç içe alt örnekler üzerinde fit edin ve medyan aralık genişliğini nn'e karşı plotlayın; kullanılabilir örnek boyutu, genişliğin ticaret etmeyi amaçladığınız efekt boyutlarının altına düştüğü yerdir.

Walk-Forward, İki Burunlu

Değerlendirme protokolü ordinary anchored walk-forward'tur — tt'ye kadar tüm olaylarda refit yap, t+1t+1 olayını ticaret yap — ve tam tedavi, purging, embargo, walk-forward verimlilik oranı ve bozulma oranı dahil, walk-forward optimization içindedir. İki şey bu tahmin ediciye özgüdür.

Birincisi, olay pencereleri overlap eder. Eğer t+1t+1 olayından önceki kovaryat penceresi tt olayının sonuç penceresini içeriyorsa, katlar gözlemleri paylaşır ve örnek dışı sonuç kontamine olur. Tek bir PnL numarası saymadan önce overlap pencereleri temizleyin; funding flip gibi mekanik sık bir tedavi ile bu olayların önemli bir kısmını kaldırabilir.

İkincisi, dürüst bölme her refit'te yeniden çizilmelidir. Aynı Isplit\mathcal{I}_{\text{split}}/Iest\mathcal{I}_{\text{est}} bölümünü katlar arasında taşımak, dürüstlüğün var olma nedeni olan yapı-seçim sızıntısını tam olarak yeniden girer, çünkü yeni eklenen olaylar, eski olanların bilgisi ile seçilen bir bölüme düşer.

Sonra herhangi bir şeye inanmadan önce olay seviyesinde örnek dışı PnL'yi normal kapılardan geçirin — PBO ve deflated Sharpe ratio.

Maliyetler

Bir CATE sinyali, diğer olaya yönlendirilmiş sinyaller gibi fiyatlandırılır: no-trade filtresinden önce τ^|\hat{\tau}|'den beklenen half-spread'i çıkarın ve ince kitaplarda boyutu küçültün. Kantitatif versiyonlar — kare kök etki yasası ve slippage cost models içinde fit edilmiş maliyet eğrileri, conformal prediction içinde maret farklı no-trade filtresi, ve implementation shortfall and TCA içinde yürütme muhasebesi — hepsi değişmeden transfer eder.

Transfer etmeyen tek şey: bir CATE sinyalinin raf ömrü olay penceresi ile sınırlıdır, bu nedenle maliyet açık uçlu bir yerine sabit kısa bir tutma süresi üzerinde amorti edilir. Sürekli tutulan bir sinyali spread bir kez öder ve edge kaldığı sürece kazanır; bu her olayda öder. Edge'in bunu sağlayıp sağlamadığı, kendi belirli olayınız ve kendi belirli evreniniz hakkında ampirik bir sorudur ve bu, kontrol edilmesi gereken ilk şeydir, çünkü stratejiyi herhangi bir nedensel mühendislik önemli olmadan önce öldürebilir.

Sonuç

Nedensel ormanlar, bu blogun diğer toolkitinden farklı bir nesneyi tahmin eder. "Bu varlık ne getirecek" değil, "tetiklenmediği karşıt duruma göre bu olay bu varlığı ne kadar hareket ettirdi". Bunu tahmin edilebilir kılan makineler — heterojeniteyi maximize eden bölmeler, dürün tahmin, uyarlanır çekirdek ağırlık temsili ve infinitesimal-jackknife aralıkları — sıradan denetimli öğrenmede analogu yoktur, ve ihtiyaç duyduğu varsayımlar (unconfoundedness, overlap, SUTVA) yeterince güçlüdür, test edilmeleri gerekir, iddia edilmeleri gerekmez.

Bu makalenin sahip olmadığı şey sonuçtur. Yukarıdaki her numara bir yer tutucudur. dürüün negatif ve deflated Sharpe tarafından belirlenen standarda göre, ölçülmüş bir CATE dağılımı, p-değeri olan bir BLP α1\alpha_1, bir overlap tanısı ve DSR/PBO kapılı örnek dışı PnL olmayan bir yöntem bir öğreticidir, bir bulgu değil. Bu numaralar sonraki iştir; negatif bir sonuç yayınlanmaya değer.

Referanslar

  1. Athey, S., Imbens, G.W. "Recursive Partitioning for Heterogeneous Causal Effects." PNAS, 113(27), 7353-7360 (2016).
  2. Wager, S., Athey, S. "Estimation and Inference of Heterogeneous Treatment Effects using Random Forests." JASA, 113(523), 1228-1242 (2018). arXiv:1510.04342
  3. Athey, S., Tibshirani, J., Wager, S. "Generalized Random Forests." Annals of Statistics, 47(2), 1148-1178 (2019).
  4. Chernozhukov, V., et al. "Double/Debiased Machine Learning for Treatment and Structural Parameters." The Econometrics Journal, 21(1), C1-C68 (2018).
  5. Chernozhukov, V., Demirer, M., Duflo, E., Fernandez-Val, I. "Generic Machine Learning Inference on Heterogeneous Treatment Effects in Randomized Experiments." (2018). arXiv:1712.04802
  6. Battocchi, K., et al. "EconML: A Python Package for ML-Based Heterogeneous Treatment Effects Estimation." Microsoft Research (2019). GitHub
Sorumluluk Reddi: Bu makalede sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır ve finansal, yatırım veya ticaret tavsiyesi niteliği taşımaz. Kripto para ticareti önemli bir kayıp riski içerir.

Yazarlar

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

Piyasanın Önünde Olun

Özel yapay zeka ticaret içgörüleri, piyasa analizi ve platform güncellemeleri için bültenimize abone olun.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.