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

# Market observations and clock fields

> Definitions, types, allowed values, and defaults for market observations and clock.

Use this reference with the endpoint documentation. A required field must be present; a nullable field can still contain `null`. Missing data does not mean zero. See [Field guide](/field-guide) for unit and status conventions.

### `GET /v1/market-data/equities`

| Parameter | Location | Type | Presence | Meaning |
| - | - | - | - | - |
| `tickers` | query | array of string or null | optional | Optional NGX ticker filter. Repeat `tickers` to request multiple symbols. |

### `GET /v1/market-data/etfs`

| Parameter | Location | Type | Presence | Meaning |
| - | - | - | - | - |
| `tickers` | query | array of string or null | optional | Optional NGX ETF ticker filter. Repeat `tickers` to request multiple symbols. |

### `GET /v1/markets/clock`

| Parameter | Location | Type | Presence | Meaning |
| - | - | - | - | - |
| `market_code` | query | string or null | optional | Market venue code. Defaults to the country's primary exchange. |
| `country_code` | query | string or null | optional | Filter by ISO 3166-1 alpha-2 market country code |

<a id="equity-snapshot-read" />

## Equity snapshot

| Field | Type | Presence | Meaning |
| - | - | - | - |
| `ticker` | string | required | NGX trading symbol. |
| `name` | string | required | Listed company name. |
| `sector` | string or null | required | NGX sector classification when available. |
| `market` | string | required | Market code for the listing. |
| `currency` | string | required | ISO 4217 currency of the price fields. |
| `as_of_date` | string (date) or null | required | Trading date represented by the price fields. |
| `open` | number or null | required | Opening price on `as_of_date`. |
| `high` | number or null | required | Highest price on `as_of_date`. |
| `low` | number or null | required | Lowest price on `as_of_date`. |
| `close` | number or null | required | Closing price on `as_of_date`. |
| `previous_close` | number or null | required | Previous available closing price. |
| `change` | number or null | required | Price change from `previous_close` to `close`. |
| `percentage_change` | number or null | required | Percentage price change, where 1.5 means 1.5%. |
| `volume` | number or null | required | Reported trading volume on `as_of_date`. |
| `average_volume_30d` | number or null | required | Mean reported volume over the latest 30 trading sessions. |
| `week_52_low` | number or null | required | Lowest valid price in the trailing 52 weeks. |
| `week_52_high` | number or null | required | Highest valid price in the trailing 52 weeks. |
| `market_cap` | number or null | required | Market capitalization in `market_cap_currency`. |
| `market_cap_currency` | string or null | required | ISO 4217 currency of `market_cap`. |
| `eps_ttm` | number or null | required | Earnings per share for the trailing twelve months. |
| `eps_currency` | string or null | required | ISO 4217 currency of `eps_ttm`. |
| `fundamentals_as_of_date` | string (date) or null | required | Latest financial period used for EPS and P/E metrics. |
| `pe_ratio_ttm` | number or null | required | Price-to-earnings ratio using trailing EPS. |
| `dividend_yield_ttm_pct` | number or null | required | Trailing dividend yield as a percentage; 3.08 means 3.08%. |

<a id="equity-snapshots-read" />

## Equity snapshots

| Field | Type | Presence | Meaning |
| - | - | - | - |
| `count` | integer | required | Number of equity snapshots returned. |
| `data` | array of [Equity snapshot](/fields/markets#equity-snapshot-read) | required | Current snapshots ordered by ticker. |

<a id="etf-snapshot-read" />

## ETF snapshot

| Field | Type | Presence | Meaning |
| - | - | - | - |
| `id` | string (uuid) | required | Stable Rangler identifier for this record. Use the value exactly as returned. |
| `company_id` | string (uuid) | required | Stable Rangler company identifier. |
| `fund_id` | string (uuid) | required | Stable Rangler fund identifier. |
| `asset_type` | string | optional | Resource category: company for an issuer or fund for a linked fund security. Allowed values: `etf`. Default: `"etf"`. |
| `ticker` | string | required | Exchange trading symbol when available. A ticker is not a substitute for the stable company ID. |
| `name` | string | required | Display name of the identified resource. |
| `exchange` | string or null | optional | Exchange or trading venue code, such as NGX or NASD. |
| `country_code` | string | optional | Two-letter ISO 3166-1 country code identifying the market, such as NG. Default: `"NG"`. |
| `currency` | string or null | optional | Currency of the associated monetary value, normally an ISO 4217 code such as NGN. |
| `latest_price` | number or null | optional | Latest stored market price in currency. |
| `open` | number or null | optional | Opening price for the observation in currency. |
| `high` | number or null | optional | Highest traded price for the observation in currency. |
| `low` | number or null | optional | Lowest traded price for the observation in currency. |
| `volume` | number or null | optional | Number of security units traded during the observation. |
| `value_traded` | number or null | optional | Total traded value in the observation's currency. |
| `net_change` | number or null | optional | Absolute price change in the security's price currency. |
| `percentage_change` | number or null | optional | Fractional daily change; 0.05 means 5%. |
| `week_52_high` | number or null | optional | Highest source-reported price in the trailing 52-week range. |
| `week_52_low` | number or null | optional | Lowest source-reported price in the trailing 52-week range. |
| `latest_at` | string (date-time) or null | optional | Timestamp of the latest stored market observation. |

<a id="etf-snapshots-read" />

## ETF snapshots

| Field | Type | Presence | Meaning |
| - | - | - | - |
| `data` | array of [ETF snapshot](/fields/markets#etf-snapshot-read) | required | Returned records or observations. The item schema defines each element's fields. |

<a id="market-clock-read" />

## Market clock

| Field | Type | Presence | Meaning |
| - | - | - | - |
| `country_code` | string | required | Two-letter ISO 3166-1 country code identifying the market, such as NG. |
| `market_code` | string | required | Exchange or market code whose trading hours are reported. |
| `market_name` | string | required | Human-readable name of the market. |
| `timezone` | string | required | IANA timezone used for the exchange's session hours. |
| `status` | string | required | Session status at as\_of: open or closed. Allowed values: `open`, `closed`. |
| `is_open` | boolean | required | Whether the regular weekday session is open at as\_of. |
| `as_of` | string (date-time) | required | Date or timestamp to which the observation applies; follow this field's declared format. |
| `local_time` | string (date-time) | required | Current time in the exchange's timezone. |
| `session_open_at` | string (date-time) | required | Opening timestamp of the relevant regular session. |
| `session_close_at` | string (date-time) | required | Closing timestamp of the relevant regular session. |
| `regular_open_time` | string | required | Regular weekday opening time in the exchange's timezone. |
| `regular_close_time` | string | required | Regular weekday closing time in the exchange's timezone. |
| `holiday_adjusted` | boolean | optional | Whether the market's confirmed public-holiday calendar was applied. Default: `false`. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.