Install
openclaw skills install polymarket-macro-inflation-chain-traderThree-step macro chain reaction trader for Polymarket. Chains commodity pressure (oil, WTI, crude) through inflation and rate expectations (Fed, FOMC) to equity-threshold markets (NVIDIA, S&P, Nasdaq). When commodities surge but equities havent corrected, sells equity optimism. When commodities crash and equities overreact, buys the oversold dip. Most traders think in single categories -- this skill chains three macro layers to find divergence alpha.
openclaw skills install polymarket-macro-inflation-chain-traderThis is a template. The default signal chains commodity pressure through rate expectations to equity markets -- remix it with real-time CPI data feeds, Fed funds futures, or Treasury yield curve signals. The skill handles all the plumbing (market discovery, classification, chain logic, trade execution, safeguards). Your agent provides the alpha.
Most Polymarket traders analyze markets in isolation: oil markets, Fed markets, or equity markets separately. But macro economics is a chain reaction:
This skill monitors all three layers simultaneously and trades the divergence when one layer hasn't caught up to the others.
All markets from get_markets(limit=200) are classified into three buckets:
| Indicator | Calculation |
|---|---|
commodity_pressure | Average probability of commodity markets (high = commodities rising) |
rate_hawkish | Average hawkish probability (rate hold/hike markets + inverse of rate cut markets) |
equity_optimism | Average probability of equity-above-threshold markets |
| Condition | Signal | Reasoning |
|---|---|---|
commodity_pressure > 0.50 AND equity_optimism > 0.55 | Sell NO on equity thresholds | Equities haven't priced in commodity pain |
commodity_pressure < 0.30 AND equity_optimism < 0.40 | Buy YES on equity thresholds | Equities overreacted to low commodity pressure |
| Neither condition met | Fall back to standard conviction signals | No macro divergence detected |
conviction = (threshold - p) / thresholdmax(MIN_TRADE, conviction * MAX_POSITION) -- never flat sizingrate_hawkish with CME FedWatch implied probabilitiescommodity_pressure for real-time inflation signalsCOMMODITY_KW = ['oil', 'wti', 'crude', 'brent', 'commodity', 'commodities',
'natural gas', 'copper', 'gold price', 'silver price',
'oil price', 'barrel', 'opec']
MONETARY_KW = ['fed', 'federal reserve', 'rate cut', 'rate hike', 'fomc',
'inflation', 'cpi', 'interest rate', 'monetary policy',
'powell', 'rate hold', 'basis points', 'hawkish', 'dovish']
EQUITY_KW = ['nvidia', 'amazon', 's&p', 'sp500', 'nasdaq', 'stock',
'dow jones', 'apple', 'tesla', 'microsoft', 'google',
'meta', 'equity', 'market cap', 'ipo', 'earnings',
'above', 'below', 'stock price']
| Parameter | Default | Notes |
|---|---|---|
| Max position size | $40 USDC | Per market, reached at max conviction |
| Min market volume | $3,000 | Liquidity filter |
| Max bid-ask spread | 10% | Macro markets are typically liquid |
| Min days to resolution | 7 | Chain reactions need time to propagate |
| Max open positions | 8 | Diversify across equity targets |
clawhub install polymarket-macro-inflation-chain-trader
Requires: SIMMER_API_KEY environment variable.
Runs on demand or via automaton. Cron is set to null -- configure it in the Simmer UI when ready.
The skill defaults to paper trading (venue="sim"). Real trades only execute when --live is passed explicitly.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Paper (sim) | None |
| Cron / automaton | Paper (sim) | None |
python trader.py --live | Live (polymarket) | Real USDC |
The automaton cron is set to null -- it does not run on a schedule until you configure it in the Simmer UI. autostart: false means it won't start automatically on install.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority -- keep this credential private. |
All risk parameters are declared in clawhub.json as tunables and adjustable from the Simmer UI without code changes. They use SIMMER_-prefixed env vars so apply_skill_config() can load them securely.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 40 | Max USDC per trade (reached at 100% conviction) |
SIMMER_MIN_TRADE | 5 | Floor for any trade (min USDC regardless of conviction) |
SIMMER_MIN_VOLUME | 3000 | Min market volume filter (USD) |
SIMMER_MAX_SPREAD | 0.10 | Max bid-ask spread (0.10 = 10%) |
SIMMER_MIN_DAYS | 7 | Min days until market resolves |
SIMMER_MAX_POSITIONS | 8 | Max concurrent open positions |
SIMMER_YES_THRESHOLD | 0.38 | Buy YES if market price <= this value |
SIMMER_NO_THRESHOLD | 0.62 | Sell NO if market price >= this value |
SIMMER_COMMODITY_PRESSURE | 0.50 | Commodity pressure threshold to trigger sell-equity chain |
SIMMER_EQUITY_OPTIMISM_HIGH | 0.55 | Equity optimism above this = overpriced if commodities high |
SIMMER_EQUITY_OPTIMISM_LOW | 0.40 | Equity optimism below this = oversold if commodities low |
SIMMER_COMMODITY_LOW | 0.30 | Commodity pressure below this = deflationary signal |
simmer-sdk is published on PyPI by Simmer Markets.
Review the source before providing live credentials if you require full auditability.