自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 收藏
  • 关注

原创 量化因子版本化管理与回测可复现

一、你的回测「可复现」吗?大概率不行做量化的人几乎都踩过这个坑:三个月前跑出来年化 30% 的因子,今天原样重跑,净值曲线却对不上。你翻遍代码,找不到哪里改了——但结果就是不一样。windowwindow-1data.pkl这三个变动单独看都小,叠加起来就是「同代码不同结果」。社区里 DVC、MLflow、Pachyderm 做数据/模型版本化,Jupyter 的nbstripout。本篇给你一套轻量、可直接落地的方案——

2026-11-07 15:14:18 342

原创 量化回测数据管道可观测性进阶

一、回测「跑通了」不等于「可信」,你根本看不见它回测脚本能跑完、能画出净值曲线,不等于数据管道是健康的。这类问题不会让程序报错,只会让结果「看起来还行」。可观测性的本质,就是给数据管道装上仪表盘和报警灯,让它「不健康」时自己喊出来。社区里 Great Expectations 做数据断言、dbt 做数据测试、Prometheus + Alertmanager 做指标告警,都是同一件事的不同形态。,全部用零 SDK 纯 HTTP 接口,证书即取即用。

2026-11-07 10:21:11 224

原创 量化因子计算与行情数据工程化解耦进阶

一、因子和取数耦合,改一次数据源要重写半套策略很多量化新手把「算因子」和「拉数据」写在一起:打开文件、请求接口、解析 JSON、算指标,全塞在一个脚本里。短期能跑,长期是债。600519momentumvolatilityrsi社区里 Zipline 用DataPortal把数据访问收口、因子写成无状态函数;RQAlpha 用data_api抽象 + 因子装饰器缓存;backtrader 把feed和strategy完全分离。,全部用零 SDK 纯 HTTP 接口,证书即取即用。

2026-11-06 09:54:49 187

原创 量化因子计算与行情数据工程化解耦进阶

一、因子和取数耦合,改一次数据源要重写半套策略很多量化新手把「算因子」和「拉数据」写在一起:打开文件、请求接口、解析 JSON、算指标,全塞在一个脚本里。短期能跑,长期是债。600519momentumvolatilityrsi社区里 Zipline 用DataPortal把数据访问收口、因子写成无状态函数;RQAlpha 用data_api抽象 + 因子装饰器缓存;backtrader 把feed和strategy完全分离。,全部用零 SDK 纯 HTTP 接口,证书即取即用。

2026-11-05 11:43:51 296

原创 量化实时订阅与历史回放口径对齐进阶

一、回测很美,实盘很丑,根子在「口径」回测和实盘结果对不上,90% 的原因不是策略,是。历史 Bar 给你的是(收盘、前收、成交额……),实时快照给你的是(最新价、昨收、涨跌幅%、振幅%、成交额……)。字段名不一样、单位不一样:历史的pc是前收,实时的pc是涨跌幅百分比。如果你在回测和实盘里各写一套取值逻辑,两边算出来的「涨跌幅」「振幅」就会差之毫厘、信号谬以千里。更进一步:长回测跑一半崩了,从头再跑一遍几小时;或者想复现三个月前某次回测,发现数据已经对不上了。

2026-11-04 20:58:28 224

原创 量化多周期数据对齐统一时间轴进阶

同一个print("处于月线多头的日线根数 =", int(mon_align.sum()))实测:本批演示样本处于震荡下行段,月线多头闸门命中 0 根(属样本窗口现象,正式证书拉完整周期即可看到闸门正常生效)。print(f"50 根日线 ->len。

2026-11-03 10:40:29 269

原创 量化行情数据限频与退避工程化封装

我们把它封装成一个客户端,让业务代码完全感知不到限流的存在。

2026-11-02 17:50:29 682

原创 量化回测可复现流水线CI化

前一篇讲了如何用 1 分钟线本地合成任意周期 K 线;我们把它工程化进 CI,用三道门禁自动卡点。

2026-11-02 10:58:27 612

原创 python量化自定义周期 K 线合成

Tushare 的 1/5/15/30/60 分钟线要 2000+ 积分、且每月再付 ¥1000;AKShare 的分钟线又常出现「时间乱码、价格跳变、老断连」(优快云 文库问答原文)。与其为某个特定周期反复氪金、或在坑里打转,不如换个思路——。。

2026-11-01 09:23:28 290

原创 量化数据本地缓存与冷启动工程

很多量化新手把数据源接上之后,第一反应是「直接每次请求」。本期我们从工程视角,把「缓存」这件事讲透:为什么要建、要防哪三种灾难、怎么用不到一百行代码在魔码行情接口之上搭一层轻量缓存,以及冷启动当天如何不卡顿。

2026-10-31 10:30:06 129

原创 python量化复权口径统一与跨源差异检测

上一讲我们把回测数据管道装上了可拦截门禁;这一讲解决另一个被无数人问烂了的问题——为什么同花顺、东方财富、Tushare 上同一只票的价格差好几个点?前复权、后复权、不复权到底差在哪?

2026-10-30 11:26:11 25

原创 量化回测数据管道可观测性

前几讲我们分别做好了基线指纹、多源对账、新鲜度 SLA、可观测性看板、特征存储。但单点工具各自为政——你永远不知道"回测为什么这次和上次不一样"。本讲把它们串成一条可拦截的流水线门禁,让任何一次回测产物在进策略之前先过五道探针。

2026-10-29 20:51:58 869

原创 python量化特征存储 Feature Store 工程化

系列定位:把量化工程里那些"踩过坑才知道"的能力,拆成可复制、可落地的纯 HTTP 实现。魔码行情接口零 SDK、纯 GET,复制即用。

2026-10-29 11:02:11 134

原创 量化行情数据可观测性 Dashboard

系列定位:把量化工程里那些"踩过坑才知道"的能力,拆成可复制、可落地的纯 HTTP 实现。魔码行情接口零 SDK、纯 GET,复制即用。

2026-10-28 10:54:49 99

原创 量化行情API客户端熔断与优雅降级

上篇我们解决了「历史数据怎么全量落地」。我们用一个标准的 Circuit Breaker(熔断器)模式裹住行情接口,做到「故障不扩散、降级有兜底」。

2026-10-27 13:03:55 155

原创 python量化批量历史数据全量导出与断点续传工程

本文聚焦一个被很多量化团队低估、却决定回测能不能「跑得动、跑得全」的环节:把全市场 N 只标的、多年历史 K 线一次性、可恢复、不重复地落进自己的数据库。我们沿用「零 SDK、纯 HTTP」的接入风格,给出一套可直接复用的 Backfill Pipeline,并附本地真实跑通的自验结果。

2026-10-26 15:35:25 448

原创 python量化:实时行情WebSocket断线重连状态机

状态机最怕"状态满天飞"。我们把转移收敛成几条明确规则:建连成功 → CONNECTED;心跳超时或收到断开信号 → RECONNECTING →(退避后)CONNECTING → CONNECTED;连续失败太多 → SUSPENDED。self.attempt = 0 # 成功即清零连续失败计数注意里把attempt清零——这是"连续失败次数"的语义:只要连上一次,计数归零,退避重新从最小间隔开始。这是防止"偶尔抖一下就被惩罚到最长退避"的关键。

2026-10-26 10:44:31 273

原创 python量化实操:冷热分层存储

访问频率随数据"年龄"急剧下降。今天在交易的标的、最近 60 个交易日的 K 线,被反复读取;三年前的日线,只在年度回测里偶尔扫一遍。如果一刀切全放内存,是浪费;全放磁盘,是慢。层级介质访问速度容量典型内容失效策略L1 热内存 dict微秒级小(百级标的)当前交易中标的的近期数据LRU 淘汰 + TTL 短过期L2 温本地 SQLite毫秒级中(万级标的)近期被访问过的数据TTL 中过期L3 冷压缩文件/对象存储十毫秒级大(全市场全历史)长期归档。

2026-10-25 10:09:26 220

原创 python量化实操:回测数据缓存与重放

一、代码一行没动,回测结果怎么偷偷变了?这是量化团队最隐蔽、也最致命的一类事故。你有完整的策略代码、参数、回测区间,半年前跑出一条漂亮的净值曲线;半年后云上定时任务重新跑一次,曲线面目全非。你反复 diff 提交记录——什么都没变。问题出在哪?。——请求参数固化、原始响应落盘、归一化结果哈希、重叠区间复现检查。本篇就把这套方法论落成可运行的代码:内容寻址缓存 + 失效规则 + 确定性重放。本文是 #57(本地落库与增量更新)、#65(可复现流水线)、#73(as-of 时点回溯)的承上启下。

2026-10-24 18:01:44 209

原创 python量化实操:多源数据一致性校验进阶

一、你以为"两表 join 比差值"就完事了?做量化的同学大多写过这样的对账脚本:把 A 源和 B 源按股票代码对齐,逐字段算abs(a-b),超过一个固定阈值就报警。简单、直观,但一上规模就露怯。优快云 / BigQuant 上反复被提到的真实困境是——。volumeopen0.01低调大师那篇《回测收益很好,实盘却对不上?》点得很透:他最终不是改策略,而是先统一数据获取层、再做一致性检查。本篇就把这个"一致性检查"从"固定阈值比对"升级成(按字段自身量纲推导)+(抓跨字段矛盾)。

2026-10-24 11:02:22 305

原创 [python量化实操]回测数据管道可观测性:metrics+日志+trace+质量门禁

数据时间与涨跌幅自洽字段),所以 RTT、schema 校验、涨跌幅对账、新鲜度都是真实值;用 metrics + 日志 + trace + 质量门禁把"数据坏没坏、坏在哪、影响谁"变成可观测、可告警、可降级。对应到前面搭的回测数据底座(基线指纹、多源对账、新鲜度 SLA、版本化),它们各自能挡一种坏;本篇重点在第三层,并用第一/二层的信号(延迟、行数)给它配齐。写进了服务表,下游所有检查都"通过",因为技术上下游确实跑成功了。:行数、分布、新鲜度、schema 漂移、业务规则校验。挡住前视重写,本篇的。

2026-10-23 17:34:24 514

原创 (python量化)双时间轴与as-of时点回溯:让回测不再偷看未来修订值

注意:演示证书返回的日线历史是固定样本(约 2025 下半年 50 行),所以"不复权收盘价"取自这个样本,作为可复现的真实口径;回测一旦读到这些修订值,就等于考试时偷看了答案——而且这些修订偏偏集中在"出事的公司"身上(重述往往源于真的财务问题),偏差不是随机噪声,而是。(模拟数据商漏记一次分红、数月后补记),用于演示 as-of 偏差机制——这层是教学用的最小仿真,非真实分红数据。写错、把当天收盘价当信号。问题在于:一份"当前最优值(best available)"的历史表,会在你不知情的情况下,把。

2026-10-23 11:05:43 674

原创 python量化实操:多源数据血缘与溯源进阶

这与 #67 的 trace 反查(“这条数据从哪来”)方向相反——这里回答的是"这个源坏了,会连累谁"。本篇把血缘从"可视化图谱"升级为"事故处置武器":影响面分析定位重算清单、版本化 diff 盯住 schema 演进、多源合并记录主备归属、消费审计闭环到模型风险。主源与备源切换、多源冗余是抗单点失效的标配,但对账后的统一结果,血缘必须记录"此刻用的是主源还是备源",否则回溯时一头雾水。本篇在 #67 基础上,补上四个进阶能力,让血缘从"看得见的图"变成"处置事故的武器"。可事故处置需要"反向"的。

2026-10-22 10:49:59 351

原创 python量化实操:行情数据延迟 SLA 与抖动监控

一套股票行情 API 如果只返回"接收时间"(Receive Time),不透出交易所撮合产生的"事件时间"(Event Time),你就无法区分"价格差异来自传输延迟"还是"市场正常波动"。当 Tick 序列出现无过渡的大幅跳价,大概率是报文丢包,返回的"连续行情"是服务商后端补齐生成的伪连续序列,它会破坏成交时序。:RTT 看服务压力,Staleness 看数据新不新,抖动分位看链路稳不稳,三件套合起来才能挡住"数据已坏而不知"的事故。做量化的人,常常把"数据能不能拿到"当成唯一指标。

2026-10-21 13:12:13 81

原创 量化API实操:多源数据契约测试平台

你有没有遇到过这种事:因子回测某天突然整体偏移,查了半天,最后发现是某家行情供应商在你看不见的地方把一只股票的复权口径悄悄改了,而你代码里还老老实实按旧口径在算。。本文要给你的,是一套:用Contract把 schema / 值域 / 新鲜度编码成可机检规则,用每次拉数顺手跑,用按容差分档做跨源对账,gate=FAIL 时直接卡住 CI。全部基于魔码零客户端依赖纯 HTTP 接入,代码已本地真实运行。

2026-10-20 16:34:30 442

原创 量化API实操:回测环境 pinned 与容器化复现

全部基于魔码零客户端依赖纯 HTTP 接入,代码已本地真实运行。说明:本文代码全部基于魔码行情 API 零客户端依赖纯 HTTP 接入(无需任何 SDK),演示证书即可跑通。代码已本地真实运行,运行结果见各节末尾。本文是 #64《行情数据版本化与 as-of 时点回溯》的姊妹篇——#64 解决"数据怎么冻结成不可变快照",本篇解决"代码与环境怎么和数据快照绑在一起,让三年后的人能逐字节复现"。

2026-10-20 10:08:10 322

原创 量化玩家行情Schema演进与向后兼容进阶

你一定见过这种崩溃:某天早上脚本照常跑,突然抛一堆。你点进去一看,上游把列名从成交量改成了成交量(手)。改一行df['成交量']→好像好了,结果下游又把close换成了收盘。掘金上一篇文章《从零搭建 A 股量化数据管道》把这类问题直命名为「字段漂移(AkShare 高发)」,解法只有一句"用位置/多别名兜底,别硬编码列名"——但真要做,绝大多数人还是硬编码,因为兜底层得自己写。更狠的是破坏性迁移。优快云 上一篇《Tushare 旧版接口停用预警》说,→pro.daily不是升级,是。

2026-10-19 17:38:12 457

原创 python量化:多源数据血缘与溯源

你有没有过这种时刻:一份回测净值曲线交上去,老板扫了一眼问「这收益是用的哪个版本的数据?复权是按哪天的因子算的?」——你翻了三页代码、两个 Excel、一个手改过的 CSV,最后只能回一句「应该是……上个月的吧」。不是你记性差,是那条「原始行情 → 复权调整 → 选股过滤 → 因子计算 → 权重 → 净值」的链路,从头到尾没留任何痕迹。这种事在行业里不是个例,而是公认的运维噩梦。

2026-10-19 09:07:40 658

原创 python量化定时归档工程化

你有没有在半夜被报警叫醒过:定时归档任务跑完了,第二天才发现某只票少了一周数据,或者同一只票同一天出现了两行——因为停牌股的成交量、复权因子在收盘后被供应商悄悄修正过,而你的脚本用的是append不是upsert,新旧数据打架了。优快云 / 掘金上大量 Tushare 落库教程都踩过同一批坑:增量更新靠查本地最新日再补增量,但「增量拉完必须覆盖旧数据,否则复权因子修正会重复或冲突」几乎没人讲清楚;复权因子要本地乘(× 未复权价)、代码格式.SZ/.SH要转换、限流要、失败重试 3 次写。

2026-10-18 14:26:33 213

原创 量化回测可复现流水线编排

你有没有过这种经历:半年前写的一份回测,Sharpe 1.7 漂漂亮亮进了汇报;半年后老板让你「重跑一遍对一下实盘」,你翻出旧脚本——发现喂它的数据表早被供应商重述了、三个 Python 包发了 breaking 更新、还有一步手动筛选是当时在表格里手点的,谁都没留。结果那个 1.7 怎么都复现不出来。不是近似复现带个 caveat,是 literally 复现不出来。这不是你一个人的问题。

2026-10-17 19:24:55 230

原创 python量化:行情数据回溯

很多策略回测画出来是一条漂亮的 upward 曲线,一上实盘就原形毕露。。举个例子:某股票在 6 月复权因子被交易所修正,你的数据商在 8 月把历史全部回填成修正后的值。于是你 1 月跑回测时,用的是 8 月才存在的"未来修正值"——回测在不知不觉中"偷看了答案"。这种偏差叫,它不会报错,只会让你的 alpha 看起来比真实可复现的高出一截。本文给你一套的工程方案:给每次拉取的数据打版本(vintage),再按"回测当日"精确取回当时已经可得的数据。

2026-10-17 11:15:15 276

原创 数据新鲜度 SLA 监控

你有没有遇到过这种事:策略在盘中突然用着"十五分钟前的旧价"平仓,回测里稳如老狗,实盘却莫名回撤;或者夜里定时任务跑完,第二天才发现拉到的日线是前天的——节假日没对齐,断了一整天。接口返回 200、字段齐全,看起来一切正常,但数据其实已经"假活"了。这类问题很少出现在"连不上"的时候,反而藏在"连上了但旧了"的缝隙里。本文要给你的,是一套可以直接落地的:用行情 API 的实时快照时间戳和历史补齐缺口,把"数据到底新不新"变成可量化、可告警、可日报的指标。

2026-10-16 19:01:11 299

原创 python量化:多源对账自动化

没有哪个数据源是永远对的。海外量化团队的一条铁律是:同一份数据至少要从两个独立来源各拉一遍,凡是超出容差的差异都人工排查,而不是默认信任某一个 feed。可惜很多个人和中小团队只有一个数据源,数据错了也只有等回测曲线崩了、持仓算错了才后知后觉——而那时候代价已经很大。本文用纯 HTTP 接口,搭一个轻量对账引擎,把行情差异在进回测之前就挡下来。

2026-10-16 11:18:52 237

原创 懂代码做量化:行情快照回归测试

你有没有过这种经历:策略代码一行没动,过两周重跑一次回测,净值曲线却悄悄挪了几个点;或者换了台机器、重新拉了一遍数据,结果和上次对不上。第一反应往往是「模型是不是过拟合了」「参数要不要调」,但火山引擎社区一篇讲自动化回测的文章说得很直白:先检查你的行情数据输入有没有 SHA256 留痕。问题大概率不在策略,在输入。

2026-10-15 11:26:43 246

原创 懂代码做量化:行情质量门禁进阶

行情质量门禁进阶:从六道校验到自动评分与 fail-closed一、为什么数据质量值得单独写一篇「进阶」做量化的人都听过一句话:回测里赚的钱,上线不一定赚;但很少有人追问——你的回测,到底喂的是「干净数据」还是「看起来没报错的数据」?。你写,就算中间悄悄缺了一行、或者某根 K 线的high比close还低,Pandas 照样算、照样出图、照样给出一条漂亮的净值曲线。等到真金白银上线才发现,那条曲线是建立在有问题的数据之上的。

2026-10-14 16:27:12 293

原创 量化新手误区:因子计算与行情数据的工程化解耦

因子计算与行情数据的工程化解耦:让因子不再被数据源绑架。

2026-10-14 09:52:15 603

原创 python量化实战:多进程批量拉数调度器

多进程批量拉数调度器:配额友好的并发工程上期我们解决了「数据怎么落库、怎么增量补齐」。。这一期就来解决「批量拉数」的工程化问题。目标很明确:用有限的证书配额(次/分钟),在最短时间内把成百上千只标的的实时行情拉回来,同时做到——不触发限流、遇错自动退避、单只失败不影响整体。整套调度器只用纯 HTTP GET + 标准库(线程池 + 令牌桶 + 指数退避),零第三方调度框架,代码已经本地跑通,真实运行结果见下文,可直接复制使用。

2026-10-13 16:24:20 618

原创 Python量化,行情数据本地落库与增量更新进阶

做量化的人,迟早都会遇到同一个问题:行情数据到底要不要落库?很多新手的做法是「每次跑策略都现拉接口」。短期没问题,一旦进入回测调参、因子挖掘、多标的扫描的阶段,这个习惯会立刻反噬——接口被反复调用,配额(按次计费的证书额度)肉眼可见地往下掉,网络稍微抖一下整个流程就断;更糟的是,不同数据源字段命名还不一致(有的叫「收盘」、有的叫close),代码里到处是if分支,越改越乱。本文要解决的,就是「把行情数据稳稳落到本地、并且只增量补齐新增部分」这件事。

2026-10-13 10:03:39 132

原创 量化行情数据,把 API 调用次数砍到最低

做过量化的都懂一个痛:回测跑一次要拉一遍历史,参数寻优跑一千次就要拉一千遍;日内策略每次重算信号都去刷实时接口——。社区里关于"行情 API 防限流二次封装"的讨论常年高居榜首,核心就一句话:把重复请求挡在本地。本文用行情 API 的真实接口,手搓一个轻量缓存层:TTL 过期才回源、本分钟预算用尽就降级返回旧值。回测反复跑、参数反复寻优时,把 API 调用次数砍到最低。

2026-10-12 16:57:06 242

原创 量化策略优化思路:日线重采样与多周期聚合工程

多周期策略(周线择时 + 日线进出、月线仓位 + 日线执行)几乎是每个量化团队的标配。但很多人在把日线resample。本文用行情 API 的真实日线数据,把"正确聚合"和"复权陷阱"一次讲清。

2026-10-12 11:08:03 511

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除