---
title: "Edge Library — Filter Effect Reports"
method: GET
path: "/api/v1/edge/reports"
tags: ["Insights"]
---

# Edge Library — Filter Effect Reports

`GET /api/v1/edge/reports`

## Request

- Base URL: `https://tradingstrategies.work`
- URL: `https://tradingstrategies.work/api/v1/edge/reports`
- Auth: HTTP bearer

Platform-wide aggregated analysis: how each Pro+ entry filter affects strategy CAGR (baseline vs filtered), asset-equal-weighted — per-asset medians over param-deduplicated runs, then the median across assets. delta_cagr is the median of per-asset deltas over MATCHED assets (present in both arms) and therefore usually differs from filtered_cagr − baseline_cagr; pairs_matched/pairs_filtered plus the baseline pairs count declare the basis. Verdicts come from the effect's 90% paired-bootstrap interval, not the point estimate: helps (whole interval > +1pp), hurts (whole interval < −1pp), neutral (whole interval inside ±1pp), insufficient_evidence (enough runs, but the interval straddles the line), insufficient_data (fewer than 30 runs per arm or fewer than 10 matched assets). Interval bounds are returned as delta_ci_low / delta_ci_high. Response is GROUPED by strategy: envelope fields (market, computed_at, n_trials) once, per strategy one baseline block plus filter cells; zero-run cells are folded into filters_without_data; truncated flags a partial page. Filters evaluated in isolation (no stacking). Net values are median CAGR after per-side trading costs (verdict/delta stay gross). Below the 30-run gate, derived fields (delta_*, dsr, dsr_pass) are null rather than served; every gated null carries its reason (dsr_pass_reason, baseline_net_reason / filtered_net_reason); the envelope `evidence` block declares the gate's referent (gate_applies_to) and threshold machine-readably. Values are server-rounded (2dp percent, 4dp Sharpe). [Free tier]

## Query parameters

- `market` 'crypto' | 'tokenized', required
- `strategy` string
- `verdict` 'helps' | 'neutral' | 'hurts' | 'insufficient_evidence' | 'insufficient_data' | 'all'
- `limit` integer
- `offset` integer

## Response `200`

Edge reports for the selected market.

## Other responses

- `400`: Invalid input — fehlt Pflichtfeld oder Wert außerhalb des erlaubten Bereichs.
- `401`: Unauthenticated — kein gültiger Bearer-Token im Authorization-Header.
- `403`: Tier-Insufficient — Endpoint braucht höheren API-Tier. Response enthält upgrade_url.
- `404`: Not-Found — Resource existiert nicht oder gehört nicht dem aktuellen User.
- `429`: Rate-Limit überschritten — Tier-Quota (hourly/daily) oder Per-Endpoint-Quota erreicht. Retry-After-Header gesetzt.
- `500`: Internal Error.
- `503`: Upstream-Failure — Datenquelle nicht erreichbar (Binance, EODHD, etc.).

---

[API](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api.md) · [All operations](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api/revisions/f82e8d6eecd7?raw)
