Strategy
Analysis modules, indicators, weights, and the directional score Catalysm bots compute each window.
The strategy is the deterministic analysis layer that runs before any trade decision. It reads market data, computes indicators, and returns a single directional score for the judge to evaluate.
Timeframe design
Catalysm uses a two-timeframe model:
- 15 minutes (primary): Entry signals, candle patterns, and most indicators
- 1 hour (confirmation): Trend context and higher-timeframe indicator checks
Data inputs
Each pipeline run fetches:
- OHLCV candles for BTC at 15-minute and 1-hour intervals
- Polymarket book snapshot: mid prices, best bid/ask, spread, liquidity grade, crowd bias
Indicators are computed from candles. Analysis modules consume those features plus raw price action.
Analysis modules
Six modules run in parallel. Each exports a bias (up, down, or neutral) and a confidence (0 to 1).
| Module | Role | Key inputs |
|---|---|---|
| Patterns | Detect 15-minute candle setups (breakout, double top, reversal, and others) | Price action, RSI, Bollinger Bands, Stochastic RSI |
| Trend | Classify 15-minute and 1-hour trend direction | EMA cross, ADX, Ichimoku, MACD |
| Volume | Confirm direction from volume spikes and flow | Relative volume, VWAP distance |
| Mean reversion | Flag overextended moves | Z-score vs moving average, Bollinger %B |
| Microstructure | Read the Polymarket order book | Spread, implied probability, crowd positioning |
Pattern output also includes a setup grade (A, B, C, or SKIP) that the judge uses for sizing, not for the raw score.
Indicators and weights
Beyond the module-level biases, the judge pulls per-indicator signals from 15-minute and 1-hour features. Each indicator maps to a bias and confidence, then multiplies by a weight.
The weights below are current defaults. The agentic loop can change them weekly based on live results.
15-minute indicators (examples):
- MACD (weight 0.60)
- Bollinger Bands (0.40)
- VWAP (0.50)
- Stochastic RSI (0.35)
- ADX (0.25)
- OBV (0.30)
- Ichimoku (0.35)
1-hour confirmation (examples):
- RSI buckets (0.45)
- ADX (0.20)
- Ichimoku (0.25)
- MACD (0.20)
Module-level weights in the score:
- 15-minute pattern bias (1.20)
- Microstructure / crowd (0.55)
- Volume (0.45)
- Mean reversion (0.35)
Weights are tuned from backtests and weekly reviews. Agents adjust them during the agentic loop, not on every window.
How the score is calculated
The score is a weighted average of directional contributions:
score = Σ(bias × confidence × weight) / Σ(weights)Where bias is +1 for up, −1 for down, and 0 for neutral.
A positive score favors UP. A negative score favors DOWN. Magnitude reflects conviction across modules and indicators.
The same weight sum also produces a confidence number: the weighted average of all confidence values, with a calibration deflation above 0.55 to reduce overconfidence.
Score is not the final decision
Passing the score threshold is necessary but not sufficient. The judge applies gates on top of the score. Thresholds such as the dead zone are current defaults and can be updated by the agentic loop.
Think of the strategy as answering “which direction and how strongly?” The judge answers “should we actually bet, and how much?”
What gets logged
Every window writes a row to the bet log with the full signal snapshot: pattern, trends, every indicator bias, score breakdown, gate audit fields, and eventual outcome. That log feeds the historian and weekly profitability review.
