Install
openclaw skills install kalshi-econ-seasonal-traderTrades CPI/inflation markets on Kalshi using documented seasonal patterns in CPI data. Energy costs spike summer, housing adjustments January. Requires SIMME...
openclaw skills install kalshi-econ-seasonal-traderThis is a template. The default signal uses static seasonal adjustment factors for CPI bins -- remix it with real-time BLS data feeds, energy futures curves, or housing indices for live seasonal calibration. The skill handles all the plumbing (market discovery, trade execution, safeguards). Your agent provides the alpha.
CPI has well-documented seasonal patterns that retail traders ignore. Energy costs spike in summer (June peak), housing OER resets in January, and holiday demand lifts December. This skill biases CPI bin probabilities based on the current month's historical seasonal adjustment, then trades when Kalshi market prices diverge from the seasonally-adjusted fair value.
Key advantages:
| Month | Adj | Reason |
|---|---|---|
| Jan | +0.10 | Housing OER annual reset |
| Feb | -0.05 | Post-holiday normalization |
| Mar | 0.00 | Neutral transition |
| Apr | +0.05 | Spring demand, gasoline blend switch |
| May | +0.05 | Summer driving begins |
| Jun | +0.10 | Peak summer energy |
| Jul | +0.05 | Continued summer, moderating |
| Aug | 0.00 | Back-to-school offsets energy |
| Sep | -0.05 | Summer demand fade |
| Oct | -0.05 | Autumn deflation |
| Nov | 0.00 | Pre-holiday neutral |
| Dec | +0.05 | Holiday demand |
conviction = min(|edge| / entry_edge, 2.0) / 2.0size = max($1.00, conviction * MAX_POSITION_USD)| Parameter | Default | Notes |
|---|---|---|
| Entry edge | 8% | Min fair-vs-market divergence to trade |
| Exit threshold | 45% | Sell when position price reaches this |
| Max position size | $5.00 USDC | Per market |
| Max trades per run | 3 | Rate limiting |
| Max slippage | 15% | Skip if slippage exceeds |
| Min liquidity | $0 | Disabled by default |
clawhub install kalshi-econ-seasonal-trader
Requires: SIMMER_API_KEY and SOLANA_PRIVATE_KEY environment variables.
Cron is set to null -- the skill does not run on a schedule until you configure it in the Simmer UI.
The skill defaults to dry-run mode. Real trades only execute when --live is passed explicitly.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Dry run | None |
| Cron / automaton | Dry run | None |
python trader.py --live | Live (Kalshi via DFlow) | Real USDC |
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority. Treat as a high-value credential. |
SOLANA_PRIVATE_KEY | Yes | Base58-encoded Solana private key for live trading. |
| Variable | Default | Purpose |
|---|---|---|
SIMMER_ECON_SEAS_ENTRY_EDGE | 0.08 | Min divergence to trigger trade |
SIMMER_ECON_SEAS_EXIT_THRESHOLD | 0.45 | Sell position when price reaches this level |
SIMMER_ECON_SEAS_MAX_POSITION_USD | 5.00 | Max USDC per trade |
SIMMER_ECON_SEAS_MAX_TRADES_PER_RUN | 3 | Max trades per execution cycle |
SIMMER_ECON_SEAS_SLIPPAGE_MAX | 0.15 | Max slippage before skipping trade |
SIMMER_ECON_SEAS_MIN_LIQUIDITY | 0 | Min market liquidity USD (0 = disabled) |
simmer-sdk is published on PyPI by Simmer Markets.