全部
文章&策略
学习干货
问答
官方
用户头像sh_*056uc6
2026-01-28 发布
做超短或者量化交易,对股票接口的稳定性和实时性要求很高,之前做量化交易,一直苦于股票数据接口不稳定,获取股票数据的实时性也不够,导致自动化交易失败,错过了很多宝贵的机会。 整理了常用到的十个股票实时行情接口,包括实时K线数据,分钟级别的K线以及日线,分笔数据、资金流数据等,都非常实用。 1、实时K线数据 获取沪深A股和ETF实时K线数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf; 目前K线级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数period分别为5m、15m、30m、1h、1d、1w、1mon、1y;除权方式有不复权、前复权、后复权,对应的参数cq分别为1、2、3;包年版支持all参数获取盘后全市场数据,仅限近一周内的日线数据。 数据更新:实时数据交易时间段实时更新,历史数据收盘后3:30更新,all参数历史数据盘后6:00更新。 示例请求: http://api.fxyz.site/wolf/time/kline?symbol=stock&code=000001&period=1d&cq=1&startDate=2026-01-19&endDate=2050-01-01&token= 2、资金流数据 获取沪深A股资金流向数据。资金流数据区分主买、主卖、特大单、大单、中单、小单等。 数据更新:历史数据盘后6:00更新 示例请求: http://api.fxyz.site/wolf/money?code=000001&tradeDate=2026-01-19&token= 3、实时指标数据 获取沪深A股实时行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。提供涨速、涨跌幅、换手率、振幅、量比、内盘、外盘、ROE等行情指标数据,适用于投资研究、量化交易。包年版支持all参数获取盘中全市场实时数据。 数据更新:实时数据交易时间段每1分钟更新。 示例请求: http://**api.fxyz.site/wolf/time?**symbol=stock&code=000001&token= 4、涨跌停板 获取盘中涨停板实时数据。 数据更新:实时数据交易时间段每1分钟更新,历史数据收盘后3:30更新。 示例请求: http://**api.fxyz.site/wolf/zt?**tradeDate=2026-01-19&token= 5、日线快照 获取沪深A股和ETF实时日线行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。包年版支持all参数获取盘中全市场实时数据。 数据更新:实时数据交易时间段实时更新。 示例请求: http://api.fxyz.site/wolf/time/day?symbol=stock&code=000001&token= 6、买卖五档 获取沪深A股和ETF买卖五档实时行情数据。目前支持沪深京A股和ETF基金,对应请求参数synbol为stock、etf。 数据更新:实时数据交易时间段实时更新 示例请求: http://api.fxyz.site/wolf/time/five?symbol=stock&code=000001&token= 7、逐笔交易 获取沪深A股逐笔交易数据。 数据更新:历史数据盘后6:00更新 示例请求: http://**api.fxyz.site/wolf/deal?**code=000001&tradeDate=2026-01-19&token= 8、分价数据 获取沪深A股分价数据。 数据更新:历史数据盘后6:00更新 示例请求: http://api.fxyz.site/wolf/price?code=000001&tradeDate=2026-01-19&token= 9、股票列表 获取股票的代码列表。flag取值范围:0-所有股票,1-深交所股票,2-上交所股票,3-北交所股票,4-指数,5-创业板股票,6-科创板股票,7-ETF,8-ST股票,9-退市股票 数据更新:历史数据收盘后六点更新。 示例请求: http://**api.fxyz.site/wolf/list?**flag=0&token= 10、炸板 获取盘中炸板实时数据。 数据更新:实时数据交易时间段每1分钟更新,历史数据收盘后3:30更新。 示例请求: http://api.fxyz.site/wolf/zb?tradeDate=2026-01-19&token= 参考文档:http://www.fxyz.site/#api-docs
浏览4694
评论10
收藏3
用户头像sh_*056uc6
2026-10-05 发布
量化策略最怕两件事:数据慢半拍,字段还对不上。AI 能快速写出因子和策略,却不能替你修复错误的时间戳、缺失的成交量和不一致的复权口径。数据源的稳定性与准确性,决定了回测收益能不能在实盘重现。 这篇文章把 FXYZ(官网展示名称为“黑狼数据”)的接口按交易研究流程重新整理,重点看实时行情、K 线、盘口、竞价、资金流和涨跌停数据怎么配合使用。 按当前在线文档,FXYZ 共列出 17 个接口,覆盖基础数据、涨跌停数据和实时行情数据三大目录。 量化数据源,真正要看什么 维度 量化场景里的问题 选型时要核对 时效 信号触发时,价格是不是已经过期 更新频率、交易时段、时间戳精度 准确 成交量、价格、涨跌幅能否和基准行情对齐 单位、字段定义、异常值处理 完整 只有收盘价,无法解释盘中成交和盘口变化 行情、K 线、五档、逐笔、资金流是否齐全 可复现 回测和实盘使用了不同口径 复权参数、交易日、历史修订规则 AI 负责放大研究速度,行情数据负责决定策略能不能落地。 FXYZ 数据源一张图看懂 FXYZ 文档给出的 API 基础地址是 http://api.fxyz.site,接口文档见 http://www.fxyz.site/doc。所有请求都需要带 token 参数,具体权限和套餐以服务方开通结果为准。 FXYZ 覆盖哪些股票数据 数据层 代表接口 适合做什么 文档标注的更新节奏 基础数据 /wolf/list、/wolf/sector、/wolf/financemetric 股票池、板块成分、财务因子 收盘后 18:00 或 22:00 更新,财务指标以文档为准 实时行情 /wolf/time、/wolf/time/day 实时价格、成交量、估值和涨跌幅 交易时段约每 1 分钟;部分接口支持all 全市场参数 K 线与历史 /wolf/time/kline、/wolf/deal、/wolf/price 多周期回测、逐笔成交、分价统计 K 线盘中秒级;逐笔与分价盘后更新 盘口与竞价 /wolf/time/five、/wolf/time/bid 买卖盘、开盘竞价、微观结构因子 文档标注盘中毫秒级更新 情绪与事件 /wolf/zt、/wolf/dt、/wolf/zb、/wolf/qs、/wolf/cx 涨跌停、炸板、强势股、次新股 交易时段约每 1 分钟,历史数据收盘后更新 资金与复权 /wolf/money、/wolf/fq 主力分单、复权变更、事件校准 历史数据盘后更新 更新频率是文档说明,不等同于策略的成交保证。接入前要用自己的网络、账户权限和交易时段做一次实测。 实时行情接口:把价格和因子放在一起 /wolf/time 返回的字段比较适合做盘中选股和因子计算,常用字段包括: 字段 含义 常见用途 zxj 最新价 计算收益、突破和止损 zdf、zde 涨跌幅、涨跌额 动量、强弱和风控 cjl、cje 成交量、成交额 流动性过滤、量价因子 hsl、lb 换手率、量比 活跃度与异动筛选 zsz、ltsz 总市值、流通市值 市值分组、容量约束 roe、jtsyl、ttmsyl ROE、静态市盈率、TTM 市盈率 基本面与估值组合 单票策略可以传入 code。具备相应权限时,再按文档使用 all 做全市场拉取,避免一开始就把请求量打满。 K 线、五档和竞价:盘中策略的三类输入 接口 核心参数 能拿到什么 /wolf/time/kline symbol、code、period、cq、日期区间 1 分钟到年线的 OHLCV,支持不复权、前复权、后复权 /wolf/time/five symbol、code 买一到买五、卖一到卖五的价格和数量 /wolf/time/bid code 竞价价、竞价量、未匹配量、未匹配金额和买卖方向 做盘口策略时,建议把行情时间统一到同一时区,再用 (code, timestamp) 去重。五档快照和逐笔成交不要直接混成一张表,否则会把不同时间粒度的信号误当成同一时刻。 逐笔、分价和资金流:解释信号为什么出现 /wolf/deal 提供成交价、成交量、成交额和主动买卖方向,可用于拆解冲击成本与成交结构。/wolf/money 进一步区分主买、主卖以及特大单、大单、中单、小单的金额和数量。 这类数据很适合做“信号解释层”:模型触发买入后,可以检查成交是否由大单推动,或用主动性买卖判断信号是否正在衰减。接口文档显示这些历史数据在盘后更新,不能把它们当作盘中实时流。 涨跌停数据:A 股情绪因子的现成入口 接口 数据重点 可构建的因子 /wolf/zt 首次封板、最后封板、封板资金、连板数 封板强度、连板梯队 /wolf/dt 连续跌停、封单资金、开板次数 极端风险、流动性压力 /wolf/zb 炸板次数、首次封板、振幅 炸板率、封板稳定度 /wolf/qs 入选理由、是否新高、量比 强势延续、突破过滤 /wolf/cx 上市日期、开板日期、是否新高 次新股生命周期 涨跌停接口的字段已经包含不少交易员常用指标,适合做情绪温度计,也适合给 AI 模型提供事件标签。 FXYZ API 的最小接入方式 接口采用 URL 参数传递 token。下面示例只读取单只股票,Token 放在环境变量里,避免写进代码仓库。 import os import requests BASE_URL = "http://api.fxyz.site" TOKEN = os.environ["FXYZ_TOKEN"] def get_realtime_quote(code: str) -> dict: params = { "symbol": "stock", "code": code, "token": TOKEN, } response = requests.get( f"{BASE_URL}/wolf/time", params=params, timeout=10, ) response.raise_for_status() payload = response.json() if isinstance(payload, dict): if payload.get("code") != 200: raise RuntimeError(payload.get("message", "FXYZ 请求失败")) rows = payload.get("data") or [] else: rows = payload if not isinstance(rows, list) or not rows: raise ValueError("接口没有返回有效行情") row = rows[0] return { "code": row.get("code"), "price": row.get("zxj"), "change_pct": row.get("zdf"), "volume": row.get("cjl"), "turnover": row.get("hsl"), "timestamp": row.get("tradeDate"), } print(get_realtime_quote("000001")) K 线接口的参数可以这样组织: params = { "symbol": "stock", "code": "000001", "period": "1d", "cq": 1, # 1 不复权,2 前复权,3 后复权 "startDate": "YYYY-MM-DD", "endDate": "YYYY-MM-DD", "token": TOKEN, } rows = requests.get( f"{BASE_URL}/wolf/time/kline", params=params, timeout=10, ).json() 接入后,数据管线要这样做 原始层:按接口、请求时间和响应体落盘,保留原始 JSON,方便追溯。 标准层:统一代码格式、时区、价格单位和成交量单位,保留字段字典。 校验层:检查重复时间戳、空数组、价格越界、成交量倒退和交易日错位。 特征层:再计算收益率、盘口不平衡、量价指标和情绪因子。 服务层:给回测和实盘使用同一套字段,配上重试、限流、断点续拉和监控。 先把数据管线做成可追溯的,再让 AI 去优化策略,效率会更高。 一份实盘前的核对清单 检查项 需要确认 时间戳 是否统一到交易所时间,盘前、午间和盘后如何标记 复权口径 回测使用的cq 是否与信号和收益计算一致 字段单位 成交量是手还是股,金额是元还是万元 数据缺口 空数组、停牌、涨跌停和网络超时如何区分 更新频率 文档频率与实测频率是否一致,是否存在延迟尖峰 权限与限流 单票、全市场、all 参数和调用次数是否在套餐范围 安全 文档示例使用 HTTP,生产环境要向服务方确认 HTTPS、Token 保护和白名单方案 /wolf/price 的字段说明在文档中与竞价字段较接近,接入时建议用样本响应核对语义,再写入统一字段字典。 FXYZ 适合怎样的量化项目 项目阶段 推荐组合 股票池构建 /wolf/list + /wolf/sector + /wolf/financemetric 盘中选股 /wolf/time + /wolf/time/kline 开盘竞价 /wolf/time/bid + /wolf/time/five 微观结构 /wolf/time/five + /wolf/deal 情绪策略 /wolf/zt + /wolf/dt + /wolf/zb + /wolf/qs 盘后归因 /wolf/money + /wolf/fq + K 线历史 FXYZ 的价值在于接口覆盖面比较完整:一个数据源就能把股票池、实时行情、盘口、事件和盘后研究串起来。真正决定策略质量的,仍然是字段核验、时间对齐、权限边界和异常监控。 结语 AI 让量化研究从“写代码”进入“快速试错”,可靠的数据源让试错结果能够被复现。把行情接入、字段字典和质量监控先搭好,模型复杂度才有意义。 Github开源项目:https://github.com/fxyzsite/FxyzSkill
浏览25
评论0
收藏0
用户头像Jacktick
2026-10-03 发布
同一根K线,不同数据源可能给出不同结果。 你选的不是数据源,是翻译方式。 一个让我亏过钱的问题。 回测里某个信号持续有效,实盘对不上。差异不大但一直在。排查了三周,策略逻辑、滑点、手续费、执行延迟全查过。 最后发现问题出在K线时间标签的约定上——数据源把分钟标签落在“结束”,而团队的策略逻辑假设标签是“开始”。这个处理,数据商的文档里没有写,采购合同里也没有约定。 问题不在策略,在团队从没验证过数据源对市场做过的那些处理。 这篇文章要回答三个问题: 行情数据源的“翻译方式”到底有哪些差异? 这些差异怎么影响你的回测和实盘? 你怎么验证自己的数据源用的是什么翻译方式? 这篇文章写给三类人: 读者类型 你的核心任务 这篇文章帮你解决什么 量化投资者 跑全市场选股、做因子、做回测 为什么回测和实盘对不上,怎么排查数据层的定义问题 行情应用开发者 做看盘、做数据产品、做交易系统 怎么判断数据源的“全量”是否真的全,怎么验证 数据选型决策者 为团队选数据源 不同数据源的“翻译方式”差在哪,怎么对比 核心命题:你选的不是数据源,是翻译方式 从市场发生一笔成交,到你的屏幕出现一个数字,中间至少经过六次翻译。 市场事实 ──→ 时间戳 ──→ 分桶 ──→ 聚合 ──→ 复权 ──→ 截取 ──→ 修订 ──→ 你的屏幕 │ │ │ │ │ │ │ │ 第一次翻译 第二次翻译 第三次翻译 第四次翻译 第五次翻译 第六次翻译 │ │ │ │ │ │ │ │ 谁的秒? 从哪秒起? 纳入哪些? 谁算的? 给几档? 变过吗? 次序 翻译环节 核心问题 可能存在的做法差异 第一次 时间戳 这一秒,是谁的秒? 起点/终点/接收时间 第二次 分桶 这一分钟,从哪一秒开始算? 左闭右开/左开右闭 第三次 聚合 这一根K线,纳入了哪些成交? trade condition过滤标准 第四次 复权 这个历史价格,是谁算的? 前复权/后复权/除数驱动 第五次 截取 这个盘口,给了几档? MBO/MBP/快照/增量 第六次 修订 这个历史数据,变过吗? 修订窗口/是否可追溯 这六次翻译加在一起,就是你和市场之间的全部距离。 关键认知:不同数据源对这六次翻译的做法可能不同。你选数据源,不是选“谁的数据好”,是选“谁的翻译方式适合你的使用场景”。而这些翻译方式,大多数没有被写进文档,没有被写进合同。 第一次翻译:这一秒,是谁的秒? 这次翻译是什么 一条行情数据的时间戳,可能是六种时间之一。 事件时间 ──→ 源端时间 ──→ 发布时间 ──→ 服务端时间 ──→ 接收时间 ──→ 存储时间 │ │ │ │ │ │ 市场真实发生 交易所打戳 数据源发出 数据商处理 你的系统收到 写入数据库 时间标签约定的差异 不同交易所和数据商的规格各异,使用前应核对时标定义。 Alpaca的官方文档说得很清楚:分钟K线在整分钟后发出,包含前一分钟的交易;迟到成交存在时,会在半分钟后发 updatedBars,示例中原K线的 t=16:49:00。这支持“起始标签”和“约30秒后的有条件更新”,但官方文档没有承诺“1秒计算、30秒必然重算”。 关于其他平台的时间标签,我看到过一些技术社区的讨论: 平台 技术社区讨论中的说法 来源 Alpaca 起始标签、整分钟后发出、迟到成交半分钟后发 updatedBars Alpaca官方文档(2026-10-03查阅) 米筐 社区讨论中提到结束标记 技术社区 vnpy 社区讨论中提到起始时间标记 技术社区 文华财经 社区讨论中提到时间段开始点 技术社区 金字塔 社区讨论中提到时间段结束点 技术社区 注意:上表中除Alpaca外的平台约定,来源是技术社区的第三方描述,我没有逐一实测或获取官方文档确认。采购或对接时,请以官方文档和实际样本验证为准。 你应该重点关注的 价值类型 内容 投资价值 时间标签错误导致信号在错误时间点触发。高频策略里,一分钟的差距足以让整个信号失效 场景价值 跨数据源对账时,两个数据源的时间标签约定不同,回测里信号在10:00触发,实盘监控里同一信号在09:59触发 风险价值 2010年5月6日美股闪崩后,监管机构事后重建市场时,发现数据碎片化和时间戳不一致导致难以拼凑完整图景。SEC在2016年CAT计划文件中称,当日重建仅含估计90%的交易与订单活动 收束:时间标签不是技术细节,是分析的基础假设。你不知道数据源怎么打标签,你的回测就是在别人的假设上跑。 第二次翻译:这一分钟,从哪一秒开始算? 这次翻译是什么 即使两家数据商都用“起始标签”,分桶规则也可能不同。 左闭右开: [9:30:00, 9:31:00) → 包含9:30:00,不包含9:31:00 左开右闭: (9:30:00, 9:31:00] → 不包含9:30:00,包含9:31:00 一次样本观测:A股K线的时间标签 A股取贵州茅台(600519.SH)2026年9月30日14:10–14:50(北京时间)。窗口内有763条逐笔记录,原始数量字段合计7,149。 在这组样本下,把K线时间直接当分钟起点,40个窗口均未对上;把它解释为分钟结束标签后,40个窗口成交量全部对齐。 这是一次数据实验的结果,不是供应商的接口约定文档。时间标签约定属于接口层的行为,样本对齐是验证起点,不能替代供应商的官方接口文档确认。 不同的标的、不同的交易日、不同的数据源,结论可能不同。建议在你自己的数据源上跑一遍相同的验证。 你应该重点关注的 价值类型 内容 投资价值 分桶规则不同,即使原始逐笔数据完全一样,聚合出来的K线也可能不同 场景价值 把A平台的数据导入B平台的框架,可能出现一根K线的偏移。你以为在比较两个数据源的质量,实际上在比较两套分桶规则 风险价值 跨数据源对账时,40个窗口全部对不上,排查三周才发现是标签约定问题 收束:分桶规则是数据商替你做的选择,不是市场的自然属性。 第三次翻译:这一根K线,纳入了哪些成交? 这次翻译是什么 不是所有成交都进入K线。 原始逐笔成交 ──→ trade condition过滤 ──→ 分桶 ──→ 应用sum/min/max ──→ K线 │ ├── 过滤"typical" trades → Close price ├── 过滤大部分trades → Volume └── 其他过滤标准 → Open/High/Low 聚合规则的差异 数据源 聚合规则 来源 Alpaca 三步骤:按执行时间分桶 → 按trade condition过滤 → 应用sum/min/max 官方文档 Alpaca引用标准 CTS Specification p.64、UTP Specification p.43 官方文档 其他数据商 未公开聚合方法论 公开资料未找到 实测案例:港股取腾讯控股(700.HK)2026年10月2日15:00–15:05(香港时间)。最近逐笔样本覆盖了窗口前后,窗口内共221条记录,数量合计201,700;五个已结束分钟的数量合计分别与对应1分钟K线成交量相同,5个窗口全部对齐。 美股取苹果(AAPL.US)2026年10月1日15:30–15:45(纽约夏令时,UTC−4)。这段常规交易时段有15根历史1分钟K线和3根5分钟K线。按每五分钟聚合,3组开高低收及成交量全部相同,重复请求这段1分钟K线也得到相同结果。 但要注意:当前最近逐笔查询返回的是夜盘记录,没有取得该常规时段的历史逐笔,因此美股这里验证的是K线聚合一致性,逐笔完整性仍待验证。 另一个需要留意的点:在固定时窗查询中,AAPL.US 日线的 volume 含小数、quote_volume="0";但同日 limit=100 查询返回的是整数成交量和非零成交额,部分 OHLC 精度也不同。这是两条查询路径之间的数据差异,尚不能认定哪一个是准确口径。正文数值和计算示例暂勿混用两条路径。 你应该重点关注的 价值类型 内容 投资价值 你看到的成交量,是数据商过滤后的结果,不是市场的全部成交 场景价值 用成交量做资金流分析,如果数据商过滤标准不同,你的分析结果可能完全不同 风险价值 同一根K线的收盘价和成交量可能不同,但你在比较两个数据源时,以为在比较“市场” 收束:K线不是逐笔的简单聚合,是数据商按自己的标准筛选后的结果。 第四次翻译:这个历史价格,是谁算的? 这次翻译是什么 复权不是市场的事实,是数据商的计算。 交易所发布除权参考价 ──→ 数据商回溯计算 ──→ 前复权/后复权价格 │ │ │ ┌─────┴─────┐ │ │ │ │ 前复权 后复权 │ (以现价为基准) (以上市首日为基准) │ │ │ │ 历史价格变动 历史价格钉死 │ (未来函数) (推荐回测) 复权处理方式的差异 市场/数据源 复权处理方式 来源 A股交易所 发布“除权参考价”(除权日当天的基准价);前复权和后复权是数据服务商基于参考价回溯或推演计算的结果 上交所数据文件接口规格、深交所权益分派公告 NASDAQ Nasdaq Last Sale(NLS)数据馈送中有 Adjusted Closing Price 消息 Nasdaq Last Sale 规格 Refinitiv 指数层面采用除数驱动法,在除息日次日调整指数除数 LSEG Refinitiv指数方法论 关键认知:不是所有交易所都不提供调整后价格。同一个词“复权”,在两个市场的处理路径可能完全不同。 说明:关于“所有复权序列都由数据商计算”,目前找到的是上交所和深交所对除权参考价的官方说明,后半句是根据数据产品流程的推断,不是交易所原话。 这跟你有什么关系 价值类型 内容 投资价值 前复权在日频回测中是一个未来函数。你今天用前复权价格回测,明天某只股票除权了,历史价格变了,你昨天的回测结果就不可复现了 场景价值 做跨市场对比时,A股的前复权是数据商算的,NASDAQ的Adjusted Closing Price是NLS数据馈送里的消息 风险价值 公司行为处理顺序不同(先分红后拆股 vs 先拆股后分红)会产生不同因子。你从不同数据商买的“复权后价格”,本质上可能是不同的东西 收束:复权不是一个“有没有做对”的问题,是“看你的使用场景”。信号生成用不复权或后复权,收益计算用后复权,展示给用户看用前复权。三者混用,就是未来函数。 第五次翻译:这个盘口,给了几档? 这次翻译是什么 “有盘口”这三个字,可以指十几种不同的东西。 盘口规格的差异 市场 盘口规格 关键差异 上交所 Level 2 十档、逐笔成交、首档前50笔订单委托量 产品页未见完整逐笔委托流承诺 深交所 Level 2 五档扩十档、逐笔委托与逐笔成交、最佳价位前50个分档明细 有逐笔委托 HKEX BMP 以 HKEX BMP 许可指引为准 延时数据至少15分钟,具体混合条件需查许可正文 NASDAQ OUCH(下单/自身订单回报)与ITCH(订单簿市场数据) 订单输入和市场数据分离 LSE GTP 支持MBO(Market by Order)和MBP(Market by Price)两种模式 MBO逐笔订单 vs MBP价格档 期货市场 快照,250ms或500ms推送 大部分交易所250ms或500ms 说明:上交所的“首档前50笔订单委托量”来自上证所信息网络官方产品页,该页没有承诺完整逐笔委托流,但不能简单写“无委托数据”。深交所的逐笔委托与逐笔成交来自深圳证券信息有限公司增强行情说明。 你应该重点关注的 价值类型 内容 投资价值 Level 1快照掩盖两次更新间的快速变化;增量更新若存在节流或丢包可能遗漏关键变动 场景价值 你的产品给用户展示“实时盘口”,用户看到的是HKEX的BMP数据,但BMP的延时条件需按许可指引确认。用户以为他在看实时数据,实际上可能在看延时数据 风险价值 用延时盘口估算实盘滑点,等于在错误的流动性假设下建立仓位管理规则。这不是技术问题,是产品合规问题 收束:采购时写“支持盘口”而不写规格,等于什么都没说。 第六次翻译:这个历史数据,变过吗? 这次翻译是什么 历史数据不是不变的。 历史数据修订 ──→ 修订窗口 ──→ 是否可追溯 ──→ 重复查询是否一致 │ │ │ │ │ 1秒/30秒/更长 有版本记录? 两次查询diff? │ │ │ │ └── 不能复现的数据,在争议时无法自证 修订机制的差异 数据源/监管 修订机制 来源 Alpaca 整分钟后发出,迟到成交存在时半分钟后发 updatedBars Alpaca官方文档 MiFID II 对算法交易监测系统有要求 ESMA市场结构问答 中国证监会 核心机构和经营机构的重要信息系统,业务日志保存5年以上,系统日志6个月以上 2023年《证券期货业网络和信息安全管理办法》第十八条 其他数据商 未公开修订机制 公开资料未找到 说明:关于 MiFID II,ESMA 市场结构问答中对 Article 13(1) 的描述是算法交易监测系统;本轮未证实其为“回放要求”。文章中不再精确引“RTS 6 第13条要求回放”。 实测样本:同一 AAPL.US 1m 历史窗口连续两次返回的 data 完全相同,共 11 根。这说明本次重复调用一致,但不能推出历史数据永不修订。 另一个需要留意的点:逐笔 ID 跨查询稳定性需要单独确认。limit=10 与 limit=30 的相同 ID 分别对应不同的价格和方向。同 ID 不代表同笔交易,不能直接作跨查询去重键。 你应该重点关注的 价值类型 内容 投资价值 没有可靠事件标识,重连后重复计数,资金流被高估 场景价值 你昨天跑的回测,今天用同样的参数跑,可能得不到同样的结果——不是你的代码变了,是数据源修订了历史数据 风险价值 不能复现的数据,在争议时无法自证 收束:可复现性不是技术洁癖,是监管已经在做的事。 六次翻译加在一起,就是你和市场的距离 这六次翻译加在一起,就是你手里那张行情数据。你从来没问过数据商这六次翻译是怎么做的,但你的团队每天都在用翻译的结果做决策。 这不是说数据商做错了。是说,同一份市场,可以有不同的翻译方式,而你没有确认过你用的是哪一种。 采购/验收行情数据源时,我会先问这六个问题 验收维度 写进合同的问题 对应第几次翻译 不确认的后果 时间标签 分钟K线的时间标签是起点还是终点?分桶规则是左闭右开还是左开右闭? 第一次、第二次 跨源对账出偏差,排查三周才发现 聚合规则 K线纳入哪些trade condition?成交量是否过滤? 第三次 资金流分析结果与数据商过滤标准绑定 复权处理 复权是你们算的还是交易所提供的?复权因子公式是什么? 第四次 跨市场对比失效,前复权产生未来函数 盘口规格 “支持盘口”具体指几档?快照还是增量?更新频率多少?有没有延时? 第五次 产品展示延时数据,用户以为是实时 事件标识 逐笔成交有没有唯一标识?跨查询是否稳定?重连后如何去重? 第六次 重连后重复计数,资金流被高估 历史修订 历史数据会不会修订?修订后能否追溯?重复查询结果是否一致? 第六次 回测不可复现,争议时无法自证 这张表的读法是:每一行都是一个采购合同里应该写清楚的条款。不是“数据质量好不好”这种模糊表述,是“时间标签是起点还是终点”这种可以写进合同、可以验收的具体条件。 每个需求留六项:业务用途、样本区间、判定方法、通过条件、未通过时的处理、证据文件。验收样本至少覆盖正常交易、开收盘、无成交或停牌、断线重连与历史翻页。 这些验收维度不是我个人发明的。MiFID II、CFTC、中国证监会的要求说明,数据可复现性和唯一标识是行业已经在做的事。 这些验收维度,我在试接时用TickDB跑了一遍。 一段可运行的验证代码 上面六次翻译的差异,你可以用下面这段代码验证你的数据源。这段代码用 TickDB 的接口跑了一遍,你也可以直接复制运行。 import requests API_KEY = "your_api_key" BASE_URL = "https://api.tickdb.ai/v1" headers = {"X-API-Key": API_KEY} # 验证时间标签 resp = requests.get( f"{BASE_URL}/market/kline", params={ "symbol": "AAPL.US", "type": "stock", "interval": "1m", "limit": 1, "start_time": 1790883000000, "end_time": 1790883060000, }, headers=headers ) kline = resp.json()["data"]["klines"][0] print(f"K线时间标签: {kline['time']}") print(f"请求窗口: 1790883000000 - 1790883060000") if kline['time'] == 1790883000000: print("标签落在: 起点") elif kline['time'] == 1790883060000: print("标签落在: 终点") else: print("标签落在: 其他位置") # 验证复权因子 resp = requests.get( f"{BASE_URL}/market/kline/ex-factors", params={"symbol": "600519.SH", "type": "stock"}, headers=headers ) factors = resp.json()["data"]["data"]["600519.SH"] print(f"\n复权因子条数: {len(factors)}") print(f"首条因子: {factors[0]}") # 验证历史可复现 params = { "symbol": "AAPL.US", "type": "stock", "interval": "1m", "limit": 15, "start_time": 1790883000000, "end_time": 1790883899999, } resp1 = requests.get(f"{BASE_URL}/market/kline", params=params, headers=headers) resp2 = requests.get(f"{BASE_URL}/market/kline", params=params, headers=headers) print(f"\n两次查询结果一致: {resp1.json() == resp2.json()}") 说明:TickDB 的 REST 接口是按需快照,不是实时流;如果你需要逐 tick 的实时更新,应该改用 WebSocket 订阅。bid_price、ask_price、spread 这些字段来自 depth 接口,不在 ticker 接口里。 TickDB 是什么,在数据源选型中有什么优势 上面这些验证,我用 TickDB 的接口跑了一遍。 TickDB 为开发者和 AI 应用提供统一的全球行情数据接口,让团队通过一套接入获取多市场实时与历史数据,更快构建行情、分析和监控产品。 在数据源选型这个场景中,TickDB 有三个可验证的优势: 优势 具体表现 多市场统一 一套 API 覆盖 A股/港股/美股/期货/外汇,标的目录可查询、可分类 字段结构确定 停牌、集合竞价等边界状态有明确字段行为,不是“看起来有数据” 复权逻辑透明 复权因子有独立接口,公式可验证,不依赖数据源黑箱 如果你用的是支持 MCP 的工具(比如 Cursor、Claude Code),也可以直接让 Agent 调用 TickDB 的行情工具: # 在支持 MCP 的 AI 工具中,配置 TickDB 的 MCP 服务后 # 可以直接用自然语言调用行情工具,例如: # "帮我拉取 AAPL.US 最近 15 根 1 分钟 K 线" # Agent 会调用 get_kline 工具,返回带时间戳、OHLCV 的结构化数据 # "查一下 700.HK 当前的盘口深度" # Agent 会调用 get_order_book 工具,返回买卖档位 # "600519.SH 最近 5 个交易日的资金流向" # Agent 会调用 get_capital_flow 工具,返回资金流数据 MCP 工具的价值在于:让模型先拿到带标的、字段和时间的事实,再进行分析——而不是让模型用训练数据里的历史价格回答“现在多少钱”。 数据源翻译约定确认表 把这张表填完,你对数据源的理解就到位了。 翻译层 要确认什么 供应商回答 是否写进合同 时间戳 标签是起点还是终点 分桶 左闭右开还是左开右闭 聚合 哪些 trade condition 纳入 复权 复权因子公式 盘口 几档、快照/增量 修订 修订窗口、是否可追溯 常见问题(FAQ) Q1:行情数据源怎么选? A:核心是确认六次翻译的约定:时间戳、分桶、聚合、复权、盘口、修订。这六个不确认,你在跨源对账、跨市场对比、产品展示时都可能出问题。 Q2:K线时间标签是起点还是终点? A:Alpaca 官方文档说它用起始标签、整分钟后发出、迟到成交半分钟后发 updatedBars。其他平台有社区讨论提到不同做法,但未经官方文档确认。不同交易所和数据商规格各异,采购时要明确约定,并用实际样本验证。 Q3:行情数据需要复权吗? A:取决于使用场景。前复权适合展示,后复权适合回测,但不同数据商的复权算法可能不同。A股的复权是数据商基于交易所除权参考价计算的,NASDAQ 的 Adjusted Closing Price 是 NLS 数据馈送里的消息。 Q4:“支持盘口”是什么意思? A:可以指十几种不同的东西。要问清:几档?快照还是增量?更新频率?有没有延时?MBO 还是 MBP? Q5:行情数据的历史数据会不会变? A:Alpaca 的 K 线在整分钟后发出,迟到成交存在时半分钟后发 updatedBars。其他数据商的修订机制可能不同。要确认修订后是否可追溯。 Q6:行情数据源的采购合同该写什么? A:至少写清:时间标签语义、分桶规则、聚合过滤标准、复权口径、盘口规格、事件标识机制、历史修订策略、数据保留期限。 结尾 你的数据源,敢不敢让你问一句“这个数字是怎么变成现在这样的”? 不用写代码。先做一件最小的事:在采购合同或产品文档里,加一条“数据源翻译约定确认”。确认三件事——时间标签怎么打、复权谁算的、历史数据会不会变。 我现在会把“连通成功”当成试接的开始。能否说明每段数据如何识别、如何对账,出了差异怎样复现,才是报价源进入下一阶段的验收答案。 参考文献 Alpaca. Real-time Stock Pricing Data. 访问日期:2026-10-03. Nasdaq Trader. Nasdaq Last Sale Specification 3.0. 访问日期:2026-10-03. 上海证券交易所. 市场数据文件接口规格. 访问日期:2026-10-03. 深圳证券交易所. 权益分派公告例. 访问日期:2026-10-03. 上证所信息网络有限公司. Level-2 行情产品页. 访问日期:2026-10-03. 深圳证券信息有限公司. 增强行情说明. 访问日期:2026-10-03. HKEX. Basic Market Prices (BMP) Service Guiding Notes. 访问日期:2026-10-03. Nasdaq Trader. OUCH 产品页及 TotalView-ITCH 5.0 规格. 访问日期:2026-10-03. SEC. CAT Plan Filing (34-77724). 访问日期:2026-10-03. CFTC. Parts 43/45 Technical Specification. 访问日期:2026-10-03. ESMA. Market Structures Q&A. 访问日期:2026-10-03. 中国司法部. 《证券期货业网络和信息安全管理办法》. 访问日期:2026-10-03. LSEG. Refinitiv Global Equity Indices Methodology. 访问日期:2026-10-03. TickDB. REST API 官方文档及实测数据. 访问日期:2026-10-03.
浏览49
评论0
收藏0

哎,迫于压力,分享给大伙吧。一招制敌内含策略代码

用户头像晟者为王2014
2023-04-19 发布
江湖上可能要有关于我得传说了。
浏览39877
评论75
收藏188
策略回测收益图
用户头像湖南老LEE
2026-09-21 发布
浏览117
评论1
收藏0
用户头像晟者为王2014
2023-04-12 发布
研究了两年,终于研究出来一个无敌策略,不惧牛熊,各种行情都是稳定盈利!! 有感兴趣的朋友欢迎留言,短周期策略。持仓数量十只
浏览22795
评论457
收藏114
用户头像Leon0818
2026-09-24 发布
交易频率设置分钟的策略,如果指定在下午较晚时的处置操作,均无法被有效执行。 我的一个策略设置为14:45做买入操作,之前运行正常,大约10-15天前开始,再没有过一笔买入交易。 我在handle_bar里加上日志打印,每分钟一次,发现在下午不到2点,就不再执行handle_bar了,最后一条的模拟盘时间是13:49,真实时间是16:08。 以下为原始日志内容: 2026-09-24 09:12:17 - [ 2026-09-24 09:00:00 ] - INFO600522.SH: [32.66, 34.49, 34.56, 32.66, 265520892.0] | [33.9, 34.53, 35.19, 36.39, 35.98, 36.95, 36.88, 35.78] 2026-09-24 09:12:17 - [ 2026-09-24 09:00:00 ] - INFO000657.SZ: [60.58, 62.23, 63.56, 60.57, 98747776.0] | [62.04, 60.9, 61.76, 60.49, 60.26, 59.16] 2026-09-24 09:12:09 - [ 2026-09-24 09:00:00 ] - INFOupdate new_data_str:{} 2026-09-24 09:12:09 - [ 2026-09-24 09:00:00 ] - INFOhold_stocks: [] 2026-09-23 16:08:47 - [ 2026-09-23 13:49:00 ] - INFOhandle_bar 2026-09-23 16:06:30 - [ 2026-09-23 13:48:00 ] - INFOhandle_bar 2026-09-23 16:02:34 - [ 2026-09-23 13:47:00 ] - INFOhandle_bar 2026-09-23 16:00:10 - [ 2026-09-23 13:46:00 ] - INFOhandle_bar 2026-09-23 15:57:30 - [ 2026-09-23 13:45:00 ] - INFOhandle_bar 2026-09-23 15:54:50 - [ 2026-09-23 13:44:00 ] - INFOhandle_bar 2026-09-23 15:52:17 - [ 2026-09-23 13:43:00 ] - INFOhandle_bar 2026-09-23 15:49:30 - [ 2026-09-23 13:42:00 ] - INFOhandle_bar
浏览165
评论5
收藏0
用户头像9点半量化
2026-09-30 发布
引言:股市不奖勤奋,只奖认知 在交易场上,你是否总觉得被某种“神秘力量”精准狙击?刚忍痛割肉,股价便拔地而起;刚追高杀入,趋势就戛然而止。这种教科书式的“散户魔咒”,本质上并非运气使然,而是你在用本能对抗职业机构的心理博弈。 股市从不是勤劳致富的场所,而是认知变现的修罗场。那5%的盈利者,强在他们掌握了一套逆向思维的底层逻辑。今天,我将这套在圈内流传甚广、由无数“真金白银”洗礼出的“老股民回本口诀”深度拆解。这些带血的经验,或许是你在这个存量博弈市场中生存的最后依靠。2. 择时博弈:分时脉冲下的“进退法则” 很多投资者习惯在开盘前十分钟凭冲动下单,却不知那是情绪博弈最剧烈、陷阱最密集的时刻。 “早上大涨要清仓,下午大涨不追高,早上大跌要卖股,下午大跌次日买。” 这套口诀背后是极其深刻的日内博弈逻辑: **●**情绪过热与诱多防范: 早盘大涨往往是前一晚情绪的集中宣泄,极易吸引跟风盘,老股民会利用此时的流动性在高位清仓,防范随后的获利盘回吐。而下午的突然拉升往往缺乏量能支撑,多为诱多,此时追高极易次日被套。 **●**确定性杀跌与修复预期: 早上大跌要卖股,是因为早盘的剧烈下挫通常意味着当日整体情绪面已经彻底崩坏,日线级别的走势已定,很难在收盘前拉回,应果断出局规避更大跌幅。相反,下午大跌次日买,则是利用恐慌盘释放后的“真空期”,博取次日的情绪修复与技术性反弹。 量价元气:高低位的筹码分布 成交量是股市的“真元”,价格可以作假,但资金进场的痕迹无法掩盖。 **●**低位区域: **◆**低位放量大胆买: 股价阴跌已久,突然放量,意味着主力资金开始大肆扫货,这是趋势反转的强烈信号。 **◆**低位无量耐心等: 缩量筑底期是极度枯燥的,意味着市场人气低迷,主力尚未完成吸筹,此时入场会被漫长的磨底耗尽信心。 **●**高位区域: **◆**高位放量赶紧跑: 股价处于高位且成交量剧增,这是典型的筹码派发特征,主力正在撤退,慢一步就是接盘。 ◆高位无量莫心慌: 这是最反直觉的一点。“高位无量莫心慌”,说明筹码锁定极其稳固,场内投资者惜售心理明显。只要主力没有开始大规模派发(放量),震荡通常只是为了清洗浮筹,不必过度恐慌。 趋势迷雾:看穿主力的“烟雾弹” 散户回本的噩梦,往往始于在下降通道里做“抄底梦”。 **●**上升趋势(上升通道): 此刻的“小跌”不是崩盘,而是主力为了洗掉意志不坚定的浮筹而制造的“诱空”陷阱。这时候不仅不能卖,反而是极佳的补仓点。 **●**下跌趋势(下降通道): 此时的任何“小涨”都是极其危险的诱惑。这种反弹本质上是“诱多”,目的是吸引接盘侠入场以延缓下跌速率。老股民深知:下跌通道中,反弹即是逃命之时。 波动分级:二级过滤下的进阶研判 真正的实战高手,懂得区分波动的级别,从而在震荡中保持泰山崩于前而色不变的冷静。 ●一级跌与破位确认: 当行情遭遇“一级跌”时,由于技术惯性,股价**必会反弹。此时如果你错过了第一卖点,可以稍作等待,在反弹中观察。但核心逻辑在于:“跌还要下跌,要跑”。如果反弹无力或确认形成下行趋势,必须坚决清仓,切莫产生回本幻想。 ●**二级涨与动能监测: 当行情经历快速的“二级涨”后,短期动能往往会衰竭,此时股价必会回落**,应先行获利了结。但如果随后行情表现出“涨还要上涨”的强趋势形态,则意味着主升浪开启,此时应坚守头寸,做到“不跑”。 这种基于“两步走”的决策模型,能帮助你在复杂的市场波动中,精准识别出这到底是主力洗盘还是真正的离场信号。 结语:坚守规律,方能立于不败 炒股从来不是一场单凭勇气的豪赌,而是对规律的深度洞察与对人性的严苛克制。这些口诀并不玄学,它们是市场情绪博弈后的必然产物。 平庸的投资者追逐波动的表象,而优秀的交易者追随波动的逻辑。在下一次市场剧烈震荡来临时,你是会再次沦为本能(恐惧与贪婪)的奴隶,还是能克制冲动,坚守这些带血的实战口诀,站在那5%的赢家之列?
浏览90
评论0
收藏1
用户头像sh_***174w0d
2026-09-30 发布
引言:为什么你总是看错盘? 在资本市场的博弈中,很多投资者每天盯盘八小时,换来的却是满身疲惫与错乱的交易逻辑:看到分时线拉升就头脑发热冲进去,遇到盘口跳水就心慌意乱割在底部。这种“忙碌”本质上是在被盘面噪音牵着鼻子走。 资深老股民与新手的本质区别,在于对“有效信息”的过滤与处理能力。看盘不是看热闹,而是通过盘面细节洞察主力资金的底牌。以下这6条盯盘铁律,是无数次实战洗礼后的经验浓缩,尤其第一条,绝大多数散户至今都完全做反了。 错位的时间管理:上午交易,下午选股 这是建立交易节奏感的第一步。很多散户习惯上午选股、下午临收盘才匆忙下单,这不仅容易追高,更无法应对盘面的突发变盘。 “上午是用来交易的,下午是用来选股的。” 核心逻辑: 上午是多空情绪博弈最剧烈的时段,集合竞价及开盘初期的波动充分释放了隔夜信息的冲击,是执行已有策略、处理仓位的黄金时机。而下午收盘前两小时,全天K线的形态已基本定型,趋势的确定性最高。此时审视全天强势板块并筛选次日潜力股,才能确保你在复盘时保持冷静的视角,避免被日内波动干扰判断。 开盘定强弱:15分钟与10分钟的生死线 开盘后的前15分钟,是全天市场情绪的“集体共识”缩影。 ●15分钟试金石: 如果一只个股在开盘15****分钟内没有任何拉升表现,始终在平盘线附近或下方徘徊,说明主力当日做多意愿极低。对于此类弱势股,持仓者应当果断离场,切勿幻想午后的所谓“反抽”。 ●10分钟极端撤退信号: 若股价大幅低开3%以上,且在开盘10****分钟内无法由绿转红、放量收复失地,这通常是主力资金不计成本抛售的信号。这种形态大概率是单边下跌行情的开端,保护本金应是此刻的第一优先级。 识破机构伪装:真正的建仓往往“悄无声息” 新手总在等“爆量”才觉得机构来了,但真正的操盘高手深谙“温和”之道。 “真正的机构建仓从来都不是突然爆量,而是小阴小阳线。” 专业解读: 机构为了在低位获取廉价筹码,会极力压制股价波动,避免引起散户注意。此时的成交量通常呈现**“地量”或“温和放量”状态,K线上表现为连续的小阴小阳线**。这种看似磨人的横盘或微涨,实则是主力在低位吸筹、筹码由散向集中的表现。当后期真正爆量时,往往已经是拉升的中段甚至是派发期了。 量价逻辑:精准识别筹码高度锁定 判断上涨能否持续,关键在于量能与股价的配合。请记住这两组进场密码: ●**拉升点识别: 缩量创新高(原文:缩量高,上涨起小)。当股价创出新高而成交量反而缩小,这在专业领域被称为“筹码高度锁定”。这意味着主力已完全控盘,只需极小的买盘就能推升股价,是爆发力极强的拉升信号**。 ●**建仓点识别: 底部大阳,回踩缩量。底部放量大阳线确立了反弹重心,随后股价出现小幅回踩,但成交量迅速萎缩,这代表抛压已经枯竭。这种形态标志着洗盘结束,是极佳的建仓点位**。 反直觉的转机:巨量大阴线后的涅槃 在普通投资者的眼里,巨量大阴线意味着“崩盘”,但在特定实战场景下,它可能孕育着巨大的机会。 当个股出现巨量大阴线后,如果走势并未连续破位,而是紧接着实现快速反包(即在短时间内收复大阴线的最高价),这在技术上被称为“诱空”。这种“先破后立”的走法,不仅清洗了不坚定的短线浮筹,更完成了盘面的深度换手。这种反常规的强力修复,往往是新一轮主升浪行情的真实起点。 总结:建立你的交易节奏感 这6条铁律构建了一个从时间分配、强弱识别到量价研判的完整实战闭环。高手盯盘,盯的是时间(确定性)、空间(强弱度)与量价(动力源)。 交易不是盲目的博弈,而是对概率的精准捕捉。只有当你识破了那些反直觉的信号,并建立起属于自己的交易节奏,你才能在这片丛林中立于不败之地。 在明天的交易日里,你是会继续随波逐流,还是尝试用这6条铁律重新审视你的自选股?
浏览107
评论0
收藏0