> ## Documentation Index
> Fetch the complete documentation index at: https://docs.financialdatapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Central bank sentiment

> Every monetary policy statement from five central banks, scored on one hawkish to dovish scale, with a confidence, a rationale, and a link to the official statement.

Financial Data API scores central bank policy statements on a single hawkish to dovish scale and serves the scores as observations, in the same envelope and with the same provenance as everything else. Policy tone becomes a time series you can chart, screen and backtest, and because every bank is scored on the same scale with the same method, tone is comparable across banks rather than only against a bank's own past.

Two feeds exist side by side. Read this page before choosing between them, because they answer different questions.

## The two feeds

| Feed                   | `indicatorId`                | Coverage                                 | Method                                                                                            |
| ---------------------- | ---------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Model scored           | `cb_statement_sentiment_llm` | 831 statements, five banks               | A version-pinned model reads each statement and scores it, returning a confidence and a rationale |
| Deterministic baseline | `cb_statement_sentiment`     | 244 statements, FOMC only, 1994 to today | A fixed, versioned lexicon of hawkish and dovish language                                         |

The deterministic feed is kept published and unchanged as a reproducible baseline. Identical input always produces an identical score, which is what makes it safe as a research control. The model feed covers four more banks and captures nuance a phrase list cannot, at the cost of not being reproducible from first principles by a reader.

Neither feed replaces the other, and they are not merged. Use the deterministic feed when reproducibility matters more than coverage, and the model feed when you need banks beyond the Fed.

## Coverage

| Bank                      | Entity             | Statements | From           |
| ------------------------- | ------------------ | ---------- | -------------- |
| Federal Reserve           | `country_usa`      | 244        | February 1994  |
| European Central Bank     | `region_euro_area` | 285        | January 1999   |
| Reserve Bank of Australia | `country_aus`      | 164        | February 2011  |
| Bank of England           | `country_gbr`      | 89         | September 2015 |
| Bank of Canada            | `country_can`      | 49         | January 2010   |

New statements are scored automatically after release. Coverage begins where each bank's statement archive begins in a machine readable form, which is why the start dates differ. Two Bank of England meetings from 2015 have no surviving statement URL and are absent.

## The scale

Scores run from minus 1 to plus 1, judged relative to neutral rather than relative to the previous meeting.

| Score  | Reading                                        |
| ------ | ---------------------------------------------- |
| `+1.0` | Emergency or aggressive tightening             |
| `+0.6` | Firm tightening bias                           |
| `+0.3` | Mild tightening bias                           |
| `0.0`  | Balanced, risks two sided, no directional bias |
| `-0.3` | Mild easing bias                               |
| `-0.6` | Firm easing bias                               |
| `-1.0` | Emergency or aggressive easing                 |

`valueText` carries a coarse label alongside the number: `hawkish` above `+0.2`, `dovish` below `-0.2`, `neutral` in between.

<Note>
  A hawkish reading is not good news and a dovish reading is not bad news. These scores describe what a statement said about its policy stance, nothing more. Turning tone into a market view is your job, not the data's.
</Note>

## Querying it

Pull one bank's full history:

```bash theme={"theme":"css-variables"}
curl "https://api.financialdatapi.com/v1/observations?indicator=cb_statement_sentiment_llm&country=gbr" \
  -H "x-api-key: $FINANCIALDATA_API_KEY"
```

Pull the latest statement for every covered bank:

```bash theme={"theme":"css-variables"}
curl "https://api.financialdatapi.com/v1/observations/latest?indicator=cb_statement_sentiment_llm" \
  -H "x-api-key: $FINANCIALDATA_API_KEY"
```

## What a row carries

```json theme={"theme":"css-variables"}
{
  "entityId": "country_gbr",
  "indicatorId": "indicator_cb_statement_sentiment_llm",
  "valueNumeric": 0.3,
  "valueText": "hawkish",
  "unit": "score",
  "frequency": "event",
  "periodEnd": "2022-06-16T00:00:00.000Z",
  "sourceUrl": "https://www.bankofengland.co.uk/monetary-policy-summary-and-minutes/2022/june-2022",
  "metadata": {
    "bank": "boe",
    "confidence": 0.8,
    "rationale": "The Bank of England increased Bank Rate by 0.25 percentage points, citing continuing signs of robust cost and price pressures...",
    "keyPhrases": [],
    "wordCount": 1036,
    "deltaVsPrior": 0,
    "methodVersion": "fdapi_llm_v1"
  }
}
```

| Field                    | Meaning                                              |
| ------------------------ | ---------------------------------------------------- |
| `valueNumeric`           | The score, minus 1 to plus 1                         |
| `valueText`              | `hawkish`, `dovish` or `neutral`                     |
| `periodEnd`              | The statement's own date, not the date it was scored |
| `sourceUrl`              | The official statement the score was read from       |
| `metadata.confidence`    | The model's own confidence, 0 to 1                   |
| `metadata.rationale`     | Short explanation quoting the statement's language   |
| `metadata.deltaVsPrior`  | Change against the same bank's previous statement    |
| `metadata.methodVersion` | The pinned method that produced this score           |

## Stability guarantees

<Warning>
  Published scores are never silently re-scored. Model inference is not bit deterministic, so a stored score is only ever recomputed on an explicit method version bump, and `methodVersion` records which method produced each row. Scores from different method versions are not comparable and should not be mixed in one series.
</Warning>

This is what makes the series usable in a backtest. A score that quietly changes underneath you cannot be tested honestly.

## Statement text

Statement text is not stored or redistributed. Only the derived score, its confidence, a short rationale and a link to the official statement are served. Central bank statement text outside the United States is not public domain, so the scores are Financial Data API's own derivation and are safe to use on every plan, while the underlying text stays with its publisher.

<Columns cols={2}>
  <Card title="Derived analytics" icon="function" href="/apis/derived-analytics">
    The other computed families: surprise indices, positioning percentiles, valuation multiples and rates analytics.
  </Card>

  <Card title="Interest rates" icon="percent" href="/apis/interest-rates">
    The decisions themselves: policy rates, real rates and policy cycle state.
  </Card>
</Columns>
