Polyrankdocs
ApiLab

GET /v1/lab/backtests/{id}

One of the caller’s backtests: its status, the frozen spec and, when done, the report (SIMULATED; per period, pooled, the no-selection control, without the best wallet / best 3 days, the bankroll, capacity, the funnel, per wallet and per day, the fill model and its measured optimism), and strategy_final_test: the strategy’s final test when one was run (once per strategy). 404 `lab_disabled` while LAB_ENABLED is off.

GET
/v1/lab/backtests/{id}

One of the caller’s backtests: its status, the frozen spec and, when done, the report (SIMULATED; per period, pooled, the no-selection control, without the best wallet / best 3 days, the bankroll, capacity, the funnel, per wallet and per day, the fill model and its measured optimism), and strategy_final_test: the strategy’s final test when one was run (once per strategy). 404 lab_disabled while LAB_ENABLED is off.

AuthorizationBearer <token>

API key: Authorization: Bearer pk_live_… (mint at polyrank.app/api-keys)

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/lab/backtests/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "id": "string",  "strategy_id": "string",  "status": "queued",  "error": "string",  "from": "string",  "to": "string",  "source": "string",  "created_at": "string",  "finished_at": "string",  "duration_ms": 0,  "per10": 0,  "copies": 0,  "purpose": "user",  "final_test": true,  "spec": {    "property1": null,    "property2": null  },  "report": {    "version": 1,    "simulated": true,    "fill_model": {      "name": "string",      "description": "string",      "known_optimism": [        "string"      ]    },    "from": "string",    "to": "string",    "trades_through": "string",    "history_through": "string",    "history_from": "string",    "periods": [      {        "copies": -9007199254740991,        "per10": 0,        "t": 0,        "win_rate": 0,        "total_usd_per10": 0,        "copies_per_day": 0,        "from": "string",        "to": "string",        "wallets": -9007199254740991,        "in_sample": true,        "note": "string"      }    ],    "pooled": {      "copies": -9007199254740991,      "per10": 0,      "t": 0,      "win_rate": 0,      "total_usd_per10": 0,      "copies_per_day": 0,      "days_up_share": 0,      "fees_usd_per10": 0,      "builder_fees_usd_per10": 0,      "median_entry_vs_leader_cents": 0    },    "control": {      "copies": -9007199254740991,      "per10": 0,      "t": 0,      "win_rate": 0,      "total_usd_per10": 0,      "copies_per_day": 0,      "description": "string"    },    "robustness": {      "without_best_wallet": {        "copies": -9007199254740991,        "per10": 0,        "t": 0,        "win_rate": 0,        "total_usd_per10": 0,        "copies_per_day": 0,        "wallet": "string"      },      "without_best_3_days": {        "copies": -9007199254740991,        "per10": 0,        "t": 0,        "win_rate": 0,        "total_usd_per10": 0,        "copies_per_day": 0,        "days": [          "string"        ]      },      "without_best_market": {        "copies": -9007199254740991,        "per10": 0,        "t": 0,        "win_rate": 0,        "total_usd_per10": 0,        "copies_per_day": 0,        "event": "string"      }    },    "bankroll": {      "start_usd": 0,      "end_usd": 0,      "return_pct": 0,      "max_drawdown_pct": 0,      "copies_taken": -9007199254740991,      "skipped_cash": -9007199254740991,      "skipped_caps": -9007199254740991,      "weekly": [        {          "week": "string",          "value_usd": 0        }      ]    },    "capacity": {      "median_tradable_usd": 0,      "p25_tradable_usd": 0,      "usd_per_day_at_clip": 0    },    "funnel": {      "signals": -9007199254740991,      "eligible": -9007199254740991,      "no_fill": -9007199254740991,      "leader_sold": -9007199254740991,      "duplicate_token": -9007199254740991,      "copies": -9007199254740991,      "moments": -9007199254740991,      "eligible_moments": -9007199254740991,      "no_book": -9007199254740991,      "no_depth": -9007199254740991,      "above_limit": -9007199254740991    },    "per_wallet": [      {        "wallet": "string",        "copies": -9007199254740991,        "per10": 0,        "win_rate": 0      }    ],    "daily": [      {        "day": "string",        "copies": -9007199254740991,        "pnl_usd_per10": 0      }    ],    "exits": {      "rules": [        "string"      ],      "sold": {        "property1": -9007199254740991,        "property2": -9007199254740991      },      "resolution": -9007199254740991,      "no_price": -9007199254740991,      "basis": {        "books": -9007199254740991,        "prints": -9007199254740991      },      "partial": {        "legs": -9007199254740991,        "copies_partly_held": -9007199254740991,        "below_min_slices": -9007199254740991,        "min_order_shares": 0      }    },    "signals": {      "on": "buy",      "direction": "follow",      "by_kind": {        "property1": {          "copies": -9007199254740991,          "per10": 0,          "t": 0,          "win_rate": 0,          "total_usd_per10": 0,          "copies_per_day": 0        },        "property2": {          "copies": -9007199254740991,          "per10": 0,          "t": 0,          "win_rate": 0,          "total_usd_per10": 0,          "copies_per_day": 0        }      },      "control_sample": {        "kept": -9007199254740991,        "of": -9007199254740991      },      "both_pairs": {        "pairs": -9007199254740991,        "per10": 0      }    },    "late_entry": {      "strategy": {        "rows": -9007199254740991,        "moved": -9007199254740991,        "dropped": -9007199254740991,        "unread": -9007199254740991      },      "control": {        "rows": -9007199254740991,        "moved": -9007199254740991,        "dropped": -9007199254740991,        "unread": -9007199254740991      }    },    "signal_rule": {      "role": "taker",      "min_fill_usd": 0,      "window_min": 0,      "amount_usd": 0,      "sell_role": "taker",      "sell_min_fill_usd": 0,      "source": "history"    },    "baseline": {      "kind": "price_matched",      "description": "string",      "per10": 0,      "t": 0,      "entries_matched": -9007199254740991,      "entries_unmatched": -9007199254740991,      "pool": -9007199254740991,      "per_entry": -9007199254740991,      "diff_per10": 0,      "diff_t": 0,      "universe": {        "copies": -9007199254740991,        "per10": 0,        "t": 0,        "win_rate": 0,        "total_usd_per10": 0,        "copies_per_day": 0,        "description": "string",        "sample": {          "kept": -9007199254740991,          "of": -9007199254740991        }      }    },    "rules": {      "events": -9007199254740991,      "t_clustered": 0,      "variants": -9007199254740991,      "expected_best_t": 0,      "universe_hash": "string",      "features_hash": "string",      "holdout": {        "from": "string",        "to": "string",        "sealed": true,        "final_test": true      },      "words": "string"    },    "limit": {      "model": "maker_through_v1",      "orders": -9007199254740991,      "no_book": -9007199254740991,      "rejected_post_only": -9007199254740991,      "crossed": -9007199254740991,      "filled_full": -9007199254740991,      "filled_partial": -9007199254740991,      "below_min": -9007199254740991,      "missed": -9007199254740991,      "ended": {        "expired": -9007199254740991,        "kickoff": -9007199254740991,        "leader_sold": -9007199254740991,        "market_end": -9007199254740991      },      "taken_at_expiry": -9007199254740991,      "fill_share": 0,      "maker_share": 0,      "median_minutes_to_fill": 0,      "filled_per10": 0,      "missed_per10": 0,      "missed_priced": -9007199254740991,      "rebates": "not_counted",      "words": "string"    },    "warnings": [      "string"    ]  },  "strategy_final_test": {    "id": "string",    "status": "queued"  }}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}