{"tool_count":45,"tools":[{"name":"calculate_position_size","description":"Calculate optimal position size using the G-formula (geometric growth optimization). Given account equity, entry price, and stop loss, returns the number of shares, risk amount, notional value, and 1R in dollars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"equity":{"type":"string","description":"Account equity in USD (e.g. '100000')"},"entry_price":{"type":"string","description":"Planned entry price (e.g. '150.00')"},"stop_price":{"type":"string","description":"Stop loss price (e.g. '145.00')"},"direction":{"type":"string","enum":["long","short"],"description":"Trade direction"},"risk_percent":{"type":"string","description":"Risk as decimal (e.g. '0.02' for 2%). Optional."}},"required":["equity","entry_price","stop_price","direction"]}},{"name":"check_trade_risk","description":"Validate a proposed trade against Iron Fist risk rules. Checks position risk, portfolio risk, daily loss limits, and position count. Returns approval status, risk score (0-100), errors, and warnings.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Instrument symbol (e.g. 'AAPL')"},"direction":{"type":"string","enum":["long","short"],"description":"Trade direction"},"entry_price":{"type":"string","description":"Entry price"},"stop_price":{"type":"string","description":"Stop loss price"},"quantity":{"type":"string","description":"Number of shares/contracts"},"equity":{"type":"string","description":"Account equity in USD"},"daily_pnl":{"type":"string","description":"Daily P&L so far (default '0')"}},"required":["symbol","direction","entry_price","stop_price","quantity","equity"]}},{"name":"evaluate_performance","description":"Evaluate trading system performance using G-metric analysis. Accepts R-multiples from trade history and returns the geometric growth rate (G), expected R, variance, System R Score (0-100), and trend analysis. Three tiers: basic, full, comprehensive.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (minimum 2)"},"tier":{"type":"string","enum":["basic","full","comprehensive"],"description":"Evaluation tier (default 'basic')"},"window_size":{"type":"integer","description":"Rolling window size (default 10)"}},"required":["r_multiples"]}},{"name":"analyze_drawdown","description":"Analyze drawdown from equity curve. Returns max drawdown (% and USD), current drawdown, average drawdown, drawdown count, longest duration, time in drawdown, recovery factor, ulcer index, and individual drawdown periods.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"equity_values":{"type":"array","items":{"type":"string"},"description":"Equity values after each trade (e.g. ['100000', '101500', '99800'])"},"starting_equity":{"type":"string","description":"Initial equity before first trade (e.g. '100000')"},"net_profit":{"type":"string","description":"Total net profit in USD. Optional, used for recovery factor."}},"required":["equity_values","starting_equity"]}},{"name":"run_monte_carlo","description":"Run Monte Carlo simulation on trade distribution. Simulates future equity paths using historical R-multiples and returns probability of profit, 20%+ gain, 20%/50% drawdown, median/p5/p95 final equity.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"Historical R-multiples (minimum 2, e.g. ['1.5', '-0.8', '2.1', '-1.0'])"},"starting_equity":{"type":"string","description":"Starting equity for simulation (e.g. '100000')"},"num_simulations":{"type":"integer","description":"Number of simulations (default 1000, max 10000)"},"trades_per_simulation":{"type":"integer","description":"Trades per simulation (default 100)"},"risk_per_trade":{"type":"string","description":"Risk fraction per trade (default '0.01' = 1%)"}},"required":["r_multiples","starting_equity"]}},{"name":"calculate_kelly","description":"Calculate Kelly criterion position sizing fractions. Returns full Kelly, half Kelly (recommended), quarter Kelly (conservative), and risk of ruin estimate. Kelly fraction optimizes geometric growth rate (G).","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (minimum 2)"}},"required":["r_multiples"]}},{"name":"find_variance_killers","description":"Identify trades that hurt geometric growth rate (G) the most. A variance killer is a trade whose deviation from mean damages G, even if individually profitable. Returns top 5 killers with G impact, variance contribution, and potential G improvement if removed.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (minimum 2)"},"trade_ids":{"type":"array","items":{"type":"string"},"description":"Trade identifiers (parallel to r_multiples). Optional."},"symbols":{"type":"array","items":{"type":"string"},"description":"Trading symbols (parallel to r_multiples). Optional."}},"required":["r_multiples"]}},{"name":"analyze_win_loss","description":"Calculate win/loss statistics from R-multiples. Returns win rate, loss rate, average win/loss in R and USD, payoff ratio, profit factor, expectancy, and net P&L. Provides the foundational metrics for evaluating a trading system.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"pnl_values":{"type":"array","items":{"type":"string"},"description":"USD P&L per trade (parallel to r_multiples). Optional."}},"required":["r_multiples"]}},{"name":"run_what_if","description":"Run what-if scenarios to find ways to improve G. Shows how G would change if: (1) losses were capped at -0.5R, -1R, -1.5R, -2R, or (2) worst 5%/10%/15%/20% of trades were avoided. Also identifies top 5 variance killers.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (minimum 2)"}},"required":["r_multiples"]}},{"name":"detect_regime","description":"Detect current market regime from OHLCV price bars. Classifies as TRENDING_UP, TRENDING_DOWN, RANGING, LOW_VOLATILITY, or VOLATILE. Returns trend direction/strength, volatility state/percentile, ATR. Requires minimum 200 bars for SMA calculations; fewer bars returns {\"error\": \"insufficient_bars\", \"bars_provided\": N, \"bars_required\": 200, ...} — fetch more history and retry.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 200). Most recent bar last."}},"required":["bars"]}},{"name":"pre_trade_gate","description":"Complete pre-trade validation in one call. Combines position sizing (G-formula), risk check (Iron Fist rules), and system health assessment. Returns: optimal position size, risk approval, risk score, and system health status. Use this before every trade for comprehensive risk management.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"symbol":{"type":"string","description":"Instrument symbol (e.g. 'AAPL')"},"direction":{"type":"string","enum":["long","short"],"description":"Trade direction"},"entry_price":{"type":"string","description":"Planned entry price"},"stop_price":{"type":"string","description":"Stop loss price"},"equity":{"type":"string","description":"Account equity in USD"},"daily_pnl":{"type":"string","description":"Daily P&L so far (default '0')"},"risk_percent":{"type":"string","description":"Risk as decimal (default '0.02' for 2%)"},"r_multiples":{"type":"array","items":{"type":"string"},"description":"Recent R-multiples for system health check. Optional."}},"required":["symbol","direction","entry_price","stop_price","equity"]}},{"name":"detect_patterns","description":"Detect price action patterns from OHLCV bars: breakouts, breakdowns, pullbacks, moving average crossovers (SMA 20/50, 50/200, EMA 9/21, MACD, RSI), RSI divergences, price gaps, and consolidation zones. Returns all active patterns with confirmation status and volume confirmation. Requires minimum 35 bars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 35). Most recent bar last."}},"required":["bars"]}},{"name":"detect_structural_break","description":"Detect structural breaks in price distribution. Compares recent 20 bars vs historical 200 bars across mean return, standard deviation, skewness, and kurtosis. Flags a break when any metric deviates >2 standard deviations. Returns break type (return_shift, volatility_shift, mean_departure), severity (0-1), z-score, and rolling statistics. Requires minimum 221 bars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 221). Most recent bar last."}},"required":["bars"]}},{"name":"analyze_trend_structure","description":"Analyze trend structure using Bollinger Bands and ATR. Identifies current trend phase (EXPANSION, COMPRESSION, TRANSITION), Bollinger squeeze state (NONE, FORMING, ACTIVE, FIRING), momentum shift (ACCELERATING, DECELERATING, STEADY), expansion rate, and ATR trend. Squeeze firing = volatility explosion imminent. Requires minimum 21 bars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 21). Most recent bar last."}},"required":["bars"]}},{"name":"calculate_indicators","description":"Calculate technical indicators from OHLCV bars. Supports: SMA (Simple Moving Average), EMA (Exponential Moving Average), RSI (Relative Strength Index), MACD (Moving Average Convergence Divergence), BB (Bollinger Bands), ATR (Average True Range). Returns the computed indicator value(s) for the most recent bar.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars. Most recent bar last."},"indicator":{"type":"string","enum":["sma","ema","rsi","macd","bb","atr"],"description":"Indicator to calculate"},"period":{"type":"integer","description":"Indicator period (default: SMA/EMA=20, RSI=14, ATR=14, BB=20)"}},"required":["bars","indicator"]}},{"name":"segment_trades","description":"Analyze G metrics by segment: which symbols, days, strategies, or regimes help vs hurt your geometric growth rate. Reveals where your edge lives. Returns per-segment G, E[R], variance, win rate, PnL, and whether each segment helps or hurts overall G.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"trades":{"type":"array","items":{"type":"object","properties":{"pnl_r":{"type":"string","description":"P&L in R-multiples (e.g. '1.5', '-0.8')"},"pnl_usd":{"type":"string","description":"P&L in USD (e.g. '750', '-400')"},"symbol":{"type":"string","description":"Trading symbol (e.g. 'AAPL'). Optional."},"day_of_week":{"type":"integer","description":"Day of week (0=Monday, 6=Sunday). Optional."},"strategy_id":{"type":"string","description":"Strategy identifier. Optional."},"regime":{"type":"string","description":"Market regime (e.g. 'TRENDING_UP'). Optional."}},"required":["pnl_r","pnl_usd"]},"description":"Trade data with R-multiples and optional segment fields."},"segment_by":{"type":"string","enum":["symbol","day_of_week","strategy","regime"],"description":"Dimension to segment by (default 'symbol')"}},"required":["trades"]}},{"name":"analyze_execution_quality","description":"Analyze execution quality using MAE/MFE-style review from supplied trade data. Measures entry efficiency, exit efficiency, and hold time patterns. Poor execution increases variance, hurting G. Returns avg MAE/MFE in R, entry/exit efficiency (0-1), and hold time comparison for winners vs losers.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"mae_values":{"type":"array","items":{"type":"string"},"description":"Maximum Adverse Excursion in R (parallel to r_multiples). Optional."},"mfe_values":{"type":"array","items":{"type":"string"},"description":"Maximum Favorable Excursion in R (parallel to r_multiples). Optional."},"hold_times_hours":{"type":"array","items":{"type":"string"},"description":"Hold time in hours per trade (parallel to r_multiples). Optional."}},"required":["r_multiples"]}},{"name":"detect_peak_valley","description":"Detect peaks and valleys in your equity curve. Reveals the rhythm of your trading: ATH count, ATL depth, average peak-to-valley drops, average valley-to-peak gains, and current state (AT_PEAK, AT_VALLEY, BETWEEN).","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"equity_values":{"type":"array","items":{"type":"string"},"description":"Equity values after each trade (e.g. ['100000', '101500', '99800'])"},"starting_equity":{"type":"string","description":"Initial equity before first trade (e.g. '100000')"}},"required":["equity_values","starting_equity"]}},{"name":"calculate_rolling_g","description":"Calculate rolling G over sliding windows to track how your edge evolves. Answers: 'Is my G improving, stable, or declining?' Returns G values at each window, overall trend (IMPROVING/STABLE/DECLINING), and trend slope.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (minimum 2)"},"window_size":{"type":"integer","description":"Rolling window size (default 10)"}},"required":["r_multiples"]}},{"name":"analyze_price_structure","description":"Detect price structure: swing points, support/resistance levels, consolidation zones, and price position relative to key levels. Returns nearest support/resistance with distance, range position (0-1), SMA 20/50/200 as dynamic levels, and consolidation zones. Requires minimum 21 bars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 21). Most recent bar last."}},"required":["bars"]}},{"name":"analyze_correlations","description":"Multi-symbol correlation analysis. Calculates pairwise correlations, detects correlated asset clusters, identifies correlation breakdowns, and assesses portfolio concentration risk. Requires 2+ symbols with 10+ bars each.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"symbols_data":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Symbol name (e.g. 'AAPL')"},"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars for this symbol (minimum 10)"}},"required":["symbol","bars"]},"description":"Array of {symbol, bars} objects. Minimum 2 symbols."}},"required":["symbols_data"]}},{"name":"analyze_liquidity","description":"Analyze market liquidity from volume data. Classifies conditions as NORMAL, THINNING, STRESSED, or SPIKE. Returns relative volume, volume trend, volume percentile, participation rate, and spike detection. Requires minimum 2 bars.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"bars":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}},"required":["open","high","low","close","volume"]},"description":"OHLCV bars (minimum 2). Most recent bar last."},"period":{"type":"integer","description":"Lookback period for averages (default 20)"}},"required":["bars"]}},{"name":"size_options_position","description":"Calculate optimal options position size. Four sizing modes: equity_risk (standard risk adapted for options), premium (max loss = premium), delta_adjusted (risk weighted by delta), spread (credit spread sizing). Returns number of contracts (conservative floor).","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["equity_risk","premium","delta_adjusted","spread"],"description":"Sizing mode"},"equity":{"type":"string","description":"Account equity in USD"},"risk_pct":{"type":"string","description":"Risk per trade as decimal (e.g. '0.02' for 2%)"},"entry_premium":{"type":"string","description":"Option premium at entry (required for equity_risk, premium, delta_adjusted)"},"stop_premium":{"type":"string","description":"Option premium at stop (required for equity_risk, delta_adjusted)"},"delta":{"type":"string","description":"Option delta -1 to 1 (required for delta_adjusted)"},"spread_width":{"type":"string","description":"Distance between strikes (required for spread)"},"credit_received":{"type":"string","description":"Net credit received (required for spread)"},"contract_multiplier":{"type":"integer","description":"Contract multiplier (default 100 for US equity options)"}},"required":["mode","equity","risk_pct"]}},{"name":"size_futures_position","description":"Calculate optimal futures position size. Three sizing modes: margin_based (constrained by margin), tick_value (risk in ticks from entry to stop), notional (limits total notional exposure). Returns number of contracts (conservative floor).","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["margin_based","tick_value","notional"],"description":"Sizing mode"},"equity":{"type":"string","description":"Account equity (required for tick_value)"},"risk_pct":{"type":"string","description":"Risk per trade as decimal (required for tick_value)"},"entry_price":{"type":"string","description":"Entry price (required for tick_value)"},"stop_price":{"type":"string","description":"Stop loss price (required for tick_value)"},"tick_size":{"type":"string","description":"Minimum price increment (required for tick_value, e.g. '0.25' for ES)"},"tick_value":{"type":"string","description":"Dollar value per tick (required for tick_value, e.g. '12.50' for ES)"},"available_margin":{"type":"string","description":"Available margin (required for margin_based)"},"initial_margin_per_contract":{"type":"string","description":"Margin per contract (required for margin_based)"},"max_margin_usage_pct":{"type":"string","description":"Max margin usage as decimal (default '0.50')"},"max_notional":{"type":"string","description":"Maximum notional value (required for notional)"},"contract_price":{"type":"string","description":"Current futures price (required for notional)"},"contract_multiplier":{"type":"integer","description":"Contract multiplier (required for notional, e.g. 50 for ES)"}},"required":["mode"]}},{"name":"analyze_confidence","description":"Statistical confidence in your G estimate. Answers: 'Can I trust my G at this sample size?' Based on milestones: 30 trades = directional, 100 = reasonable, 1000 = confirmed edge. Returns confidence interval, margin of error, and sample size assessment.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (e.g. ['1.5', '-1.0', '2.3'])"}},"required":["r_multiples"]}},{"name":"analyze_consistency","description":"Analyze trading consistency: win/loss streaks, monthly patterns, and G stability. Reveals behavioral variance — do your results cluster or are they independent? Returns streak analysis, monthly breakdown, and consistency score.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"dates":{"type":"array","items":{"type":"string"},"description":"ISO datetime strings for each trade (parallel to r_multiples). Optional."}},"required":["r_multiples"]}},{"name":"analyze_correlation","description":"Detect trade outcome correlations: loss clustering (tilt) and win clustering (hot streaks). Independent outcomes mean position sizing works; correlated outcomes mean variance is amplified. Returns autocorrelation, run test, and clustering assessment.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (in chronological order)"}},"required":["r_multiples"]}},{"name":"analyze_distribution","description":"Analyze R-multiple distribution shape: percentiles, skewness, kurtosis, and histogram. Reveals tail risk and whether your system has fat tails. Positive skew = big winners, negative skew = big losers.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"bucket_count":{"type":"integer","description":"Number of histogram buckets (default 10). Optional."}},"required":["r_multiples"]}},{"name":"analyze_recovery","description":"Analyze recovery patterns after drawdowns. Reveals system resilience: how quickly do you bounce back? Fast recovery = robust system. Slow recovery = variance killing G. Returns recovery periods, average recovery time, and resilience score.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"initial_equity":{"type":"string","description":"Starting equity (e.g. '100000'). Default '100000'."}},"required":["r_multiples"]}},{"name":"analyze_risk_adjusted","description":"Calculate risk-adjusted performance: Sharpe, Sortino, and Calmar ratios. Compares your system's return per unit of risk against benchmarks. Sharpe > 1.5 is strong. Sortino focuses only on downside risk. Calmar = annualized return / max drawdown.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history"},"risk_free_rate":{"type":"string","description":"Annual risk-free rate as decimal (default '0.05'). Optional."}},"required":["r_multiples"]}},{"name":"analyze_greeks","description":"Analyze options Greeks for an options chain. Returns ATM contract Greeks (delta, gamma, theta, vega, rho), probability metrics (prob ITM/OTM), value decomposition (intrinsic/extrinsic), and breakeven price. Also calculates max pain, put/call walls, and delta/gamma exposure.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"chain":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"OCC symbol e.g. SPY240315C00500000"},"underlying_symbol":{"type":"string","description":"Underlying ticker e.g. SPY"},"strike":{"type":"string","description":"Strike price"},"expiration":{"type":"string","description":"Expiration date ISO format (YYYY-MM-DD)"},"option_type":{"type":"string","enum":["CALL","PUT"]},"bid":{"type":"string","description":"Best bid price"},"ask":{"type":"string","description":"Best ask price"},"last":{"type":"string","description":"Last traded price"},"volume":{"type":"integer","description":"Contracts traded today"},"open_interest":{"type":"integer","description":"Total open contracts"},"implied_volatility":{"type":"string","description":"IV as decimal (e.g. '0.25' for 25%)"},"delta":{"type":"string","description":"Option delta (optional)"},"gamma":{"type":"string","description":"Option gamma (optional)"},"theta":{"type":"string","description":"Option theta (optional)"},"vega":{"type":"string","description":"Option vega (optional)"},"rho":{"type":"string","description":"Option rho (optional)"}},"required":["symbol","underlying_symbol","strike","expiration","option_type","bid","ask","last","volume","open_interest","implied_volatility"]},"description":"Options chain - list of option quotes"},"underlying_price":{"type":"string","description":"Current underlying price (e.g. '500.00')"},"risk_free_rate":{"type":"string","description":"Risk-free rate as decimal (default '0.05'). Optional."}},"required":["chain","underlying_price"]}},{"name":"analyze_iv_surface","description":"Analyze implied volatility surface: IV rank, IV percentile, term structure (contango/backwardation/flat), skew ratio, expected move, and IV regime (LOW/NORMAL/HIGH/EXTREME). Requires options chain and historical IV data. Essential for options strategy selection.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"chain":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"underlying_symbol":{"type":"string"},"strike":{"type":"string"},"expiration":{"type":"string"},"option_type":{"type":"string","enum":["CALL","PUT"]},"bid":{"type":"string"},"ask":{"type":"string"},"last":{"type":"string"},"volume":{"type":"integer"},"open_interest":{"type":"integer"},"implied_volatility":{"type":"string"},"delta":{"type":"string"},"gamma":{"type":"string"},"theta":{"type":"string"},"vega":{"type":"string"},"rho":{"type":"string"}},"required":["symbol","underlying_symbol","strike","expiration","option_type","bid","ask","last","volume","open_interest","implied_volatility"]},"description":"Options chain"},"iv_history":{"type":"array","items":{"type":"string"},"description":"Historical IV values as decimals (up to 252 trading days, e.g. ['0.20', '0.22', '0.18'])"},"underlying_price":{"type":"string","description":"Current underlying price"},"risk_free_rate":{"type":"string","description":"Risk-free rate as decimal (default '0.05'). Optional."}},"required":["chain","iv_history","underlying_price"]}},{"name":"analyze_futures_curve","description":"Analyze futures term structure: curve shape (contango/backwardation/flat/mixed), basis and basis percentage, annualized carry cost, roll yield, days to roll, and open interest trend. Requires at least 2 contract months.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"contracts":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","description":"Contract symbol e.g. ESH26"},"underlying":{"type":"string","description":"Root symbol e.g. ES"},"expiration":{"type":"string","description":"Expiration date ISO format"},"last_price":{"type":"string","description":"Last traded price"},"settlement_price":{"type":"string","description":"Official settlement price"},"volume":{"type":"integer","description":"Contracts traded today"},"open_interest":{"type":"integer","description":"Total open contracts"},"tick_size":{"type":"string","description":"Min price increment (e.g. '0.25')"},"tick_value":{"type":"string","description":"Dollar value per tick (e.g. '12.50')"},"contract_size":{"type":"string","description":"Point value multiplier (e.g. '50')"},"initial_margin":{"type":"string","description":"Initial margin per contract"},"maintenance_margin":{"type":"string","description":"Maintenance margin per contract"}},"required":["symbol","underlying","expiration","last_price","settlement_price","volume","open_interest","tick_size","tick_value","contract_size","initial_margin","maintenance_margin"]},"description":"Futures contracts (at least 2)","minItems":2},"spot_price":{"type":"string","description":"Current spot/index price for the underlying"}},"required":["contracts","spot_price"]}},{"name":"analyze_options_flow","description":"Analyze options flow sentiment: flow direction (BULLISH/BEARISH/NEUTRAL/MIXED), unusual activity detection (volume/OI spikes), premium analysis (net call vs put premium), and large trade count. Reveals institutional positioning and smart money signals.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"chain":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"underlying_symbol":{"type":"string"},"strike":{"type":"string"},"expiration":{"type":"string"},"option_type":{"type":"string","enum":["CALL","PUT"]},"bid":{"type":"string"},"ask":{"type":"string"},"last":{"type":"string"},"volume":{"type":"integer"},"open_interest":{"type":"integer"},"implied_volatility":{"type":"string"},"delta":{"type":"string"},"gamma":{"type":"string"},"theta":{"type":"string"},"vega":{"type":"string"},"rho":{"type":"string"}},"required":["symbol","underlying_symbol","strike","expiration","option_type","bid","ask","last","volume","open_interest","implied_volatility"]},"description":"Options chain"},"underlying_price":{"type":"string","description":"Current underlying price"}},"required":["chain","underlying_price"]}},{"name":"calculate_system_r_score","description":"Calculate System R Score (0-100) — a composite health score for your trading system. Five components (each 0-20): G Health, Variance Control, Statistical Significance, Consistency (rolling G stability), and Discipline (loss control). Letter grades: A+ (90-100), A (80-89), B (70-79), C (60-69), D (50-59), F (0-49). G-based caps: G<0 caps at 35, G<0.1 caps at 50, G<0.2 caps at 65.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"R-multiples from trade history (e.g. ['1.5', '-1.0', '2.3'])"},"window_size":{"type":"integer","description":"Rolling G window size (default 10). Optional."},"max_loss_r":{"type":"string","description":"Largest single loss R-multiple (e.g. '-2.5'). Optional — if not provided, discipline component scores neutral."}},"required":["r_multiples"]}},{"name":"calculate_pnl","description":"Calculate realized P&L, R-multiple, and holding time for a closed trade. Given entry/exit prices, direction, quantity, and fees, returns net P&L in dollars, P&L percentage, R-multiple (if stop provided), and holding time. Supports stocks (multiplier=1), options (multiplier=100), and futures.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"entry_price":{"type":"string","description":"Average entry price (e.g. '150.00')"},"exit_price":{"type":"string","description":"Average exit price (e.g. '155.00')"},"quantity":{"type":"integer","description":"Number of shares/contracts"},"direction":{"type":"string","enum":["LONG","SHORT"],"description":"Trade direction"},"stop_price":{"type":"string","description":"Stop loss price for R-multiple calculation. Optional."},"total_fees":{"type":"string","description":"Total fees in dollars (default '0'). Optional."},"contract_multiplier":{"type":"string","description":"Contract multiplier: '1' for stocks, '100' for options (default '1'). Optional."},"entry_time":{"type":"string","description":"Entry timestamp ISO format for holding time. Optional."},"exit_time":{"type":"string","description":"Exit timestamp ISO format for holding time. Optional."}},"required":["entry_price","exit_price","quantity","direction"]}},{"name":"calculate_expected_value","description":"Calculate expected value (EV) in R-multiples, Kelly criterion fraction, and profit factor from trade statistics. Answers: 'Is my system profitable?' and 'How much should I risk per trade?' EV > 0 means positive expectancy. Kelly fraction determines optimal bet size.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"win_rate":{"type":"string","description":"Win rate as decimal (e.g. '0.55' for 55%)"},"avg_win_r":{"type":"string","description":"Average winning trade in R-multiples (e.g. '1.5')"},"avg_loss_r":{"type":"string","description":"Average losing trade in R-multiples (positive, e.g. '1.0')"},"risk_amount":{"type":"string","description":"Dollar risk per trade for EV in dollars (e.g. '1000'). Optional."},"total_win_dollars":{"type":"string","description":"Total winning dollars for profit factor. Optional."},"total_loss_dollars":{"type":"string","description":"Total losing dollars for profit factor (positive). Optional."},"equity":{"type":"string","description":"Account equity for half-Kelly position size. Optional."},"risk_per_share":{"type":"string","description":"Dollar risk per share for half-Kelly shares. Optional."}},"required":["win_rate","avg_win_r","avg_loss_r"]}},{"name":"check_compliance","description":"US regulatory compliance checks: Pattern Day Trader (PDT) detection, wash sale rule identification, and T+1 settlement date calculation. PDT: Checks if a trade is a day trade and if account is PDT-restricted. Wash sale: Detects 30-day repurchase of same security after a loss. Settlement: Calculates next business day settlement date.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"check_type":{"type":"string","enum":["day_trade","wash_sale","settlement","pdt_status"],"description":"Type of compliance check"},"entry_time":{"type":"string","description":"Entry timestamp ISO format (for day_trade check)"},"exit_time":{"type":"string","description":"Exit timestamp ISO format (for day_trade check)"},"symbol":{"type":"string","description":"Symbol (for wash_sale check)"},"loss_date":{"type":"string","description":"Loss date ISO format (for wash_sale check)"},"loss_amount":{"type":"string","description":"Loss amount as negative number (for wash_sale check)"},"subsequent_purchases":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"date":{"type":"string"},"quantity":{"type":"string"}},"required":["symbol","date","quantity"]},"description":"Purchases to check against (for wash_sale check)"},"trade_date":{"type":"string","description":"Trade date ISO format (for settlement check)"},"day_trades_count":{"type":"integer","description":"Day trades in last 5 business days (for pdt_status check)"},"account_equity":{"type":"string","description":"Account equity (for pdt_status check)"}},"required":["check_type"]}},{"name":"build_options_plan","description":"Build a complete options trade plan: given an option quote, equity, and risk parameters, returns optimal contract count, max loss, max gain, breakeven, risk/reward ratio, and Greeks snapshot. Supports 3 sizing modes: equity_risk, premium, delta_adjusted. Outputs a structured planning output with warnings.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"equity":{"type":"string","description":"Account equity (e.g. '100000')"},"risk_pct":{"type":"string","description":"Risk per trade as decimal (e.g. '0.01' for 1%)"},"option":{"type":"object","properties":{"symbol":{"type":"string"},"underlying_symbol":{"type":"string"},"strike":{"type":"string"},"expiration":{"type":"string"},"option_type":{"type":"string","enum":["CALL","PUT"]},"bid":{"type":"string"},"ask":{"type":"string"},"last":{"type":"string"},"volume":{"type":"integer"},"open_interest":{"type":"integer"},"implied_volatility":{"type":"string"},"delta":{"type":"string"},"gamma":{"type":"string"},"theta":{"type":"string"},"vega":{"type":"string"},"rho":{"type":"string"}},"required":["symbol","underlying_symbol","strike","expiration","option_type","bid","ask","last","volume","open_interest","implied_volatility"],"description":"Option quote to plan around"},"sizing_mode":{"type":"string","enum":["equity_risk","premium","delta_adjusted"],"description":"Sizing mode (default 'equity_risk'). Optional."},"stop_premium":{"type":"string","description":"Stop loss premium level (required for equity_risk and delta_adjusted modes)"},"underlying_price":{"type":"string","description":"Current underlying price (e.g. '500.00')"}},"required":["equity","risk_pct","option","underlying_price"]}},{"name":"build_futures_plan","description":"Build a complete futures trade plan: given contract specs, equity, and risk parameters, returns optimal contract count, max loss, breakeven, ticks to stop, margin requirement, and risk/reward ratio. Supports 3 sizing modes: margin_based, tick_value, notional. Outputs a structured planning output with roll date and warnings.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"equity":{"type":"string","description":"Account equity (e.g. '100000')"},"risk_pct":{"type":"string","description":"Risk per trade as decimal (e.g. '0.01' for 1%)"},"symbol":{"type":"string","description":"Futures symbol (e.g. 'ESH26')"},"underlying_symbol":{"type":"string","description":"Root symbol (e.g. 'ES')"},"entry_price":{"type":"string","description":"Planned entry price"},"stop_price":{"type":"string","description":"Stop loss price"},"direction":{"type":"string","enum":["LONG","SHORT"],"description":"Trade direction"},"contract_multiplier":{"type":"integer","description":"Contract multiplier (e.g. 50 for ES)"},"tick_size":{"type":"string","description":"Minimum price increment (e.g. '0.25')"},"tick_value":{"type":"string","description":"Dollar value per tick (e.g. '12.50')"},"initial_margin":{"type":"string","description":"Per-contract initial margin"},"expiration":{"type":"string","description":"Contract expiration date ISO format"},"sizing_mode":{"type":"string","enum":["margin_based","tick_value","notional"],"description":"Sizing mode (default 'tick_value'). Optional."},"available_margin":{"type":"string","description":"Available margin (required for margin_based mode)"},"max_notional":{"type":"string","description":"Maximum notional (required for notional mode)"}},"required":["equity","risk_pct","symbol","underlying_symbol","entry_price","stop_price","direction","contract_multiplier","tick_size","tick_value","initial_margin","expiration"]}},{"name":"calculate_equity_curve","description":"Calculate equity curve from R-multiples: given a list of R-multiple trade results, starting equity, and risk per trade, returns the full equity curve with per-trade equity, drawdown, peak tracking, total return, and max drawdown. Visualizes how G (geometric growth) compounds over time.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"r_multiples":{"type":"array","items":{"type":"string"},"description":"List of R-multiple trade results (e.g. ['1.5', '-1.0', '2.3'])"},"starting_equity":{"type":"string","description":"Starting account equity (e.g. '100000')"},"risk_per_trade":{"type":"string","description":"Risk fraction per trade (e.g. '0.01' for 1%). Default '0.01'. Optional."}},"required":["r_multiples","starting_equity"]}},{"name":"score_signal","description":"Score a trading signal's confidence and quality. Confidence (0.50-1.00) measures probability the signal is correct based on conditions met, regime alignment, indicator confluence, and volume confirmation. Quality (0-100) measures trade setup quality based on risk/reward ratio, entry clarity, stop clarity, and regime strength. Returns both scores with pass/fail status.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"conditions_met":{"type":"integer","description":"Number of scanner conditions that triggered"},"total_conditions":{"type":"integer","description":"Total conditions the scanner checks"},"regime_aligned":{"type":"boolean","description":"Whether signal aligns with current regime"},"indicator_confluence":{"type":"integer","description":"Number of indicators agreeing (0-5+)"},"volume_confirmed":{"type":"boolean","description":"Whether volume confirms the signal"},"risk_reward_ratio":{"type":"string","description":"Reward divided by risk (e.g. '2.5')"},"entry_clarity":{"type":"string","description":"How tight the entry zone is (0.0-1.0). Default '0.70'. Optional."},"stop_clarity":{"type":"string","description":"How clear the stop level is (0.0-1.0). Default '0.80'. Optional."},"regime_strength":{"type":"string","description":"How strong the current regime is (0.0-1.0). Default '0.50'. Optional."}},"required":["conditions_met","total_conditions","regime_aligned","indicator_confluence","volume_confirmed","risk_reward_ratio"]}},{"name":"analyze_trade_outcome","description":"Analyze a closed trade's outcome vs expectations: determines WIN/LOSS/BREAKEVEN, calculates edge captured (actual R minus expected value), efficiency score (realized R / max potential R from MFE), R left on table, max potential R, highest target hit, and expectation accuracy.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"realized_pnl":{"type":"string","description":"Net realized P&L in dollars (e.g. '500.00' or '-200.00')"},"realized_r":{"type":"string","description":"Actual R-multiple achieved (e.g. '1.5' or '-0.8')"},"mfe":{"type":"string","description":"Maximum favorable excursion in dollars"},"one_r_dollars":{"type":"string","description":"Dollar value of 1R (risk amount)"},"expected_value_r":{"type":"string","description":"Expected value in R per trade. Optional."},"expected_avg_win_r":{"type":"string","description":"Historical average win in R. Optional."},"expected_avg_loss_r":{"type":"string","description":"Historical average loss in R (positive). Optional."},"tp1_hit":{"type":"boolean","description":"Whether TP1 was hit. Default false. Optional."},"tp2_hit":{"type":"boolean","description":"Whether TP2 was hit. Default false. Optional."},"tp3_hit":{"type":"boolean","description":"Whether TP3 was hit. Default false. Optional."}},"required":["realized_pnl","realized_r","mfe","one_r_dollars"]}},{"name":"calculate_margin","description":"Calculate margin requirement and buying power used for a position. Supports stocks, ETFs, and options with Reg-T margin rules. Long stocks/ETFs: 50% margin. Short stocks: 150%. Options: full premium. Cash accounts: 100% of notional.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"notional":{"type":"string","description":"Position notional value in dollars (e.g. '50000')"},"asset_class":{"type":"string","enum":["STOCK","ETF","OPTION"],"description":"Asset class"},"direction":{"type":"string","enum":["LONG","SHORT"],"description":"Trade direction"},"account_type":{"type":"string","enum":["CASH","MARGIN"],"description":"Account type. Default 'MARGIN'. Optional."}},"required":["notional","asset_class","direction"]}},{"name":"evaluate_scanner","description":"Evaluate scanner rules against market data: runs technical conditions (RSI, MACD, SMA, ADX, Bollinger Bands, volume) against a set of symbols and returns matching scan results with confidence, quality score, suggested entry/stop/target levels, and direction. Supports 11 built-in technical conditions.","billing_class":"free_public_tool","input_schema":{"type":"object","properties":{"scanner_config":{"type":"object","properties":{"scanner_id":{"type":"string","description":"Scanner identifier"},"name":{"type":"string","description":"Scanner name"},"scanner_type":{"type":"string","enum":["TECHNICAL","FUNDAMENTAL","SENTIMENT","CUSTOM"],"description":"Scanner type (default 'TECHNICAL')"},"symbols":{"type":"array","items":{"type":"string"},"description":"Symbols to scan"},"timeframes":{"type":"array","items":{"type":"string"},"description":"Timeframes (e.g. ['1h', '4h'])"},"conditions":{"type":"array","items":{"type":"string"},"description":"Conditions to check. Valid: rsi_oversold, rsi_overbought, macd_bullish_cross, macd_bearish_cross, price_above_sma_20, price_below_sma_20, price_above_sma_50, price_below_sma_50, adx_trending, bb_squeeze, volume_spike"},"min_confidence":{"type":"string","description":"Minimum confidence threshold (0-1). Default '0.6'."},"regime_filter":{"type":"array","items":{"type":"string"},"description":"Only match symbols in these regimes. Optional."}},"required":["scanner_id","name","conditions"],"description":"Scanner configuration"},"market_data":{"type":"object","description":"Market data keyed by symbol. Each entry has: indicators (dict of indicator_name -> value), current_price (string), regime (string), atr (string)","additionalProperties":{"type":"object","properties":{"indicators":{"type":"object"},"current_price":{"type":"string"},"regime":{"type":"string"},"atr":{"type":"string"}},"required":["indicators","current_price","atr"]}}},"required":["scanner_config","market_data"]}}]}