Signals · Endpoint
Score panel
Flattened per-symbol per-week score rows across a date range.
/v1/alphas/{alpha}/scoresParameters
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
alpha | string | required | — | alpha_id (e.g. CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42). Use the value returned by GET /v1/alphas. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
from | YYYY-MM-DD | optional | window start | First trading day, inclusive. |
to | YYYY-MM-DD | optional | window end | Last trading day, inclusive. |
symbol | string | optional | — | Restrict to one ticker, or a comma-separated list — symbol=AAPL or symbol=AAPL,MSFT. |
fields | core | all | optional | core | Column set. core: date, symbol, score, raw_score, score_z, average_rank, direction, both target weights and forward_return; all: every field the engine recorded for that decision. score is the conditioned signal (direction × confidence), identical to /rebalances/{date}; raw_score is the unsmoothed signal and is stripped unless the key has raw-book access. forward_return is null when the seal omits it. score is always present and numeric when the week has a signal. percentile_rank is not served. |
limit | integer 1–5000 | optional | 100 | Rows per page. Below 1 or above 5000 is a 400 bad_request naming the parameter and the constraint it broke. |
offset | integer | optional | 0 | Rows 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/scores?symbol=AAPL&from=2026-05-01&to=2026-06-26"
Try it
Execute GET /v1/alphas/{alpha}/scores 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
https://api.simicx.com/v1/alphas/{alpha}/scores?fields=core&limit=100&offset=0Example response
JSON · synthetic values, real schema
{
"data": [
{ "date": "2026-06-05", "symbol": "AAPL", "score": 0.0821, "score_z": 0.4121, "average_rank": 144.0, "direction": 1, "long_short_target_weight": 0.0, "long_only_target_weight": 0.0, "forward_return": 0.0128 },
{ "date": "2026-06-12", "symbol": "AAPL", "score": 0.0944, "score_z": 0.4670, "average_rank": 127.0, "direction": 1, "long_short_target_weight": 0.0, "long_only_target_weight": 0.0, "forward_return": -0.0043 },
{ "date": "2026-06-19", "symbol": "AAPL", "score": 0.0712, "score_z": 0.3519, "average_rank": 157.0, "direction": 1, "long_short_target_weight": 0.0, "long_only_target_weight": 0.0, "forward_return": 0.0091 },
{ "date": "2026-06-26", "symbol": "AAPL", "score": 0.1103, "score_z": 0.5211, "average_rank": 111.0, "direction": 1, "long_short_target_weight": 0.0, "long_only_target_weight": 0.0, "forward_return": -0.0017 }
],
"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", "fields": "core" }
}Response fields
Every field the response can carry, what it means, and how it is computed.
datesymbolscorescore_zaverage_rankdirectionraw_scorelong_short_target_weightlong_only_target_weightforward_returnmeta.fieldspagination.limitoffsetpagination.returnedpagination.totalpagination.has_moremeta.runmeta.alpha_iddatesymbolstringThe rebalance week and the name.
How it is computed
One row per (date, symbol) — the panel a research dataframe is built from.
scorescore_zaverage_rankdirectionnumberThe decision coordinates for that week.
How it is computed
Identical semantics to /rebalances/{date}: score is direction × confidence (conditioned). See the field glossary there. percentile_rank is not served.
raw_scorenumberThe unsmoothed signal for that week.
How it is computed
Same column as on /rebalances/{date}. Present in fields=core and fields=all only when the key has raw-book access; otherwise stripped.
long_short_target_weightlong_only_target_weightnumberThe week's target weights in each book.
How it is computed
As on /rebalances/{date}.
forward_returnnumber (ratio) | nullRealised return over the following rebalance period.
How it is computed
Null when the seal omits it — pending weeks, and any week whose holding period has not yet been sealed. Always keyed under forward_return on fields=core. Weeks with a null return are dropped from /metrics IC and the decile ladder, never imputed.
meta.fieldscore | allThe column set actually served.
How it is computed
Echoes the fields parameter; fields=all widens every row to the full decision record, including reason fields, entry_at / maturity_at, and — with raw-book access — the raw_* mirrors. pre_smoothing_score is never published under that name.
pagination.limitoffsetintegerThe page window applied.
How it is computed
Echoes the request parameters (or their defaults — 100 rows, 500 on /equity-curve).
pagination.returnedintegerRows in this page.
How it is computed
data.length — below limit on the last page.
pagination.totalintegerRows matching the query across all pages.
How it is computed
Server-side count before paging.
pagination.has_morebooleanWhether another page exists.
How it is computed
offset + returned < total — false on the last page; stop paging there.
meta.runstringThe alpha that served the response.
How it is computed
Echoes the resolved alpha_id. Retain for reproducible analysis.
meta.alpha_idstringSource label associated with the alpha, when present.
How it is computed
Informational; address data endpoints with alpha_id / meta.run.
- score and raw_score match /rebalances/{date}: score is the conditioned / traded signal; raw_score is unsmoothed. Sorting or correlating on the wrong one describes a different book.
- The example omits raw_score because raw-book access is off by default; with expose_raw_book the column appears beside score on every core row.

