Skip to main content
Glama

Backtesting Arena

Robustness Field — plateau vs. spike + Deflated Sharpe with a counted N

arena_get_robustness_field
Read-only

Is this backtest result real, or a lucky cell? Assess one backtest result against its neighborhood instead of trusting a single "+X% CAGR" cell. Given a (strategy, interval, pair) and YOUR result (user_cagr, optional user_sharpe), returns: the cross-asset distribution of the SAME strategy+interval across every pair the backtest factory ran it on (median, IQR, positive-share, your percentile), a plateau/spike/fragile/mixed verdict, and — where Sharpe coverage allows — a Deflated Sharpe threshold whose N is COUNTED (the number of neighbor assets IS the testing family), not guessed. Honest small-n handling: fewer than 15 neighbors → "insufficient", no DSR-N claimed. Set axis="parameter" for the secondary, always-anecdotal view (the few parameter settings tested on this exact pair). Read-only over result aggregates, look-ahead free. [API Pro tier]

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": {
      "strategy": "<strategy>",
      "interval": "<interval>",
      "pair": "<pair>",
      "user_cagr": "<user_cagr>"
    },
    "name": "arena_get_robustness_field"
  }
}

Input Schema

NameRequiredDescriptionDefault
axisNoNeighborhood axis. 'cross_asset' (default, dense, carries the verdict + DSR-N) or 'parameter' (secondary, always anecdotal — the parameter settings tested on this one pair).cross_asset
pairYesTrading pair of your cell, e.g. 'BTCUSDT'.
paramsNoOptional: numeric strategy parameters of your cell. Only numeric params define the neighborhood; matched per pair where the factory ran them.
intervalYesCandle interval, e.g. '1d', '1w', '1M'.
strategyYesStrategy key, e.g. 'rsi_sma'.
user_cagrYesYour result: CAGR in percent (e.g. 41 for +41%) — the cell being assessed.
asset_typeNoAsset class filter (default 'crypto').
user_sharpeNoOptional: your annualized Sharpe (result_sharpe scale). Used for the counted-N Deflated Sharpe where neighbor coverage allows.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / params / propertyNames
      Added value: +{
      +  "type": "string"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "strategy",
      -  "interval",
      -  "pair",
      -  "user_cagr",
      -  "context"
      -]New value: +[
      +  "strategy",
      +  "interval",
      +  "pair",
      +  "user_cagr"
      +]
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses plan gating ('[API Pro tier]'), the data-safety posture ('read-only over result aggregates, look-ahead free'), and the exact small-n degradation ('fewer than 15 neighbors → "insufficient", no DSR-N claimed'). It also explains how the Deflated Sharpe N is derived (neighbor count) rather than estimated, which is genuinely useful behavioral context an agent cannot infer from annotations.

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?

The opening question and the returns summary are front-loaded. Content is information-dense with little waste, but the middle sentences are long and clause-heavy, which slightly hurts scannability.

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, yet the description enumerates the return shape (median, IQR, positive-share, percentile, verdict, DSR threshold), explains the counted-N semantics, and specifies the insufficient-data path. For a complex 8-parameter, nested-input analysis tool this leaves no critical gap for correct invocation.

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 description coverage is 100%, so the schema already documents axis, user_cagr (percent), user_sharpe, params, etc. The description reinforces a few interactions (only axis="parameter" is anecdotal; params must be numeric to define the neighborhood), but mostly restates what the schema provides. Baseline 3 is appropriate.

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?

The description opens with a concrete question and a specific verb+resource ('Assess one backtest result against its neighborhood'), then enumerates exactly what it computes: cross-asset distribution stats, a plateau/spike/fragile/mixed verdict, and a Deflated Sharpe threshold with a counted N. This is clearly distinct from sibling performance/insight tools, which report a single strategy's metrics rather than a robustness verdict grounded in a neighbor distribution.

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?

It gives a clear when-to-use framing ('instead of trusting a single "+X% CAGR" cell') and states that axis="parameter" is a secondary, always-anecdotal alternative view. It does not explicitly name sibling tools or exclusions (e.g., when arena_get_strategy_performance is the better choice), so it falls short of a full 5.

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.