Skip to main content
Glama

TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures

GARCH Volatility

workflow.run_garch
Read-only

GARCH(1,1) volatility model, fit by maximum likelihood on a return series: estimates omega/alpha/beta (the variance-persistence parameters) and forecasts next-period volatility. Edge cases: at least 50 returns; a flat series is an error; non-finite values are refused. Output is per period of the input (no annualization). Not covered: asymmetric models (GJR, EGARCH), fat-tailed errors (the fit is Gaussian maximum likelihood), multi-step forecasts, and a guarantee that the optimizer finds the global maximum. Use when user asks "what's my GARCH volatility forecast?" or "how persistent is volatility in this return series?". This is a backward-looking statistical fit, not a market prediction guarantee. Returns: mu, omega, alpha, beta, persistence (alpha+beta), unconditional_vol, forecast_vol, loglikelihood.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "returns": "<returns>"
    },
    "name": "workflow.run_garch"
  }
}

Input Schema

NameRequiredDescriptionDefault
returnsYesReturn series, one value per period, at least 50 values (GARCH needs real sample depth to identify persistence)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say read-only/non-destructive; the description goes well beyond them with concrete failure modes (fewer than 50 returns, flat series, non-finite values) and a disclosed limitation that the optimizer may not find the global maximum. It also sets expectations about no annualization and that this is a backward-looking fit, not a prediction guarantee.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded: model definition first, then edge cases, then scope exclusions, then triggers, then outputs. Some duplication exists (the 50-return minimum appears in both description and schema; the return-value list restates the parameters just named), but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating mu, omega, alpha, beta, persistence, unconditional_vol, forecast_vol and loglikelihood. Combined with the stated input constraints and model limitations, an agent has everything needed to call this correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single `returns` parameter is already documented with the 50-item minimum, so the description mostly restates that constraint. It adds only marginal meaning — that values are one per period and output matches input frequency — which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific model ('GARCH(1,1) volatility model, fit by maximum likelihood') and the exact resource (a return series), plus which parameters it estimates and what it forecasts. Against ~90 siblings it clearly separates itself from `run_implied_volatility` (market-implied) and `run_var_cvar` (tail risk) by naming the estimator and the persistence output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger phrasing ('what's my GARCH volatility forecast?') and an explicit exclusions list — no GJR/EGARCH, no fat-tailed errors, no multi-step forecasts — which tells the agent when to look elsewhere. The one gap is that it never names which sibling to use instead for asymmetric or multi-step cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.