Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tripolskypetr/pump-anomaly/llms.txt
Use this file to discover all available pages before exploring further.
DEFAULT_GRID in src/train.ts is deliberately asset-agnostic — a small, balanced search space that works for any coin. The per-asset grids in the config/ folder specialize the search space to how each coin actually pumps. They do not bypass the statistical gates: fit still runs time-series K-fold, 1-SE selection, and certification within whatever ranges the grid defines. What they do is make the search look in the right place, rather than spending compute on horizons or stop widths that never win for a given asset.
The Unifying Principle
Pump speed → everything else follows.Faster asset → shorter horizons
staleMinutes controls the position life-cap (the empirical impact horizon). Memecoins spike and collapse in minutes; BTC moves develop over days.Shorter horizons → tighter stops
hardStop (0.7–2.0%) and tight trailingTake.Tighter stops → shorter cascade windows
cascadeWindowMinutes smears out the signal. Shorter windows for faster assets.Faster regime drift → shorter stationarity
stationarityWindowMs is shortened for fast assets so the author matrix stays current.More noise → looser matrix
jaccardThreshold and lagPeakThreshold values let the detector catch bursts through the noise rather than waiting for a pristine signal.Asset Grid Summary
Full table fromconfig/README.md. staleMinutes and hardStop show the range spanned by the grid — fit picks within it.
| Asset | Pump speed | staleMinutes | hardStop % | cascadeWindow | Noise | Matrix strictness |
|---|---|---|---|---|---|---|
| Fartcoin | Very fast | 25m – 4h | 0.65–2.0 | 8–40m | Very high | Low |
| HYPE | Very fast | 30m – 4h | 0.7–2.0 | 8–40m | High | Low |
| Solana (SOL) | Fast | 45m – 8h | 0.8–2.5 | 10–40m | High | Low–Med |
| TRX | Medium | 1.5h – 15h | 1.0–3.0 | 18–110m | Medium | Medium |
| TON | Medium-fast | 1h – 12h | 1.0–3.0 | 15–90m | Medium | Medium |
| DOGE | Medium | 1.5h – 16h | 1.1–3.2 | 20–120m | Medium+ | Medium+ |
| BNB | Medium | 3h – 24h | 1.2–3.5 | 25–160m | Medium | Medium+ |
| Ethereum (ETH) | Slow | 2h – 24h | 1.2–3.5 | 20–90m | Low | High |
| Ripple (XRP) | Medium-slow | 3h – 24h | 1.3–4.0 | 30–180m | Low–Med | High |
| Litecoin (LTC) | Medium-slow | 4h – 30h | 1.3–3.8 | 35–220m | Low–Med | High |
| Zcash (ZEC) | Medium-slow | 4h – 28h | 1.4–4.2 | 30–200m | Low–Med | High |
| Stellar (XLM) | Medium-slow | 4h – 30h | 1.4–4.0 | 40–240m | Low | High |
| Chainlink (LINK) | Medium-slow | 5h – 32h | 1.4–4.0 | 35–240m | Low–Med | High |
| Polkadot (DOT) | Medium-slow | 5h – 36h | 1.5–4.2 | 40–260m | Low–Med | High |
| Bitcoin (BTC) | Slow | 6h – 48h+ | 1.8–5.0 | 45–300m | Low | Very high |
Reading the Grid Parameters
Each axis in aTrainGrid controls a different aspect of the model. Here is what each one means and why it varies by asset:
staleMinutes — holding horizon / impact horizon
staleMinutes — holding horizon / impact horizon
staleMinutes closes at the last candle’s price (realized pnl can be negative). This is the empirical impact horizon of the post — how long the signal’s market effect actually lasts. Training searches this axis to find the horizon where the edge is real, not the one that looks best in hindsight.hardStop / trailingTake — exit tightness
hardStop / trailingTake — exit tightness
hardStop is the maximum loss as a percentage of entry price. trailingTake is the trailing pullback threshold from peak PnL (once currentProfit ≥ stalenessSinceProfit). Tight values protect against large losses on volatile assets; wide values give room for pullbacks on deep-but-smooth major-coin moves. Training labels use path-aware replay — a wick into the hard stop is an honest loss, not a near-miss.cascadeWindowMinutes — liquidation-cascade detection window
cascadeWindowMinutes — liquidation-cascade detection window
squeezePressure (fraction of volume moving against the position) is measured. This is independent of staleMinutes — a squeeze is a fast event (minutes), and measuring it over a 24-hour window smears it out completely. On memecoins this window is 8–40 minutes; on BTC it extends to 45–300 minutes. Historically this axis was conflated with the holding horizon; they are now separate grid axes.jaccardThreshold / lagPeakThreshold / windowK — author-matrix strictness
jaccardThreshold / lagPeakThreshold / windowK — author-matrix strictness
stationarityWindowMs — channel regime drift
stationarityWindowMs — channel regime drift
squeezePolicy — reaction to a cascade
squeezePolicy — reaction to a cascade
squeezePressure exceeds squeezeThreshold:none— normal entry.tighten— tighten the trailing take (returned already tightened by 0.5×); exit before the reversal.veto— don’t enter; the signal is filtered out entirely.invert— enter against the post (the stop-hunt strategy): channel posted short → cascade squeezes upward → enter long. The direction is already flipped in the returned signal.
invert because liquidation-cascade inversions work there. Majors typically drop it; the BTC_GRID uses ["none", "tighten", "veto"].Using a Per-Asset Grid
The per-asset grid files define a grid constant and the intendedfit() options. Wire in your own history and getCandles:
Memecoins vs Majors
Memecoins (Fartcoin, HYPE, SOL)
staleMinutes (25m–8h), tight hardStop (0.65–2.5%), short cascadeWindowMinutes (8–40m), short stationarityWindowMs (days), loose matrix (low jaccardThreshold/lagPeakThreshold to catch bursts through noise), invert kept (liquidation-cascade reversals are frequent and profitable), high shrinkageK (7–8, fat outlier protection), refit every 3–7 days.Majors (BTC, ETH, XRP, LTC, XLM, LINK, DOT)
staleMinutes (2h–48h+), wide hardStop (1.2–5.0%), long cascadeWindowMinutes (20–300m), long stationarityWindowMs (weeks–months), strict matrix (high thresholds, minSharedEvents 4–5, minStrongEdges 2), invert dropped (["none","tighten","veto"] only), lower shrinkageK (5–6), refit every 2–8 weeks.TON is Telegram-native — many channels, high synchrony, faster regime drift than ETH. DOGE is social-media driven with powerful but longer pumps and deeper pullbacks than pure memes.
fit still picks the winner by time-series K-fold and the 1-SE rule, and model.certification decides whether the result is tradeable. A grid tuned to an asset’s regime makes the search look in the right place; it does not bypass the statistical gates.