← Quay lại danh sách bài viết
August 7, 2026
5 phút đọc

Toda-Yamamoto vs Differenced Granger: Liệu độ trễ dẫn đầu của BTC có tồn tại được không?

Toda-Yamamoto vs Differenced Granger: Liệu độ trễ dẫn đầu của BTC có tồn tại được không?
#causal-inference
#Granger-causality
#lead-lag
#crypto
#VAR

Hầu hết mọi kết quả nhân quả Granger được công bố về tiền điện tử đều được tính toán trên log-return. Sự lựa chọn đó không miễn phí. Sự khác biệt làm cho chuỗi dừng lại, điều mà bài kiểm tra F tiêu chuẩn yêu cầu, nhưng nó cũng loại bỏ mối quan hệ cấp độ - và nếu hai đồng tiền được đồng liên kết, VAR khác biệt sẽ bị xác định sai và bài kiểm tra đang trả lời một câu hỏi hơi khác so với câu hỏi bạn đã hỏi.

Toda và Yamamoto (1995) đưa ra một giải pháp: điều chỉnh VAR ở các cấp độ có độ trễ cao hơn, chỉ kiểm tra những cái ban đầu và nhận được một kết quả hợp lệ. χ2\chi^2 bất kể nghiệm đơn vị hay sự đồng liên kết. Nó nổi tiếng trong kinh tế lượng và hầu như không bao giờ được áp dụng cho độ trễ dẫn đầu của tiền điện tử.

Vì vậy, bài viết này thực hiện một việc: chạy cả hai thử nghiệm trên cùng một cặp, trên cùng một cửa sổ và báo cáo xem chúng có không đồng ý hay không. Sau đó, áp dụng biện pháp theo dõi trung thực — một hiệu chỉnh thử nghiệm đa nhóm tương quan trên ma trận kết quả và giá trị p luân phiên để xem liệu độ trễ "đáng kể" có đủ ổn định để giao dịch hay chỉ nhấp nháy trên ngưỡng.

Lý thuyết dưới đây chỉ đủ để làm cho sự so sánh trở nên rõ ràng. Blog đã đề cập đến các gốc đơn vị, sự đồng tích hợp, tải dữ liệu, định cỡ và chi phí; đó là những liên kết, không phải các phần.

Những gì nhân quả Granger thực sự tuyên bố

Lộ trình dẫn đầu có định hướng trong các sự kiện thị trường

Nhân quả Granger là mức độ ưu tiên dự đoán, không phải cơ chế: XX nguyên nhân Granger YY nếu đã qua XX làm giảm phương sai lỗi dự báo của YY vượt quá những gì quá khứ YY đã giải thích rồi.

XX nguyên nhân Granger YY nếu như σ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})

Hai chuỗi được điều khiển bởi một yếu tố ẩn chung có thể cho thấy mối quan hệ nhân quả Granger mà không có mối liên hệ trực tiếp nào giữa chúng. Trong tiền điện tử, lời cảnh báo đó không mang tính học thuật — BTC là yếu tố chi phối duy nhất trên toàn bộ tổ hợp altcoin, do đó, hầu hết mọi "quan hệ nhân quả" từ alt đến alt đều là một tạo tác có thể có tốc độ phản ứng khác nhau đối với cùng một cú sốc BTC.

Khung VAR

Bài kiểm tra tồn tại bên trong Vector Autoregression. Đối với hai biến có pp độ trễ:

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}

Ở dạng ma trận, VAR(p) với kk biến:

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

Kiểm tra xem XX nguyên nhân Granger YY đang thử nghiệm hạn chế chung H0:β1==βp=0H_0: \beta_1 = \cdots = \beta_p = 0 trong phương trình đầu tiên. Lộ trình tiêu chuẩn là thử nghiệm F trên tổng bình phương bị hạn chế và không bị giới hạn,

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

với dạng Wald tiệm cận tương đương W=T(RSSrRSSu)/RSSudχ2(p)W = T \cdot (RSS_r - RSS_u)/RSS_u \xrightarrow{d} \chi^2(p). Mọi thứ tiếp theo là câu hỏi về hệ số nào mà hạn chế được áp dụng và VAR được trang bị dựa trên dữ liệu nào.

Lựa chọn độ trễ

pp quan trọng hơn hầu hết các bài viết thừa nhận: quá ít độ trễ bỏ lỡ động lực, quá nhiều mức độ tự do đốt cháy và phá hủy quyền lực.

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}

Phạm vi tìm kiếm hợp lý: 1-60 trên dữ liệu thứ hai, 1-30 trên dữ liệu phút, 1-48 trên dữ liệu hàng giờ. BIC là mặc định phù hợp ở đây - đó là tiêu chí kỹ lưỡng hơn và độ trễ dẫn đầu trong các cặp tiền điện tử thanh khoản là một hiện tượng bộ nhớ ngắn. Mọi kết quả bên dưới đều báo cáo BIC đã chọn pp mỗi cặp thay vì cố định một độ trễ trên toàn vũ trụ, bởi vì độ trễ cố định sẽ âm thầm chuyển đổi lựa chọn độ trễ thành một tuyên bố quan trọng.

Tại sao bài kiểm tra khác biệt lại là mặc định sai

Sự khác biệt có thể phá vỡ mối quan hệ dẫn đầu

Chuỗi giá tiền điện tử là I(1). Cách khắc phục thông thường - lấy log-return - mua tính ổn định với chi phí ở mức độ đồng liên kết và nếu cặp này chia sẻ trạng thái cân bằng dài hạn thì VAR chênh lệch sẽ bị xác định sai. Cơ chế gốc đơn vị và đồng liên kết đằng sau câu đó (ADF, Engle-Granger với các giá trị tới hạn Monte-Carlo, Johansen trên hệ thống VAR) đã được đề cập trong chênh lệch thống kê và giao dịch theo cặp; giả sử nó ở đây. Vấn đề chỉ là biện pháp khắc phục thông thường - khác biệt, sau đó kiểm tra - là một quyết định kiểu mẫu kèm theo hậu quả, và Toda-Yamamoto là cách để tránh đưa ra quyết định đó.

Quy trình Toda-Yamamoto

Lắp VAR với p+dmaxp + d_{max} lag, ở đâu pp là thứ tự độ trễ tối ưu và dmaxd_{max} là thứ tự tích hợp tối đa của chuỗi, sau đó chỉ kiểm tra các hạn chế ** ở chuỗi đầu tiên pp độ trễ**. phần bổ sung dmaxd_{max} độ trễ hấp thụ tính không cố định; thống kê Wald lần đầu tiên pp các hệ số tuân theo một tiêu chuẩn χ2(p)\chi^2(p) bất kể chuỗi đó là I(0), I(1) hay đồng liên kết.

  1. Quyết tâm dmaxd_{max} — ADF và KPSS trên mỗi dòng. Đối với giá tiền điện tử dmax=1d_{max} = 1 hầu như luôn luôn.
  2. Lựa chọn pp — điều chỉnh VAR theo cấp độ, chọn theo BIC.
  3. Ước tính VAR tăng thêm(p+dmaxp + d_{max}) về cấp độ, không có sự khác biệt.
  4. Wald-kiểm tra đầu tiên pp chỉ chậm, bỏ qua dmaxd_{max} tính năng bổ sung. Kết quả là χ2(p)\chi^2(p).

Lợi ích: không có thử nghiệm trước đồng tích hợp, không có sự khác biệt và kích thước thử nghiệm chính xác - tỷ lệ loại bỏ dưới giá trị rỗng vẫn ở gần danh nghĩa bất kể các đặc tính tích hợp hóa ra là gì. Cái giá phải trả là bước 4 không phải là bao test_causality thực hiện theo mặc định, đó là lý do khiến hầu hết quá trình triển khai đều diễn ra sai sót một cách lặng lẽ.

Thực hiện

Luồng triển khai ma trận độ trễ

Giả sử bạn đã căn chỉnh các thanh phút trong DataFrame - bản tóm tắt tìm nạp và chỉ mục ccxt nằm trong phát hiện chế độ với HMMvà trình bao bọc ADF bạn sẽ sử dụng cho bước 1 nằm trong chênh lệch thống kê và giao dịch theo cặp.

Một lưu ý về phiên bản trước khi chạy bất kỳ phiên bản nào: grangercausalitytests(..., verbose=False) không còn được dùng nữa và sau đó bị xóa trong mô hình thống kê 0,15. Bỏ đối số (chức năng không còn in theo mặc định) hoặc ghim statsmodels<0.15. Mã bên dưới giả định chữ ký hiện đại.

Toda-Yamamoto, làm đúng

Việc hạn chế phải được xây dựng bằng tay. VARResults.test_causality kiểm tra tất cả độ trễ của biến gây ra trong mô hình phù hợp — trên VAR tăng cường(p+1p+1) bao gồm dmaxd_{max} tụt hậu trong hạn chế, đó chính xác là điều Toda-Yamamoto nói không nên làm. Việc sửa chữa là một cách rõ ràng RR ma trận chống lại hiệp phương sai hệ số đầy đủ:

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,
    }

Hai chi tiết rất dễ mắc sai sót và làm mất hiệu lực bài kiểm tra nếu bạn làm như vậy. Đầu tiên, số học chỉ mục phải phù hợp với cách các mô hình thống kê làm phẳng params - xác minh trên một mô hình được trang bị beta[target_idx * n_per_eq + 1] bằng res.params.iloc[1, target_idx] trước khi tin tưởng bất kỳ giá trị p nào. Thứ hai, sử dụng np.linalg.solve, không pinv: nếu như VV là số ít, hạn chế bị suy biến và quá trình chạy sẽ thất bại nặng nề thay vì trả về một con số có vẻ hợp lý. Một nghịch đảo giả ở đây là cách các bài kiểm tra Wald bị hỏng vẫn tồn tại được khi xem xét mã.

Granger sai phân chuẩn, để so sánh

Đường cơ sở mà so sánh dựa vào - lợi nhuận log, cùng cặp, cùng độ trễ 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}

Ghi chú maxlag=[p] còn hơn là maxlag=p: truyền một int chạy mỗi độ trễ từ 1 đến pp và cám dỗ bạn báo cáo bài kiểm tra tốt nhất, đó là bài kiểm tra nhiều bài chưa được ghi lại bên trên bài kiểm tra nhiều lần mà bạn đang chạy.

Sự so sánh

Đối với mỗi cặp, hãy chạy thử nghiệm khác biệt về lợi nhuận và Toda-Yamamoto ở các cấp độ, ở cùng BIC đã chọn pp, và lập bảng nơi hai người không đồng ý. Sự bất đồng là một tế bào thú vị: một cặp có ý nghĩa về sự khác biệt nhưng không có ý nghĩa về cấp độ là một tạo tác có thể phân biệt được mối quan hệ đồng liên kết; điều ngược lại cho thấy mối quan hệ cấp độ mang thông tin mà bài kiểm tra lợi nhuận không thể nhìn thấy.

Nhiều so sánh trên ma trận nhân quả

Lọc ma trận nhân quả lớn

đầy đủ n×nn \times n ma trận là nơi điều này trở nên nguy hiểm. Quét 20 tài sản, 10 độ trễ là 3.800 thử nghiệm giả thuyết và Bonferroni là sự điều chỉnh sai cho một họ có mối tương quan này - các thử nghiệm chia sẻ dữ liệu, chia sẻ hệ số BTC và không gần như độc lập, vì vậy Bonferroni đồng thời quá bảo thủ về mặt tổng hợp và gây hiểu lầm về những tế bào nào tồn tại. Sử dụng máy móc ** hiệu quả-N từ bài báo Sharpe xì hơi**, được xây dựng cho chính xác tình huống này: nhóm nhóm thử nghiệm tương quan, tính các thử nghiệm độc lập thay vì thử nghiệm thô và ngưỡng chống lại điều đó.

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

Con số quan trọng không phải là có bao nhiêu ô dưới 0,05 - mà là có bao nhiêu ô sống sót qua ngưỡng đã hiệu chỉnh-N hiệu quả.

Đọc ma trận còn sót lại theo cấu trúc, không phải từng ô: các hàng trong đó một nội dung khiến nhiều nội dung khác xác nhận hệ thống phân cấp thông tin; một cột gây ra bởi không có gì gợi ý động lực mang phong cách riêng, dành riêng cho mã thông báo hơn là một khám phá.

Bài kiểm tra trung thực: độ ổn định khi lăn

Tín hiệu ổn định qua cửa sổ cuốn

Một giá trị p trong mẫu gần như vô giá trị để giao dịch. Câu hỏi liên quan là liệu ý nghĩa có tồn tại hay không. Mối quan hệ tài sản chéo trong tiền điện tử phụ thuộc vào chế độ – cấu trúc tương quan khác nhau rõ rệt giữa bình tĩnh và hoảng loạn, và bản thân chế độ này có thể ước tính được (Phát hiện chế độ HMM) — vì vậy ước tính độ trễ dẫn đầu trên một cửa sổ là một tuyên bố về cửa sổ đó.

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")

Báo cáo hai điều từ loạt bài này: tỷ lệ cửa sổ dưới 0,05 và số lần vượt ngưỡng. Mối quan hệ có ý nghĩa ở 80% cửa sổ có ba đường giao nhau là một đối tượng khác với mối quan hệ có ý nghĩa ở 55% cửa sổ có bốn mươi đường giao nhau, ngay cả khi giá trị p gộp là giống hệt nhau. Thứ hai là không thể giao dịch được — bạn không thể xác định kích thước vị thế trên một tín hiệu có sự tồn tại thay đổi sau mỗi vài trăm thanh và độ trễ ước tính lại đảm bảo bạn luôn giao dịch ở chế độ trước đó.

Bẫy dữ liệu dành riêng cho Granger

Dấu tích tiền điện tử bất thường làm gián đoạn tín hiệu nhân quả

Vệ sinh dữ liệu tiền điện tử chung được đề cập ở nơi khác - những khoảng trống và thiếu nến trong tính chẵn lẻ backtest-live, kỷ luật dấu thời gian trong phân loại thiên vị nhìn về phía trướcchứng tỏ không có cái nhìn về phía trước trong các khung thời gian. Tuy nhiên, có một chế độ lỗi dành riêng cho Granger và đủ nghiêm trọng để đặt tên:

Điền chuyển tiếp sẽ tạo ra kết quả. Một cây nến chuyển tiếp lặp lại lần đóng cửa trước đó, đưa hiện tượng tự tương quan thuần túy vào chuỗi — và tự tương quan lag-1 trong YY được căn chỉnh về mặt cơ học với XX không thể phân biệt được, theo F-test, với mối quan hệ nhân quả một độ trễ. Điều tương tự cũng áp dụng ở các địa điểm: độ lệch đồng hồ 1 giây giữa hai sàn giao dịch trên các thanh phút có thể tạo ra hoặc phá bỏ hoàn toàn ý nghĩa độ trễ-1 vì nó làm dịch chuyển phía nào của ranh giới thanh mà một nước đi sẽ dừng lại. Trước khi chạy bất kỳ thao tác nào trong số này, hãy xác minh rằng các khoảng trống được loại bỏ chứ không phải được lấp đầy và cả hai chuỗi đều được đóng dấu từ cùng một đồng hồ.

Các phát hiện về độ trễ dẫn đầu được báo cáo trong tài liệu

Chòm sao bằng chứng cho nghiên cứu về độ trễ dẫn đầu

Đây là những trích dẫn, không phải số đo từ bài viết này. Họ ở đây để nói những gì mà hồ sơ được công bố khẳng định, để sự so sánh ở trên có điều gì đó đồng tình hoặc không đồng tình.

  • BTC sang altcoin. Một nghiên cứu năm 2026 tại Thị trường tài chính Châu Á-Thái Bình Dương (lò xo) báo cáo việc truyền giá tần suất cao từ Bitcoin sang các altcoin, với các đồng tiền vốn hóa nhỏ cho thấy phản hồi bị trì hoãn đáng kể và tính thanh khoản thấp hơn liên quan đến phản ứng chậm hơn. Độ trễ thường được trích dẫn từ dòng công việc này - khoảng 1-3 phút BTC so với ETH, dài hơn đối với các công ty vốn hóa vừa và nhỏ, ngày càng một chiều khi vốn hóa thị trường giảm - là những phát hiện được trích dẫn, không được lấy lại ở đây. Mức vốn hóa thị trường mà họ dựa vào cũng giống như bậc thang được sử dụng trong xác thực đa ký hiệu.
  • CEX dẫn đầu DEX. Nghiên cứu về vi cấu trúc tiền điện tử (MDPI) báo cáo các địa điểm tập trung chiếm ưu thế trong việc khám phá giá, với luồng thông tin chạy CEX-to-DEX và không có quan hệ nhân quả ngược đáng kể - phù hợp với các công cụ khớp dưới một phần nghìn giây so với giải quyết theo thời gian khối.
  • ETH là một đồng tiền độc lập. VAR-SVAR hoạt động (MDPI) tìm thấy các chế độ trong đó Ethereum đóng vai trò là nguồn và Bitcoin với tư cách là người nhận lan tỏa, đặc biệt là trong các giai đoạn do DeFi và NFT điều khiển.

Trao đổi chéo, ngắn gọn

Độ trễ của hai địa điểm giống nhau là một thiết lập thực sự, nhưng tính kinh tế của nó - ngưỡng phí, thang độ trễ, lý do tại sao độ trễ tồn tại - đã được giải quyết trong chênh lệch thống kê và giao dịch theo cặpkim chi cao cấp. Điều duy nhất Granger bổ sung là một câu hỏi về tính ổn định: mối quan hệ nhân quả giữa Binance với Coinbase liên tục có ý nghĩa đáng kể hay nó nhấp nháy như mọi thứ khác? Chạy thử nghiệm lăn trên cặp địa điểm; câu trả lời là chuỗi thời gian có giá trị p, không phải là có.

Biến độ trễ còn sót lại thành một vị trí

Ngưỡng tín hiệu trở thành vị trí được kiểm soát

Nếu một cặp vượt qua ngưỡng đã sửa thử nghiệm lăn, thì bản thân tín hiệu đó không đáng kể: bộ dự đoán tích lũy quay trở lại cửa sổ độ trễ, đã vượt ngưỡng.

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

Ba điều không nằm trong bài viết này vì chúng đã được giải quyết ở đây:

Hạn chế

Ranh giới không chắc chắn về nguyên nhân

Quan hệ nhân quả Granger không phải là quan hệ nhân quả. Các yếu tố gây nhiễu (một sự kiện vĩ mô di chuyển cả hai chân với dấu thời gian hơi lệch), trình điều khiển chung (hai alt đều theo sau BTC ở tốc độ khác nhau) và các biến bị bỏ qua (kiểm tra BTC thành DOGE mà không có ETH trong hệ thống) đều tạo ra số liệu thống kê quan trọng mà không có luồng thông tin trực tiếp. Việc hạn chế kiểm tra hai biến, như bài viết này làm, làm cho vấn đề biến bị bỏ sót trở nên tồi tệ hơn chứ không tốt hơn.

Tính tuyến tính. Thử nghiệm chỉ thấy cấu trúc dự đoán tuyến tính ở giá trị trung bình có điều kiện. Tiền điện tử có khả năng phân cụm biến động, hiệu ứng đòn bẩy và chuyển đổi chế độ — xem Dự báo biến động GARCHTương quan động DCC-GARCH cho câu chuyện khoảnh khắc thứ hai. Các lựa chọn thay thế phi tuyến đáng để biết: thử nghiệm hạt nhân Diks-Panchenko (2006), chuyển entropy dưới dạng tương tự lý thuyết thông tin và quan hệ nhân quả copula Granger trên toàn bộ phân phối chung.

Phá vỡ cấu trúc. Bất kỳ mối quan hệ nào được ước tính trên một cửa sổ đều phụ thuộc vào chế độ của cửa sổ đó; bài kiểm tra lăn ở trên là chẩn đoán tối thiểu và nó là chẩn đoán chứ không phải là cách khắc phục.

Bản tóm tắt

Tín hiệu dẫn đầu mạnh mẽ được chắt lọc từ tiếng ồn

  1. Điều chỉnh VAR ở mức, chọn pp bằng BIC mỗi cặp, tăng thêm dmaxd_{max}, và kiểm tra Wald đầu tiên pp chỉ lag thôi. Xây dựng ma trận hạn chế bằng tay - của thư viện test_causality cũng hạn chế độ trễ tăng cường, điều này không phải của Toda-Yamamoto.
  2. Chạy thử nghiệm lợi nhuận chênh lệch làm cơ sở cho các cặp giống nhau và độ trễ, đồng thời báo cáo những điểm bất đồng. Cái bàn đó chính là phát hiện; một ma trận dấu hoa thị thì không.
  3. Sửa ma trận cho họ thử nghiệm tương quan thông qua N hiệu dụng, không phải Bonferroni và báo cáo số lượng tế bào sống sót.
  4. Cuộn nó lại. Báo cáo tỷ lệ cửa sổ quan trọng và số lượng giao nhau. Ý nghĩa của việc nhấp nháy không phải là độ trễ có thể giao dịch cho dù giá trị p gộp nhỏ đến đâu.
  5. Bỏ các khoảng trống thay vì lấp đầy về phía trước và kiểm tra sự căn chỉnh đồng hồ giữa các địa điểm trước khi tin vào bất kỳ kết quả có độ trễ 1 nào.

Một kết quả hoàn toàn tốt của quy trình này là tiêu cực — mối quan hệ BTC-to-alt có ý nghĩa trong mẫu, tồn tại sau khi điều chỉnh và vẫn vượt qua đường 0,05 theo cả hai hướng cứ sau vài trăm thanh là kết quả thực sự về khả năng giao dịch và đáng được xuất bản dưới dạng một.

Tài liệu tham khảo

Tuyên bố miễn trừ trách nhiệm: Thông tin được cung cấp trong bài viết này chỉ nhằm mục đích giáo dục và thông tin, không cấu thành lời khuyên về tài chính, đầu tư hoặc giao dịch. Giao dịch tiền mã hóa tiềm ẩn rủi ro thua lỗ đáng kể.

Tác Giả

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

Đi Trước Thị Trường

Đăng ký nhận bản tin của chúng tôi để có những thông tin chuyên sâu độc quyền về AI trading, phân tích thị trường và các cập nhật nền tảng.

Chúng tôi tôn trọng quyền riêng tư của bạn. Hủy đăng ký bất kỳ lúc nào.