# 复权因子

每日复权因子，每只股票每个交易日一行，用于将未复权行情转换为前复权或后复权价格。接口只返回原始复权因子，不会替调用方自动选择前复权锚点。

`GET /v2/market/adj-factor`

## 复权公式与锚点

记未复权价格为 `P(t)`，当日复权因子为 `F(t)`。选择锚点交易日 `T`：取不晚于目标 `end_date` 的最后交易日；未指定时取最新可用交易日。

```
不复权价格 = P(t)
前复权价格 = P(t) × F(t) / F(T)
后复权价格 = P(t) × F(t)
```

前复权满足 `前复权价格(T) = P(T)`。同一历史日期使用不同锚点时，前复权绝对价格可能不同。公式适用于开、高、低、收价格，不适用于成交量和成交额。新的除权事件或数据修订可能更新因子，已缓存的前复权序列应同步重算。

`technical-factors` 返回的 `*_qfq` 是数据源最近刷新时的最新锚点快照；需要指定历史锚点或严格复现时，应使用未复权日线与本接口因子自行计算。

## 请求参数

| 参数 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `symbol` | string | 否 | 股票代码，如 000001.SZ |
| `start_date` | string | 否 | 开始日期 (YYYYMMDD) |
| `end_date` | string | 否 | 结束日期 (YYYYMMDD) |
| `trade_date` | string | 否 | 交易日期，YYYYMMDD（查单日） |

## 返回字段

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `symbol` | string | 股票代码 |
| `trade_date` | string | 交易日期 |
| `adj_factor` | number | 复权因子 |

## 接口示例

cURL

```
curl -H "X-API-Key: YOUR_KEY" \
  "https://asharehub.com/v2/market/adj-factor?symbol=000001.SZ"
```

Python SDK

```
from asharehub import AShareHub

client = AShareHub(api_key="YOUR_KEY")
df = client.adj_factor(symbol="000001.SZ")
print(df.head())
```

## 数据样例

返回 pandas.DataFrame

| symbol | trade_date | adj_factor |
| --- | --- | --- |
| 000001.SZ | 20260626 | 139.008 |
| 000001.SZ | 20260625 | 139.008 |
| 000001.SZ | 20260624 | 139.008 |

## 为什么以前下载的前复权价格会变化？

锚点因子改变会使整段前复权价格重新缩放。请同时保存原始[日线行情](https://asharehub.com/zh/docs/market-daily)、因子快照和锚点日期；后续除权事件或上游修订可能需要重算缓存价格。缺失因子不等于 1，计算前应先检查交易日期是否对齐。

## 因子来源

上游序列参见 [Tushare 复权因子参考](https://tushare.pro/document/2?doc_id=28)；本页公式与 `symbol` 字段约定描述 AShareHub 的调用方式。需要预计算指标可查看[技术因子接口](https://asharehub.com/zh/docs/technical-factors)；需要复现指定历史锚点时，请用原始行情与因子自行计算。
