Skip to content
SimicX

Signals · Endpoint

List rebalances

Index of weekly rebalance dates with status and symbol counts.

GET/v1/alphas/{alpha}/rebalances

Parameters

Path parameters

NameTypeRequiredDefaultDescription
alphastringrequiredalpha_id (e.g. CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42). Use the value returned by GET /v1/alphas.

Query parameters

NameTypeRequiredDefaultDescription
fromYYYY-MM-DDoptionalwindow startFirst trading day, inclusive.
toYYYY-MM-DDoptionalwindow endLast trading day, inclusive.
limitinteger 1–5000optional100Rows per page. Below 1 or above 5000 is a 400 bad_request naming the parameter and the constraint it broke.
offsetintegeroptional0Rows to skip; pagination.has_more is false at the end.

Example request

curl

curl -H "Authorization: Bearer sxk_live_4f9c…" \
  "https://api.simicx.com/v1/alphas/CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42/rebalances?from=2026-06-01&to=2026-06-26"

Try it

Execute GET /v1/alphas/{alpha}/rebalances against the live API using your key. Paste a key below to send without signing in, or sign in to auto-fill from your profile — either way, the call counts towards your rate limits. Whether the route answers depends on your key's endpoint allow-list — /v1/me lists what is in force; a new key starts with only the self-service routes until an administrator grants more.

Sent server-side via a same-origin proxy; only the documented host(s) are allowed.

Paste an API key above to list alphas your key may access.

Request

GEThttps://api.simicx.com/v1/alphas/{alpha}/rebalances?limit=100&offset=0

Example response

JSON · synthetic values, real schema

{
  "data": [
    { "date": "2026-06-05", "week_status": "traded", "n_symbols": 494 },
    { "date": "2026-06-12", "week_status": "traded", "n_symbols": 496 },
    { "date": "2026-06-19", "week_status": "traded", "n_symbols": 495 },
    { "date": "2026-06-26", "week_status": "traded", "n_symbols": 496 }
  ],
  "pagination": { "limit": 100, "offset": 0, "returned": 4, "total": 4, "has_more": false },
  "meta": { "run": "CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42", "alpha_id": "causal_haar_activity_displacement_reversal_b3874c9db78d" }
}

Response fields

Every field the response can carry, what it means, and how it is computed.

  • dateYYYY-MM-DD

    A rebalance week.

    How it is computed

    The weekly decision date; feed it to /rebalances/{date} for the full cross-section.

  • week_statustraded | pending | <skip reason>

    What the engine recorded for this week's decision. pending is not a skip.

    How it is computed

    traded = scores and target weights assigned, and the next session open was on the PIT tape at write time. pending = the same assignment, but that next open was not yet observed — fill_at and forward_return stay null. Any other snake_case code is a skip reason (insufficient_scored_tradeable_names, constant_scores, …). The literal skipped is never sealed. The API does not rewrite the engine's value.

  • n_symbolsinteger

    Rows in that week's cross-section.

    How it is computed

    Scored names; cohort_size per row can be lower when a name was unscorable.

  • pagination.limitoffsetinteger

    The page window applied.

    How it is computed

    Echoes the request parameters (or their defaults — 100 rows, 500 on /equity-curve).

  • pagination.returnedinteger

    Rows in this page.

    How it is computed

    data.length — below limit on the last page.

  • pagination.totalinteger

    Rows matching the query across all pages.

    How it is computed

    Server-side count before paging.

  • pagination.has_moreboolean

    Whether another page exists.

    How it is computed

    offset + returned < total — false on the last page; stop paging there.

  • meta.runstring

    The alpha that served the response.

    How it is computed

    Echoes the resolved alpha_id. Retain for reproducible analysis.

  • meta.alpha_idstring

    Source label associated with the alpha, when present.

    How it is computed

    Informational; address data endpoints with alpha_id / meta.run.

  • The index is a passthrough of the engine's week_status. pending weeks are listed and dated like any other — there is no calendar cutoff. Click through to /rebalances/{date} for the cross-section; fills and forward_return stay null until the next session open is sealed.