Tushare接口文档:复权因子(adj_factor) 官方文档https://tushare.pro/document/2?doc_id28功能描述获取股票的复权因子返回限量单次请求最大返回6000行接口权限2000积分起5000以上可高频调取说明1. 每日8:30-9:30更新2. 复权因子一般不会单独使用而是配合行情数据计算复权数据。与历史日线daily不同的是复权因子在股票停牌的交易日也会进行补齐而停牌期间日行情是没有数据的。因而相同数量的复权因子和日行情数据在日期上会有不对齐的情况这一点在使用时请注意3. 本接口的复权因子是“累计后复权因子”4. 本接口数据是每日快照数据5. 和股票日行情一样复权因子也是会使用多个股票多个交易日的数据。本文作者同样推荐依据trade_date进行循环遍历请求历史数据到本地然后每日更新一次使用时直接在本地加载6. 由于复权因子在计算的过程中各个数据源对现金分红、送股、配股、税务等不同事件采用了不同的处理逻辑故而不同数据源的复权因子也会有差异7. 本接口数据由Tushare团队自主计算输入参数名称类型必选描述ts_codestrN股票代码trade_datestrN交易日期(YYYYMMDD下同)start_datestrN开始日期end_datestrN结束日期输出参数名称类型默认显示描述ts_codestrY股票代码trade_datestrY交易日期adj_factorfloatY复权因子示例示例1获取某日全市场股票的复权因子通过仅传递trade_date可获取某个交易日全市场股票的复权因子。import tushare as ts pro ts.pro_api() df pro.adj_factor(trade_date20260713) 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_code000001.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_date和end_date可以限定获取复权因子的时间段左右两端时间点均包含。本示例演示如何获取平安银行1996年的复权因子。df pro.adj_factor(ts_code000001.SZ, start_date19960101, end_date19961231) 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后复权当日价格 × 当日复权因子hfqimport pandas as pd # 获取日行情 df_daily pro.daily(ts_code600519.SH, start_date20200101, fieldstrade_date,open,high,low,close) # 获取复权因子 df_adj pro.adj_factor(ts_code600519.SH, start_date20200101, fieldstrade_date,adj_factor) # 将日行情和复权因子合并在一起便于计算 df_adj_prices pd.merge(df_daily, df_adj, on[trade_date], howleft).sort_values(bytrade_date, ignore_indexTrue) # 使用最新日期作为前复权的基准日期 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团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人人人为我”的共创氛围。