Skip to main content
The LLM Signal Engine uses large language models combined with real-time news to generate probability forecasts for prediction markets. It detects edge opportunities where the LLM’s estimate diverges from the current market price. Uses litellm for provider-agnostic LLM calls (100+ providers including OpenRouter, Anthropic, OpenAI, Together, Groq, and more). Falls back to direct Anthropic/OpenAI SDK calls when litellm is not installed.

Setup

Model Selection

With litellm, you can use any supported model string:
When the model string contains a /, it’s passed directly to litellm. Otherwise, the provider prefix is added automatically.

Standalone Forecast

Scan for Edges

Pipeline Mode

Integrate LLM forecasting into your hz.run() pipeline:
The llm_signal() pipeline function:
  • Refreshes the LLM forecast every N cycles
  • Injects ctx.params["llm_forecast"] (LLMForecast) and ctx.params["llm_edge_bps"] (float)
  • Caches results between refreshes

Configuration

News Sources

The engine fetches news from four sources: All are optional. Without news, the LLM forecasts based on the market question alone. Exa.ai provides semantic search (good for finding contextual articles), while Tavily provides real-time web search.

Graceful Degradation

Types

LLMForecast

LLMConfig