{
  "version": "2.2.0",
  "name": "AI Fin Hub Agent Tool Index",
  "description": "33 AI-in-markets client-side tools (calculators, comparators, playgrounds, directories, generators). Publisher voice, institutional. Education only \u2014 not investment advice. Client-side only; no signup, no tracking.",
  "site": "https://aifinhub.io",
  "disclaimer": "Planning estimates only \u2014 not financial, tax, or investment advice.",
  "discovery": {
    "homepage": "https://aifinhub.io/",
    "ai_markets_tools": "https://aifinhub.io/#all-tools",
    "research_articles": "https://aifinhub.io/articles/",
    "benchmarks": "https://aifinhub.io/benchmarks/",
    "methodology": "https://aifinhub.io/methodology/",
    "data_sources": "https://aifinhub.io/data-sources/",
    "editorial_standards": "https://aifinhub.io/editorial-standards/",
    "sponsor_disclosure": "https://aifinhub.io/sponsor-disclosure/",
    "corrections": "https://aifinhub.io/corrections/",
    "human_entrypoint": "https://aifinhub.io/for-agents/",
    "llms": "https://aifinhub.io/llms.txt",
    "llms_full": "https://aifinhub.io/llms-full.txt",
    "ai_plugin": "https://aifinhub.io/.well-known/ai-plugin.json",
    "webmcp": "https://aifinhub.io/.well-known/webmcp.json"
  },
  "tools": [
    {
      "tool_id": "kelly-sizer",
      "name": "Fractional Kelly Sizer",
      "short_name": "Fractional Kelly Sizer",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Map conviction tiers to fractional Kelly bet sizes with a drawdown Monte Carlo simulator. Client-side. Private by default.",
      "url": "https://aifinhub.io/tools/kelly-sizer/",
      "path": "/tools/kelly-sizer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/kelly-sizer/.",
      "methodology": "https://aifinhub.io/methodology/kelly-sizer/",
      "keywords": [
        "kelly criterion calculator",
        "fractional kelly sizer",
        "position sizing calculator",
        "conviction-scaled kelly",
        "kelly drawdown simulator"
      ],
      "contract": "https://aifinhub.io/contracts/kelly-sizer.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "win_probability": {
            "type": "number"
          },
          "win_loss_ratio": {
            "type": "number"
          },
          "kelly_fraction": {
            "type": "number"
          },
          "bankroll": {
            "type": "number"
          },
          "per_trade_cap_percent": {
            "type": "number"
          },
          "monte_carlo_trials": {
            "type": "integer"
          },
          "trades_per_path": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "win_probability",
          "win_loss_ratio",
          "kelly_fraction",
          "bankroll",
          "per_trade_cap_percent",
          "monte_carlo_trials",
          "trades_per_path"
        ]
      }
    },
    {
      "tool_id": "backtest-overfitting-score",
      "name": "Backtest Overfitting Score",
      "short_name": "Backtest Overfitting Score",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Upload a backtest trade log and compute Probability of Backtest Overfitting (PBO), Deflated Sharpe Ratio, and the odds your edge survives live trading.",
      "url": "https://aifinhub.io/tools/backtest-overfitting-score/",
      "path": "/tools/backtest-overfitting-score/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/backtest-overfitting-score/.",
      "methodology": "https://aifinhub.io/methodology/backtest-overfitting-score/",
      "keywords": [
        "backtest overfitting detection",
        "probability of backtest overfitting",
        "deflated sharpe ratio",
        "whites reality check",
        "pbo calculator"
      ],
      "contract": "https://aifinhub.io/contracts/backtest-overfitting-score.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "variants_count": {
            "type": "integer"
          },
          "trading_days": {
            "type": "integer"
          },
          "best_variant_sharpe": {
            "type": "number"
          },
          "cscv_splits": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "variants_count",
          "trading_days",
          "best_variant_sharpe",
          "cscv_splits"
        ]
      }
    },
    {
      "tool_id": "data-vendor-tco",
      "name": "Data-Vendor TCO Calculator",
      "short_name": "Data-Vendor TCO Calculator",
      "category": "Comparators",
      "section": "comparators",
      "summary": "Compute annual cost of market data across Databento, Polygon, Alpaca, Tiingo, FMP, and Alpha Vantage for your exact universe, bar resolution, history depth, and API call volume.",
      "url": "https://aifinhub.io/tools/data-vendor-tco/",
      "path": "/tools/data-vendor-tco/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/data-vendor-tco/.",
      "methodology": "https://aifinhub.io/methodology/data-vendor-tco/",
      "keywords": [
        "market data api cost",
        "databento vs polygon",
        "databento pricing",
        "polygon io pricing",
        "alpaca market data pricing",
        "market data total cost ownership",
        "market data api comparison"
      ],
      "contract": "https://aifinhub.io/contracts/data-vendor-tco.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "symbol_count": {
            "type": "integer"
          },
          "bar_resolution": {
            "type": "string",
            "enum": [
              "tick",
              "1s",
              "1m",
              "5m",
              "1h",
              "1d"
            ]
          },
          "years_history": {
            "type": "number"
          },
          "include_l2_book": {
            "type": "boolean"
          },
          "api_calls_per_day": {
            "type": "integer"
          },
          "vendors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tool",
          "symbol_count",
          "bar_resolution",
          "years_history",
          "include_l2_book",
          "api_calls_per_day",
          "vendors"
        ]
      }
    },
    {
      "tool_id": "finance-mcp-directory",
      "name": "Finance MCP Directory",
      "short_name": "Finance MCP Directory",
      "category": "Directories",
      "section": "directories",
      "summary": "Security-graded catalog of finance MCP servers \u2014 Alpaca, Polygon, Databento, IBKR, Tradier, Tiingo, NautilusTrader. Scope, auth, idempotency, transport, schema quality, all in one place.",
      "url": "https://aifinhub.io/tools/finance-mcp-directory/",
      "path": "/tools/finance-mcp-directory/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/finance-mcp-directory/.",
      "methodology": "https://aifinhub.io/methodology/finance-mcp-directory/",
      "keywords": [
        "finance mcp server",
        "mcp server directory",
        "mcp server trading",
        "alpaca mcp",
        "polygon mcp",
        "mcp security baseline",
        "model context protocol finance"
      ],
      "contract": "https://aifinhub.io/contracts/finance-mcp-directory.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "filter_by_venue": {
            "type": "string"
          },
          "filter_by_scope": {
            "type": "string"
          },
          "min_security_grade": {
            "type": "string",
            "enum": [
              "A",
              "B",
              "C",
              "D",
              "F"
            ]
          }
        },
        "required": [
          "tool"
        ]
      }
    },
    {
      "tool_id": "token-cost-optimizer",
      "name": "Token-Cost Optimizer",
      "short_name": "Token-Cost Optimizer",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Compute the dollar cost of a trading research loop across Claude, GPT, and Gemini. Prompt length \u00d7 model \u00d7 retry \u00d7 call volume \u2192 cost per idea and per validated trade.",
      "url": "https://aifinhub.io/tools/token-cost-optimizer/",
      "path": "/tools/token-cost-optimizer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/token-cost-optimizer/.",
      "methodology": "https://aifinhub.io/methodology/token-cost-optimizer/",
      "keywords": [
        "claude token cost",
        "gpt api cost calculator",
        "llm cost per query",
        "agent research cost",
        "anthropic pricing calculator",
        "token budget planner"
      ],
      "contract": "https://aifinhub.io/contracts/token-cost-optimizer.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "prompt_input_tokens": {
            "type": "integer"
          },
          "prompt_output_tokens": {
            "type": "integer"
          },
          "model": {
            "type": "string"
          },
          "calls_per_idea": {
            "type": "integer"
          },
          "retry_rate": {
            "type": "number"
          },
          "ideas_per_day": {
            "type": "integer"
          },
          "days_per_month": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "prompt_input_tokens",
          "prompt_output_tokens",
          "model",
          "calls_per_idea",
          "retry_rate",
          "ideas_per_day",
          "days_per_month"
        ]
      }
    },
    {
      "tool_id": "agent-skill-tester",
      "name": "Agent Skill Tester for Markets",
      "short_name": "Agent Skill Tester for Markets",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste a SKILL.md definition + sample input + your Anthropic API key. See structured extraction, token cost, and latency \u2014 all in your browser. No signup, key never leaves the page.",
      "url": "https://aifinhub.io/tools/agent-skill-tester/",
      "path": "/tools/agent-skill-tester/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/agent-skill-tester/.",
      "methodology": "https://aifinhub.io/methodology/agent-skill-tester/",
      "keywords": [
        "anthropic skills finance",
        "claude skill tester",
        "agent skill evaluation",
        "10-k extraction claude",
        "llm skill playground"
      ],
      "contract": "https://aifinhub.io/contracts/agent-skill-tester.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "skill_md": {
            "type": "string"
          },
          "sample_input_text": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "max_output_tokens": {
            "type": "integer"
          },
          "anthropic_api_key": {
            "type": "string"
          }
        },
        "required": [
          "tool",
          "skill_md",
          "sample_input_text",
          "model",
          "max_output_tokens",
          "anthropic_api_key"
        ]
      }
    },
    {
      "tool_id": "prompt-regression-tester",
      "name": "Prompt Regression Tester",
      "short_name": "Prompt Regression Tester",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Run the same prompt against multiple models (Claude 4.5/4.6/4.7, GPT-5, Gemini 2.5) with your own keys. Diff outputs, score drift, catch regressions before they hit your production agent.",
      "url": "https://aifinhub.io/tools/prompt-regression-tester/",
      "path": "/tools/prompt-regression-tester/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/prompt-regression-tester/.",
      "methodology": "https://aifinhub.io/methodology/prompt-regression-tester/",
      "keywords": [
        "claude prompt drift",
        "llm prompt regression",
        "prompt version comparison",
        "multi-model prompt test",
        "gpt vs claude"
      ],
      "contract": "https://aifinhub.io/contracts/prompt-regression-tester.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "prompt": {
            "type": "string"
          },
          "models": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "anthropic_api_key": {
            "type": "string"
          },
          "openai_api_key": {
            "type": "string"
          },
          "google_api_key": {
            "type": "string"
          },
          "runs_per_model": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "prompt",
          "models",
          "runs_per_model"
        ]
      }
    },
    {
      "tool_id": "hallucination-detector",
      "name": "Hallucination Detector",
      "short_name": "Hallucination Detector",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste a source document + an LLM's extraction. Every numeric claim in the output is checked against the source. Client-side. Catches silent fabrication before it ends up in your pipeline.",
      "url": "https://aifinhub.io/tools/hallucination-detector/",
      "path": "/tools/hallucination-detector/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/hallucination-detector/.",
      "methodology": "https://aifinhub.io/methodology/hallucination-detector/",
      "keywords": [
        "llm hallucination detection",
        "10-k extraction accuracy",
        "llm fact checking",
        "financial extraction validation",
        "hallucination in llm"
      ],
      "contract": "https://aifinhub.io/contracts/hallucination-detector.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "source_document": {
            "type": "string"
          },
          "llm_output": {
            "type": "string"
          },
          "strict_mode": {
            "type": "boolean"
          }
        },
        "required": [
          "tool",
          "source_document",
          "llm_output",
          "strict_mode"
        ]
      }
    },
    {
      "tool_id": "kalshi-poly-arb",
      "name": "Kalshi vs Polymarket Arb Scanner",
      "short_name": "Kalshi vs Polymarket Arb Scanner",
      "category": "Comparators",
      "section": "comparators",
      "summary": "Daily-refreshed scan of arbitrage candidates across Kalshi and Polymarket. Paired contract matching, tax + resolution-risk overlay, no signup. Edge data rendered client-side from static JSON.",
      "url": "https://aifinhub.io/tools/kalshi-poly-arb/",
      "path": "/tools/kalshi-poly-arb/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/kalshi-poly-arb/.",
      "methodology": "https://aifinhub.io/methodology/kalshi-poly-arb/",
      "keywords": [
        "kalshi polymarket arbitrage",
        "prediction market arb",
        "kalshi vs polymarket",
        "prediction market edge",
        "polymarket arbitrage scanner"
      ],
      "contract": "https://aifinhub.io/contracts/kalshi-poly-arb.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "min_edge_bps": {
            "type": "number"
          },
          "max_tax_haircut_percent": {
            "type": "number"
          },
          "include_resolution_risk_flags": {
            "type": "boolean"
          },
          "venues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tool",
          "min_edge_bps",
          "max_tax_haircut_percent",
          "include_resolution_risk_flags",
          "venues"
        ]
      }
    },
    {
      "tool_id": "order-book-replay",
      "name": "Order Book Replay Visualizer",
      "short_name": "Order Book Replay Visualizer",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Drop a Level-2 CSV and watch the book reconstruct tick by tick. Animated depth bars, best bid/ask, spread over time. Understand microstructure before you design your strategy.",
      "url": "https://aifinhub.io/tools/order-book-replay/",
      "path": "/tools/order-book-replay/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/order-book-replay/.",
      "methodology": "https://aifinhub.io/methodology/order-book-replay/",
      "keywords": [
        "order book reconstruction",
        "level 2 replay",
        "lob visualization",
        "market microstructure visualizer",
        "limit order book animation"
      ],
      "contract": "https://aifinhub.io/contracts/order-book-replay.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "csv_header": {
            "type": "string"
          },
          "playback_speed_multiplier": {
            "type": "number"
          },
          "max_levels_rendered": {
            "type": "integer"
          },
          "focus_symbol": {
            "type": "string"
          }
        },
        "required": [
          "tool",
          "csv_header",
          "playback_speed_multiplier",
          "max_levels_rendered",
          "focus_symbol"
        ]
      }
    },
    {
      "tool_id": "calibration-dojo",
      "name": "Calibration Dojo",
      "short_name": "Calibration Dojo",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Train your probabilistic intuition. Answer binary forecasting questions at any confidence level; track Brier score and reliability curve over time. All state stored locally.",
      "url": "https://aifinhub.io/tools/calibration-dojo/",
      "path": "/tools/calibration-dojo/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/calibration-dojo/.",
      "methodology": "https://aifinhub.io/methodology/calibration-dojo/",
      "keywords": [
        "calibration training",
        "brier score trainer",
        "forecasting practice",
        "probabilistic thinking game",
        "calibration reliability curve"
      ],
      "contract": "https://aifinhub.io/contracts/calibration-dojo.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "session_length_questions": {
            "type": "integer"
          },
          "difficulty": {
            "type": "string",
            "enum": [
              "easy",
              "medium",
              "hard"
            ]
          },
          "domain_filter": {
            "type": "string"
          }
        },
        "required": [
          "tool",
          "session_length_questions",
          "difficulty",
          "domain_filter"
        ]
      }
    },
    {
      "tool_id": "trading-system-blueprinter",
      "name": "Trading System Blueprinter",
      "short_name": "Trading System Blueprinter",
      "category": "Generators",
      "section": "generators",
      "summary": "Pick your data source, LLM, broker, storage, risk engine, and logger. Get a Mermaid architecture diagram, a starter repo scaffold (ZIP), and a list of open-source integrations that actually compose.",
      "url": "https://aifinhub.io/tools/trading-system-blueprinter/",
      "path": "/tools/trading-system-blueprinter/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/trading-system-blueprinter/.",
      "methodology": "https://aifinhub.io/methodology/trading-system-blueprinter/",
      "keywords": [
        "trading system architecture",
        "algo trading blueprint",
        "trading stack generator",
        "mermaid trading diagram",
        "trading agent scaffold"
      ],
      "contract": "https://aifinhub.io/contracts/trading-system-blueprinter.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "data_source": {
            "type": "string"
          },
          "llm_provider": {
            "type": "string"
          },
          "broker": {
            "type": "string"
          },
          "storage": {
            "type": "string"
          },
          "risk_engine": {
            "type": "string"
          },
          "logger": {
            "type": "string"
          }
        },
        "required": [
          "tool",
          "data_source",
          "llm_provider",
          "broker",
          "storage",
          "risk_engine",
          "logger"
        ]
      }
    },
    {
      "tool_id": "risk-adjusted-returns",
      "name": "Risk-Adjusted Returns Calculator",
      "short_name": "Risk-Adjusted Returns Calculator",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Paste a returns CSV. Sharpe, Sortino, Calmar, Omega, alpha, beta, tracking error, information ratio, max drawdown, and tail moments \u2014 plus a benchmark-relative block when you include one.",
      "url": "https://aifinhub.io/tools/risk-adjusted-returns/",
      "path": "/tools/risk-adjusted-returns/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/risk-adjusted-returns/.",
      "methodology": "https://aifinhub.io/methodology/risk-adjusted-returns/",
      "keywords": [
        "sharpe ratio calculator",
        "sortino ratio",
        "calmar ratio",
        "omega ratio",
        "information ratio",
        "max drawdown",
        "risk adjusted returns"
      ],
      "contract": "https://aifinhub.io/contracts/risk-adjusted-returns.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "periods_per_year": {
            "type": "integer"
          },
          "risk_free_rate_annual": {
            "type": "number"
          },
          "mar_annual": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "periods_per_year",
          "risk_free_rate_annual",
          "mar_annual"
        ]
      }
    },
    {
      "tool_id": "walk-forward-validator",
      "name": "Walk-Forward Validator",
      "short_name": "Walk-Forward Validator",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Upload a returns CSV. Rolling or expanding IS/OOS windows, per-window Sharpe, walk-forward efficiency, and a concatenated OOS equity curve. Catches regime decay that PBO alone misses.",
      "url": "https://aifinhub.io/tools/walk-forward-validator/",
      "path": "/tools/walk-forward-validator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/walk-forward-validator/.",
      "methodology": "https://aifinhub.io/methodology/walk-forward-validator/",
      "keywords": [
        "walk forward validation",
        "walk forward efficiency",
        "rolling window backtest",
        "expanding window backtest",
        "out of sample sharpe"
      ],
      "contract": "https://aifinhub.io/contracts/walk-forward-validator.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "window_mode": {
            "type": "string",
            "enum": [
              "rolling",
              "expanding"
            ]
          },
          "is_window_days": {
            "type": "integer"
          },
          "oos_window_days": {
            "type": "integer"
          },
          "step_days": {
            "type": "integer"
          },
          "periods_per_year": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "window_mode",
          "is_window_days",
          "oos_window_days",
          "step_days",
          "periods_per_year"
        ]
      }
    },
    {
      "tool_id": "options-greeks-explorer",
      "name": "Options Greeks Explorer",
      "short_name": "Options Greeks Explorer",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Black-Scholes pricer + live Greeks visualizer. Drag spot, strike, vol, DTE, rate, dividend yield \u2014 see delta, gamma, theta, vega, rho update with the payoff curve. Call + put.",
      "url": "https://aifinhub.io/tools/options-greeks-explorer/",
      "path": "/tools/options-greeks-explorer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/options-greeks-explorer/.",
      "methodology": "https://aifinhub.io/methodology/options-greeks-explorer/",
      "keywords": [
        "options greeks calculator",
        "black scholes calculator",
        "delta gamma theta vega",
        "options pricing tool",
        "options greeks visualizer"
      ],
      "contract": "https://aifinhub.io/contracts/options-greeks-explorer.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "option_type": {
            "type": "string",
            "enum": [
              "call",
              "put"
            ]
          },
          "spot": {
            "type": "number"
          },
          "strike": {
            "type": "number"
          },
          "annual_vol": {
            "type": "number"
          },
          "days_to_expiry": {
            "type": "integer"
          },
          "risk_free_rate": {
            "type": "number"
          },
          "dividend_yield": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "option_type",
          "spot",
          "strike",
          "annual_vol",
          "days_to_expiry",
          "risk_free_rate",
          "dividend_yield"
        ]
      }
    },
    {
      "tool_id": "correlation-matrix-visualizer",
      "name": "Correlation Matrix Visualizer",
      "short_name": "Correlation Matrix Visualizer",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Paste a multi-asset returns CSV. See the Pearson correlation heatmap, condition number, average absolute correlation, and eigenvalue concentration \u2014 the diagnostics for detecting redundant strategies before you allocate capital.",
      "url": "https://aifinhub.io/tools/correlation-matrix-visualizer/",
      "path": "/tools/correlation-matrix-visualizer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/correlation-matrix-visualizer/.",
      "methodology": "https://aifinhub.io/methodology/correlation-matrix-visualizer/",
      "keywords": [
        "correlation matrix calculator",
        "portfolio correlation heatmap",
        "strategy correlation analysis",
        "eigenvalue decomposition portfolio",
        "condition number correlation"
      ],
      "contract": "https://aifinhub.io/contracts/correlation-matrix-visualizer.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "min_observations": {
            "type": "integer"
          },
          "max_columns_rendered": {
            "type": "integer"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "min_observations",
          "max_columns_rendered"
        ]
      }
    },
    {
      "tool_id": "returns-distribution-analyzer",
      "name": "Returns Distribution Analyzer",
      "short_name": "Returns Distribution Analyzer",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Paste a returns CSV. Histogram, normal-overlay, QQ plot, skewness, excess kurtosis, Jarque-Bera test, tail-weight index. See why Sharpe alone misleads when your distribution has fat tails.",
      "url": "https://aifinhub.io/tools/returns-distribution-analyzer/",
      "path": "/tools/returns-distribution-analyzer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/returns-distribution-analyzer/.",
      "methodology": "https://aifinhub.io/methodology/returns-distribution-analyzer/",
      "keywords": [
        "returns distribution analysis",
        "fat tails calculator",
        "jarque bera test",
        "qq plot returns",
        "skewness kurtosis returns",
        "non-normal returns"
      ],
      "contract": "https://aifinhub.io/contracts/returns-distribution-analyzer.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "histogram_bins": {
            "type": "integer"
          },
          "tail_sigma_threshold": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "histogram_bins",
          "tail_sigma_threshold"
        ]
      }
    },
    {
      "tool_id": "price-blind-auditor",
      "name": "Price-Blind Research Auditor",
      "short_name": "Price-Blind Research Auditor",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste a research prompt or agent context bundle. The auditor flags price numbers, directional words, and outcome-leaking phrases that cause LLMs to retroactively rationalize positions. Builds a price-blind research boundary.",
      "url": "https://aifinhub.io/tools/price-blind-auditor/",
      "path": "/tools/price-blind-auditor/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/price-blind-auditor/.",
      "methodology": "https://aifinhub.io/methodology/price-blind-auditor/",
      "keywords": [
        "price blind research",
        "context leakage audit",
        "llm price contamination",
        "prompt audit trading",
        "research prompt leakage",
        "price reveal llm"
      ],
      "contract": "https://aifinhub.io/contracts/price-blind-auditor.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "prompt_text": {
            "type": "string"
          },
          "include_low_severity": {
            "type": "boolean"
          }
        },
        "required": [
          "tool",
          "prompt_text",
          "include_low_severity"
        ]
      }
    },
    {
      "tool_id": "prompt-injection-tester",
      "name": "Prompt Injection Tester",
      "short_name": "Prompt Injection Tester",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Red-team a finance agent against 24 documented prompt-injection attacks \u2014 direct override, role confusion, indirect injection via retrieved content, jailbreak patterns, tool-call hijack. BYO key; runs client-side against your live model.",
      "url": "https://aifinhub.io/tools/prompt-injection-tester/",
      "path": "/tools/prompt-injection-tester/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/prompt-injection-tester/.",
      "methodology": "https://aifinhub.io/methodology/prompt-injection-tester/",
      "keywords": [
        "prompt injection tester",
        "llm red team",
        "agent security test",
        "prompt injection trading",
        "llm jailbreak test",
        "indirect prompt injection"
      ],
      "contract": "https://aifinhub.io/contracts/prompt-injection-tester.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "provider": {
            "type": "string",
            "enum": [
              "anthropic",
              "openai",
              "google"
            ]
          },
          "model": {
            "type": "string"
          },
          "api_key": {
            "type": "string"
          },
          "target_system_prompt": {
            "type": "string"
          },
          "include_categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tool",
          "provider",
          "model",
          "api_key",
          "target_system_prompt",
          "include_categories"
        ]
      }
    },
    {
      "tool_id": "efficient-frontier-builder",
      "name": "Efficient Frontier Builder",
      "short_name": "Efficient Frontier Builder",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Paste a multi-asset returns CSV. See the Markowitz mean-variance frontier, the minimum-variance portfolio, the max-Sharpe (tangency) portfolio, and the per-asset weights for each highlighted point. Closed-form solution, client-side.",
      "url": "https://aifinhub.io/tools/efficient-frontier-builder/",
      "path": "/tools/efficient-frontier-builder/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/efficient-frontier-builder/.",
      "methodology": "https://aifinhub.io/methodology/efficient-frontier-builder/",
      "keywords": [
        "efficient frontier calculator",
        "markowitz portfolio optimizer",
        "mean variance optimization",
        "tangency portfolio",
        "minimum variance portfolio",
        "portfolio weights calculator"
      ],
      "contract": "https://aifinhub.io/contracts/efficient-frontier-builder.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "returns_csv_header": {
            "type": "string"
          },
          "risk_free_rate_annual": {
            "type": "number"
          },
          "periods_per_year": {
            "type": "integer"
          },
          "frontier_steps": {
            "type": "integer"
          },
          "short_selling_allowed": {
            "type": "boolean"
          }
        },
        "required": [
          "tool",
          "returns_csv_header",
          "risk_free_rate_annual",
          "periods_per_year",
          "frontier_steps",
          "short_selling_allowed"
        ]
      }
    },
    {
      "tool_id": "options-payoff-builder",
      "name": "Options Payoff Builder",
      "short_name": "Options Payoff Builder",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Build 1\u20134 leg option strategies. Pick call/put, long/short, strike, and contracts. See the at-expiry payoff diagram, break-even points, maximum profit and loss, and the aggregated Greeks at current spot. Presets for straddle, strangle, iron condor, spreads, butterfly.",
      "url": "https://aifinhub.io/tools/options-payoff-builder/",
      "path": "/tools/options-payoff-builder/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/options-payoff-builder/.",
      "methodology": "https://aifinhub.io/methodology/options-payoff-builder/",
      "keywords": [
        "options payoff diagram",
        "multi leg options calculator",
        "iron condor calculator",
        "options strategy builder",
        "straddle payoff",
        "bull call spread calculator",
        "options greek aggregation"
      ],
      "contract": "https://aifinhub.io/contracts/options-payoff-builder.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "spot": {
            "type": "number"
          },
          "annual_vol": {
            "type": "number"
          },
          "days_to_expiry": {
            "type": "integer"
          },
          "risk_free_rate": {
            "type": "number"
          },
          "dividend_yield": {
            "type": "number"
          },
          "legs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "side": {
                  "type": "string",
                  "enum": [
                    "long",
                    "short"
                  ]
                },
                "option_type": {
                  "type": "string",
                  "enum": [
                    "call",
                    "put"
                  ]
                },
                "strike": {
                  "type": "number"
                },
                "contracts": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "required": [
          "tool",
          "spot",
          "annual_vol",
          "days_to_expiry",
          "risk_free_rate",
          "dividend_yield",
          "legs"
        ]
      }
    },
    {
      "tool_id": "pair-trading-tester",
      "name": "Pair Trading Cointegration Tester",
      "short_name": "Pair Trading Cointegration Tester",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste two price series. Engle-Granger cointegration test: OLS hedge ratio, Augmented Dickey-Fuller on residuals, Ornstein-Uhlenbeck half-life, z-score time series with configurable entry/exit bands. Everything client-side.",
      "url": "https://aifinhub.io/tools/pair-trading-tester/",
      "path": "/tools/pair-trading-tester/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/pair-trading-tester/.",
      "methodology": "https://aifinhub.io/methodology/pair-trading-tester/",
      "keywords": [
        "pair trading calculator",
        "cointegration test",
        "engle granger test",
        "augmented dickey fuller",
        "mean reversion half life",
        "statistical arbitrage tester"
      ],
      "contract": "https://aifinhub.io/contracts/pair-trading-tester.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "prices_csv_header": {
            "type": "string"
          },
          "adf_lags": {
            "type": "integer"
          },
          "z_window": {
            "type": "integer"
          },
          "entry_z": {
            "type": "number"
          },
          "exit_z": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "prices_csv_header",
          "adf_lags",
          "z_window",
          "entry_z",
          "exit_z"
        ]
      }
    },
    {
      "tool_id": "execution-simulator",
      "name": "Execution Simulator",
      "short_name": "Execution Simulator",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Square-root impact + linear temporary impact + latency jitter. See the real slippage of any trade size before you route it.",
      "url": "https://aifinhub.io/tools/execution-simulator/",
      "path": "/tools/execution-simulator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/execution-simulator/.",
      "methodology": "https://aifinhub.io/methodology/execution-simulator/",
      "keywords": [
        "market impact calculator",
        "slippage calculator",
        "square root impact model",
        "almgren chriss impact",
        "execution cost simulator",
        "order latency simulator",
        "limit order queue position"
      ],
      "contract": "https://aifinhub.io/contracts/execution-simulator.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "side": {
            "type": "string",
            "enum": [
              "buy",
              "sell"
            ]
          },
          "order_size_shares": {
            "type": "number"
          },
          "adv_shares": {
            "type": "number"
          },
          "spread_bps": {
            "type": "number"
          },
          "daily_vol_pct": {
            "type": "number"
          },
          "participation_pct": {
            "type": "number"
          },
          "latency_ms": {
            "type": "number"
          },
          "latency_jitter_ms": {
            "type": "number"
          },
          "reference_price_usd": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "side",
          "order_size_shares",
          "adv_shares",
          "spread_bps",
          "daily_vol_pct",
          "participation_pct"
        ]
      }
    },
    {
      "tool_id": "broker-api-comparator",
      "name": "Broker API Comparator",
      "short_name": "Broker API Comparator",
      "category": "Comparators",
      "section": "comparators",
      "summary": "Compare Alpaca, IBKR, Tradier, Schwab, Robinhood on authentication, rate limits, order types, market data, MCP availability, and fees.",
      "url": "https://aifinhub.io/tools/broker-api-comparator/",
      "path": "/tools/broker-api-comparator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/broker-api-comparator/.",
      "methodology": "https://aifinhub.io/methodology/broker-api-comparator/",
      "keywords": [
        "broker api comparison",
        "alpaca vs interactive brokers",
        "tradier vs schwab",
        "broker api rate limits",
        "retail broker api comparator",
        "broker api mcp",
        "robinhood api"
      ],
      "contract": "https://aifinhub.io/contracts/broker-api-comparator.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "must_support": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "stocks",
                "options",
                "futures",
                "crypto",
                "forex",
                "bonds"
              ]
            }
          },
          "mcp_required": {
            "type": "boolean"
          },
          "free_tier_required": {
            "type": "boolean"
          },
          "max_auth_complexity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "tool"
        ]
      }
    },
    {
      "tool_id": "synthetic-market-data-generator",
      "name": "Synthetic Market Data Generator",
      "short_name": "Synthetic Market Data Generator",
      "category": "Generators",
      "section": "generators",
      "summary": "Generate synthetic price series \u2014 geometric Brownian motion, GARCH(1,1) with volatility clustering, regime-switching bull/bear, or copula-linked pairs. Download CSV/JSON for backtest scaffolding.",
      "url": "https://aifinhub.io/tools/synthetic-market-data-generator/",
      "path": "/tools/synthetic-market-data-generator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/synthetic-market-data-generator/.",
      "methodology": "https://aifinhub.io/methodology/synthetic-market-data-generator/",
      "keywords": [
        "synthetic market data",
        "gbm price simulator",
        "garch synthetic data",
        "regime switching simulator",
        "synthetic stock price generator",
        "backtest data generator",
        "monte carlo price paths"
      ],
      "contract": "https://aifinhub.io/contracts/synthetic-market-data-generator.json",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "model": {
            "type": "string",
            "enum": [
              "gbm",
              "garch",
              "regime",
              "pair"
            ]
          },
          "seed": {
            "type": "integer"
          },
          "starting_price_usd": {
            "type": "number"
          },
          "annualized_drift_pct": {
            "type": "number"
          },
          "annualized_vol_pct": {
            "type": "number"
          },
          "days": {
            "type": "integer"
          },
          "trading_days_per_year": {
            "type": "integer"
          },
          "garch_omega": {
            "type": "number"
          },
          "garch_alpha": {
            "type": "number"
          },
          "garch_beta": {
            "type": "number"
          },
          "bull_drift_pct": {
            "type": "number"
          },
          "bear_drift_pct": {
            "type": "number"
          },
          "p_bull_to_bear": {
            "type": "number"
          },
          "p_bear_to_bull": {
            "type": "number"
          },
          "rho": {
            "type": "number",
            "minimum": -1,
            "maximum": 1
          }
        },
        "required": [
          "tool",
          "model",
          "days"
        ]
      }
    },
    {
      "tool_id": "financial-document-token-estimator",
      "name": "Financial Document Token Estimator",
      "short_name": "Financial Document Token Estimator",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Paste a 10-K, 10-Q, 8-K or earnings transcript and see token count + one-pass extraction cost across eight frontier LLMs, with cache-hit toggle and context-window fit check.",
      "url": "https://aifinhub.io/tools/financial-document-token-estimator/",
      "path": "/tools/financial-document-token-estimator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/financial-document-token-estimator/.",
      "methodology": "https://aifinhub.io/methodology/financial-document-token-estimator/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n",
          "n",
          "n"
        ]
      }
    },
    {
      "tool_id": "sec-filing-chunk-optimizer",
      "name": "SEC Filing Chunk Optimizer",
      "short_name": "SEC Filing Chunk Optimizer",
      "category": "Generators",
      "section": "generators",
      "summary": "Pick a filing archetype, tune chunk size and overlap, and see chunk count, embedding cost, and structural-boundary warnings across three chunking strategies.",
      "url": "https://aifinhub.io/tools/sec-filing-chunk-optimizer/",
      "path": "/tools/sec-filing-chunk-optimizer/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/sec-filing-chunk-optimizer/.",
      "methodology": "https://aifinhub.io/methodology/sec-filing-chunk-optimizer/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          },
          "label": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n",
          "n",
          "label"
        ]
      }
    },
    {
      "tool_id": "structured-schema-validator-finance",
      "name": "Structured Schema Validator for Finance",
      "short_name": "Structured Schema Validator for Finance",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste LLM JSON output and validate against four pre-built finance schemas \u2014 research output, trade decision, risk snapshot, peer comparison \u2014 with sanity checks on unit and GAAP basis.",
      "url": "https://aifinhub.io/tools/structured-schema-validator-finance/",
      "path": "/tools/structured-schema-validator-finance/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/structured-schema-validator-finance/.",
      "methodology": "https://aifinhub.io/methodology/structured-schema-validator-finance/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "glyph": {
            "type": "number"
          },
          "tone": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "parts": {
            "type": "number"
          },
          "id": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "glyph",
          "tone",
          "name",
          "parts",
          "id"
        ]
      }
    },
    {
      "tool_id": "agent-cost-envelope-calculator",
      "name": "Agent Cost Envelope Calculator",
      "short_name": "Agent Cost Envelope Calculator",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Model an LLM research loop end-to-end \u2014 steps, tool calls, convergence checks, markets per day \u2014 and see per-loop, daily, and monthly cost with cost-cap recommendations.",
      "url": "https://aifinhub.io/tools/agent-cost-envelope-calculator/",
      "path": "/tools/agent-cost-envelope-calculator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/agent-cost-envelope-calculator/.",
      "methodology": "https://aifinhub.io/methodology/agent-cost-envelope-calculator/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n",
          "n"
        ]
      }
    },
    {
      "tool_id": "fallback-chain-simulator",
      "name": "Fallback Chain Simulator",
      "short_name": "Fallback Chain Simulator",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Define a provider fallback chain, simulate rate-limit and latency failures, and see p50/p95/p99 latency, success rate, total cost, and degradation-event distribution.",
      "url": "https://aifinhub.io/tools/fallback-chain-simulator/",
      "path": "/tools/fallback-chain-simulator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/fallback-chain-simulator/.",
      "methodology": "https://aifinhub.io/methodology/fallback-chain-simulator/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n",
          "n"
        ]
      }
    },
    {
      "tool_id": "model-selector-finance",
      "name": "Model Selector for Finance",
      "short_name": "Model Selector for Finance",
      "category": "Comparators",
      "section": "comparators",
      "summary": "Input task, latency budget, cost budget, context size, and quality sensitivity; get ranked model recommendations with rationale \u2014 grounded in published pricing and vendor capabilities, not benchmark scores.",
      "url": "https://aifinhub.io/tools/model-selector-finance/",
      "path": "/tools/model-selector-finance/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/model-selector-finance/.",
      "methodology": "https://aifinhub.io/methodology/model-selector-finance/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "input_tokens_per_request": {
            "type": "number"
          },
          "output_tokens_per_request": {
            "type": "number"
          },
          "requests_per_day": {
            "type": "number"
          },
          "cache_hit_rate": {
            "type": "number"
          },
          "context_window_required": {
            "type": "integer"
          },
          "thinking_required": {
            "type": "boolean"
          }
        },
        "required": [
          "tool",
          "input_tokens_per_request",
          "output_tokens_per_request",
          "requests_per_day"
        ]
      }
    },
    {
      "tool_id": "batch-vs-realtime-cost-calculator",
      "name": "Batch vs Real-Time Cost Calculator",
      "short_name": "Batch vs Real-Time Cost Calculator",
      "category": "Calculators",
      "section": "calculators",
      "summary": "Jobs per day, tokens per job, model, deadline \u2014 get real-time vs batch cost side-by-side with savings estimate and batch-eligibility flag. Based on vendor-published batch pricing.",
      "url": "https://aifinhub.io/tools/batch-vs-realtime-cost-calculator/",
      "path": "/tools/batch-vs-realtime-cost-calculator/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/batch-vs-realtime-cost-calculator/.",
      "methodology": "https://aifinhub.io/methodology/batch-vs-realtime-cost-calculator/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n"
        ]
      }
    },
    {
      "tool_id": "forecast-scoring-sandbox",
      "name": "Forecast Scoring Sandbox",
      "short_name": "Forecast Scoring Sandbox",
      "category": "Playgrounds",
      "section": "playgrounds",
      "summary": "Paste a forecast stream (probability + outcome) and see Brier score with full decomposition, log loss, reliability diagram, and bootstrap confidence intervals. Works on any prob + binary outcome CSV.",
      "url": "https://aifinhub.io/tools/forecast-scoring-sandbox/",
      "path": "/tools/forecast-scoring-sandbox/",
      "mode": "client_side",
      "notes": "Client-side tool. No API endpoint \u2014 open the URL in a browser. Methodology at https://aifinhub.io/methodology/forecast-scoring-sandbox/.",
      "methodology": "https://aifinhub.io/methodology/forecast-scoring-sandbox/",
      "input_schema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "n": {
            "type": "number"
          }
        },
        "required": [
          "tool",
          "n",
          "n"
        ]
      }
    }
  ],
  "creator": {
    "@type": "Organization",
    "name": "Orbyd",
    "url": "https://orbyd.app"
  },
  "license": "https://creativecommons.org/licenses/by/4.0/"
}