Skip to main content
Glama

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

Return Unsmoothing

workflow.run_unsmoothing
Read-only

Return "unsmoothing" for infrequently-marked/illiquid or appraisal-based series: Getmansky-Lo-Makarov (2004) MA(2) smoothing index plus Blundell-Ward (1987) AR(1) volatility inflation, two complementary models answering "this return series looks smoother than it really is; what's the true volatility?". Edge cases: at least 20 returns; a flat series is an error; if the MA(2) fit does not converge from any starting point, or the lag-1 autocorrelation is 1 or more (Blundell-Ward inflation undefined), the call is an error. Not covered: more than 2 lags of smoothing, tax and fee effects, and proof that the smoothing comes from stale pricing rather than from the strategy. Use when user asks "how much is appraisal smoothing understating my real volatility?" or "what's my de-smoothed Sharpe ratio?". Returns: glm_theta (MA(2) weights), glm_smoothing_index (xi, 1=no smoothing, down to 1/3 for max MA(2) smoothing), glm_true_volatility_multiplier, glm_converged (false if the fit may be unreliable - treat that result with caution), bw_alpha (AR(1) coefficient = lag-1 autocorrelation, can be negative), bw_smoothing_detected (false when alpha<=0: no evidence of smoothing, bw_volatility_multiplier is then pinned to 1 with no correction applied rather than a misleading below-1 value), bw_volatility_multiplier, and each model's own true_stdev estimate.

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_unsmoothing"
  }
}

Input Schema

NameRequiredDescriptionDefault
returnsYesThe observed (possibly smoothed) return series, at least 20 values

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/destructiveHint=false, and the description adds the operational edge cases the annotations can't: 20-return minimum, flat series is an error, non-convergence is an error, lag-1 autocorrelation >=1 is an error, glm_converged=false means treat with caution, and bw_smoothing_detected=false pins the multiplier to 1 rather than returning a misleading value. That is unusually rich behavioral disclosure.

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?

Purpose is front-loaded and every clause carries information density (models, edge cases, exclusions, return fields), with no filler. It is long and the 'Use when' block sits after edge cases, which slightly buries the routing cue, but no sentence is expendable given there is no output schema.

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?

For a one-input statistical tool with no output schema, the description supplies input constraints, failure modes, both output models' fields with per-field interpretation, and explicit scope limits. An agent has everything needed to call it and to interpret or caveat the result.

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

Parameters4/5

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

With one parameter at 100% schema coverage the baseline is 3, but the description adds meaning about what the series represents (observed, possibly smoothed marks) and the flat-series rejection rule, which the schema does not express. The 'at least 20 returns' clause duplicates minItems, keeping it just below a 5.

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 verb+resource ('Return unsmoothing for infrequently-marked/illiquid or appraisal-based series') and names the two exact models (Getmansky-Lo-Makarov MA(2) index and Blundell-Ward AR(1) volatility inflation), so an agent can tell this apart from siblings like run_garch or run_sharpe_stats without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit trigger phrases ('how much is appraisal smoothing understating my real volatility?', 'what's my de-smoothed Sharpe ratio?') plus a dedicated 'Not covered' section excluding >2 lags, tax/fee effects, and stale-pricing identification — both when-to-use and when-not-to-use are stated.

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.