Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

multi-agent AI trading system architecture

Ang multi-agent AI trading system ay gumagamit ng LLM committee para sa trade decisions. Alamin ang arkitektura, market costs, at backtest traps na dapat iwasan.

Isang multi-agent AI trading system ang naghahati ng isang trading decision sa ilang instances ng large language model, binibigyan ang bawat instance ng papel, at pinagsasama ang kanilang outputs sa iisang order. Ang karaniwang roster ay isang news reader, isang fundamentals analyst, isang chart analyst, isang risk checker, at isang manager agent na nag-aarbitra. Simula noong Hulyo 2026, may ilang open source frameworks na ganito ang hugis na nasa algorithmic-trading topic sa GitHub na may ilang daang stars bawat isa. Ipinapaliwanag ng page na ito ang arkitektura, pinaghihiwalay ang nai-publish na ebidensya mula sa mga README claims, at inilalagay ang market data sa mga gastos na dapat malampasan ng anumang bersyon nito.

Ano talaga ang multi-agent AI trading system

Ang arkitektura ay isang komite na may tagapangulo. Ang bawat agent ay isang prompt template, isang data feed, at isang output schema. Ang news agent ay tumatanggap ng mga headline at nagbabalik ng label. Ang fundamentals agent ay tumatanggap ng mga filing extracts at nagbabalik ng score. Ang chair agent ay tumatanggap ng mga label at scores na iyon at nagbabalik ng order.

Tatlong katangian ang sumusunod mula sa disenyong iyon, at bawat isa ay dapat pangalanan bago ang anumang claim tungkol sa performance.

Ang bawat agent ay karaniwang nagbabahagi ng isang base model. Limang prompts laban sa parehong weights ay gumagawa ng magkakaugnay na opinyon, kaya ang five-agent vote ay hindi limang independent estimates. Ang committee framing ay nagmumungkahi ng diversification na hindi ibinibigay ng implementation.

Ang sistema ay isang text pipeline na nakabalot sa isang numeric decision. Binabasa ng modelo ang mga salita at naglalabas ng token. Ang position sizing, order type, stop placement, at exit logic ay ordinaryong code na nasa ilalim, at karamihan sa nagtatakda ng resulta ay nasa code na iyon, hindi sa mga prompts.

Ang committee round trip ay tumatagal ng ilang segundo. Iyan ay magagawa para sa isang weekly rebalance at hindi relevant sa intraday speed, kung saan ang market makers ay nag-quote at nag-requote sa microseconds.

Ano ang sinusuportahan ng pananaliksik at ano ang hindi

Ang nai-publish na trabaho sa language models sa finance ay nahahati sa tatlong claims na may magkakaibang lakas.

Ang extraction at classification ang strong claim. Nagla-label ang mga modelo ng sentiment, kumukuha ng mga numero mula sa filings, at nag-compress ng mahabang dokumento sa accuracy na nangangailangan ng bespoke model ilang taon na ang nakalipas. Ito ay masusukat sa held-out text at ito ay tumatagal.

Ang description ng market state ang mixed claim. Sumusulat ang mga modelo ng fluent accounts ng isang regime, at ang mga account na iyon ay karaniwang consistent sa data na ipinakita sa modelo. Kung ang description ay may dalang impormasyon na hindi pa dala ng presyo ay isang hiwalay na tanong, at ang mga papel na sumusubok nito nang maingat ay nag-uulat ng maliliit na effects na may malalawak na error bars.

Ang profitability ang weak claim. Karamihan sa repository READMEs ay nag-uulat ng backtest sa halip na isang funded track record, at ang distansya sa pagitan ng isang in-sample equity curve at isang live account ay ang pinakamatandang distansya sa quantitative trading. Ang paglalagay ng language model sa loop ay hindi ito pinaiikli.

Ang cost floor na dapat malampasan ng isang signal

Ang bawat trade ay tumatawid sa isang spread, at ang pagtawid na iyon ang floor na dapat malampasan ng isang strategy bago ang lahat. Median quoted spread sa regular hours, Hunyo 22 hanggang Hunyo 26, 2026, para sa anim na US-listed names:

QuerySahig ng gastos: median quoted spread sa basis points ng midpoint, regular hours, Hunyo 22-26 2026
Ang eksaktong SQL sa likod ng bawat numero
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

Ang isang basis point ay isang daan ng isang porsyentong punto. Ang pinakamahigpit na name sa panel, SPY, ay nag-quote ng median spread na 0.27 basis points sa loob ng linggong iyon. Ang pinakamalawak, RIOT, ay nag-quote ng 7.09. Ang isang round trip ay nagbabayad ng spread nang dalawang beses, kaya ang isang entry at exit sa unang name ay nagsisimula ng 0.55 basis points ang layo at ang parehong pares sa huling name ay nagsisimula ng 14.19 ang layo. Ang isang agent na nagpapaikot ng libro nito nang dalawang beses sa isang linggo ay nagbabayad ng toll na iyon nang halos isang daang beses sa isang taon, at ang toll ay sinisingil kahit tama o mali ang tawag. What it costs to trade a stock ay nagdedetalye ng natitirang bill.

Ang ingay na dapat talunin ng isang directional call

Ang mga direction calls ay hinuhusgahan laban sa isang distribution na karamihan ay maliliit na numero. Bawat SPY session sa calendar 2025, na naka-sort ayon sa laki ng close-to-close move nito:

QueryLaki ng tipikal na sesyon: SPY close-to-close galaw ayon sa size band, kalendaryo 2025
Ang eksaktong SQL sa likod ng bawat numero
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

Ang kalahati ng taon ay nasa loob ng kalahating porsyento. Ang under 0.25% band ay may hawak na 24.9% ng mga session at ang 0.25 to 0.5% band ay may hawak na isa pang 24.1%. Sa kabilang dulo, 13 session ay gumalaw ng 2% and up, 5.2% ng taon.

Ilagay iyan sa tabi ng spread panel. Ang isang basis point ay 0.01%. Ang isang tipikal na session move na 0.3% ay tatlumpung beses ng isang mahigpit na spread at halos apat na beses ng malawak. Ang arithmetic ay nag-iiwan ng puwang para sa isang matiyaga, tamang call at napakaliit para sa isang mabilis, marginal.

Kung saan talaga nakaupo ang tradable universe

Ang mga agent frameworks ay nag-a-advertise ng coverage, madalas daan-daang tickers na ini-scan tuwing umaga. Ang dollar volume ay nagpapakita kung gaano karami sa listang iyon ang kayang sumipsip ng size. Bawat US-listed name na nag-trade sa regular hours noong Hunyo 30, 2026, na naka-grupo ayon sa rank nito sa dollar volume ng session na iyon:

QueryKung saan pumapasok ang pera: US dollar volume ayon sa liquidity rank tier, regular hours, Hunyo 30 2026
Ang eksaktong SQL sa likod ng bawat numero
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

Sampung names ang nagdala ng 22.5% ng dollar volume ng session, mga $205.04 bilyon. Ang susunod na 40 ay nagdala ng 20.5%. Sa kabilang dulo, 10966 names na naka-rank lampas 1000 ay nagbahagi ng 12.9% sa kanila, halos $117.83 bilyon na kumalat sa buong tail.

Ang breadth ay mura i-advertise at mahal i-trade. Ang isang komite na nagra-rank ng tatlong libong names ay ginugugol ang karamihan ng ranking effort nito sa tail na iyon, kung saan ang spread panel sa itaas ay isang tunay na gastos sa halip na isang rounding error.

Bakit pinalalaki ng mga backtest na ito ang sistema

Ang pinakamalaking solong source ng isang paborableng backtest ay ang pagpili ng window. SPY ayon sa calendar year, 2016 hanggang 2025, kasama ang gap sa pagitan ng pinakamataas at pinakamababang closing price ng taon:

QueryAng window ang nagdedesisyon ng sagot: SPY calendar-year price return at intra-year high-to-low range, 2016-2025
Ang eksaktong SQL sa likod ng bawat numero
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

Ang isang sistemang sinubukan lamang sa 2021, isang taong nagsara ng 28.7% mas mataas, ay nagmamana ng rising tape. Ang parehong sistemang sinubukan lamang sa 2022, na nagsara ng -20%, ay nagmamana ng falling one. Ang within-year gap sa pagitan ng pinakamataas at pinakamababang close ay umabot ng 68% sa 2020 at nanatili sa itaas ng 25.3% kahit sa mas kalmadong mga taon.

Apat na traps ang nakaupo sa ibabaw ng window problem, at ang isa sa kanila ay pag-aari lamang ng language models.

  • Lookahead sa pamamagitan ng training data. Ang isang model na sinanay sa text hanggang 2025 ay nabasa na kung paano naging resulta ang isang 2023 trade. Ang isang backtest sa 2023 ay nagtatanong ng tanong na alam na ng modelo ang sagot, at walang shuffling ng price series ang nag-aalis ng kaalamang iyon.
  • Survivorship sa ticker list. Ang isang universe na binuo mula sa mga listing ngayon ay inaalis ang mga names na na-delist sa daan.
  • Fill assumptions. Ang isang backtest na pumupuno sa bawat order sa midpoint ay binubura ang buong cost panel sa itaas.
  • Selection sa prompt variants. Dalawampung prompt phrasings ang sinubukan at ang pinakamahusay na naiulat ay ang parehong overfitting na sumalot sa parameter sweeps bago pa man umiral ang language models.

Kung saan makatuwirang makakatulong ang language model agents

Ang tapat na bersyon ng pitch ay mas makitid kaysa sa README version at kapaki-pakinabang pa rin.

Ang pagbabasa ng volume ang pinakamalinaw na panalo. Ang isang agent na nagtatrabaho sa bawat filing at headline sa isang watchlist magdamag at nagbabalik ng structured summary ay nakakatipid ng oras ng tao, at ang output ay masusuri laban sa source.

Ang paglalarawan ng isang regime sa plain language ang pangalawa. Ang isang daily paragraph sa dispersion, breadth, at volatility, na nabuo mula sa parehong numero na babasahin ng isang tao, ay isang kapaki-pakinabang na briefing document kahit na wala itong dalang forecast.

Ang process hygiene ang pangatlo. Ang isang agent na tumatanggi sa isang order na lumalabag sa nakasaad na position limit, o nag-flag ng isang strategy na malapit nang mag-trade ng earnings date, ay nagpapatupad ng mga patakaran na nilalaktawan ng isang distracted na tao.

Wala sa tatlong iyon ang isang edge sa market. Lahat ng tatlo ay research at operations work, kung saan nakaupo ang mga masusukat na kita ngayon. Ang isang dokumentadong effect tulad ng the low volatility anomaly ay nangangailangan ng malalaking sample at paulit-ulit na out-of-sample replication bago ito itinuring na totoo, at ang isang bagong agent framework ay nakakatugon sa parehong bar o hindi ito nalalampasan. Missing the best days ay nagpapakita kung ano ang halaga ng madalas na paglipat para sa isang long-horizon holder.

Ang disiplina na inilalarawan ng mga practitioner

Ang mga team na nagpapatakbo ng mga sistemang ito sa publiko ay may posibilidad na ilarawan ang parehong sequence. Forward test sa simulated fills sa loob ng ilang buwan sa halip na mga araw, dahil ang isang paper record ay naiipon lamang sa bilis ng real time. Panatilihin ang isang out-of-sample stretch na hindi pa nakikita ng mga prompts. I-log ang bawat prompt, bawat response, at bawat order, dahil ang isang komite na hindi ma-replay ay hindi ma-debug. I-size ang mga positions na may fixed rules na nasa labas ng modelo. Bilangin ang bawat gastos mula sa mga panel sa itaas bago tawaging profitable ang anumang stretch.

FAQ

Kumikita ba talaga ang multi-agent AI trading systems?

Ang pampublikong ebidensya ay manipis. Karamihan sa open source projects ay naglalathala ng backtest sa halip na isang audited live record, at ang mga backtest ng language model strategies ay may partikular na flaw: ang modelo ay sinanay sa text na naglalarawan ng test period. Ang isang unaudited equity curve ay nagpapakita ng software, hindi isang edge.

Mas mahusay ba ang isang komite ng LLM agents kaysa sa isang modelo?

Binabawasan ng isang komite ang ilang formatting at parsing errors at nagdaragdag ng structure sa output. Hindi ito nagdaragdag ng independent information kapag ang bawat agent ay nag-query sa parehong base model sa parehong pinagbabatayan na data. Limang magkakaugnay na opinyon ang bumoboto bilang halos isang opinyon, na may dagdag na latency at dagdag na token cost.

Maaari bang mag-trade ang isang AI agent nang mas mabilis kaysa sa isang market maker?

Hindi. Ang isang language model round trip ay tumatakbo sa ilang segundo habang ang professional quoting systems ay gumagana sa microseconds sa co-located hardware. Anumang strategy na ang profit ay nakadepende sa bilis ay nasa labas ng kaya ng mga sistemang ito, na nag-iiwan ng mga horizon ng mga araw at linggo bilang ang plausible ground.

Ano ang pinakamalaking backtest trap na partikular sa LLM trading agents?

Training-data lookahead. Ang conventional backtests ay nagbabantay laban sa future prices na tumutulo sa isang desisyon, ngunit ang weights ng isang modelo ay naka-encode na ng nai-publish na commentary tungkol sa test window. Ang walk-forward windows at out-of-sample splits ay hindi nag-aalis ng kaalaman na naka-bake sa weights, at ang tanging malinis na test ay isang period pagkatapos ng training cutoff.

Gaano katagal dapat tumakbo ang isang paper-trading period?

Ang kapaki-pakinabang na framing ay sample size sa halip na calendar length. Ang isang strategy na nagte-trade lingguhan ay gumagawa ng halos limampung observations sa isang taon, isang maliit na sample para sa anumang claim tungkol sa isang edge. Karaniwang gusto ng mga practitioner ng sapat na trades upang makakita ng drawdown, hindi lang isang magandang stretch.


Ang bawat panel sa page na ito ay isang naka-store, naka-version na query sa totoong US market data. Buksan ang anumang panel upang basahin ang SQL sa likod nito, o patakbuhin ang iyong sarili laban sa parehong mga table sa Strasmore terminal.

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