backtesting-arena
Quantitative crypto backtesting & Bitcoin market-regime analytics. 73 MCP tools: honest look-ahead-aware backtest validation with Deflated-Sharpe-Ratio correction, point-in-time 10-indicator Bitcoin cycle scoring, macro-regime composites, Edge-Library filter effects, 22 on-chain BRK series (since 2009), altcoin screener, sentiment, "buy now or wait?" decision-math, conditional historical-analog base rates & live subscriptions. Core outputs are not reproducible from public OHLCV/market-data APIs. Covers crypto plus stocks/ETFs/commodities/forex. Free tier, no credit card.
- Version:
- hosted
- Publisher:
- info-6d0w
Install
Generated from the server’s transport data — never hand-written. Placeholders in angle brackets are yours to fill.
Hosted — https://backtesting-arena--info-6d0w.run.tools
claude mcp add --transport http backtesting-arena https://backtesting-arena--info-6d0w.run.toolsWhat it can do
As declared by the publisher
Tools · 65
arena_cancel_subscriptionDeactivates a subscription. Idempotent — re-cancellation is a no-op. \[API Pro tier]
arena_check_subscription_updatesReturns all undelivered updates for the API key, then marks them as delivered. Call regularly to consume the polling queue. Updates contain payload with subscription\_type, current value, previous value, and trigger context. \[API Pro tier]
arena_compare_strategiesRun 2-5 strategies on the same pair / interval / date range and return per-strategy metrics plus comparison summary (best by CAGR, best by win-rate, worst by drawdown). Sequential — expect 10-50s. Per-day quota: Pro=20, Power=200. \[API Pro tier]
arena_dip_decisionBuy now or wait for the dip? Decision-math over the user's OWN assumptions (target/dip prices, probabilities, capital). Two modes: "compare" = expected value of Buy-Now vs Wait vs Split + the breakeven dip probability (prices as MULTIPLES of today); "allocate" = the risk-adjusted (Kelly / risk-aversion γ) optimal fraction to deploy now vs reserve for the dip (ABSOLUTE prices). Ask the user for the missing inputs, then call. Returns scenario numbers and which option wins on expected value — NOT a buy/sell recommendation. For the full interactive version (incl. leverage & Elliott-wave planning) point the user to <https://tradingstrategies.work/analyse/dip-decision>. \[Free tier]
arena_get_altcoin_seasonDaily Altcoin-Season indicator (v7 Native-Filter methodology). Returns BTC-Dominance, Alt-Dominance, 4 Layer-1 signals (USDT.D, USDC.D, BTC-DOM, ETH-DOM), overall color (red/amber/green) + Top-50 CoinGecko snapshot. \[Free tier]
arena_get_altcoin_season_historyHistorical daily Altcoin-Season snapshots (overall\_color, BTC/Alt/Stable dominance, BTC price). Tier-capped. \[Free 30d / Pro 365d / Power unlimited]
arena_get_backtestDetail for one of YOUR backtest runs (or admin-readable). Returns metrics, asset, interval, date range, CAGR/winRate/drawdown, params. \[API Pro tier]
arena_get_backtest_tradesTrades list and per-trade equity progression for one of your backtests. \[API Pro tier]
arena_get_btc_macro_correlationsPre-aggregated weekly correlations between Bitcoin and 13 macro components (Fed Net Liquidity, VIX, DXY, Real Yield 10Y, NFCI, HY Credit Spread, Yield Curve, etc.) + 4 asset classes (Gold, SPX, Nasdaq, DXY). Returns quadrant\_performance (BTC return stats per 2D-matrix quadrant — annualized return, vol, max drawdown, positive-period%), component\_correlations (Pearson 90d/1y/5y per macro component + quartile-performance), asset\_correlations (Pearson per window + per quadrant), current\_quadrant. Historical analysis only — not investment advice. \[Free tier]
arena_get_btc_market_structureDaily Bitcoin market structure from 1000-bar Phantomflow adaptation (BTCUSDT 1d). Returns current\_trend (up/down/sideways), last trend change timestamp, counts of waves + fractals, and last-5 fractals on each side (up = pivot highs, down = pivot lows). Educational analysis of price action — no signal, no recommendation. \[Free tier]
arena_get_bullmarket_ampelBitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active\_count, stage\_history, stage breakdown. Higher count = more bull-market signals firing. \[Free tier]
arena_get_cycleBitcoin cycle position — where are we in the BTC cycle? Latest snapshot with point-in-time 10-indicator aggregation (MVRV-Z, NUPL, Puell, Pi-Cycle, Funding, Hash-Ribbons, Power-Law, Rainbow, F\&G, Mayer). Returns raw + adjusted score (-3..+3 Z-Score), phase classification, signal enum. Point-in-time scored — not reconstructable from a generic price API. \[Free tier]
arena_get_cycle_historyHistorical daily BTC-Cycle adj\_score + z\_adj\_score series. Tier-capped range. \[Free 30d / Pro 365d / Power unlimited]
arena_get_drift_logDaily drift log comparing bgeometrics (legacy) vs BRK (canonical-soon) pilot metric pairs. Returns mean / max / outlier counts per pair for the requested window. Used by BRK-migration review (every 4 weeks). \[API Pro tier]
arena_get_edge_reportsPlatform-wide aggregated analysis: how each Pro+ entry filter (200 WMA, ATR low/high/expansion, Altcoin Season, Bullmarket confirm/strict) affects strategy CAGR — baseline vs. filtered, median across all real backtest runs for a given market. Verdict: helps (Δ>+1pp, ≥30 runs) / neutral / hurts / insufficient\_data. Filters evaluated in isolation (no stacking). Also returns baseline\_net\_cagr / filtered\_net\_cagr (median CAGR after per-side trading costs; verdict/delta stay gross). \[Free tier]
arena_get_fear_greedCrypto Fear & Greed Index from alternative.me with historical context. Returns current value 0-100, classification (extreme fear/fear/neutral/greed/extreme greed), recent history, plus arena-specific cadence cache for change-detection. \[Free tier]
arena_get_filter_insightsLift analysis of entry filters (200WMA, Altcoin-Season, ATR-Volatility, Bullmarket-Stage) per strategy combo — baseline vs filtered CAGR/win-rate/drawdown. \[API Pro tier]
arena_get_funding_rateLatest aggregate Binance Perpetual Funding Rate (8h cadence). Returns value, 30d moving average and Z-Score. Positive = longs pay shorts (bullish bias), negative = shorts pay longs (bearish bias). \[Free tier]
arena_get_funding_rate_historyHistorical Binance Perpetual aggregated funding rates (8h cadence). Tier-capped. \[Free 30d / Pro 365d / Power unlimited]
arena_get_gem_scoreDetailed Altcoin Screener score for a specific coin by CoinGecko ID. Pro+ gets raw factor values (9 factors across groups A/B/C). \[Free tier]
arena_get_gem_scoresAltcoin screener ranking — which altcoins look strong right now? Today's CoinGecko Top-200 scored by a composite of 3 factor groups: Mean-Reversion (A), Tokenomics (B), Market-Structure (C). Backtest-validated factors, not a hype list. Limit gated by tier: Free top-10, Pro top-50, Power top-200. \[Free tier, daily refresh]
arena_get_gem_validationBi-weekly equal-weight basket backtest for Top-N screener picks vs BTC and market average. Shows CAGR, max drawdown, win-rate. Free: top-10 default. Pro+: custom N. \[Free tier]
arena_get_hash_ribbonsLatest Hash Ribbons indicator (Charles Edwards). Returns 30d and 60d hashrate moving averages — when 30d > 60d after a capitulation, signals miner recovery (bullish). \[Free tier]
arena_get_iv_snapshotLatest Deribit volatility snapshot for BTC or ETH. Returns DVOL (30d vol index), constant-maturity ATM implied vol (30/60/90/180d via options chain), 30d realized vol, and vol risk premium (IV - RV). Useful for position sizing, options strategies, and market regime assessment. Backfill: BTC from 2021-04-01, ETH from 2022-02-15. \[Free tier]
arena_get_job_statusPolls an async job by job\_id (created via arena\_run\_universe\_backtest). Returns status (pending/running/completed/failed), progress\_pct, pairs\_completed, and once completed: the full result (summary + per-pair results). \[Free tier]
arena_get_knowledgeFetch a versioned, explainable Knowledge Object by type + subject (e.g. type='market\_regime', subject='GLOBAL'). Returns the current published envelope: payload, explanation (factors + weights + confidence), provenance (inputs + params), ontology binding, compute version. ONE tool covers ALL knowledge types. \[Free tier; per-object access additionally gated by min\_tier]
arena_get_macro_regimeDaily Macro Regime snapshot from 18 components in 6 tiers (Liquidity 30%, Financial Conditions 20%, Risk Appetite 15%, Crypto Liquidity 10%, Business Cycle 15%, Inflation/Real Rates 10%). FRED-sourced. Returns composite\_score (0-100), regime\_label (risk\_off/neutral/risk\_on\_leaning/risk\_on), cycle\_phase\_label (contraction/early\_expansion/mid\_expansion/late\_expansion), matrix\_quadrant (sweet\_spot/late\_cycle\_warning/crisis/recovery), tier\_scores (6 sub-scores), components (flat key/value of all 18). \[Free tier]
arena_get_max_painLast finalized Deribit BTC options expiry: max\_pain\_strike, spot\_at\_expiry, %-diff, put\_call\_ratio, notional. Plus up to 10 upcoming expiries with current live max-pain levels and days\_to\_expiry. Cron collects daily 02:00 UTC from Deribit Public API. \[Free tier]
arena_get_max_pain_historyHistorical finalized Deribit BTC options expiries. Each row: expiry\_date, max\_pain\_strike, spot\_at\_expiry, %-diff, P/C ratio, notional, quarterly/monthly flag. Useful for backtesting Max Pain theory. Days auto-capped by tier: Pro 365d, Power 3650d. \[API Pro tier]
arena_get_mayer_multipleLatest Mayer Multiple (BTC-Price ÷ 200-day SMA). Trace Mayer (2014): <0.7 = capitulation, 0.7-1.5 = neutral, 1.5-2.4 = bullish, >2.4 = euphoria. \[Free tier]
arena_get_mayer_multiple_historyHistorical Mayer-Multiple values (BTC-Price ÷ 200d SMA). Tier-capped. \[Free 30d / Pro 365d / Power unlimited]
arena_get_onchain_historyHistorical time series for a BRK on-chain metric. Date range auto-capped by tier. \[Free 30d / Pro 365d / Power unlimited]
arena_get_onchain_latestLatest value of a BRK on-chain series. series\_id comes from arena\_list\_onchain\_series. Returns { series\_id, metric\_name, date, value }. \[Free tier]
arena_get_ontology_termResolve a knowledge-platform term to its canonical definition (e.g. term='regime'). Returns label, definition (EN/DE), calculation, unit, source + source\_ref, version, related terms. Use this to resolve the onto:@ references inside Knowledge Objects. \[Free tier]
arena_get_pulseDaily 0-100 heat score for the Bitcoin market, aggregated from 8 components (BTC-Cycle, F\&G, Altcoin-Season, Bullmarket-Ampel, Funding-Rate, Hash-Ribbons, Mayer-Multiple, MVRV-Z). Returns score, band label, color, 7d/30d delta, verdict, components breakdown. \[Free tier]
arena_get_pulse_historyHistorical daily Arena-Pulse scores (date + score + band). Returned in ascending date order. Range capped by tier. \[Free 30d / Pro 365d / Power unlimited]
arena_get_report_statusPoll the status of a Custom-Report job. Lifecycle: pending\_payment → queued → running → generating → success/failed. Returns progress\_pct, succeeded/failed counts, plus pdf\_url / xlsx\_url when done. \[API Pro tier]
arena_get_sentimentCrypto sentiment — Fear & Greed, funding-rate, Altcoin-Season and Arena-Pulse aggregated into one multi-source view, plus optional ticker-level sentiment. Configurable period. \[Free tier]
arena_get_shared_backtestRead-only access to a publicly shared backtest by its share-id. Anyone can fetch — used for sharing strategy results with non-users. \[Free tier]
arena_get_signal_statusCurrent signal-status (green/yellow/red) for a strategy on a pair+interval. Backed by the daily check-signals cron — needs at least one user with an active Ampel on this combination. \[Free tier]
arena_get_strategy_filter_effectPer-(strategy, asset, interval) filter-effect analysis. Returns baseline-stats (no filters) + each observed filter-variant's stats with cagr\_delta / drawdown\_delta / win\_rate\_delta vs the time-overlap-matched baseline + best\_by\_cagr pick + not\_applicable\_filters list (e.g. altcoin\_season excluded on BTC-pair). Based on REAL backtest aggregations — not theoretical 2^5 permutations. Use this to answer 'Which filters would improve my backtest for X on Y?'. \[Free tier]
arena_get_strategy_insightsAggregated backtest performance per (strategy × interval) cell. If `strategy` AND `interval` provided, returns detail with per-asset breakdown + param variants. Otherwise returns the full matrix (Top-10 cells for Free tier; full for Pro+). \[Free Top-10 / Pro+ full]
arena_get_strategy_performanceAggregated backtest performance for ONE specific (strategy, asset, interval) combination. Returns run\_count, avg\_cagr, avg\_win\_rate, avg\_drawdown, effective\_years, and vs\_buy\_hold comparison (beats\_buy\_hold, cagr\_delta). For multi-strategy overview use arena\_get\_strategy\_insights. Use this to answer 'How does strategy X perform on asset Y?'. \[Free tier]
arena_get_strategy_performance_by_regimeHistorical backtest performance for ONE (strategy, asset, interval) combination SPLIT BY macro market regime (sweet\_spot / late\_cycle\_warning / crisis / recovery — classified at each trade's entry date), PLUS a recommendation for the CURRENT live regime. Answers the killer question 'Should I trade this strategy NOW?'. Each regime bucket returns trades, win\_rate, avg\_pnl\_pct, reward\_risk\_ratio (per-trade mean/stddev, NOT annualized Sharpe), share\_of\_time\_pct and a rating. \[Free tier]
arena_get_universeDetail view of one universe, including pair list. \[Free tier]
arena_get_volatility_insightsCAGR breakdown by volatility phase (Low / Normal / High) per asset & timeframe. Used to find regime-fit for strategies. \[API Pro tier]
arena_get_volatility_phasesReturns the current ATR-based volatility phase (low/normal/high/expansion) for all tracked assets: Top-10 Crypto pairs, Top-10 Stocks, Top-10 ETFs. Updated daily at 08:00 UTC. Useful for regime-aware strategy selection. \[Free tier]
arena_get_volatility_recommendationsReturns top-3 strategies ranked by historical win-rate for the current volatility phase of a given asset pair. Phase is detected from the latest snapshot. Minimum 20 trades per phase required for inclusion. Use this to answer "which strategies work best right now for BTC?". \[API Pro tier]
arena_get_winnersPublic Top-100 list of highest-CAGR backtest results across all users (with anonymized usernames). Filterable by asset\_class and strategy. \[Free tier]
arena_list_backtestsLists your own backtest runs, filterable by asset\_type / strategy / pair / interval. Paginated with limit + offset. \[API Pro tier]
arena_list_knowledgeDiscover what Knowledge Objects exist: lists all published types + their subjects (with min\_tier, api\_path, seo\_slug, latest as\_of). Use this BEFORE arena\_get\_knowledge to learn valid type/subject pairs instead of guessing. New types appear automatically. \[Free tier]
arena_list_onchain_seriesLists all available Bitcoin Research Kit (BRK) on-chain series (21 metrics like MVRV, NUPL, SOPR, Realized-Price, Mayer, Puell, STH/LTH SOPR, Hash-Ribbons). Returns id + label + group. Use the id with arena\_get\_onchain\_latest / \_history. \[Free tier]
arena_list_strategiesLists all backtest strategies (key, label, plan, supported asset classes, primary indicators). Filterable by asset class and plan. Use this before calling arena\_run\_backtest to discover valid strategy names. \[Free tier]
arena_list_subscriptionsReturns all active subscriptions for the current API key. \[API Pro tier]
arena_list_universesLists all asset universes (BTC, top-10 crypto, top-50 crypto, stocks-top-10, etc.) — the underlying pair-sets used by custom-report and universe-backtest endpoints. \[Free tier]
arena_quote_reportGet a pricing quote for a custom report (universe-backtest PDF + Excel) without committing to a purchase. Returns price, universe size + preview, excluded pairs, and filter config. Crypto-only universes use top-N tiers; stocks/ETFs use custom pair list. \[API Pro tier]
arena_run_backtestTriggers a single-asset backtest with full strategy / filter / params control. Returns aggregate metrics + run-id. Sync (3-10s typical). Per-day quota: Pro=50, Power=500. \[API Pro tier]
arena_run_grid_backtestGrid-bot simulation on historical candles. Returns final value, return%, CAGR, trades, fees, buy-hold comparison. Free tier limited to BTCUSDT/ETHUSDT. Per-day quota: Free=5, Pro=50, Power=500. \[Free / Pro / Power tier]
arena_run_universe_backtestBacktests one strategy on up to 50 pairs at once. Returns immediately with a job\_id; poll arena\_get\_job\_status to check progress. Provide either universe\_id (e.g. 'crypto-top-10') OR explicit pairs\[]. Background runtime: \~1.5s × n\_pairs. Per-day quota: Pro=5, Power=50. \[API Pro tier]
arena_subscribe_bullmarket_stageCreates a subscription that fires when the Bullmarket-Ampel active stage count (0-5) changes. Optional direction filter (up/down/any) + specific stages of interest. \[API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]
arena_subscribe_cycle_changesCreates a subscription that fires when the BTC-Cycle band changes (e.g. capitulation → risk-off → neutral → constructive → euphoric). Optional bands filter restricts to specific targets. \[API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]
arena_subscribe_pulse_changesCreates a subscription that fires when the daily 0-100 Arena-Pulse score crosses threshold\_above (up) or threshold\_below (down). At least one threshold required. \[API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]
arena_subscribe_signal_alertsCreates a subscription that fires when an existing Ampel-Config's signal changes (BUY ↔ SELL). User must first create an ampel-config via the Web UI (`/dashboard/ampel`) and pass its UUID here. Optional signal\_types filter restricts to BUY-only or SELL-only. \[API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]
get_more_toolsCheck for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
validate_strategyBacktest a trading strategy honestly — look-ahead-aware validation with Deflated-Sharpe-Ratio / multiple-testing correction (Bailey & López de Prado). Returns an EVIDENCE verdict (insufficient\_evidence | anecdote | failed\_oos | passed\_oos) plus metrics, flags and caveats — NOT a buy/sell recommendation. Call this before acting on a strategy or signal list. Accepts a named catalog strategy (type=rules), a timestamped BUY/SELL signal list (signal\_list), or a timestamped trade list (trade\_list). Checks: realistic next-bar fills (look-ahead/optimism), net of cost, out-of-sample split, and a hard 30-round-trip sample gate (under 30 is always "anecdote"). Not reproducible via generic backtest tools that ignore overfitting. \[API Pro tier]