# ETF 季度持仓

ETF 定期披露的证券持仓明细，包含持仓数量、市值及占基金净值和流通股比例，每周日回看最近报告期。

`GET /v2/etf/portfolio`

## 请求参数

| 参数 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `symbol` | string | 否 | ETF 代码，如 510300.SH |
| `con_symbol` | string | 否 | 持仓证券代码，如 300750.SZ |
| `start_date` | string | 否 | 报告期开始日期，YYYYMMDD |
| `end_date` | string | 否 | 报告期结束日期，YYYYMMDD |
| `period` | string | 否 | 报告期，YYYYMMDD |
| `ann_date` | string | 否 | 公告日期，YYYYMMDD |

## 返回字段

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `symbol` | string | ETF 代码 |
| `ann_date` | string | 公告日期，YYYYMMDD |
| `end_date` | string | 报告期，YYYYMMDD |
| `con_symbol` | string | 持仓证券代码 |
| `mkv` | number | 持仓市值 |
| `amount` | number | 持仓数量 |
| `stk_mkv_ratio` | number | 持仓市值占基金净值比例（%） |
| `stk_float_ratio` | number | 持仓数量占流通股比例（%） |

## 接口示例

cURL

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

Python SDK

```
from asharehub import AShareHub

client = AShareHub(api_key="YOUR_KEY")
df = client.etf_portfolio(symbol="510300.SH", period="20260630")
print(df.head())
```

## 数据样例

返回 pandas.DataFrame

| symbol | ann_date | end_date | con_symbol | mkv | amount | stk_mkv_ratio | stk_float_ratio |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 510300.SH | 20260721 | 20260630 | 300308.SZ | 4504019440 | 3546472 | 4.95 | 0.32 |
| 510300.SH | 20260721 | 20260630 | 300750.SZ | 3364164420.97 | 8559997 | 3.7 | 0.2 |
| 510300.SH | 20260721 | 20260630 | 300502.SZ | 2746497756 | 4524708 | 3.02 | 0.36 |
