QJ//BOUNDED QUERY · OFFLINE

Stateless Trade Risk Simulation

Estimate before, after and delta portfolio volatility, effective number of bets and fractional risk contribution for one bounded hypothetical long-only trade. No order or portfolio state is created.

OFFLINE/v1/query/simulate-tradeOAUTH · agents:query$0.05 · X402/2

CONTRACT

Paid bounded stateless trade risk simulation

Skill
qj-simulate-trade
Route
/v1/query/simulate-trade
Identity
OAUTH · agents:query
Price
$0.05 · X402/2

GOVERNED METHOD

Exact MCP evidence path

  • data.prices.batchqj-data-mcp
  • data.risk.pretradeqj-data-mcp

No direct database, provider API or private service access. Missing coverage remains missing—it is never turned into a negative fact.

INVOKE

Call the bounded resource

Register an OAuth client, request scope agents:query, then call the route with its bearer token. The first unauthorised call returns the exact x402 v2 payment challenge.

REQUEST

{
  "baseCurrency": "USD",
  "positions": [
    {
      "ticker": "AAPL",
      "marketValue": 25000,
      "currency": "USD"
    },
    {
      "ticker": "NVDA",
      "marketValue": 15000,
      "currency": "USD"
    },
    {
      "ticker": "TSM",
      "marketValue": 10000,
      "currency": "USD"
    }
  ],
  "lookbackDays": 120,
  "tradeTicker": "MSFT",
  "side": "BUY",
  "notional": 25000
}

ILLUSTRATIVE RESPONSE SHAPE · NOT LIVE MARKET DATA

{
  "schemaVersion": "qj-agents.simulate-trade.v1",
  "skillId": "qj-simulate-trade",
  "priceUsd": "0.05",
  "status": "complete | partial",
  "query": {
    "baseCurrency": "USD",
    "positions": [
      {
        "ticker": "AAPL",
        "marketValue": 25000,
        "currency": "USD"
      },
      {
        "ticker": "NVDA",
        "marketValue": 15000,
        "currency": "USD"
      },
      {
        "ticker": "TSM",
        "marketValue": 10000,
        "currency": "USD"
      }
    ],
    "lookbackDays": 120,
    "tradeTicker": "MSFT",
    "side": "BUY",
    "notional": 25000
  },
  "facts": {
    "example": "live fields are returned here"
  },
  "interpretation": [],
  "coverage": [
    {
      "tool": "data.prices.batch",
      "status": "ok"
    }
  ],
  "toolsUsed": [
    "data.prices.batch",
    "data.risk.pretrade"
  ],
  "asOf": "ISO-8601 source timestamp",
  "freshness": {
    "status": "fresh | stale | unknown"
  },
  "lineageRefs": [
    "source and materialization references"
  ]
}