Skip to main content
Trade ideas are the daily output of an agent loop running over every active market. They appear in sf ideas, the /ideas page, and the get_trade_ideas MCP tool.

Pipeline

market universe  →  filter unsuitable  →  attach quantSignals  →  generate ideas  →  surfaces
The idea pipeline runs an LLM-backed market analysis loop that:
1

Pull world snapshot

Latest world state including regimes, indicators, and salient items.
2

Filter unsuitable

Skip sports, esports, low liquidity, settled markets.
3

Generate structured ideas

One idea per surviving market, with thesis summary and edge direction.
4

Compute quantSignals

IY, CRI, regime tags, theme tag.
5

Persist with provenance

Model name, prompt version, generated-at timestamp.

Idea schema

{
  "id": "i_...",
  "ticker": "KXRATECUT-26DEC31",
  "title": "...",
  "thesisSummary": "...",
  "edge": {
    "direction": "buy_yes",
    "edgeCents": 4,
    "confidence": 0.7
  },
  "quantSignals": {
    "iyYes": 18.4,
    "cri": 22,
    "regimeLabel": "observable_macro_balanced",
    "lasCents": 2
  },
  "theme": "fed-monetary",
  "provenance": {
    "model": "anthropic/claude-sonnet-4.6",
    "promptVersion": "v3.1",
    "generatedAt": "2026-04-30T23:00:00Z"
  }
}

Filters

  • Unsuitable categories — sports, esports, weather, gimmicks (configurable).
  • Settled markets — price ≤ 2¢ or ≥ 98¢, or |edge| ≥ 90¢.
  • Stale marketstauDays ≤ 0.

Surfaces

  • CLI: sf ideas --json
  • API: GET /api/public/ideas
  • MCP: get_trade_ideas
  • Web: simplefunctions.dev/ideas

Next steps

Regime

Labels that drive idea filtering.

Indicators

What’s in quantSignals.

Trade intents

How to act on an idea.