MarketHeist Backtest
What this MCP does
Retrieves historical market data, backtests trading strategies, analyzes portfolios, and decomposes asset returns into common factors.
Tools
Input schema
{'type': 'object', 'properties': {'assets': {'type': 'array', 'items': {'type': 'object', 'required': ['weight'], 'properties': {'sleeve': {'type': 'object', 'description': "Advanced: a strategy node instead of a plain ticker â\x80\x94 the app's SleeveRef, resolved server-side. Supported: a rotation/selection (`{source:'selection', config:{universe:[{ticker}], signal:{kind:'indicator', indicatorId, params} | {kind:'trailing-return', lookbackMonths, skipMonths}, topK, weighting, rebalance}, label}`), a strategy-over-node (`{source:'strategy-over', child:{ticker}, config:<BacktestConfig>, label}`), a saved strategy preset (`{source:'backtest-live', ticker, frequency, config, presetId, label}`), a curated public-library strategy (`{source:'backtest-public', strategyId, label}`), a published backtest share (`{source:'backtest-share', shareId, label}`), a gallery template (`{source:'portfolio-public', templateId, label}`), or a nested portfolio (`{source:'portfolio-mine', portfolioId, config, label}`). Strategies with a config get a node-level overfit check (a share carries only its frozen curve, so no overfit).", 'additionalProperties': True}, 'ticker': {'type': 'string', 'description': 'Yahoo Finance ticker, e.g. VTI, BND, GLD. Omit when `sleeve` is given.'}, 'weight': {'type': 'number', 'description': 'Target weight in percent.'}}}, 'description': 'Custom allocation (omit if using `template`). Weights are percentages summing to ~100. A holding is a plain ticker OR a strategy node via `sleeve`.'}, 'overlay': {'type': 'object', 'required': ['kind', 'months'], 'properties': {'kind': {'enum': ['trend-filter'], 'type': 'string'}, 'months': {'type': 'number', 'description': 'Moving-average window in months (â\x89¥ 2, e.g. 10).'}}, 'description': 'Optional portfolio-level trend-filter overlay applied to the WHOLE book: hold the entire portfolio only while its own level is above its N-month moving average, otherwise cash. Composition is monthly (a 10-month filter â\x89\x88 the classic 200-day one).'}, 'template': {'type': 'string', 'description': 'Built-in model portfolio to analyze. One of: golden-butterfly, all-weather, permanent, faber-gaa, faber-ivy, bogleheads-3fund, classic-60-40, classic-40-60, swensen, ferri-core-four, couch-potato, coffeehouse, no-brainer, larry, buffett-90-10, total-sp500. Omit to analyze a custom `assets` allocation instead.'}, 'rebalance': {'enum': ['none', 'monthly', 'quarterly', 'yearly'], 'type': 'string', 'default': 'yearly', 'description': 'Rebalancing cadence for custom portfolios (templates use their own).'}}}
Input schema
{'type': 'object', 'required': ['target'], 'properties': {'target': {'type': 'string', 'description': 'Yahoo Finance ticker to decompose, e.g. AAPL, QQQ, TLT, ARKK.'}, 'factors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Factor ids to include. Default: MKT, SMB, HML, TERM, CREDIT (long history back to ~2001). All available: MKT, SMB, HML, MOM, QMJ, LOWVOL, TERM, CREDIT. The smart-beta trio (MOM, QMJ, LOWVOL) only has history from ~2011-2013, which shortens the analyzable window â\x80\x94 factors without enough overlap are dropped and reported.'}, 'frequency': {'enum': ['1d', '1wk', '1mo'], 'type': 'string', 'default': '1mo', 'description': 'Return frequency for the regression. Monthly (default) is standard for factor analysis.'}}}
Input schema
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Yahoo Finance ticker symbol. Examples: AAPL, MSFT, ^NDX, ^GSPC, BTC-USD, SPY, QQQ.'}, 'frequency': {'enum': ['1d', '1wk', '1mo'], 'type': 'string', 'default': '1wk', 'description': 'Bar frequency. 1d = daily, 1wk = weekly, 1mo = monthly. Default: 1wk.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['ticker', 'indicator_id'], 'properties': {'ticker': {'type': 'string', 'description': 'Yahoo Finance ticker symbol (e.g. AAPL, ^NDX, BTC-USD, SPY).'}, 'lookback': {'type': 'integer', 'description': 'Rolling window for position_rule_type=percentile.'}, 'direction': {'enum': ['above', 'below'], 'type': 'string', 'default': 'above', 'description': 'Long when indicator is above (or below) threshold/MA/percentile.'}, 'frequency': {'enum': ['1d', '1wk', '1mo'], 'type': 'string', 'default': '1wk', 'description': 'Bar frequency. Default: 1wk.'}, 'ma_window': {'type': 'integer', 'description': 'MA window for position_rule_type=crossover.'}, 'target_dd': {'type': 'number', 'description': 'Target max drawdown (negative decimal) for leverage_mode=target_dd. E.g. -0.40.'}, 'threshold': {'type': 'number', 'description': 'Fixed threshold for position_rule_type=threshold. E.g. 50 for RSI, 1.0 for MA Crossover.'}, 'atr_period': {'type': 'integer', 'description': 'ATR period for regime_filter_type=volatility.'}, 'percentile': {'type': 'number', 'description': 'Percentile rank threshold (0â\x80\x93100) for position_rule_type=percentile.'}, 'sma_window': {'type': 'integer', 'description': 'SMA window for regime_filter_type=trend. Classic: 200.'}, 'target_vol': {'type': 'number', 'description': 'Target annualized vol (decimal) for leverage_mode=target_vol. E.g. 0.15 = 15%.'}, 'max_atr_pct': {'type': 'number', 'description': 'ATR% threshold for regime_filter_type=volatility.'}, 'indicator_id': {'type': 'string', 'description': 'Built-in indicator id. Call list_indicators to see all options. Common: rsi, bollinger, ma_crossover, ema_crossover, adx, cci, stochastic.'}, 'leverage_mode': {'enum': ['none', 'fixed', 'target_vol', 'target_dd'], 'type': 'string', 'default': 'none', 'description': 'none=1Ã\x97. fixed=constant multiplier. target_vol=scale to vol target. target_dd=scale to drawdown target.'}, 'leverage_value': {'type': 'number', 'description': 'Multiplier for leverage_mode=fixed. E.g. 2.0 = 2Ã\x97.'}, 'execution_delay': {'type': 'integer', 'default': 1, 'maximum': 5, 'minimum': 0, 'description': 'Bars of delay between signal and execution. Use 1 to avoid lookahead bias.'}, 'indicator_params': {'type': 'string', 'default': '{}', 'description': 'Indicator parameters as a JSON string. E.g. \'{"period":14}\' for RSI. Omit to use defaults.'}, 'position_rule_type': {'enum': ['threshold', 'crossover', 'percentile'], 'type': 'string', 'default': 'threshold', 'description': 'threshold: long when value is above/below a fixed level. crossover: long when value is above its own MA. percentile: long when value is above its rolling percentile.'}, 'regime_filter_type': {'enum': ['none', 'trend', 'volatility'], 'type': 'string', 'default': 'none', 'description': 'trend: only hold when close > SMA(sma_window). volatility: only hold when ATR% < max_atr_pct.'}, 'transaction_costs_bps': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'One-way transaction cost in basis points (1 bps = 0.01%).'}}}
Recent tool changes
Similar MCP servers
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…
DFX Real Estate Intelligence
Provides US commercial real estate, parcel, debt maturity, bank CRE exposure, private capital, investor, ownership, occupancy, an…
simplefunctions
Provides prediction-market data, thesis analysis, market signals, portfolio tracking, and automated intent-based trading workflow…
EventTrader MCP
Provides prediction-market research and trading capabilities, including real-time event-market data, CLOB execution paths, fund i…
Signal8
Provides SEC filings, dilution data, insider and institutional ownership, and political-trade data.