---
title: "Get Latest Score"
method: GET
path: "/api/signals/score"
tags: ["Trade Signals"]
---

# Get Latest Score

`GET /api/signals/score`

## Request

- Base URL: `https://api.zerogex.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.zerogex.io/api/signals/score`
- Auth: HTTP bearer

Composite Market State Index (MSI) — single 0–100 regime gauge.

Aggregates 6 option-structure components into one reading of "what kind
of market are we in right now?" Each component returns a raw score in
[-1, +1], multiplied by its weight (points) to form a signed contribution.
The contributions are summed into a single signed offset, which is squashed
onto the final scale: `MSI = 50 + 50 * tanh(sum_offset / 50)`, clamped to
[0, 100]. This is a **directionless** regime gauge: a high MSI means trends
can run (NOT bullish) and a low MSI means the tape is choppy / fragile (NOT
bearish). Read direction from the Trade Bias panel, never from this number.

**Params:** `underlying` (default `SPY`). Returns 404 when no rows exist.

**Components and weights:**

| Component | Max pts | What it measures |
|---|---|---|
| `net_gex_sign` | 16 | Sign of dealer net gamma |
| `gamma_anchor` | 30 | Blended proximity to gamma flip / local gamma density / max-gamma strike |
| `put_call_ratio` | 12 | OI-weighted P/C tilt |
| `volatility_regime` | 6 | Realized/VIX regime |
| `order_flow_imbalance` | 19 | Smart-money premium-weighted call vs put flow |
| `dealer_delta_pressure` | 17 | Dealer net delta forced-hedge direction |

`gamma_anchor` exposes its three sub-signals nested under `context`:
`flip_distance_subscore`, `local_gamma_subscore`, `price_vs_max_gamma_subscore`,
plus the active `blend_weights`. Use those for the per-sub-signal breakdown
that previously appeared as standalone components.

**Returns:**
```json
{
  "composite_score": 63.42,
  "components": {
    "net_gex_sign":          {"max_points": 16, "contribution":  9.60, "score":  0.6},
    "gamma_anchor":          {
      "max_points": 30,
      "contribution":  -2.10,
      "score": -0.07,
      "context": {
        "score": -0.07,
        "flip_distance_subscore":  0.21,
        "local_gamma_subscore":   -0.42,
        "price_vs_max_gamma_subscore": 0.17,
        "blend_weights": {"flip_distance": 0.45, "local_gamma": 0.35, "price_vs_max_gamma": 0.20}
      }
    },
    "put_call_ratio":        {"max_points": 12, "contribution":  2.40, "score":  0.2},
    "volatility_regime":     {"max_points":  6, "contribution": -0.08, "score": -0.013},
    "order_flow_imbalance":  {"max_points": 19, "contribution":  6.65, "score":  0.35},
    "dealer_delta_pressure": {"max_points": 17, "contribution":  3.40, "score":  0.2}
  }
}
```

- `composite_score` — float [0, 100]; `50` is the neutral/fallback value.
- `components[*].max_points` — the component's weight ceiling.
- `components[*].contribution` — signed points fed into the pre-squash sum (`sum_offset`), rounded to 4 decimals.
- `components[*].score` — raw component score [-1, +1], 6-decimal precision.
- `components[*].context` — optional, present when the component emits diagnostic
  sub-fields (e.g. `gamma_anchor` exposes its three subscores here).

**Regime interpretation:**
- **≥ 70** — trend/expansion; favor directional trades in the prevailing bias.
- **40–70** — controlled trend; moderate directional edge, size down.
- **20–40** — chop/range; fade extremes, avoid trend trades.
- **< 20** — high-risk reversal; mean-reversion only.

**Page design.** Big radial gauge (0–100). Horizontal bar stack below showing
each component's signed contribution. Hover for `score` and `max_points`.
For `gamma_anchor` specifically, render a smaller secondary breakdown of the
three subscores from `context` so operators retain visibility into which
sub-signal is driving the blended reading.

## Query parameters

- `underlying` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zerogex/apis/zerogex-api.md) · [All operations](https://skmtc.dev/zerogex/apis/zerogex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zerogex/apis/zerogex-api/revisions/753b26bf0592?raw)
