资讯 · 搭配使用 阅读约 10 分钟

Python 自写策略 + 行情接口:菜谱你自己写,车是别人开的

策略是你自己写的,行情是接口送来的。两样东西凑在一起,最容易出岔子的不是代码报错,而是粒度、时间戳和代码表这三处谁也没说清楚。这篇讲自写策略与行情接口之间的三处接缝,以及怎么把它们接实。只做功能对比,不构成投资建议。

作者 枢汇安全课堂 日期 2026-11-03 阅读 19 ← 返回搭配使用
Python 自写策略 + 行情接口:菜谱你自己写,车是别人开的

小秦花了两个周末写完一段策略,回测跑通了,他挺高兴。接上行情接口的那天他傻了眼:同一段代码,算出来的信号跟他在看盘软件上看到的对不上。他查了一整晚的错,最后发现代码没错——是接口送来的那份数据,跟他脑子里想的那份不是一回事。

自己写的菜谱和送菜的那辆车,是两码事。菜谱上写清楚了先放什么、后放什么、火多大;可食材几点送到、送到的是整只还是切好的、今天有没有这一样货,全在车那一头。菜谱不看车,车也不读菜谱。 这篇要说的是:策略代码和行情接口之间,有三处接缝最容易漏,以及怎么把它们接实。先声明:不荐股、不喊单、不替你做投资决策。凡牵扯账户和钱的,一律以官方页面写的那版为准。

PART ONE

三处最容易漏的接缝

粒度、钟点、名册

一、第一处:接口送来的,是哪一种粒度

1、日线、分钟、逐笔,不是同一种货

同名的一根线,粗细可以差很远。 你要的是一分钟一根,接口送来的可能是一分钟里最后一次成交的那一笔。

2、你要的那一档,它未必备着

分钟线、分笔明细、盘口深度,不是每个接口都全给。 给不给,写在它的说明里。

3、历史能往回取多久,接口说了算

能取几年、能取到哪一天,各有各的规矩。 你以为能回测十年,实际只给三年。

这一节记一句

动手之前,先去接口说明页确认粒度、年限和字段。确认不到就换个能确认的。

这一步别踩

谁把"我们的数据全市场最全"挂在嘴边,别接话。 全不全写在说明里,不写在话里。

顺手做一件

把你实际收到的那一份数据,抽一天打印出来看一眼。 看一眼,才知道它到底长什么样。

二、第二处:那个时间戳,是按谁的钟走的

1、图表上的时间,不一定是北京时间

境外品种按交易所所在时区记,你电脑右下角按你所在时区走。 两个钟不是一个钟。

2、不开门的时候,它给不给数

非交易时段、午间休市、节假日,有的接口照发,有的接口静默。 静默的那段,你的代码得自己认出来。

3、集合竞价和盘后,算不算一根线

有人算进去,有人剔出去。 这决定了你一天拿到的根数是多是少。

拎出来的那句

时区、休市、竞价这三样,写进代码里当常量。靠脑子记,早晚出岔。

绕开这个坑

把非交易时段的那段空白当成"没行情",是常见的误判。 那可能只是接口没发。

停一下再动

发现某段时间数据不见了,先去官方页面查那天的休市安排。 别急着改代码。

三、第三处:代码表和复权,是谁的活

1、合约代码会换,也会退

期货换月、股票退市、品种改名,代码不是钉死的。 接口换不换表,得问清楚。

2、复权这活有人干,有人不干

除权除息之后的那个缺口,是把历史价格往前挪,还是把现在往后挪,两种算法出来两条曲线。 你的策略跑在哪一条上,得知道。

3、缺了那一段,它补不补

网络断一次、服务器重启一次,中间那一段会不会自己补回来。 不补的话,你的信号就少算一截。

本节要点

代码表、复权、补数三件事,先问接口方,再写自己的容错。

别信这句

说"数据我们处理好了你直接用"的,也要自己验一遍。 怎么处理是它的事,对不对是你的事。

先核实

换月、改名这些规则,去交易所和平台的官方页面查。 别拿旧表当新表用。

PART TWO

两头各管哪一段

送、算、补

四、接口这一头:它负责送到,不负责核对

1、推送和拉取,是两种节奏

推送是它想起你的时候才喊你,拉取是你想起来才去问。 两种节奏下,同一天的记录条数可以不一样。

2、断了之后,它补不补那一截

有的会补,有的只管往后。 补与不补,决定了你的历史里有没有空洞。

3、它不管你算得对不对

接口只保证把数送到你手上。 你拿它算出来什么,它一概不负责。

一句话收住

接口的长处是稳定送达。它的短处是概不核对。

这条路不通

把"数据收到了"当成"数据是对的",是这一步最常见的想岔。 收到和对,是两件事。

留个心眼

上线之前先把数据落一份原始文件。 落了才查得出后来哪一段不对。

五、策略这一头:接手之前做三件事

1、先对齐粒度

你按分钟算,就别拿日线喂它。 这一条对不上,后面全白搭。

2、再对齐钟点

时区写死,休市认得出来,竞价算不算一开始就说清。

3、最后核对名册

代码表更新了没有、有没有退市的还挂在那儿。 名册乱了,信号就打在空气上。

收拾一下

这三件事加起来花不了多久。省掉它,查错的时间往往是好几倍。

躲开这一步

把接口当黑箱用,是最容易埋雷的做法。 黑箱里那三段你没看,出了事也查不到。

先核实

真要接实盘之前,先跑一段只看不发的观察期。 别一上来就让它动手。

六、两头对齐:把三样写进代码里

1、频率写死

要一分钟就写死一分钟,别让它自己挑。 挑出来的东西你复盘时说不清。

2、时区写死

写成常量,写在配置文件里,不要散落在各处。 散落了,改一处漏一处。

3、缺数怎么办写死

是跳过、是沿用上一根、还是直接停掉,三种都得预先想好。 没想好,代码会替你随便选一个。

记住这句

对齐这件事靠的是写下来的常量,不是靠当时记得清楚。

别这么做

为了让回测好看去改数据的口径,是在给自己造假账。 口径该由品种规则定,不该由曲线定。

隔一夜

想改数据口径的时候,先隔一天再改。 当天改,多半是被当天那根线牵着走。

七、六种状况速查

你会遇上的事落在哪一层先核哪一步
信号跟图上看的对不上粒度核接口给的是哪一种线
一天少了好几根时段口径核竞价与休市算不算
半夜冒出信号时区设置核对图表与系统时区
换月之后算不出来名册过期去官方页面查新代码
回测漂亮实盘不行数据口径补上滑点与成本再算
中间空了一截补数规则查接口断线补不补
表 7-1 自写策略与行情接口对接时最容易碰上的六种状况、落在哪一层、先核哪一步的一览表
收个尾

前三行占了日常大半。把粒度、钟点、名册管住,比多写十个指标有用。

别会错意

这张表是拿来认事的,不是拿来打分排名的。两头各管一段,本就没有谁高谁低。

PART THREE

三个容易想岔的地方,和一套笨办法

先接实,再谈跑

八、三个坑

坑一:以为接口送来的就是自己想要的那种线

小秦那晚查的就是这个。代价不是少赚,是他一直以为自己在算同一件事。 对策:接上第一天,把收到的数据抽一天打出来逐条看。

坑二:时区没人管,各自按各自的钟

一台机器按北京时间算,另一台按交易所时区算,两边都对,放一起就错。 对策:时区写成常量,写进配置文件,不许散落。

坑三:回测和实盘用的不是同一份数据

回测用的是导出来的那份,实盘用的是接口推过来的那份,两份本来就可以不一样。 对策:让两边走同一条取数路径,取不到就别比。

九、真要上手,按这个顺序走

先去接口说明页确认三件事:给的是哪一种粒度、能往回取多久、非交易时段给不给数。再写死三个常量:频率、时区、缺数怎么处理。然后落一份原始数据存着,日后查错全靠它。第四步跑观察期:只看不动手,跑够一段再谈实盘。最后留退路:任何一次改动都记下日期和内容。接口只管把货送到门口,这一车货该不该收、收了往哪放,始终是你自己的事。这篇只讲两头的分工与接缝,不构成投资建议。

附表:11 项对比,一表看清

对比项自写策略这一头行情接口这一头
管的是哪一段把规则一遍遍算出来把数据一趟趟送过来
认的粒度由你自己写死由说明页写定
钟点按谁算依你设的常量依它自己那台机器
名册谁维护你要自己更新它按自己的节奏换
断线之后留空洞还是停掉补还是不补
会不会核对不会,只照着算不会,只管送到
出错的样子一直算,算错了也算静默,少发也不吭声
记录放在哪日志文件里你自己落的原始文件
改动一次的影响历史信号整片挪历史空洞补不回来
少了什么先查哪翻自己的配置文件翻接口说明与公告
办事敲哪扇门只走官方入口只走官方入口
附表 自写策略与行情接口在分工、口径、记录与容错上的 11 项对照一览
这一节要说的

两头各管一段。这张表只点出该留神的那一栏,不给谁排先后。

常见问题

不建议。接上的头几天应该只看不动手:把收到的数据抽出来逐条核对,确认粒度、时间戳和代码表都跟你想的一致。这三样对上了,策略算出来的东西才有讨论的意义。
常见原因是两边用的不是同一份数据:回测用的是导出文件,实盘用的是接口推送,粒度、复权、缺数处理都可能不同。让两者走同一条取数路径,差距才会露出来。另外手续费和滑点在回测里常常是零,实盘里都要真发生。
多半先查时区。图表上的时间按交易所所在时区记,你电脑上的时间按你所在时区走,两个钟不是一个钟。把时区写成常量后再看,别急着改策略逻辑。
先去交易所和平台的官方页面查新的合约代码,确认接口是否已更新名册。换月、改名、退市这几件事的代码规则由官方发布,不归软件管。名册核对完再谈别的。
不建议。策略本质是几行规则,历史成绩是调参数调出来的,不能当凭据。真要用,照着官方帮助文档自己写一份,写得出来的才是你真懂的;写不出来,买了也照样管不住自己的手。

菜谱归菜谱,车归车

菜谱写得再细,食材几点到、送到的是整只还是切好的,它一样都管不着。 车开得再稳,它也不知道你今天要做的是哪道菜。

要记住的就那几样:接上的头几天先核对粒度;时区写成常量别散落;原始数据落一份存着;改动记下日期。把这篇转给那个写了策略却对着回测曲线发呆的朋友,也转给总在问"接上接口是不是就能跑"的同事——多看的那一步,正是替自己挡事的那一步。三条路在这儿:

想看策略这头:代码怎么写。
想看接口这头:数据怎么取。
想看平台这头:回测怎么跑。

延伸阅读

查看全部 →

💬 用户评价 (0)

🔒 登录并成为会员后可发表评价
还没有评价 · 成为第一个评价的人吧 🎯