# ETF NAV

Unit, accumulated, and adjusted NAV plus fund assets for comparing exchange prices with fund value. Refreshed multiple times on business days.

`GET /v2/etf/nav`

## Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `symbol` | string | No | ETF code, e.g. 510300.SH |
| `start_date` | string | No | NAV start date, YYYYMMDD |
| `end_date` | string | No | NAV end date, YYYYMMDD |
| `nav_date` | string | No | NAV date, YYYYMMDD (single-day query) |
| `ann_date` | string | No | Announcement date, YYYYMMDD |

## Response Fields

| Field | Type | Description |
| --- | --- | --- |
| `symbol` | string | ETF code |
| `ann_date` | string | Announcement date, YYYYMMDD |
| `nav_date` | string | NAV date, YYYYMMDD |
| `unit_nav` | number | Unit NAV |
| `accum_nav` | number | Accumulated NAV |
| `accum_div` | number | Accumulated distributions |
| `net_asset` | number | Fund net assets |
| `total_netasset` | number | Fund total assets |
| `adj_nav` | number | Adjusted NAV |
| `update_flag` | string | Update flag |

## API Example

cURL

```
curl -H "X-API-Key: YOUR_KEY" \
  "https://asharehub.com/v2/etf/nav?symbol=510300.SH&start_date=20260801"
```

Python SDK

```
from asharehub import AShareHub

client = AShareHub(api_key="YOUR_KEY")
df = client.etf_nav(symbol="510300.SH", start_date="20260801")
print(df.head())
```

## Sample Data

returns a pandas.DataFrame

| symbol | ann_date | nav_date | unit_nav | accum_nav | net_asset | total_netasset | adj_nav |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 510300.SH | 20260804 | 20260804 | 4.6608 | 2.0554 | — | — | 2.188148 |
| 510300.SH | 20260803 | 20260803 | 4.6025 | 2.0337 | — | — | 2.160777 |
| 510300.SH | 20260731 | 20260731 | 4.6473 | 2.0503 | — | — | 2.18181 |
