Backtesting Arena
by tradingstrategies.work in Onchain & crypto
Crypto backtesting & Bitcoin cycle analytics. Point-in-time, DSR-corrected, look-ahead-aware.
https://tradingstrategies.work/api/mcp- Tools
- 49
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 343 ms
- 1.2 s slowest 5%
- Last check
- Passed
- 8 h ago, next any minute now
This listing's own text contains instructions aimed at AI agents (see the security scan below). We withhold that text from agents and never recommend this service.
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"backtesting-arena": {
"type": "http",
"url": "https://tradingstrategies.work/api/mcp"
}
}
}49 tools
- arena_get_pulse
How hot is the Bitcoin market today? Daily 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…
- arena_get_cycle
Crypto cycle position — where are we in the cycle? Default BTC: point-in-time 9-indicator aggregation (Pi-Cycle Top & Bottom, Mayer Multiple, weekly RSI, 200-week-MA distance, halving position, Fear & Greed, BTC-dominance trend, mining-difficulty trend — each indicator’s 0-100…
- arena_get_spot_price
Current BTC, ETH and SOL spot price — what is Bitcoin (or ETH/SOL) worth right now? Live USDT-quoted last price plus 24h change %, high and low from Binance. Use this to anchor the connector’s own analytics (cycle, historical-analog, gem scores) with the current market price…
- arena_get_stablecoin_supply
Aggregate stablecoin supply (crypto-liquidity proxy) — is the liquidity impulse turning or accelerating? macro_regime only gives the 30d delta; this exposes the trend: current supply, 30d/90d change (USD + %) plus a daily time series (`days`, default 365; `resolution` states…
- arena_get_etf_flows
Spot-ETF net flows (USD millions) — is the flow impulse turning or accelerating? The summary only gives point-in-time deltas; this exposes the trend: 30d/90d net flow, a direction label (inflows/outflows/flat) and a daily series (every US trading day: cumulative inflow + that…
- arena_get_altcoin_season
Is it altcoin season? Daily Altcoin-Season indicator (v7 Native-Filter methodology). Returns BTC-, alt- and stablecoin dominance, the 4 Layer-1 signals (alt_dominance, total_market_cap, btc_dominance, stable_dominance — weekly smoothed-Heikin-Ashi directions; weights in…
- arena_get_fear_greed
How fearful or greedy is the market right now? Crypto Fear & Greed Index (alternative.me). Returns the current `value` (0-100) and `classification` (extreme fear / fear / neutral / greed / extreme greed) as their own fields, plus `history` — the last 90 daily readings by…
- arena_get_bullmarket_ampel
Is this still a bull market? Bitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active_count, a stages[] breakdown (each stage with key, label, active and `since` = first day of its current state; null when the state predates the 400-day lookup) and…
- arena_get_funding_rate
Are longs or shorts paying right now? Latest BTC perpetual funding rate, averaged across up to 4 exchanges (Binance, Bybit, OKX, Deribit; 8h settlement cadence). Returns the day's averaged value plus each exchange's own value (no moving average or Z-score — for the history use…
- arena_get_macro_regime
What is the macro backdrop doing? Daily 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)…
- arena_get_btc_market_structure
Is the trend up or down, and how fresh is the flip? Daily Bitcoin market structure from 1000-bar Phantomflow adaptation (BTCUSDT 1d). Returns current_trend (up/down/sideways), last trend change timestamp, counts of waves + fractals, last-5 fractals on each side (up = pivot…
- arena_get_key_levels
Which price levels matter above and below spot? Reproducible Bitcoin structural levels on BOTH sides of spot, in TWO distinct provenance classes. (1) resistance/support: swing-pivot clusters — where past pivot highs+lows cluster into price zones (touch-count, band, last-touch…
- arena_get_iv_snapshot
What is the options market pricing in? Latest 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_30d`, which is the TRAILING spread: ATM implied…
- arena_list_onchain_series
Which on-chain series are available? Lists all 69 available Bitcoin Research Kit (BRK) on-chain series across the groups pilot, sentiment, mining, supply, cointime, activity, liquidity (e.g. MVRV, NUPL, SOPR, Realized-Price, Mayer, Puell, STH/LTH SOPR, Hash-Ribbons). Returns id…
- arena_get_onchain_latest
What does this on-chain metric read right now? Returns the most recent value of ONE on-chain series from the Bitcoin Research Kit as { series_id, metric_name, date, value }. Cheapest way to answer "what is X right now" (MVRV, SOPR, realized price, hash rate, …). Discover valid…
- arena_get_sth_cost_basis
What did recent buyers pay on average — and how far is spot from that? Latest BTC short-term-holder cost basis (realized price of coins younger than ~155 days, BRK brk_sth_realized_price), derived STH-MVRV (spot ÷ STH cost basis), an in_loss flag, plus ±1σ/±2σ bands: basis ×…
- arena_get_onchain_history
How has this on-chain metric moved over time? Returns the full TIME SERIES of one on-chain metric from the Bitcoin Research Kit — date/value pairs in ascending order, with history back to 2009 for most series. Use it for trend and percentile work; for the single current reading…
- arena_get_max_pain
What happened at the last Deribit expiry? Max pain and how spot settled against it: max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional. Plus up to 10 upcoming expiries, each with current live max-pain level, days_to_expiry, open_interest_contracts and…
- arena_get_max_pain_history
Does max pain actually pull price to the strike? Settled Deribit BTC options expiries with the max-pain level we compute per expiry, for measuring the convergence question: does spot drift toward the max-pain level as expiry approaches? Each row: expiry_date, max_pain_strike…
- arena_status
Am I connected, and what can this key do? Returns auth status (key kind: oauth connector or bearer API key, tier), server version, current UTC time, and the rate-limit state (hour/day used, remaining, reset) WITHOUT consuming extra quota beyond this call itself. Call this first…
- arena_list_strategies
Which strategies can I backtest here? Lists 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. Entries deprecated for an asset…
- arena_list_universes
Which asset universes can I test against? Lists all crypto asset universes (BTC, top-10 crypto, top-50 crypto, etc.) — the underlying pair-sets used by custom-report and universe-backtest endpoints. [Free tier]
- arena_get_universe
Which pairs are in this universe? Returns one pair universe in full: its id, label, selection rule and the complete list of pairs it currently contains. Use it to see what you are about to test BEFORE handing a universe_id to arena_run_universe_backtest, or to resolve a universe…
- arena_get_strategy_insights
Which strategy and interval combinations actually performed? Aggregated backtest performance per (strategy × interval) cell. If `strategy` AND `interval` provided, returns detail with per-asset breakdown + param variants. Otherwise returns the matrix. Free tier is limited to the…
- arena_get_strategy_performance
How did this exact strategy, asset and interval perform? Aggregated backtest performance for ONE specific (strategy, asset, interval) combination. Returns run_count, avg_cagr, avg_win_rate, avg_drawdown, effective_years, vs_buy_hold comparison (beats_buy_hold, cagr_delta) and an…
- arena_get_strategy_filter_effect
What would each entry filter have changed for this strategy? Per-(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…
- arena_get_strategy_performance_by_regime
In which macro regime has this strategy worked? Historical 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 the CURRENT live…
- arena_get_edge_reports
Which entry filter carries a real edge? Platform-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, asset-equal-weighted (per-asset medians over…
- arena_list_backtests
Which backtests have I run? Lists the backtest runs belonging to the authenticated user — newest first, with id, strategy, pair, interval, date range and headline metrics per run. Use it to find a run_id, then call arena_get_backtest for its detail or arena_get_backtest_trades…
- arena_get_backtest
What exactly did that backtest do? Returns the full record of ONE backtest run by id: strategy, pair, interval, date range, parameters, filters and the aggregate metrics (CAGR, total return, win-rate, max drawdown, trade count, Buy & Hold comparison, net-of-fees figures). Only…
- validate_strategy
Does this strategy survive an honest test? Backtest 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 |…
- arena_run_backtest
How would this strategy have performed? Run ONE strategy on ONE pair over a date range and get the full result: CAGR, total return, max drawdown, win-rate, trade count, Buy & Hold comparison, net-of-fees figures, and a run_id for later retrieval. Synchronous, typically 3–10s…
- arena_compare_strategies
Which of these strategies performed best on the same data? Run 2–5 strategies against the SAME pair, interval and date range and return per-strategy metrics plus a comparison summary (best by CAGR, best by win-rate, worst by drawdown). Use this when the user asks which of…
- arena_run_universe_backtest
Does this strategy hold up across a whole universe? Runs it against every pair in the universe. Pair cap depends on your API tier: Pro 50, Power 250 — Power covers crypto-top-250 in ONE job, and a single job keeps the ranking on one pair set (merging results across different…
- arena_get_job_status
Is my universe backtest finished? Polls 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_run_grid_backtest
Would a grid bot have made money here? Simulate a GRID BOT (buy-low / sell-high ladder inside a fixed price range) on historical candles. Returns final value, return %, CAGR, trade count, fees paid and a Buy & Hold comparison — plus `zerlegung` (spot runs): `decomposition`…
- arena_get_gem_scores
Altcoin screener ranking — which altcoins look strong right now? Today's CoinGecko Top-200 minus stablecoins and tokenized fiat, scored by a composite of 3 factor groups: Mean-Reversion (A), Tokenomics (B), Market-Structure (C). Each score carries `plain` (one sentence: rank…
- arena_get_volatility_history
How volatile has Bitcoin been? Daily Bitcoin volatility time series: realized volatility (30d & 90d, √365-annualized — calendar days, the same basis as DVOL — close-to-close) and ATR% (Wilder EMA-14, captures intraday range + gaps), on the same scale. Ranks come in two flavours…
- arena_list_knowledge
What knowledge objects exist here? Discover 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…
- arena_get_knowledge
What does the platform know about this subject? Fetch 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 +…
Security scan
5 findings
- Unusually long description in tool:arena_get_cycle
arena_get_cycle (arena get cycle) Crypto cycle position — where are we in the cy… - Unusually long description in tool:arena_get_max_pain
arena_get_max_pain (arena get max pain) What happened at the last Deribit expiry… - Unusually long description in tool:arena_get_historical_analog
arena_get_historical_analog (arena get historical analog) What happened historic… - Tries to override other tools in tool:arena_call_extended
s server — listed here in one line each instead of individually, to keep the tool list short. Use it when no listed tool fits: per-metric da - Unusually long description in tool:arena_call_extended
arena_call_extended (arena call extended) Gateway to the EXTENDED tools of this …
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 8 h ago | Passed | 200 | 423 ms |
| 19 h ago | Passed | 200 | 307 ms |
| 30 h ago | Passed | 200 | 549 ms |
| 40 h ago | Passed | 200 | 343 ms |
| 2 days ago | Passed | 200 | 295 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 442 ms |
| 3 days ago | Passed | 200 | 330 ms |
| 3 days ago | Passed | 200 | 384 ms |
| 4 days ago | Passed | 200 | 501 ms |
| 4 days ago | Passed | 200 | 311 ms |
| 5 days ago | Passed | 200 | 291 ms |
| 5 days ago | Passed | 200 | 304 ms |
| 5 days ago | Passed | 200 | 327 ms |
| 6 days ago | Passed | 200 | 309 ms |
| 6 days ago | Passed | 200 | 521 ms |