CZSC / 数据源

czsc 数据源:四条连接器路径与各自的凭据前置

结构算得再准,数据不对也是白算。czsc 官方提供四条取数路径,覆盖期货、A 股、数字货币与本地缓存,每条都要自己准备账号或密钥,交易时段与复权口径也得自己确认。这一页把四条路径、前置条件与常见坑列清楚。

期货:天勤A 股:Tushare数字货币:CCXT另有本地缓存
tq_connector天勤·期货
ts_connectorTushare·A股
ccxt_connectorCCXT·数字货币
local_data本地缓存
四类数据源连接器示意(依据官方 README 数据源连接器表与 2026-09-16 实测目录);示意非官方架构图,各数据源的授权与额度以对应官方说明为准。
Connectors

四条路径覆盖三类市场

官方在 README 里用一张表列出四个连接器模块,并说明各自的定位。下表补上凭据与口径要点。

模块数据源覆盖市场凭据与前置适用场景注意点
tq_connector.py天勤期货实时与历史行情需天勤账号;按官方流程登录取数国内期货研究官方曾修复该连接器的一处静默时间漂移问题,升级后行为会变化
ts_connector.pyTushareA 股历史数据需 Tushare Token(环境变量方式配置)A 股历史研究与回测接口额度与权限由数据源规则决定;复权口径需自己确认
ccxt_connector.pyCCXT数字货币交易所需交易所 API 密钥(按 CCXT 约定配置)加密市场研究各交易所的时间戳精度与限频不同,需按交易所文档核对
local_data.py投研数据本地缓存取决于本地已有数据需已有整理好的本地数据已有数据管线、不想重复取数数据格式要与库的预期一致,字段缺失会在转换阶段暴露
统一数据客户端工具模块内的数据客户端与缓存取决于接入源无额外要求在多个源之间切换缓存能减少重复请求,但要注意缓存更新的时效
取数口径要自己定:库只负责把数据取回来并转成内部结构,复权方式、是否包含集合竞价、停牌日怎么补,这些口径官方不做统一约定。跨品种或跨数据源拼数据前,先把这几项写进自己的数据规范。
Pipeline

从取数到进入结构分析的四步

官方示例把这条链路串得很短:取数 → 转成标准 K 线 → 构造分析对象 → 读结构。难点通常在中间两步的清洗。

  1. 选择连接器并配置凭据

    按市场选择对应模块,按要求准备账号或密钥(例如 Tushare 走环境变量配置 Token)。预期能成功发起一次取数请求。

  2. 核对时间与字段口径

    确认返回数据的时间字段已去掉时区信息,且时间与周期对齐(例如分钟线的时间戳代表桶的起点还是终点)。预期时间字段是本地无时区的时间。

  3. 转成标准 K 线对象

    用官方的格式转换函数把数据表转成 K 线对象列表,并指定周期枚举。预期得到可直接喂入分析对象的序列。

  4. 校验数据质量再入结构

    用官方的 K 线质量校验工具检查缺失值、重复时间与异常值,必要时补齐或剔除。预期进入结构分析的数据没有缺失行情值。

为什么这一步不能省:1.0 之后有两个地方会直接报错 —— 带时区的时间、以及缺失的行情值。与其等到交易器回放时中断,不如在取数环节就清洗干净。
Fixed bug

一处被修复的静默时间漂移

官方在变更记录里写明了一个已经修复的连接器问题。它的价值在于提醒:时间口径出错时,程序不会报错,只会安静地给出错结果。

内容影响现状
问题现象天勤连接器在取数后调用重采样时,没有显式传入基础周期周期被默认标成 1 分钟,导致时间标签出现静默漂移官方已修复:现在显式传入调用方指定的周期
为什么难发现不会报错,只是时间刻度整体偏了结构划分与后续信号都会跟着偏升级到含该修复的版本即可
同类风险任何「取数后转换周期」的环节都可能出现口径不一致离线重采样与实时合成对同一数据可能给出不同结果固定一条路径:实时用合成器,离线用重采样,不要混用
自查方式取一小段已知周期的数据,打印转换后的时间刻度能最快发现漂移把这一步做成固定检查
Data quality

配套的数据质量与辅助工具

工具模块里有一组不显眼但很实用的能力,官方 API 手册把它们分散列在不同分类下,这里集中起来看。

工具作用适用场景注意点
K 线质量校验检查 K 线序列中的缺失、重复与异常取数后入结构前校验规则由实现定义,不要假设它覆盖了全部口径问题
指数成分处理指数成分股相关数据需要按指数范围筛选时成分随调整变动,取数日期要记录
持股概念处理个股所属概念板块概念维度研究概念标签由数据源定义,跨源不可比
交易时段标记标注交易时段相关区间过滤非交易时段数据时段模板与品种相关,跨品种不能套用
波动率标记计算并标注波动状态波动分层研究窗口长度直接改变结论
告警捕获捕获运行期告警长时间批量任务属辅助能力,不替代日志
缓存与日志数据缓存与运行日志减少重复请求、排查问题缓存要设置合理的更新策略
Troubleshooting

数据层排查表

数据问题多半不报错,只表现为「结构看起来不对」。按下表倒查比读日志更快。

现象可能原因核对方法处理方向
构造对象时报时间相关错误时间字段带时区,被新版本显式拒绝检查时间列的类型是否带时区去掉时区后再转换
回放中途抛缺失值错误行情里有缺失的成交量或价格,且新版本会显式报错统计缺失值数量与位置补齐或剔除后再入结构;不要指望它被静默跳过
时间刻度整体偏移取数后转换周期时基础周期没传对取一段已知周期数据打印时间刻度显式传入周期;确认使用含修复的版本
同一数据两个周期结果不一致一条路径走实时合成、另一条走离线重采样确认两处使用的转换方式统一路径;注意重采样丢弃未完成桶对日级以上不起作用
结构粒度突然变化成笔长度参数变了(含升级后环境变量开始生效)核对构造参数与环境变量固定一种来源并把值写进配置
取数报权限或额度错误Token、账号或接口权限不足看数据源返回的错误码按数据源规则补齐权限或调整请求频率
Compared with EasyClaw

取数这一段,两条路线有什么不同

取数是两边都做的事情,但形态不同:一边是代码里的连接器,一边是一次提问。

维度自建连接器EasyClaw 数据类技能怎么选
使用方式在代码里调用对应模块,自己处理返回结构用自然语言提问,直接拿到整理后的结果要进自己的策略工程就自建;只要结论就提问
凭据Tushare Token、天勤账号或交易所密钥部分技能也需要 Token 或 Key(例如 Tushare 类技能)两边都要准备,前置条件可以复用
覆盖面期货、A 股、数字货币与本地缓存股票、期货、期权、基金、外汇、债券、指数与加密数据(按技能文档)覆盖面各有侧重,按你的市场核对
与结构分析的衔接直接转成内部 K 线对象,链路连续输出的是数据与结论,需要自己再转成代码可用结构要接缠论结构必须回到自建链路
边界:EasyClaw 的数据类技能只负责取数与整理,不提供缠论结构识别、也不提供信号-事件-交易体系;两者之间没有已证实的集成关系。
FAQ

常见问题

数据源相关的授权、额度与口径以各数据源官方说明与项目文档为准。

官方支持哪些数据源?

官方 README 列出四个连接器模块:天勤用于期货实时与历史行情,Tushare 用于 A 股历史数据,CCXT 用于数字货币交易所,另有本地缓存入口用于读取已有的投研数据。除此之外还可以通过工具模块里的统一数据客户端与缓存来组织取数。

需要准备哪些凭据?

按你选的数据源准备:Tushare 需要 Token(官方实践是用环境变量配置),天勤需要账号并按官方流程登录,CCXT 需要交易所 API 密钥。官方在案例索引里也特别标注了 Tushare 案例的 Token 前置条件。

为什么升级后取数会报时间错误?

因为新版本把「带时区时间被静默转成 UTC」改成了显式报错。历史行为下时间会被悄悄转换、导致周期桶定位全部错位。现在需要在取数后先去掉时区信息,再进入后续转换。

重采样和实时合成能混用吗?

不建议。官方提供两条能力:实时逐根更新用 K 线合成器,离线把一段数据整体转换周期用重采样函数。两者内部虽然共用聚合逻辑,但调用方式不同;混用容易出现同一数据两套时间口径的问题。另外重采样有一个官方标注的已知限制:丢弃未完成桶的开关对日级以上的目标周期不起作用。

数据质量需要自己校验吗?

需要。工具模块提供了 K 线质量校验、交易时段标记、波动率标记等能力,但复权方式、集合竞价是否包含、停牌日怎么补这些口径官方不做统一约定。建议把校验做成固定环节,并在取数时记录数据日期。

取数能用 EasyClaw 代替吗?

取数这一段可以部分代替:EasyClaw 本机有财经数据类技能,可以按提问方式拿到行情与基本面数据。但它们输出的是数据与结论,不提供缠论结构识别,也无法直接接进这套代码链路。如果你只是要先看数、看指标,用技能更省事;要进策略工程仍需自建连接器。两者没有已证实的集成关系。

数据到位,就看怎么回测

权重回测的入口来自外部包,和这套库的关系需要说清楚。下一页讲三件套的分工与回测链路。