ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Vibe-Trading 数据技能指南:Tushare 股票技术面因子专业版 stk_factor_pro 接口全解

2026/9/12 14:59:32 拓冰建站 浏览量
Vibe-Trading 数据技能指南:Tushare 股票技术面因子专业版 stk_factor_pro 接口全解 Vibe-Trading 数据技能指南Tushare 股票技术面因子专业版 stk_factor_pro 接口全解【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading本篇指南围绕 Vibe-Trading 项目中 Tushare 数据技能 的《股票技术面因子(专业版)》参考文档展开系统拆解stk_factor_pro接口的输入输出参数、三大复权体系不复权/前复权/后复权以及内置的数十类技术指标默认参数。读完本文你将掌握如何通过 Tushare 单次调用同时获得行情、估值、股本市值与 MA/MACD/KDJ/RSI/BOLL 等技术因子并了解该数据在 Vibe-Trading 因子研发与回测流程中的接入方式。一、接口定位一次调用拿到“行情 估值 技术指标”全家桶stk_factor_pro是 Tushare 社区自产的专业版股票技术面因子接口用于跟踪股票的每日走势情况数据覆盖 A 股全历史。与普通日线接口pro.daily只返回 OHLCV 不同该接口在单条记录内同时打包了三类信息行情价格开高低收及前后复权版本覆盖_bfq不复权、_qfq前复权、_hfq后复权三种口径估值与股本PE / PE(TTM) / PB / PS / 股息率、总股本 / 流通股本 / 自由流通股本、总市值 / 流通市值技术指标由 Tushare 社区按各指标的默认参数计算好的 30 类常用技术因子趋势、摆动、波动、量能、通道类一应俱全同样提供三种复权口径。这意味着在量化研究场景中一次stk_factor_pro调用即可替代「日线行情 每日指标 自算技术指标」多次请求的组合显著降低数据获取成本与本地计算负担。在接口文档体系中该接口归类于 股票数据 → 特色数据.md)并在 Tushare 技能 SKILL.md 的数据接口总表 中以 ID328接口名stk_factor_pro登记注册。访问约束与积分要求项目说明单次限量最多返回10000 条数据超出的历史区间需通过日期参数分段循环拉取积分门槛5000 积分每分钟可请求 30 次8000 积分以上每分钟 500 次数据时效每日收盘后更新用于跟踪当前走势情况参数定制各因子默认参数见接口描述如需特殊参数或更多因子需联系管理员评估二、输入参数详解stk_factor_pro的输入参数非常精简四个字段全部为可选参数可通过「股票代码」或「交易日期」两类维度组合查询名称类型必选描述ts_codestrN股票代码Tushare 标准格式如000001.SZ、600000.SH、430047.BJtrade_datestrN交易日期格式yyyymmdd如20250110start_datestrN开始日期格式yyyymmddend_datestrN结束日期格式yyyymmdd使用要点按单日全市场提取传入trade_date即可获取该交易日全部股票的因子截面适合做横截面选股/因子暴露分析按个股区间提取传入ts_code start_date end_date获取单只股票的时间序列适合做个股策略回测分段循环由于单次上限 10000 条个股历史较长或多只股票批量拉取时应以日为单位循环请求再拼接下文给出参考实现。三、输出参数全景3.1 行情与复权价格字段类型说明ts_code/trade_datestr股票代码 / 交易日期open/high/low/closefloat开盘价 / 最高价 / 最低价 / 收盘价不复权open_hfq/high_hfq/low_hfq/close_hfqfloat后复权价格open_qfq/high_qfq/low_qfq/close_qfqfloat前复权价格pre_closefloat昨收价前复权为daily接口的pre_close按当时复权因子计算与前一日close_qfq存在口径差异可不用change/pct_chgfloat涨跌额 / 涨跌幅除权后的涨跌幅vol/amountfloat成交量手/ 成交额千元3.2 估值与股本市值字段类型说明pe/pe_ttmfloat市盈率总市值/净利润亏损为 null/ 市盈率 TTM亏损为 nullpbfloat市净率总市值/净资产ps/ps_ttmfloat市销率 / 市销率 TTMdv_ratio/dv_ttmfloat股息率%/ 股息率 TTM%total_share/float_share/free_sharefloat总股本万股/ 流通股本万股/ 自由流通股本万total_mv/circ_mvfloat总市值万元/ 流通市值万元adj_factorfloat复权因子3.3 量能与活跃度字段类型说明turnover_rate/turnover_rate_ffloat换手率%/ 换手率自由流通股口径%volume_ratiofloat量比updays/downdaysfloat连涨天数 / 连跌天数lowdays/topdaysfloatLOWRANGE(LOW)当前最低价处于近多少周期最低 /TOPRANGE(HIGH)当前最高价处于近多少周期最高3.4 技术指标因子三种复权口径 × 各类指标技术指标字段按指标名_复权口径命名_bfq/_qfq/_hfq三种后缀各一份默认参数均标注在字段描述中。完整清单如下指标族字段每种含_bfq/_qfq/_hfq三口径默认参数振动升降asi、asitOPEN, CLOSE, HIGH, LOW, M126, M210真实波幅atrCLOSE, HIGH, LOW, N20多空指标bbiCLOSE, M13, M26, M312, M420乖离率bias1、bias2、bias3CLOSE, L16, L212, L324布林带boll_upper、boll_mid、boll_lowerCLOSE, N20, P2BRAR 情绪brar_ar、brar_brOPEN, CLOSE, HIGH, LOW, M126顺势指标cciCLOSE, HIGH, LOW, N14价格动量crCLOSE, HIGH, LOW, N20平行线差dfma_dif、dfma_difmaCLOSE, N110, N250, M10动向指标dmi_adx、dmi_adxr、dmi_mdi、dmi_pdiCLOSE, HIGH, LOW, M114, M26区间震荡线dpo、madpoCLOSE, M120, M210, M36指数移动平均ema_5、ema_10、ema_20、ema_30、ema_60、ema_90、ema_250N5/10/20/30/60/90/250简易波动emv、maemvHIGH, LOW, VOL, N14, M9EMA 指数平均expma_12、expma_50CLOSE, N112, N250KDJkdj、kdj_k、kdj_dCLOSE, HIGH, LOW, N9, M13, M23肯特纳通道ktn_upper、ktn_mid、ktn_downCLOSE, HIGH, LOW, N20, M10简单移动平均ma_5、ma_10、ma_20、ma_30、ma_60、ma_90、ma_250N5/10/20/30/60/90/250MACDmacd、macd_dif、macd_deaCLOSE, SHORT12, LONG26, M9梅斯线mass、ma_massHIGH, LOW, N19, N225, M6资金流量mfiCLOSE, HIGH, LOW, VOL, N14动量指标mtm、mtmmaCLOSE, N12, M6能量潮obvCLOSE, VOL心理线psy、psymaCLOSE, N12, M6变动率roc、marocCLOSE, N12, M6RSIrsi_6、rsi_12、rsi_24CLOSE, N6/12/24唐安奇通道taq_up、taq_mid、taq_downHIGH, LOW, 20三重指数平滑trix、trmaCLOSE, M112, M220容量比率vrCLOSE, VOL, M126威廉指标wr、wr1CLOSE, HIGH, LOW, N10, N16薛斯通道 IIxsii_td1、xsii_td2、xsii_td3、xsii_td4CLOSE, HIGH, LOW, N102, M7注接口文档中bbi的_bfq/_hfq/_qfq三口径分别记录了 M420/21/22 的默认传参使用时应以接口文档最新描述为准如需自定义周期或更多因子需联系管理员评估开通。四、三大复权口径的语义与选型复权是 A 股数据使用中最容易出错的一环。stk_factor_pro将价格与指标同时按三种口径输出便于不同场景直接取用不复权_bfq真实成交价格适合计算真实涨跌幅、成交量价关系分析前复权_qfq以最新价为基准向前调整历史价格历史价格序列连续适合技术指标计算与回测——当前价格不受历史除权事件影响避免了指标因分红送转产生虚假跳变后复权_hfq以上市首日价为基准向后累乘复权因子总回报连续可叠加适合长期收益率测算adj_factor复权因子本身。后复权价 ≈ 不复权价 × 复权因子前复权价则在此基础上按最新一期因子归一化。需要特别留意文档中关于pre_close的提示该字段直接取自daily接口的pre_close其计算基于当时的复权因子因此可能与前一日的close_qfq对不上若对复权价格序列的连续性有严格要求建议不要依赖该字段。五、实战调用示例5.1 初始化 Tushare 客户端Vibe-Trading 的 Tushare 技能 SKILL.md 给出了标准的接入方式安装依赖、配置 token、初始化 pro 接口。pip install tushare -i https://pypi.tuna.tsinghua.edu.cn/simple export TUSHARE_TOKENyour_tokenimport os import tushare as ts # 优先读取环境变量 token也支持 ts.get_token() 本地缓存 token os.getenv(TUSHARE_TOKEN) or ts.get_token() pro ts.pro_api(token)在 Vibe-Trading 项目中token 的统一读取路径是配置访问器源码 tushare_fallbacks.py 中通过get_env_config().data.tushare_token获取并对空占位符、your-tushare-token做了未配置拦截日常脚本也可参考 stock_data_example.py 的写法。5.2 按单日提取全市场因子截面import tushare as ts pro ts.pro_api(os.getenv(TUSHARE_TOKEN)) # 提取某交易日全市场股票的估值 技术因子 df pro.stk_factor_pro( trade_date20250110, fieldsts_code,trade_date,close,pe_ttm,pb,total_mv, macd_dif,macd_dea,macd,kdj_k,kdj_d, ma_5,ma_10,ma_20,ema_5,ema_20,rsi_6,rsi_12,rsi_24 ) print(df.head())字段按需裁剪可以显著降低响应体积尤其在 10000 条上限约束下fields白名单是高效拉取的关键手段。5.3 按个股区间循环拉取全历史import tushare as ts pro ts.pro_api(os.getenv(TUSHARE_TOKEN)) ts_code 000001.SZ start_date, end_date 20200101, 20250110 # 单次最多 10000 条历史较长时按自然日循环拼接 frames [] cur start_date while cur end_date: chunk pro.stk_factor_pro( ts_codets_code, start_datecur, end_dateend_date, ) if chunk is None or chunk.empty: break frames.append(chunk) # 以已获取的最大交易日期 1 天作为下一次起点保证边界不重不漏 cur str(int(chunk[trade_date].max()) 1) # 注意控制请求频率5000 积分档位为每分钟 30 次 result pd.concat(frames, ignore_indexTrue).drop_duplicates(trade_date) print(result.shape)六、在 Vibe-Trading 项目中的接入与应用6.1 作为 Agent 数据技能接入Vibe-Trading 将 Tushare 以「标准化技能」的形式暴露给 Agent 使用技能根目录的 SKILL.md 登记了完整的接口索引表stk_factor_proID 328被归类到股票数据 → 特色数据并与指数版本idx_factor_proID 358、基金版本fund_factor_proID 359、可转债版本cb_factor_proID 392形成同一「专业版因子」系列。从源码结构看Agent 在策略研究任务中通过该技能目录即可检索到本接口的输入输出契约进而编排数据获取流程。6.2 与项目现有 Tushare 数据链路的关系仓库中对 Tushare 数据源的底层封装集中体现在两处可作为接入本接口时的代码风格参照tushare_fallbacks.py提供资金流向、龙虎榜、北向资金、融资融券等工具的 Tushare 备用通道展示了 token 校验、ts.pro_api()初始化、DataFrame.to_dict(records)标准化输出、日期窗口_date_window处理等通用模式alpha_bench_tool.py构建 CSI300 基准时调用pro.dailypro.adj_factor获取前复权价格源码见 alpha_bench_tool.py这正对应stk_factor_pro内置close_qfq与adj_factor字段的用途——若改用本接口可一次取回复权价与估值因子减少往返请求。此外仓库回测引擎如 china_a.py与因子库agent/src/factors包含 477 个 Python 因子实现文件构成了完整的数据 → 因子 → 回测链路stk_factor_pro输出的估值字段与技术指标字段可直接作为该链路的输入来源之一。6.3 典型应用场景横截面选股按trade_date一次拉取全市场pe_ttm、pb、total_mv、turnover_rate、volume_ratio构建低估值/小市值/高换手等因子组合技术面策略信号直接使用macd_dif/macd_dea、kdj_k/kdj_d、rsi_6/12/24、boll_upper/mid/lower等字段生成金叉死叉、超买超卖、通道突破信号免去本地重复实现指标公式连涨连跌统计updays/downdays/lowdays/topdays可用于动量与反转因子的构造复权一致性校验close_qfq与本地daily × adj_factor计算结果交叉验证确保因子库价格口径统一。七、使用注意事项限量与频率单次 10000 条、5000 积分档每分钟 30 次、8000 积分以上每分钟 500 次批量任务务必加入频率控制与重试数据完整期接口覆盖全历史但社区自产数据可能存在个别日期缺失建议与daily、daily_basic等接口交叉校验复权口径一致性同一策略内应固定使用同一复权口径推荐_qfq避免_bfq与_qfq混用导致指标失真pre_close字段存在口径偏差谨慎使用字段裁剪接口字段超过 200 个默认全量返回会放大单次请求体积生产环境应始终通过fields白名单按需提取自定义参数如需非默认周期的指标参数例如N30的 ATR 或自定义 BOLL 带宽需联系 Tushare 管理员评估本地则建议基于_bfq/_qfq价格自算。八、延伸阅读本接口参考文档股票技术面因子(专业版).md)同系列专业版因子接口指数技术面因子(专业版).md)、基金技术面因子(专业版).md)、可转债技术面因子(专业版).md)估值字段对照接口每日指标 daily_basic技能总览与全部接口索引Tushare SKILL.md示例脚本股票数据获取示例【免费下载链接】Vibe-TradingVibe-Trading: Your Personal Trading Agent项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考