4 Oktober 2026 · riset

Bagaimana menjaga agar agen strategi AI tidak membocorkan informasi besok ke hari ini?

Bagaimana menjaga agar agen strategi AI tidak membocorkan informasi besok ke hari ini?

Agen strategi AI dapat menghasilkan backtest yang valid sambil menggunakan informasi yang belum ada saat transaksi seharusnya dilakukan. Kodenya berjalan. Kurva ekuitasnya tampak masuk akal. Sinyalnya bahkan mungkin terlihat wajar. Namun, timestamp, penggabungan data, atau kolom data yang sudah direvisi diam-diam memberinya jawaban dari masa depan.

Solusinya adalah menjadikan waktu ketersediaan sebagai bagian dari kontrak riset. Setiap input harus memiliki jawaban yang jelas untuk 2 pertanyaan: periode apa yang digambarkan oleh nilai ini, dan kapan strategi pertama kali bisa mengetahuinya?

Seperti apa bias melihat ke masa depan dalam strategi yang dibuat AI?

Contoh yang paling jelas adalah sinyal yang dihitung dari harga penutupan candle yang sama, lalu dieksekusi pada harga penutupan itu. Jika strategi memerlukan harga penutupan untuk mengambil keputusan, strategi itu tidak bisa sekaligus bertransaksi pada harga tersebut. Namun, agen sering membuat versi yang lebih samar saat menggabungkan sumber data atau memilih nilai bawaan yang praktis.

Misalkan model menghitung rata-rata bergerak 20 candle pada penutupan setiap menit dan mengambil posisi saat harga penutupan menembusnya. Jika backtest mengeksekusi transaksi pada harga penutupan yang sama, berarti model menggunakan transaksi terakhir pada candle itu sebelum informasi tersebut tersedia bagi strategi. Menggeser order ke pembukaan candle berikutnya mungkin menjadi pendekatan yang wajar, meskipun market order tetap perlu memperhitungkan biaya dan dampak pasar.

Sekarang, gunakan fitur berupa data fundamental saham harian atau cuplikan open interest kripto. Tanggal pada baris mungkin menunjukkan Senin, tetapi nilainya bisa saja baru dipublikasikan setelah penutupan hari Senin atau dikoreksi kemudian. Tanggal bukanlah timestamp ketersediaan.

Bagaimana sebaiknya saya memberi timestamp pada input strategi?

Simpan setidaknya 3 waktu jika sumber datanya menyediakan: periode yang digambarkan oleh suatu nilai, waktu penerbit merilisnya, dan waktu sistem Anda menerimanya. Himpunan informasi strategi pada waktu pengambilan keputusan hanya boleh mencakup nilai yang sudah tersedia saat itu.

KolomPertanyaan yang dijawabJebakan umum
Waktu kejadianKapan peristiwa pasar terjadi?Menggunakan harga penutupan candle sebelum candle selesai
Waktu rilisKapan sumber menerbitkan nilai ini?Menganggap label akhir hari sebagai rilis pada awal sesi
Waktu ingestKapan sistem riset ini dapat menggunakannya?Mengabaikan keterlambatan vendor atau pipeline
Waktu revisiKapan versi ini dicatat atau dikoreksi?Mengisi ulang data historis yang sudah direvisi seolah-olah itulah data aslinya

Untuk strategi 1 menit, keterlambatan 1 detik belum tentu tidak berdampak. Pengaruhnya bergantung pada waktu pengambilan keputusan dan data yang digunakan sinyal. Jika inputnya adalah statistik per jam yang sudah lengkap, dampaknya mungkin nyaris tidak terasa. Jika inputnya adalah ketidakseimbangan order book yang diambil dekat waktu pengiriman order, hal itu bisa membalikkan transaksi.

Bisakah penyimpanan data point-in-time mencegah kebocoran?

Bisa membantu, jika “point-in-time” berarti Anda dapat mengambil nilai yang diketahui pada waktu keputusan historis, termasuk revisi yang berlaku saat itu. Tabel yang hanya memiliki tanggal historis masih bisa berisi nilai yang telah dikoreksi hari ini untuk tanggal-tanggal tersebut.

Untuk setiap catatan, simpan interval efektif dan timestamp ketersediaan, serta pertahankan revisi alih-alih menimpanya. Lalu, buat kueri historis secara eksplisit: ambil versi terbaru yang tersedia pada waktu keputusan simulasi. Ini sangat penting untuk data fundamental, keanggotaan indeks, rilis ekonomi, dan dataset yang telah dibersihkan vendor.

Ada kendala operasional yang kurang menarik: timestamp rilis yang sempurna tidak berguna jika job ingest berjalan terlambat 20 menit. Jika penyimpanan historis tidak mencatat waktu ingest, gunakan jeda konservatif dan nyatakan demikian. Presisi yang tidak pernah dicatat oleh sumber hanyalah hiasan.

Pemeriksaan apa yang bisa mendeteksi bias melihat ke masa depan sebelum paper trading?

Minta agen riset menghasilkan linimasa fitur dan order bersama backtest. Untuk setiap keputusan, catat waktu ketersediaan sumber terbaru bagi setiap fitur, waktu keputusan, waktu order, dan waktu eksekusi yang dimodelkan. Tolak setiap baris yang inputnya tiba setelah keputusan dibuat.

Pemeriksaan ini tidak menjamin strategi bebas masalah. Pemeriksaan ini membuat asumsi waktu tertentu terlihat dan mendeteksi pelanggaran umum terhadap asumsi tersebut.

Apakah paper trading membuktikan bahwa backtest tidak mengalami kebocoran?

Tidak. Paper trading dapat mengungkap jalur data live yang terlambat, tidak lengkap, atau memiliki penyelarasan berbeda dari data historis. Namun, paper trading tidak dapat memastikan bahwa fitur pelatihan lama mencerminkan informasi yang diketahui pada saat itu. Model juga bisa berhenti mendapat manfaat dari kebocoran hanya karena masa depan yang tak sengaja dilihatnya kini sudah menjadi masa kini.

Gunakan paper trading untuk memeriksa kesesuaian: bandingkan nilai fitur live, timestamp keputusan, pembuatan order, dan eksekusi yang dimodelkan dengan definisi dalam backtest. Jika berbeda, telusuri input dan jam yang tepat. Tim agen yang dapat menjelaskan himpunan informasi pada setiap keputusan sedang melakukan riset yang berguna. Tim agen yang hanya bisa menunjukkan kurva mulus telah melewatkan audit tersulit.

agen AIbias melihat ke masa depanbacktestingrekayasa datapaper trading
← Semua artikel