PTrade 常用历史行情接口包括 `get_history` 和 `get_price`。证券、指数成分、行业和基本面数据应使用 PTrade 官方接口及目标券商实际返回结构。

## 使用前检查

- 明确研究、回测或交易环境。
- 明确证券代码尾缀和市场格式。
- 检查返回对象的列名、索引名和行数。
- 多证券数据先记录实际形状，再编写因子计算。

## 常用接口

| 需求 | 首选接口 | 先确认什么 |
| --- | --- | --- |
| 获取连续历史 K 线 | [`get_history`](/docs/ptrade/api-reference/get-history/) | 频率、字段、条数和复权方式 |
| 按时间范围读取行情 | [`get_price`](/docs/ptrade/api-reference/get-price/) | 起止时间、频率和返回结构 |
| 获取当前行情快照 | [`get_snapshot`](/docs/ptrade/api-reference/get-snapshot/) | 目标环境是否支持实时快照 |
| 获取指数成分股 | [`get_index_stocks`](/docs/ptrade/api-reference/get-index-stocks/) | 指数代码与查询日期 |
| 查询财务数据 | [`get_fundamentals`](/docs/ptrade/api-reference/get-fundamentals/) | 查询对象、字段和日期口径 |

新手应先用一个证券、一个字段和很短的时间范围验证返回值，再扩展到多证券。这样能先看清索引、列名和数据方向，避免把“结构理解错误”误判成策略逻辑错误。

## 最小验证方法

```python
def handle_data(context, data):
    bars = get_history(5, '1d', 'close', security_list=['000001.XSHE'])
    log.info('type=%s shape=%s columns=%s' % (
        type(bars).__name__,
        getattr(bars, 'shape', None),
        list(getattr(bars, 'columns', []))
    ))
```

这段代码的目标不是产生信号，而是确认接口能调用、证券代码有效、频率受支持，并记录真实返回结构。

## 回测限制

不要默认在回测中使用实时快照接口。目标环境若不支持 `get_snapshot`，应改用历史行情或当前 Bar 数据，并记录功能降级。

## 空数据排查

依次检查证券代码、日期范围、频率、权限、停牌或上市时间、字段名称和返回结构。不得把空数据直接解释成“没有交易机会”。

## 完整行情函数

完整的行情、交易日、证券信息和历史数据函数统一收录在[行情与历史数据函数目录](/docs/ptrade/api-reference/categories/market-data/)。每个函数详情页包含调用签名、参数、返回值、示例和适用环境。
