Strasmore Research
Belajar Matt ConnorOleh Matt Connor

Cara mengesahkan rekod dagangan AI yang boleh dipercayai

Ketahui enam bukti penting untuk mengesahkan rekod dagangan AI secara objektif. Satu suku tahun hasil dagangan tidak membuktikan apa-apa tanpa data pasaran yang telus.

Rekod dagangan AI boleh disahkan apabila orang asing boleh membina semula rekod tersebut daripada data yang wujud sebelum hasil dagangan diketahui. Sangat sedikit rekod yang diterbitkan dalam talian memenuhi kriteria ini. Berikut adalah senarai semak yang boleh digunakan oleh pembaca dalam masa kira-kira dua minit, dengan data pasaran yang menyokong empat daripada item tersebut: penanda aras (benchmark), cap masa (timestamps), kos dagangan, dan tempoh sampel.

Apakah yang menjadikan rekod dagangan AI boleh disahkan?

Enam sifat. Setiap satu adalah perkara yang boleh anda periksa dan bukannya sekadar penilaian subjektif.

  1. Entri diterbitkan sebelum hasil diketahui. Cap masa mestilah berada di tempat yang tidak boleh diubah oleh penulis, seperti commit yang dihantar pada masa itu atau penyata broker. Fail yang menyenaraikan dagangan lepas hanyalah tuntutan mengenai masa lalu, bukannya rekod sebenar.
  2. Satu penanda aras, dinamakan pada permulaan dan tidak pernah diubah. "Mengalahkan pasaran" tidak bermakna apa-apa sehingga perbandingan dipautkan kepada dana tertentu dalam tempoh masa tertentu.
  3. Kos dimasukkan dalam angka yang dilaporkan. Komisen, yuran kawal selia, kos pinjaman bagi posisi short, dan spread yang dibayar pada entri serta keluar.
  4. Runbook yang mempunyai versi dan bukannya disunting. Apabila repositori awam menyokong rekod tersebut, pautan yang berguna harus menghala kepada tagged release atau commit hash. Pautan kepada cawangan lalai (default branch) menunjukkan strategi hari ini, yang mungkin bukan strategi yang didagangkan pada bulan Mac.
  5. Setiap posisi dan setiap akaun, termasuk yang rugi. Menerbitkan satu akaun daripada lima akaun yang berjalan adalah satu bentuk pemilihan (selection bias).
  6. **Modal permulaan yang cukup besar untuk menjadikan pengisian pesanan (fills) munasabah.** Modal beberapa ratus dolar tidak boleh "memegang" posisi yang tidak akan diisi oleh pesanan sebenar pada harga yang dicetak.

Rekod yang kehilangan salah satu daripada perkara ini tidak semestinya tidak jujur. Ia tidak boleh disahkan, yang lebih kerap berlaku dan sama tidak gunanya kepada pembaca.

Mengapa penanda aras perlu dinamakan lebih awal

Penanda aras yang dipilih selepas keputusan diketahui adalah kelebihan paling murah dalam kewangan. Enam dana indeks AS yang luas, enam bulan yang sama pada tahun 2026, perubahan harga sahaja:

PertanyaanEnam dana indeks AS, tempoh masa yang sama: pulangan harga, 2 Januari hingga 30 Jun 2026
SQL tepat di sebalik setiap nombor
WITH rets AS (
    SELECT ticker,
           round(100 * (toFloat64(argMax(close, window_start))
                        / toFloat64(argMin(close, window_start)) - 1), 2) AS return_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'DIA', 'RSP', 'MDY')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker
)
SELECT ticker,
       return_pct,
       round(return_pct - min(return_pct) OVER (), 2) AS points_above_worst
FROM rets
ORDER BY return_pct DESC
Run this yourself

IWM mencatatkan pulangan 21.12% dan DIA mencatatkan 8.42%, meninggalkan 12.7 mata antara yang tertinggi dan terendah dalam 6 sepanjang tempoh yang sama. Memilih dana mana untuk diukur selepas tempoh tersebut berakhir memberikan kelebihan sebanyak jurang tersebut, dan tiada strategi yang perlu dilakukan untuk mendapatkannya. Ini adalah pulangan harga sebelum dividen, peraturan pengukuran kedua yang perlu dinyatakan di awal (cara pulangan bulanan diukur merangkumi aritmetik jumlah pulangan).

Mengapa cap masa entri adalah segala-galanya

Entri yang muncul selepas pergerakan harga adalah sekadar penerangan tentang carta. Jarak yang dilalui pasaran dalam satu sesi adalah cukup luas sehingga perbezaan antara "dihantar pada 09:35" dan "dihantar pada 15:55" mengatasi kebanyakan kelebihan yang didakwa. Berikut adalah jarak tersebut, diukur daripada cetakan pertama setiap sesi, sepanjang separuh pertama tahun 2026:

PertanyaanPergerakan harga SPY dari pembukaan, mengikut selang setengah jam ET, separuh pertama 2026
SQL tepat di sebalik setiap nombor
WITH minute_px AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toTimeZone(window_start, 'America/New_York') AS et,
           toFloat64(close) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
opens AS (
    SELECT session_date, argMin(px, et) AS open_px
    FROM minute_px
    GROUP BY session_date
),
buckets AS (
    SELECT session_date,
           toStartOfInterval(et, INTERVAL 30 MINUTE) AS bucket,
           argMax(px, et) AS bucket_px
    FROM minute_px
    GROUP BY session_date, bucket
)
SELECT formatDateTime(b.bucket, '%H:%i') AS et_time,
       count() AS session_count,
       round(quantileDeterministic(0.5)(abs(100 * (b.bucket_px / o.open_px - 1)),
                                        cityHash64(b.session_date)), 3) AS median_abs_move_pct
FROM buckets AS b
INNER JOIN opens AS o ON b.session_date = o.session_date
GROUP BY et_time
ORDER BY et_time
Run this yourself

Dalam baldi 09:30 ET, sesi median berakhir 0.216% daripada cetakan pembukaannya. Dalam baldi 15:30, jarak median adalah 0.415%. Apa sahaja yang diketahui oleh ejen pada waktu pembukaan tidak merangkumi hampir semua pergerakan tersebut. Sejarah commit atau suapan awam bertarikh membawa bukti urutan (laporan pasaran harian AI bergantung pada sifat yang sama). Tangkapan skrin lengkung ekuiti tidak membawa bukti tersebut.

Apa yang perlu ada dalam angka tersebut

Pulangan kasar menggambarkan portfolio yang tidak mungkin dimiliki oleh sesiapa pun. Setiap entri dan keluar merentasi bid-ask spread, iaitu jurang antara harga terbaik untuk membeli dan harga terbaik untuk menjual, dan jurang itu tidak sama pada setiap aset:

PertanyaanMedian spread sebut harga dan kos transaksi $25,000: waktu tengah hari, 15 Julai 2026
SQL tepat di sebalik setiap nombor
SELECT ticker,
       round(quantileDeterministic(0.5)(20000 * (toFloat64(ask_price) - toFloat64(bid_price))
                                        / (toFloat64(ask_price) + toFloat64(bid_price)),
                                        cityHash64(sip_timestamp)), 2) AS median_spread_bps,
       round(25000 * quantileDeterministic(0.5)(2 * (toFloat64(ask_price) - toFloat64(bid_price))
                                                / (toFloat64(ask_price) + toFloat64(bid_price)),
                                                cityHash64(sip_timestamp)), 2) AS round_trip_cost_per_25k_usd
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'MSTR')
  AND sip_timestamp >= toDateTime('2026-07-15 15:00:00')
  AND sip_timestamp < toDateTime('2026-07-15 16:00:00')
  AND bid_price > 1
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps DESC
Run this yourself

Sepanjang satu jam tengah hari itu, spread sebut harga median adalah 10.08 mata asas pada MSTR berbanding 0.27 pada SPY. Satu mata asas adalah satu peratus daripada satu peratus. Pada posisi $25,000, merentasi spread itu sekali bagi setiap arah menelan kos $25.2 pada hujung senarai yang luas dan $0.66 pada hujung yang ketat, sebelum komisen. Buku yang berpusing sepenuhnya sekali seminggu membayar tol itu kira-kira lima puluh kali setahun, dan rekod yang mengabaikannya secara senyap telah mengkreditkan dolar tersebut kepada dirinya sendiri (kos dagangan saham memperincikan baki bil tersebut).

Berapa lama sebelum keputusan dagangan langsung bermakna?

Suku tahun dagangan langsung adalah satu cabutan daripada taburan yang luas, dan lebarnya boleh diukur. Setiap tempoh bertindih dengan panjang tertentu sejak Januari 2015 untuk SPY, dana penjejak S&P 500 yang terbesar, disusun mengikut persentil:

PertanyaanHasil tempoh pegangan SPY sejak 2015: persentil ke-5, median, persentil ke-95
SQL tepat di sebalik setiap nombor
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           toFloat64(argMax(close, window_start)) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2015-01-02')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date
),
series AS (
    SELECT groupArray(close_px) AS px
    FROM (SELECT close_px FROM daily ORDER BY session_date)
),
horizons AS (
    SELECT arrayJoin([21, 63, 126, 252]) AS sessions, px
    FROM series
),
windows AS (
    SELECT sessions,
           arrayJoin(arrayMap(i -> (i, 100 * (px[i + sessions] / px[i] - 1)),
                              range(1, length(px) - sessions + 1))) AS w
    FROM horizons
),
measured AS (
    SELECT sessions,
           w.1 AS window_index,
           w.2 AS window_return_pct
    FROM windows
)
SELECT multiIf(sessions = 21, '1 month',
               sessions = 63, '3 months',
               sessions = 126, '6 months',
               '12 months') AS holding_period,
       count() AS window_count,
       round(quantileDeterministic(0.05)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS p05_return_pct,
       round(quantileDeterministic(0.50)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS median_return_pct,
       round(quantileDeterministic(0.95)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions)), 1) AS p95_return_pct,
       round(quantileDeterministic(0.95)(window_return_pct,
                                         cityHash64(window_index * 1000 + sessions))
             - quantileDeterministic(0.05)(window_return_pct,
                                           cityHash64(window_index * 1000 + sessions)), 1) AS spread_pct,
       round(stddevSamp(window_return_pct), 1) AS stdev_pct
FROM measured
GROUP BY sessions
ORDER BY sessions
Run this yourself

Merentasi 2826 tempoh tiga bulan yang bertindih, hasil median daripada memegang dan tidak melakukan apa-apa adalah 3.9%, dengan persentil ke-5 pada -8.8% dan ke-95 pada 12.2%, satu jalur selebar 21.1 mata. Sebarang keputusan suku tahunan tunggal dalam jalur itu adalah konsisten dengan memiliki indeks dan bercuti. Lancarkan dua puluh ejen, jalankan selama satu suku tahun, terbitkan yang terbaik, dan angka yang dipaparkan datang daripada bahagian atas jalur seperti itu secara reka bentuk.

Aritmetik mengenai panjang sampel adalah kejam. Hasil dua belas bulan dalam siri yang sama membawa sisihan piawai sebanyak 13.6 mata. Membezakan kelebihan sebenar daripada hingar (noise) memerlukan kira-kira (2 × variasi ÷ kelebihan)² tahun keputusan langsung. Pada tahap variasi itu, kelebihan hipotesis 3 mata setahun memerlukan banyak dekad, malah kelebihan 10 mata pun memerlukan tahun dan bukannya bulan. Tempoh di atas bertindih, jadi 2826 mengira tempoh, bukan sampel bebas.

Adakah wang sebenar sebanyak $25,000 menyelesaikannya?

Wang sebenar meningkatkan bukti dalam satu cara khusus. Paper trading diisi pada harga yang tidak dipersetujui oleh pihak lawan dan tidak pernah mempunyai pesanan yang ditolak. Akaun $25,000 yang dibiayai diisi berdasarkan sebut harga langsung dan membayar komisen sebenar, pada penyata yang boleh diaudit oleh pihak ketiga, dan saiz posisi adalah cukup besar sehingga pengisian adalah biasa dan bukannya imaginasi.

Ia tidak menyentuh masalah sampel. Dua puluh lima ribu dolar yang didagangkan selama empat bulan masih merupakan satu cabutan daripada taburan di atas, dan akaun langsung boleh ditutup selepas penurunan (drawdown) dan dibuka semula dengan rekod bermula dari awal. Saiz menjadikan pengisian jujur. Hanya masa menjadikan keputusan bermaklumat.

Empat mod kegagalan untuk dikenali

  • Backtest yang menyamar sebagai rekod dagangan. Keputusan simulasi ke atas data lepas adalah hipotesis tentang masa lalu. Look-ahead bias menunjukkan bagaimana simulasi menyerap maklumat yang tidak mungkin diketahui oleh strategi pada masa itu, dan petanda paling jelas ialah lengkung ekuiti yang bermula bertahun-tahun sebelum kod tersebut wujud.
  • Hanya yang terselamat di pentas. Sepuluh ejen dilancarkan, satu diterbitkan. Sistem dagangan AI berbilang ejen memudahkan perkara ini berlaku secara tidak sengaja, kerana rangka kerja yang menjalankan sepuluh varian juga memilih yang mana satu untuk ditulis.
  • Permulaan semula. Penurunan, jeda, akaun baharu, lengkung yang bermula pada tarikh permulaan semula. Soalan yang menyelesaikannya: tunjukkan lengkung ekuiti daripada dolar pertama akaun pertama.
  • Runbook yang ditulis semula. Prompt dan had posisi disunting antara dagangan dan penulisan. Faktor alfa yang dijana LLM boleh dihasilkan beribu-ribu, jadi peraturan pemilihan perlu diterbitkan sebelum pemilihan, atau rekod tersebut menjadi cerita tentang faktor mana yang kebetulan berjaya.

Soalan Lazim

Bolehkah rekod dagangan AI disahkan?

Ya, apabila entri diterbitkan sebelum hasilnya diketahui, penanda aras ditetapkan lebih awal, kos dimasukkan dalam angka, dan setiap akaun ditunjukkan. Pemeriksaan ini bersifat mekanikal dan mengambil masa beberapa minit. Kebanyakan rekod yang diterbitkan gagal pada item pertama.

Berapa lama rekod dagangan AI langsung perlu berjalan?

Lebih lama daripada hampir mana-mana rekod yang diterbitkan. Hasil dua belas bulan untuk indeks membawa sisihan piawai sebanyak 13.6 mata sepanjang tempoh yang diukur di sini, jadi memisahkan kelebihan sederhana daripada nasib pada tahap keyakinan konvensional memerlukan masa bertahun-tahun sekurang-kurangnya dan berdekad-dekad untuk kelebihan yang kecil.

Adakah $25,000 cukup untuk menjadikan keputusan portfolio AI bermakna?

Ia cukup untuk menjadikan pengisian sebenar: sebut harga langsung, komisen sebenar, penyata yang boleh diaudit. Ia tidak cukup untuk menjadikan keputusan beberapa bulan bermakna secara statistik, yang merupakan persoalan masa yang berlalu dan bukannya saiz akaun.

Apakah perbezaan antara backtest dan rekod dagangan?

Backtest menggunakan peraturan pada data yang sudah wujud. Rekod dagangan adalah siri keputusan yang diterbitkan sebelum hasilnya. Hanya yang kedua boleh dipalsukan oleh apa yang berlaku seterusnya, itulah yang menjadikannya bukti.

Mengapa pemilihan penanda aras sangat penting?

Sepanjang separuh pertama tahun 2026, enam dana indeks di atas berakhir dengan perbezaan 12.7 mata berdasarkan harga sahaja. Penanda aras yang dipilih selepas tempoh berakhir boleh memberikan margin tersebut tanpa melibatkan sebarang strategi.


Setiap angka pada halaman ini adalah pertanyaan tersimpan ke atas data pasaran, dan SQL terletak di bawah setiap panel. Halakan tempoh yang sama pada tarikh anda sendiri di terminal Strasmore.

#ai agents#track record#live trading#backtesting#quant