Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

sistem perdagangan ai multi-agen arsitektur nyata

Sistem perdagangan AI multi-agen menjalankan komite LLM pada satu perdagangan. Lihat arsitektur, biaya pasar yang dibersihkan oleh sinyal, dan jebakan backtest yang terlibat.

Sistem perdagangan AI multi-agen membagi satu keputusan perdagangan ke beberapa instance model bahasa besar, memberi setiap instance peran, dan menggabungkan keluaran mereka menjadi satu pesanan. Susunan biasanya adalah pembaca berita, analis fundamental, analis grafik, pemeriksa risiko, dan agen manajer yang menjadi penengah. Per Juli 2026, beberapa kerangka kerja sumber terbuka dengan bentuk ini berada di topik perdagangan algoritmik di GitHub dengan masing-masing beberapa ratus bintang. Halaman ini menguraikan arsitekturnya, memisahkan bukti yang dipublikasikan dari klaim README, dan menyajikan data pasar tentang biaya yang harus ditanggung oleh versi mana pun.

Apa sebenarnya sistem perdagangan AI multi-agen itu

Arsitekturnya adalah sebuah komite dengan seorang ketua. Setiap agen adalah templat perintah (prompt), umpan data, dan skema keluaran. Agen berita menerima judul berita dan mengembalikan label. Agen fundamental menerima ekstrak laporan dan mengembalikan skor. Agen ketua menerima label dan skor tersebut dan mengembalikan sebuah pesanan.

Tiga properti mengikuti dari desain itu, dan masing-masing layak disebutkan sebelum klaim kinerja apa pun.

Setiap agen biasanya berbagi satu model dasar. Lima perintah terhadap bobot yang sama menghasilkan opini yang berkorelasi, sehingga suara lima agen bukanlah lima perkiraan independen. Pembingkaian komite menunjukkan diversifikasi yang tidak disediakan oleh implementasi.

Sistem ini adalah jalur pipa teks yang membungkus keputusan numerik. Model membaca kata-kata dan mengeluarkan token. Penentuan ukuran posisi, jenis pesanan, penempatan stop loss, dan logika keluar adalah kode biasa yang berada di bawahnya, dan sebagian besar penentu hasil ada dalam kode itu, bukan di dalam perintah.

Perjalanan pulang-pergi komite memakan waktu detik. Itu bisa diterapkan untuk penyeimbangan ulang mingguan dan tidak relevan pada kecepatan intraday, di mana pembuat pasar memberikan kuotasi dan kuotasi ulang dalam mikrodetik.

Apa yang didukung oleh penelitian dan apa yang tidak

Karya yang dipublikasikan tentang model bahasa di bidang keuangan terbagi menjadi tiga klaim dengan kekuatan yang sangat berbeda.

Ekstraksi dan klasifikasi adalah klaim yang kuat. Model memberi label sentimen, mengambil angka dari laporan, dan mengompresi dokumen panjang dengan akurasi yang membutuhkan model khusus beberapa tahun lalu. Ini terukur pada teks yang ditahan dan hasilnya bertahan.

Deskripsi keadaan pasar adalah klaim campuran. Model menulis narasi yang lancar tentang suatu rezim, dan narasi tersebut biasanya konsisten dengan data yang ditunjukkan pada model. Apakah deskripsi tersebut membawa informasi yang belum dibawa oleh harga adalah pertanyaan terpisah, dan makalah yang mengujinya dengan hati-hati melaporkan efek kecil dengan batas kesalahan yang lebar.

Profitabilitas adalah klaim yang lemah. Sebagian besar README repositori melaporkan backtest daripada rekam jejak yang didanai, dan jarak antara kurva ekuitas dalam sampel dan akun langsung adalah jarak tertua dalam perdagangan kuantitatif. Menempatkan model bahasa dalam perulangan tidak memperpendek jarak itu.

Biaya dasar yang harus diatasi oleh sinyal

Setiap perdagangan melewati spread, dan itu adalah dasar yang harus diatasi oleh strategi sebelum hal lainnya. Median spread yang dikutip selama jam reguler, 22 hingga 26 Juni 2026, untuk enam nama yang terdaftar di AS:

QueryBasis biaya: median quoted spread dalam basis poin dari titik tengah, jam reguler, 22-26 Juni 2026
SQL tepat di balik setiap angka
SELECT ticker,
       round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS spread_bps,
       round(2 * quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS round_trip_bps,
       round(count() / 1e6, 1) AS quote_updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO', 'F', 'RIOT')
  AND sip_timestamp >= toDateTime('2026-06-22 00:00:00')
  AND sip_timestamp < toDateTime('2026-06-27 00:00:00')
  AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
ORDER BY spread_bps
Run this yourself

Satu basis poin adalah seperseratus poin persentase. Nama paling ketat di panel, SPY, mengutip spread median sebesar 0.27 basis poin selama minggu itu. Yang terlebar, RIOT, mengutip 7.09. Perjalanan pulang-pergi membayar spread dua kali, jadi entry dan exit di nama pertama mulai tertinggal 0.55 basis poin dan pasangan yang sama di nama terakhir mulai tertinggal 14.19 di belakang. Agen yang memutar bukunya dua kali seminggu membayar biaya itu sekitar seratus kali setahun, dan biaya itu dikenakan terlepas dari apakah panggilan itu benar atau salah. Berapa biaya untuk memperdagangkan saham merinci sisa tagihan.

Kebisingan yang harus diatasi oleh panggilan arah

Panggilan arah dinilai terhadap distribusi yang sebagian besar adalah angka kecil. Setiap sesi SPY di tahun kalender 2025, diurutkan berdasarkan besarnya pergerakan dari penutupan ke penutupan:

QuerySeberapa besar sesi tipikal: pergerakan SPY dari close ke close berdasarkan kelompok ukuran, kalender 2025
SQL tepat di balik setiap angka
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           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('2025-01-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
),
paired AS (
    SELECT d, close_px,
           any(close_px) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
    FROM daily
),
rets AS (
    SELECT d, round(100 * (toFloat64(close_px) / toFloat64(prev_px) - 1), 3) AS ret_pct
    FROM paired
    WHERE prev_px > 0
)
SELECT multiIf(abs(ret_pct) < 0.25, 'under 0.25%',
               abs(ret_pct) < 0.5, '0.25 to 0.5%',
               abs(ret_pct) < 1.0, '0.5 to 1%',
               abs(ret_pct) < 2.0, '1 to 2%',
               '2% and up') AS move_bucket,
       count() AS sessions,
       round(100 * count() / sum(count()) OVER (), 1) AS pct_of_sessions
FROM rets
GROUP BY move_bucket
ORDER BY min(abs(ret_pct))
Run this yourself

Setengah tahun berada di dalam setengah persen. Pita under 0.25% menampung 24.9% sesi dan pita 0.25 to 0.5% menampung 24.1% lainnya. Di ujung lain, 13 sesi bergerak 2% and up, 5.2% dari tahun tersebut.

Letakkan itu di samping panel spread. Satu basis poin adalah 0,01%. Pergerakan sesi tipikal sebesar 0,3% adalah tiga puluh kali spread ketat dan kira-kira empat kali spread lebar. Aritmatika menyisakan ruang untuk panggilan yang sabar dan benar, dan sangat sedikit untuk panggilan yang cepat dan marjinal.

Di mana alam semesta yang dapat diperdagangkan sebenarnya berada

Kerangka kerja agen mengiklankan cakupan, seringkali ratusan ticker dipindai setiap pagi. Volume dolar menunjukkan berapa banyak dari daftar itu yang dapat menyerap ukuran. Setiap nama yang terdaftar di AS yang diperdagangkan selama jam reguler pada 30 Juni 2026, dikelompokkan berdasarkan peringkatnya dalam volume dolar sesi itu:

QueryDi mana uang diperdagangkan: volume dolar AS berdasarkan peringkat likuiditas, jam reguler, 30 Juni 2026
SQL tepat di balik setiap angka
WITH tv AS (
    SELECT ticker,
           sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE 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
    HAVING sum(toFloat64(close) * toFloat64(volume)) > 0
),
ranked AS (
    SELECT ticker, dollar_volume,
           row_number() OVER (ORDER BY dollar_volume DESC) AS rk
    FROM tv
)
SELECT multiIf(rk <= 10, 'top 10 names',
               rk <= 50, 'ranks 11 to 50',
               rk <= 200, 'ranks 51 to 200',
               rk <= 1000, 'ranks 201 to 1000',
               'ranks beyond 1000') AS liquidity_tier,
       count() AS tickers,
       round(sum(dollar_volume) / 1e9, 2) AS dollar_volume_bn,
       round(100 * sum(dollar_volume) / (SELECT sum(dollar_volume) FROM tv), 1) AS pct_of_dollar_volume
FROM ranked
GROUP BY liquidity_tier
ORDER BY min(rk)
Run this yourself

Sepuluh nama membawa 22.5% dari volume dolar sesi, sekitar $205.04 miliar. 40 berikutnya membawa 20.5%. Di ujung lain, 10966 nama yang berada di peringkat di atas 1000 berbagi 12.9% di antara mereka, kira-kira $117.83 miliar tersebar di seluruh ekor.

Luasnya cakupan murah untuk diiklankan dan mahal untuk diperdagangkan. Sebuah komite yang memberi peringkat tiga ribu nama menghabiskan sebagian besar upaya pemeringkatannya di ekor itu, di mana panel spread di atas adalah biaya nyata, bukan kesalahan pembulatan.

Mengapa backtest ini membuat sistem terlihat lebih baik

Sumber tunggal terbesar dari backtest yang menyanjung adalah pilihan jendela. SPY berdasarkan tahun kalender, 2016 hingga 2025, dengan celah antara harga penutupan tertinggi dan terendah tahun itu:

QueryJendela menentukan jawaban: imbal hasil harga tahun kalender SPY dan rentang high-to-low intra-tahun, 2016-2025
SQL tepat di balik setiap angka
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           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('2016-01-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
),
yr AS (
    SELECT toYear(d) AS year,
           argMin(close_px, d) AS first_close,
           argMax(close_px, d) AS last_close,
           max(close_px) AS high_close,
           min(close_px) AS low_close,
           count() AS sessions
    FROM daily
    GROUP BY year
)
SELECT year,
       sessions,
       round(100 * (toFloat64(last_close) / toFloat64(first_close) - 1), 1) AS price_return_pct,
       round(100 * (toFloat64(high_close) / toFloat64(low_close) - 1), 1) AS high_low_range_pct
FROM yr
ORDER BY year
Run this yourself

Sebuah sistem yang diuji hanya pada 2021, tahun yang ditutup 28.7% lebih tinggi, mewarisi grafik yang naik. Sistem yang sama yang diuji hanya pada 2022, yang ditutup -20%, mewarisi grafik yang turun. Celah dalam tahun antara penutupan tertinggi dan terendah mencapai 68% di 2020 dan tetap di atas 25.3% bahkan di tahun-tahun yang lebih tenang.

Empat jebakan berada di atas masalah jendela, dan salah satunya milik model bahasa saja.

  • Pandangan ke depan melalui data pelatihan. Sebuah model yang dilatih pada teks hingga 2025 telah membaca bagaimana hasil perdagangan tahun 2023. Backtest selama tahun 2023 menanyakan pertanyaan yang model ketahui jawabannya, dan tidak ada pengacakan rangkaian harga yang menghilangkan pengetahuan itu.
  • Survivorship dalam daftar ticker. Alam semesta yang dirakit dari daftar hari ini menghilangkan nama-nama yang delisting di sepanjang jalan.
  • Asumsi pengisian. Backtest yang mengisi setiap pesanan di titik tengah menghapus seluruh panel biaya di atas.
  • Seleksi atas varian perintah. Dua puluh frasa perintah dicoba dan yang terbaik dilaporkan adalah overfitting yang sama yang menjangkiti parameter sweep jauh sebelum model bahasa ada.

Di mana agen model bahasa masuk akal untuk membantu

Versi jujur dari promosi lebih sempit daripada versi README dan masih berguna.

Membaca volume adalah kemenangan paling jelas. Seorang agen yang bekerja melalui setiap laporan dan judul berita pada daftar pantauan semalaman dan mengembalikan ringkasan terstruktur menghemat jam perhatian manusia, dan keluarannya dapat diperiksa terhadap sumbernya.

Mendeskripsikan rezim dalam bahasa biasa adalah yang kedua. Sebuah paragraf harian tentang dispersi, luasnya pasar, dan volatilitas, yang dihasilkan dari angka yang sama yang akan dibaca manusia, adalah dokumen pengarahan yang berguna bahkan ketika tidak membawa perkiraan.

Hiegiene proses adalah yang ketiga. Seorang agen yang menolak pesanan yang melanggar batas posisi yang dinyatakan, atau yang menandai strategi yang akan memperdagangkan tanggal pendapatan, menegakkan aturan yang dilewati oleh manusia yang terganggu.

Tak satu pun dari ketiganya adalah keunggulan di pasar. Ketiganya adalah pekerjaan riset dan operasi, di mana keuntungan terukur berada saat ini. Efek yang terdokumentasi seperti anomali volatilitas rendah membutuhkan sampel besar dan replikasi di luar sampel berulang sebelum ada yang menganggapnya nyata, dan kerangka kerja agen baru memenuhi standar yang sama atau tidak akan melewatinya. Kehilangan hari-hari terbaik menunjukkan berapa biaya perpindahan yang sering bagi pemegang jangka panjang.

Disiplin yang dijelaskan oleh para praktisi

Tim yang menjalankan sistem ini secara publik cenderung menggambarkan urutan yang sama. Uji coba ke depan pada pengisian simulasi selama berbulan-bulan, bukan berhari-hari, karena catatan kertas hanya terakumulasi secepat waktu nyata. Simpan rentang di luar sampel yang tidak pernah dilihat oleh perintah. Catat setiap perintah, setiap respons, dan setiap pesanan, karena komite yang tidak dapat diputar ulang tidak dapat di-debug. Tentukan ukuran posisi dengan aturan tetap yang berada di luar model. Hitung setiap biaya dari panel di atas sebelum menyebut rentang mana pun menguntungkan.

Tanya Jawab

Apakah sistem perdagangan AI multi-agen benar-benar menghasilkan uang?

Bukti publiknya tipis. Sebagian besar proyek sumber terbuka menerbitkan backtest daripada catatan langsung yang diaudit, dan backtest strategi model bahasa membawa cacat spesifik: model dilatih pada teks yang menggambarkan periode pengujian. Kurva ekuitas yang tidak diaudit menunjukkan perangkat lunak, bukan keunggulan.

Apakah komite agen LLM lebih baik daripada model tunggal?

Sebuah komite mengurangi beberapa kesalahan pemformatan dan penguraian serta menambah struktur pada keluaran. Itu tidak menambah informasi independen ketika setiap agen menanyai model dasar yang sama atas data dasar yang sama. Lima opini yang berkorelasi memberikan suara kira-kira sebagai satu opini, dengan latensi ekstra dan biaya token ekstra yang melekat.

Bisakah agen AI berdagang lebih cepat dari pembuat pasar?

Tidak. Perjalanan pulang-pergi model bahasa berlangsung dalam hitungan detik sementara sistem kuotasi profesional beroperasi dalam mikrodetik melalui perangkat keras yang ditempatkan bersama. Strategi apa pun yang keuntungannya bergantung pada kecepatan berada di luar kemampuan sistem ini, yang meninggalkan cakrawala hari dan minggu sebagai landasan yang masuk akal.

Apa jebakan backtest terbesar yang spesifik untuk agen perdagangan LLM?

Pandangan ke depan data pelatihan. Backtest konvensional melindungi dari kebocoran harga masa depan ke dalam keputusan, tetapi bobot model sudah menyandikan komentar yang diterbitkan tentang jendela pengujian. Jendela walk-forward dan pemisahan di luar sampel tidak menghilangkan pengetahuan yang tertanam dalam bobot, dan satu-satunya tes yang bersih adalah periode setelah batas pelatihan.

Berapa lama periode perdagangan kertas perlu berjalan?

Pembingkaian yang berguna adalah ukuran sampel daripada panjang kalender. Strategi yang berdagang mingguan menghasilkan sekitar lima puluh pengamatan per tahun, sampel kecil untuk klaim apa pun tentang keunggulan. Praktisi umumnya ingin memiliki cukup perdagangan untuk melihat penarikan (drawdown), bukan hanya rentang yang bagus.


Setiap panel di halaman ini adalah kueri tersimpan dan berversi atas data pasar AS nyata. Buka panel mana pun untuk membaca SQL di baliknya, atau jalankan sendiri terhadap tabel yang sama di terminal Strasmore.

#ai agents#llm#algorithmic trading#automation#backtesting