Tushare接口文档:复权因子(adj_factor)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文介绍的复权因子是“累计后复权因子”,存储的是每个交易日的快照。本文介绍了如何获取某个交易日全市场股票的复权因子、如何获取单只股票最近6000条复权因子、如何获取某段时间区间里的复权因子以及如何计算前复权和后复权价格。
  • 功能描述:获取股票的复权因子
  • 返回限量:单次请求最大返回6000行
  • 接口权限:2000积分起,5000以上可高频调取
  • 说明

   1. 每日8:30-9:30更新;

   2. 复权因子一般不会单独使用而是配合行情数据计算复权数据。与历史日线(daily)不同的是,复权因子在股票停牌的交易日也会进行补齐,而停牌期间日行情是没有数据的。因而相同数量的复权因子和日行情数据在日期上会有不对齐的情况,这一点在使用时请注意;

   3. 本接口的复权因子是“累计后复权因子”;

   4. 本接口数据是每日快照数据;

   5. 和股票日行情一样,复权因子也是会使用多个股票多个交易日的数据。本文作者同样推荐依据trade_date进行循环遍历请求历史数据到本地,然后每日更新一次,使用时直接在本地加载;

   6. 由于复权因子在计算的过程中各个数据源对现金分红、送股、配股、税务等不同事件采用了不同的处理逻辑,故而不同数据源的复权因子也会有差异;

   7. 本接口数据由Tushare团队自主计算;


输入参数:

名称

类型

必选

描述

ts_code

str

N

股票代码

trade_date

str

N

交易日期(YYYYMMDD,下同)

start_date

str

N

开始日期

end_date

str

N

结束日期


输出参数:

名称

类型

默认显示

描述

ts_code

str

Y

股票代码

trade_date

str

Y

交易日期

adj_factor

float

Y

复权因子


示例:

示例1:获取某日全市场股票的复权因子

通过仅传递trade_date可获取某个交易日全市场股票的复权因子。

import tushare as ts
pro = ts.pro_api()
df = pro.adj_factor(trade_date='20260713')
df

输出结果:

ts_code        trade_date        adj_factor
0        000001.SZ        20260713        139.0080
1        000002.SZ        20260713        181.7040
2        000004.SZ        20260713        4.0640
3        000006.SZ        20260713        39.7400
4        000007.SZ        20260713        8.2840
...        ...        ...        ...
5535        603580.SH        20260713        2.0581
5536        600193.SH        20260713        6.6990
5537        600696.SH        20260713        3.3040
5538        688287.SH        20260713        1.5915
5539        601369.SH        20260713        2.5948
5540 rows × 3 columns

示例2:获取某支股票所有的复权因子

通过仅传递ts_code可获取该股票最近6000条复权因子数据。如需使用更为久远的复权因子数据,则可以通过推荐的方案,依据trade_date进行循环遍历请求历史数据到本地,然后每日更新一次,使用时直接在本地加载。本示例演示如何获取平安银行(000001.SZ)最近6000条复权因子。

df = pro.adj_factor(ts_code='000001.SZ')
df

输出结果:

ts_code        trade_date        adj_factor
0        000001.SZ        20260713        139.008
1        000001.SZ        20260710        139.008
2        000001.SZ        20260709        139.008
3        000001.SZ        20260708        139.008
4        000001.SZ        20260707        139.008
...        ...        ...        ...
5995        000001.SZ        20011024        24.359
5996        000001.SZ        20011023        24.359
5997        000001.SZ        20011022        24.359
5998        000001.SZ        20011019        24.359
5999        000001.SZ        20011018        24.359
6000 rows × 3 columns

示例3:获取某支股票历史上某段时间的复权因子

通过传递start_dateend_date可以限定获取复权因子的时间段(左右两端时间点均包含)。本示例演示如何获取平安银行1996年的复权因子。

df = pro.adj_factor(ts_code='000001.SZ', start_date='19960101', end_date='19961231')
df

输出结果:

ts_code        trade_date        adj_factor
0        000001.SZ        19961231        13.968
1        000001.SZ        19961230        13.968
2        000001.SZ        19961227        13.968
3        000001.SZ        19961226        13.968
4        000001.SZ        19961225        13.968
...        ...        ...        ...
242        000001.SZ        19960108        6.984
243        000001.SZ        19960105        6.984
244        000001.SZ        19960104        6.984
245        000001.SZ        19960103        6.984
246        000001.SZ        19960102        6.984
247 rows × 3 columns

示例4:利用复权因子计算前复权和后复权价格

使用Tushare的daily接口获取到的股票日行情价格数据是没有进行复权的,在发生分红、配股等除权除息事件时未复权价格往往会发生剧烈地跳动。为了消除这种干扰,需要对未复权的价格进行复权处理。这就是复权因子发挥作用的场合。复权分为前复权和后复权。本示例演示如何对贵州茅台(600519.SH)的日行情价格进行前复权和后复权。下面是前复权和后复权使用到的公式:

类型

算法

标识

前复权

当日价格 × 当日复权因子 / 最新复权因子

qfq

后复权

当日价格 × 当日复权因子

hfq

import pandas as pd
# 获取日行情
df_daily = pro.daily(ts_code='600519.SH', start_date='20200101', fields='trade_date,open,high,low,close')
# 获取复权因子
df_adj = pro.adj_factor(ts_code='600519.SH', start_date='20200101', fields='trade_date,adj_factor')
# 将日行情和复权因子合并在一起,便于计算
df_adj_prices = pd.merge(df_daily, df_adj, on=['trade_date'], how='left').sort_values(by='trade_date', ignore_index=True)
# 使用最新日期作为前复权的基准日期
qfq_base_factor = df_adj_prices['adj_factor'].iloc[-1]
for f in ['open', 'high', 'low', 'close']:
    # 这里后复权价格的基准因子使用1表明是以股票上市日作为基准日期
    # 如果使用后面某一天作为基准日期,则基准因子使用当日复权因子
    df_adj_prices[f+'_hfq'] = (df_adj_prices[f] * df_adj_prices['adj_factor']).round(2)
    df_adj_prices[f+'_qfq'] = (df_adj_prices[f] * df_adj_prices['adj_factor'] / qfq_base_factor).round(2)
df_adj_prices

输出结果:

trade_date        open        high        low        close        adj_factor        open_hfq        open_qfq        high_hfq        high_qfq        low_hfq        low_qfq        close_hfq        close_qfq
0        20200102        1128.00        1145.06        1116.00        1130.00        7.3186        8255.38        954.79        8380.24        969.23        8167.56        944.63        8270.02        956.48
1        20200103        1117.00        1117.00        1076.90        1078.56        7.3186        8174.88        945.48        8174.88        945.48        7881.40        911.53        7893.55        912.94
2        20200106        1070.86        1092.90        1067.30        1077.99        7.3186        7837.20        906.42        7998.50        925.08        7811.14        903.41        7889.38        912.46
3        20200107        1077.50        1099.00        1076.40        1094.53        7.3186        7885.79        912.04        8043.14        930.24        7877.74        911.11        8010.43        926.46
4        20200108        1085.05        1095.50        1082.58        1088.14        7.3186        7941.05        918.43        8017.53        927.28        7922.97        916.34        7963.66        921.05
...        ...        ...        ...        ...        ...        ...        ...        ...        ...        ...        ...        ...        ...        ...
1575        20260707        1200.00        1202.00        1188.11        1188.80        8.6463        10375.56        1200.00        10392.85        1202.00        10272.76        1188.11        10278.72        1188.80
1576        20260708        1188.77        1200.98        1177.00        1199.30        8.6463        10278.46        1188.77        10384.03        1200.98        10176.70        1177.00        10369.51        1199.30
1577        20260709        1191.00        1191.99        1178.00        1182.19        8.6463        10297.74        1191.00        10306.30        1191.99        10185.34        1178.00        10221.57        1182.19
1578        20260710        1182.20        1204.98        1170.28        1204.98        8.6463        10221.66        1182.20        10418.62        1204.98        10118.59        1170.28        10418.62        1204.98
1579        20260713        1197.12        1215.00        1190.19        1210.99        8.6463        10350.66        1197.12        10505.25        1215.00        10290.74        1190.19        10470.58        1210.99
1580 rows × 14 columns


说明:

本文说明

本文旨在对Tushare的复权因子adj_factor数据接口进行介绍,提供更多参考示例和使用说明。

本文介绍的复权因子是“累计后复权因子”,存储的是每个交易日的快照。本文介绍了如何获取某个交易日全市场股票的复权因子、如何获取单只股票最近6000条复权因子、如何获取某段时间区间里的复权因子以及如何计算前复权和后复权价格。

本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。

相关文章
|
3天前
|
存储
Tushare接口文档:交易日历(trade_cal)
本文旨在对Tushare的交易日历trade_cal数据接口进行介绍,提供更多参考示例和使用说明。交易日历可以用来作为获取其他数据的关键(迭代)参数,也可以进行其他的应用。本文还基于交易日介绍了如何获取每周及每月最后一个交易日。
142 1
Tushare接口文档:交易日历(trade_cal)
|
1天前
|
数据采集 存储 JSON
基于录音转写与大模型的家装客户概览生成实践
针对家装行业长录音(常超万字)设计客户概览系统:通过语音转写、角色区分、语义分段、结构化事实提取、历史数据融合及多层校验,精准提炼家庭情况、需求、预算、顾虑等关键信息,确保每项结论可追溯、无混淆,赋能销售与设计高效决策。
|
1天前
|
存储 Web App开发 网络协议
跨境电商、社媒矩阵、广告与 TikTok 分别该看重哪种环境隔离
很多人把「能不能隔离」当成布尔开关,其实它是一层层叠加的能力栈。某一层薄弱,整体就会在对应场景下露馅:指纹再干净,存储一串味就前功尽弃;网络再隔离,行为像机器人照样被标。
|
1天前
|
存储 数据安全/隐私保护 计算机视觉
深入 Pillow 底层:Python 图像通道、像素运算实战开发
深入 Pillow 底层:Python 图像通道、像素运算实战开发
|
1天前
|
弹性计算 运维 Ubuntu
阿里云国际版:关于ECS 重启网络配置丢失恢复教程
一台稳定运行数月的云服务器,重启后突然失联,VNC 登录发现 IP 消失、路由表被清空——这种场景在运维圈出现的频率远超多数人的预期。它通常不是云平台底层故障,而是配置仅停留在内存里,没有真正落盘。理解和排查这类问题,正是「ECS 重启网络配置丢失恢复教程」需要解决的核心。
阿里云国际版:关于ECS 重启网络配置丢失恢复教程
|
1天前
|
人工智能 监控 API
亚马逊竞品调研:从经验驱动到数据驱动的企业转型路径
本文由Pangolinfo技术负责人Leo撰写,从企业数字化转型视角,系统阐述跨境电商竞品调研能力的构建路径。提出“五步法”:接入实时API、沉淀时序数据资产、AI编排分析、智能监控告警、决策闭环落地,并剖析三阶段演进、成本效益与常见误区,助力企业实现从人工到数据驱动的跃迁。(239字)
34 0
|
23小时前
|
弹性计算 小程序 关系型数据库
一次真实录屏:我只说每月别超过 200 块,小程序后端就搭好了
iac-code 通过自然语言交互,自动规划、创建并管理符合预算的小程序后端云资源。本文结合真实录屏,展示它如何准备多套方案、给出架构与费用、在创建前等待确认,并在 RDS 规格下线后自动处理、继续部署,大幅降低阿里云的使用门槛。
一次真实录屏:我只说每月别超过 200 块,小程序后端就搭好了
|
1天前
|
Web App开发 存储 安全
从指纹到一致性引擎:一文搞懂安全多账号浏览器的选型维度
大多数人在挑选多账号管理浏览器时,本能反应是对比价格、界面和免费额度。这些当然重要,但真正决定账号能否长期稳定运营的,是底层的环境隔离能力。