Skip to main content
Glama

verify_backtest

Read-onlyIdempotent

Verify a backtest Sharpe ratio against multiple-testing bias with the Deflated Sharpe Ratio, so agents can trust or reject reported strategy performance.

Instructions

Is a strategy's Sharpe real, or the luckiest of many tried? Deflated Sharpe Ratio: pass the observed per-period Sharpe sr, sample length T, and n_trials = how many strategy/parameter variants were tested before reporting this one. Optionally the return skew/kurt. For agent traders verifying backtest data before they trust (or publish) it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
TYesSample length — number of return periods in the backtest.
srYesObserved per-period Sharpe ratio of the strategy.
kurtNoKurtosis of the return series (3 = normal).
skewNoSkewness of the return series (0 if unknown).
api_keyYesYour metering key — any stable string identifying you; it tracks your free-tier calls and prepaid credit balance.
n_trialsNoHow many strategy/parameter variants were tried before reporting this one (the multiple-testing count).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
srNo
dsrNoDeflated Sharpe Ratio (probability it's real).
verdictNoOne-line human verdict.
psr_vs_0No
survivesNoTrue if the Sharpe clears the deflated bar.
deflation_barNo
min_track_recordNo
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that this is a statistical calculation (Deflated Sharpe Ratio) and explains the multiple-testing context, but it does not disclose additional behavioral details like output shape or edge cases.

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 description is three sentences and reasonably concise. The opening rhetorical question is not strictly functional but helps frame the tool's purpose, and the rest is directly useful.

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

Completeness4/5

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

Given the rich schema (100% parameter descriptions) and existing output schema, the description sufficiently explains the tool's method, inputs, and audience. It could be stronger by referencing alternatives or assumptions, but it is not incomplete for a competent agent.

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 every parameter already has a meaningful description. The tool description repeats and lightly reframes sr, T, n_trials, and skew/kurt, but adds little beyond the schema, especially for api_key.

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

Purpose4/5

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

The description clearly identifies the tool as computing a Deflated Sharpe Ratio to check whether an observed Sharpe is genuine or a product of multiple testing. It specifies the resource (backtest) and the core method, but it does not explicitly distinguish this from sibling tools like verify_backtest_series.

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?

The description gives clear context: it is intended for agent traders verifying backtest data before trusting or publishing it. It implies when to use the tool, but it does not explicitly state when not to use it or name alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ipezygj/numguard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server