Cara Memverifikasi Rekam Jejak Trading AI
Enam bukti yang dapat diminta pembaca untuk memverifikasi rekam jejak trading AI, serta alasan satu kuartal live tidak membuktikan apa pun.
Rekam jejak trading AI dapat diverifikasi jika orang lain dapat menyusunnya kembali dari catatan yang sudah ada sebelum hasilnya terjadi. Sangat sedikit rekam jejak yang dipublikasikan secara online memenuhi standar tersebut. Berikut checklist yang dapat digunakan pembaca dalam waktu sekitar dua menit, dengan data pasar yang mendukung empat item: benchmark, timestamp, biaya trading, dan panjang sampel.
Apa yang membuat rekam jejak trading AI dapat diverifikasi?
Enam karakteristik. Masing-masing dapat diperiksa, bukan sekadar dinilai berdasarkan opini.
- Entry dipublikasikan sebelum hasilnya diketahui. Timestamp harus berada di tempat yang tidak dapat diubah oleh penulis, seperti commit yang di-push pada saat itu atau laporan broker. File yang mencantumkan trade masa lalu merupakan klaim tentang masa lalu, bukan catatan atas kejadian tersebut.
- Satu benchmark, disebutkan sejak awal dan tidak pernah diubah. “Mengungguli pasar” tidak berarti apa-apa sampai pembandingnya ditetapkan pada fund tertentu untuk periode tertentu.
- Biaya sudah termasuk dalam angka yang dilaporkan. Komisi, regulatory fee, biaya borrow untuk posisi short, serta spread yang dibayar saat entry dan exit.
- Runbook menggunakan versioning, bukan sekadar diedit. Jika public repository menjadi dasar rekam jejak, tautan yang berguna harus mengarah ke tagged release atau commit hash. Tautan ke default branch menunjukkan strategi hari ini, yang mungkin bukan strategi yang digunakan untuk trading pada Maret.
- Setiap posisi dan setiap account ditampilkan, termasuk yang merugi. Mempublikasikan satu account dari lima account yang berjalan merupakan bentuk seleksi.
- Modal awal cukup besar agar fill masuk akal. Notional beberapa ratus dolar dapat terlihat seolah-olah mampu menahan posisi yang sebenarnya tidak akan dapat diisi oleh order apa pun pada harga yang tercetak.
Rekam jejak yang tidak memenuhi salah satu poin ini tidak otomatis berarti tidak jujur. Rekam jejak tersebut tidak dapat diverifikasi. Kondisi ini lebih umum dan sama-sama tidak berguna bagi pembaca.
Mengapa benchmark harus ditetapkan sejak awal
Benchmark yang dipilih setelah hasilnya diketahui merupakan keunggulan termurah dalam keuangan. Enam broad US index fund, untuk enam bulan yang sama pada 2026, hanya berdasarkan perubahan harga:
SQL tepat di balik setiap angka
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 DESCIWM menghasilkan 21.12% dan DIA menghasilkan 8.42%, sehingga terdapat selisih 12.7 poin antara posisi tertinggi dan terendah dari 6 dalam periode yang sama. Memilih fund yang akan dijadikan pembanding setelah periode berakhir bernilai sebesar seluruh selisih tersebut, tanpa strategi perlu melakukan apa pun untuk mendapatkannya. Ini adalah price return sebelum dividen, sehingga aturan pengukuran kedua juga perlu dinyatakan sejak awal (cara mengukur imbal hasil bulanan membahas perhitungan total return).
Mengapa timestamp entry merupakan inti dari seluruh klaim
Entry yang muncul setelah pergerakan harga terjadi hanya merupakan deskripsi atas chart. Jarak yang ditempuh pasar dalam satu sesi cukup lebar sehingga perbedaan antara “dipublikasikan pada 09:35” dan “dipublikasikan pada 15:55” mengalahkan sebagian besar edge yang diklaim. Berikut jarak tersebut, diukur dari print pertama setiap sesi, sepanjang paruh pertama 2026:
SQL tepat di balik setiap angka
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_timeDalam bucket 09:30 ET, sesi median berakhir 0.216% dari print pembuka. Dalam bucket 15:30, jarak median tersebut adalah 0.415%. Apa pun yang diketahui agen pada pembukaan tidak mencakup hampir seluruh pergerakan itu. Riwayat commit atau public feed bertanggal dapat membuktikan urutan kejadian (laporan riset pasar harian AI juga bergantung pada hal yang sama). Screenshot equity curve tidak membuktikan apa pun terkait urutan tersebut.
Apa saja yang harus termasuk dalam angka yang dilaporkan
Gross return menggambarkan portofolio yang tidak mungkin dimiliki siapa pun. Setiap entry dan exit melintasi bid-ask spread, yaitu selisih antara harga terbaik untuk membeli dan harga terbaik untuk menjual. Spread tersebut tidak sama untuk setiap saham:
SQL tepat di balik setiap angka
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 DESCSelama satu jam perdagangan di tengah hari tersebut, median quoted spread mencapai 10.08 basis point pada MSTR, dibandingkan dengan 0.27 pada SPY. Satu basis point adalah seperseratus poin persentase. Pada posisi senilai $25,000, melintasi spread sekali untuk masuk dan sekali untuk keluar menimbulkan biaya sebesar $25.2 pada spread terlebar dalam daftar ini dan $0.66 pada spread tersempit, sebelum komisi. Portofolio yang seluruhnya berputar sekali seminggu membayar biaya tersebut sekitar lima puluh kali setahun. Rekam jejak yang tidak memasukkannya secara diam-diam mengkreditkan dolar tersebut kepada dirinya sendiri (biaya trading saham menguraikan komponen biaya lainnya).
Berapa lama sebelum hasil live memiliki arti?
Trading live selama satu kuartal hanya merupakan satu sampel dari distribusi yang lebar, dan lebarnya dapat diukur. Berikut seluruh overlapping window dengan panjang tertentu sejak Januari 2015 untuk SPY, fund terbesar yang melacak S&P 500, yang diurutkan ke dalam percentile:
SQL tepat di balik setiap angka
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 sessionsDari 2826 overlapping window tiga bulan, hasil median dari strategi buy and hold adalah 3.9%, dengan percentile ke-5 sebesar -8.8% dan percentile ke-95 sebesar 12.2%. Rentangnya selebar 21.1 poin. Hasil kuartalan mana pun yang berada dalam rentang tersebut konsisten dengan memiliki index lalu pergi berlibur. Luncurkan dua puluh agen, jalankan selama satu kuartal, lalu publikasikan yang terbaik. Angka yang ditampilkan secara konstruksi berasal dari bagian atas rentang seperti itu.
Perhitungan mengenai panjang sampel tidak mengenal kompromi. Hasil dua belas bulan dalam seri yang sama memiliki standard deviation sebesar 13.6 poin. Membedakan edge nyata dari noise membutuhkan kira-kira (2 × variasi ÷ edge)² tahun hasil live. Dengan tingkat variasi tersebut, edge hipotetis sebesar 3 poin per tahun membutuhkan beberapa dekade. Bahkan edge sebesar 10 poin membutuhkan hitungan tahun, bukan bulan. Window di atas saling overlap, sehingga 2826 menghitung jumlah window, bukan jumlah sampel independen.
Apakah uang riil sebesar $25,000 sudah menyelesaikan masalah?
Uang riil meningkatkan kualitas bukti dalam satu hal tertentu. Paper trading memperoleh fill pada harga yang tidak pernah disetujui oleh counterparty dan tidak pernah menghadapi penolakan order. Account berisi $25,000 yang didanai secara riil memperoleh fill berdasarkan kuotasi live dan membayar komisi riil. Semuanya tercatat dalam statement yang dapat diaudit oleh pihak ketiga, dan ukuran posisi cukup besar sehingga fill yang terjadi wajar, bukan khayalan.
Namun, hal ini tidak menyelesaikan masalah sampel. Trading dengan $25,000 selama empat bulan tetap merupakan satu sampel dari distribusi di atas. Account live juga dapat ditutup setelah drawdown dan dibuka kembali dengan rekam jejak yang dimulai dari awal. Ukuran account membuat fill menjadi nyata. Hanya waktu yang membuat hasilnya informatif.
Empat mode kegagalan yang perlu dikenali
- Backtest yang menyamar sebagai rekam jejak. Hasil simulasi berdasarkan data masa lalu merupakan hipotesis tentang masa lalu. Look-ahead bias menunjukkan bagaimana simulasi dapat menyerap informasi yang tidak mungkin dimiliki strategi pada saat itu. Indikasi paling sederhana adalah equity curve yang dimulai bertahun-tahun sebelum kode tersebut dibuat.
- Hanya survivor yang ditampilkan. Sepuluh agen diluncurkan, tetapi hanya satu yang dipublikasikan. Sistem trading AI multi-agent memudahkan hal ini terjadi secara tidak sengaja, karena framework yang menjalankan sepuluh varian juga memilih varian yang layak untuk dibahas.
- Restart. Terjadi drawdown, trading dihentikan, account baru dibuka, lalu curve dimulai dari tanggal restart. Pertanyaan yang dapat menyelesaikan masalah ini adalah: tampilkan equity curve sejak dolar pertama pada account pertama.
- Runbook yang ditulis ulang. Prompt dan batas posisi diedit antara waktu trade dan waktu penulisan. Faktor alpha yang dihasilkan LLM dapat dibuat dalam jumlah ribuan. Karena itu, aturan seleksi harus dipublikasikan sebelum proses seleksi dilakukan. Jika tidak, rekam jejak berubah menjadi cerita tentang faktor mana yang kebetulan berhasil.
FAQ
Apakah rekam jejak trading AI dapat diverifikasi?
Ya, jika entry dipublikasikan sebelum hasilnya diketahui, benchmark ditetapkan sebelumnya, biaya sudah termasuk dalam angka, dan setiap account ditampilkan. Pemeriksaannya bersifat mekanis dan hanya membutuhkan beberapa menit. Sebagian besar rekam jejak yang dipublikasikan gagal pada item pertama.
Berapa lama rekam jejak trading AI live harus berjalan?
Lebih lama daripada hampir semua rekam jejak yang dipublikasikan. Hasil dua belas bulan untuk index memiliki standard deviation sebesar 13.6 poin berdasarkan window yang diukur di sini. Karena itu, membedakan edge moderat dari keberuntungan dengan tingkat confidence konvensional membutuhkan setidaknya beberapa tahun, dan beberapa dekade untuk edge yang kecil.
Apakah $25,000 cukup agar hasil portofolio AI bermakna?
Jumlah tersebut cukup untuk membuat fill menjadi nyata: kuotasi live, komisi riil, dan statement yang dapat diaudit. Namun jumlah tersebut tidak cukup untuk membuat hasil beberapa bulan bermakna secara statistik. Itu merupakan persoalan waktu yang telah berlalu, bukan ukuran account.
Apa perbedaan antara backtest dan rekam jejak?
Backtest menerapkan aturan pada data yang sudah tersedia. Rekam jejak merupakan rangkaian keputusan yang dipublikasikan sebelum hasilnya diketahui. Hanya yang kedua yang dapat diuji oleh kejadian berikutnya. Hal itulah yang menjadikannya bukti.
Mengapa pilihan benchmark sangat penting?
Selama paruh pertama 2026, keenam index fund di atas berakhir dengan selisih 12.7 poin berdasarkan harga saja. Benchmark yang dipilih setelah periode berakhir dapat memberikan seluruh margin tersebut tanpa kontribusi strategi apa pun.
Setiap angka di halaman ini berasal dari stored query atas data pasar, dan SQL-nya tersedia di bawah setiap panel. Gunakan window yang sama untuk tanggal Anda sendiri di terminal Strasmore.