{
  "schemaVersion": "dxrg-open-trading-agent-source-review/v1",
  "version": "1.0.0",
  "title": "DXRG Open Trading-Agent Source Review",
  "description": "A dated comparison of two open trading-agent repositories, with pinned code references and explicit unverified questions. Source review only; no framework was executed or performance validated.",
  "publishedDate": "2026-09-07",
  "modifiedDate": "2026-09-07",
  "ownerPage": "https://www.dxrg.ai/blogs/how-to-evaluate-an-ai-trading-agent",
  "publisherInterest": "DXRG builds trading-agent software and publishes this review as a participant in the field. This is not an independent product recommendation.",
  "method": "Read the identified README, implementation and test files at each pinned commit. Describe only the inspected paths; test assertions are source observations, not test results. Unknowns do not assert that a capability is absent.",
  "entries": [
    {
      "id": "ai-trader",
      "name": "HKUDS AI-Trader",
      "repository": "https://github.com/HKUDS/AI-Trader",
      "commit": "d03ff6c056b32ced735adf7c19ed8175adb1c8df",
      "reviewedAt": "2026-09-07",
      "reviewType": "SOURCE_REVIEW",
      "executionObserved": false,
      "testRunStatus": "NOT_RUN",
      "performanceResult": null,
      "description": "Agent-facing platform for signals, collaboration and paper trading in the reviewed repository.",
      "observations": [
        {
          "dimension": "environment",
          "finding": "The README describes paper trading with simulated capital and a Polymarket paper-trading path. A running website should not be treated as evidence of real-money execution.",
          "sources": [
            {
              "url": "https://github.com/HKUDS/AI-Trader/blob/d03ff6c056b32ced735adf7c19ed8175adb1c8df/README.md#L47",
              "path": "README.md",
              "locator": "#L47"
            },
            {
              "url": "https://github.com/HKUDS/AI-Trader/blob/d03ff6c056b32ced735adf7c19ed8175adb1c8df/README.md#L117-L123",
              "path": "README.md",
              "locator": "#L117-L123"
            }
          ]
        },
        {
          "dimension": "price_integrity",
          "finding": "The US-stock realtime-trade test expects rejection when the server quote is unavailable and uses the server quote instead of a submitted client price.",
          "sources": [
            {
              "url": "https://github.com/HKUDS/AI-Trader/blob/d03ff6c056b32ced735adf7c19ed8175adb1c8df/service/server/tests/test_realtime_trade_price_guard.py#L71-L115",
              "path": "service/server/tests/test_realtime_trade_price_guard.py",
              "locator": "#L71-L115"
            }
          ]
        },
        {
          "dimension": "costs",
          "finding": "The repository fee constant is 0.001 per trade. The inspected US-stock test includes that factor in its expected cash balance. This does not establish spread, slippage or market-impact realism.",
          "sources": [
            {
              "url": "https://github.com/HKUDS/AI-Trader/blob/d03ff6c056b32ced735adf7c19ed8175adb1c8df/service/server/fees.py#L1-L5",
              "path": "service/server/fees.py",
              "locator": "#L1-L5"
            },
            {
              "url": "https://github.com/HKUDS/AI-Trader/blob/d03ff6c056b32ced735adf7c19ed8175adb1c8df/service/server/tests/test_realtime_trade_price_guard.py#L84-L115",
              "path": "service/server/tests/test_realtime_trade_price_guard.py",
              "locator": "#L84-L115"
            }
          ]
        }
      ],
      "unverified": [
        "Production deployment parity and live broker execution",
        "Point-in-time integrity across all market data and experiments",
        "Realistic fills, slippage and market impact",
        "Reproduction of reported competition results"
      ]
    },
    {
      "id": "tradingagents",
      "name": "TauricResearch TradingAgents",
      "repository": "https://github.com/TauricResearch/TradingAgents",
      "commit": "9dee508c44662702281a8dbaad1f7b42179b5ba7",
      "reviewedAt": "2026-09-07",
      "reviewType": "SOURCE_REVIEW",
      "executionObserved": false,
      "testRunStatus": "NOT_RUN",
      "performanceResult": null,
      "description": "Research framework that combines analyst and decision roles in a graph.",
      "observations": [
        {
          "dimension": "decision_output",
          "finding": "The graph returns state and a processed portfolio rating. Signal parsing returns REVIEW for an unrecognized decision. Those outputs do not by themselves establish an order submission or fill.",
          "sources": [
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/tradingagents/graph/trading_graph.py#L561-L574",
              "path": "tradingagents/graph/trading_graph.py",
              "locator": "#L561-L574"
            },
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/tradingagents/graph/signal_processing.py#L29-L38",
              "path": "tradingagents/graph/signal_processing.py",
              "locator": "#L29-L38"
            }
          ]
        },
        {
          "dimension": "historical_memory",
          "finding": "Historical runs pass an as-of date to memory retrieval. Source tests cover excluding lessons resolved after the analysis date and legacy lessons without resolution dates. Current-date runs use unfiltered memory.",
          "sources": [
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/tradingagents/graph/trading_graph.py#L379-L388",
              "path": "tradingagents/graph/trading_graph.py",
              "locator": "#L379-L388"
            },
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/tradingagents/graph/trading_graph.py#L516-L518",
              "path": "tradingagents/graph/trading_graph.py",
              "locator": "#L516-L518"
            },
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/tests/test_memory_pointintime.py#L37-L67",
              "path": "tests/test_memory_pointintime.py",
              "locator": "#L37-L67"
            }
          ]
        },
        {
          "dimension": "reproducibility",
          "finding": "The README documents provider and data variability. A fixed ticker and analysis date alone do not demonstrate a reproduced result.",
          "sources": [
            {
              "url": "https://github.com/TauricResearch/TradingAgents/blob/9dee508c44662702281a8dbaad1f7b42179b5ba7/README.md#reproducibility",
              "path": "README.md",
              "locator": "#reproducibility"
            }
          ]
        }
      ],
      "unverified": [
        "End-to-end execution and realistic cost accounting",
        "Point-in-time integrity across every data source",
        "Production parity and broker permissions",
        "Independent replication of paper performance"
      ]
    }
  ]
}
