- 博客(65)
- 资源 (2)
- 收藏
- 关注
原创 从零搭建你的 A 股量化系统(五十九):因子研究的 8 个步骤——每一步在改什么,跳过哪一步会错在哪(附代码与图)
S5-001 用十只股票走完了因子的三个动作:排序、分组、看下期收益差。那是一个截面上的事。真实的研究要把这些动作重复几百次,中间穿过一整条链路,才勉强谈得上结论——同一天排一次序说明不了什么,把 728 天都排一遍、把行业与市值剥掉、把样本外留出来,数字才有资格被读。这条链路是八步:数据准备、因子构造、数据预处理、中性化、单因子检验、分层回测、多因子合成、上线与监控。本篇拿六个常见因子——动量、短期反转、低换手、EP、BP、小市值——在 24 只蓝筹、728 个交易日的真实数据上把它跑完。重点不在「怎么跑
2026-10-27 20:37:30
256
原创 从零搭建你的 A 股量化系统(五十八):什么是因子?十只股票一次排序,把因子的本质讲清楚(附代码与图)
S4 的十六篇收在 IC 与 IR 上。那两把尺子量的对象叫「因子」,但整个 S4 都没给这个词下过定义——它一直以动量、价值、波动率这些具体名字出现,被当成一个不用解释的东西直接用了。S5 从这里开始。「因子」这个词在 A 股被用得很松。有人用它指 PE,有人指过去 20 日涨幅,也有人把一整套选股流程叫因子。这篇把这些用法拆开,剩下的十九篇按拆出来的类别往下走。因子不是策略,是对股票截面收益差异有预测力的可测特征,三个条件同时成立才算数:可测、有逻辑、有预测力。把一批股票按一个特征排出名次、分成高低两组
2026-10-25 17:38:40
251
原创 从零搭建你的 A 股量化系统(五十七):IC 与 IR:因子评价的两个核心指标 + 基本法则推导(附代码与图)
上篇(S4-015)用 ADF / EG 判定「两个随机游走什么时候会一起走」,把配对交易的准入条件做成了统计检验。但那套工具说的是两个特定资产之间的关系;量化选股的实战是用一个因子(动量 / 低波 / 估值 / 规模…)给全市场股票排序。因子好不好用,拿什么评?——IC(信息系数)量因子预测下期收益的能力,IR(信息比率)量这个能力的稳定性;两者再乘上预测宽度,就是主动管理领域最重要的经验公式 基本法则 IR = IC × √BR(Grinold & Kahn 1999)。本篇是 S4 收官:把因子的「预
2026-10-25 16:00:30
275
原创 从零搭建你的 A 股量化系统(五十六):协整与平稳性检验:配对交易的数学地基(附代码与图)
上篇(S4-014)把「在不确定里做最优决策」交给了 cvxpy:均值-方差组合构建是二次规划、DCP 规则校验凸性、约束随便加——A 股 4 资产的切线组合退化成 100% 沪深300,加一条 40% 单票上限后权重才长开 [0, 0.40, 0.40, 0.20]。但那套权重是单期静态的:配好就放着,默认资产之间互不相干。可现实里两个资产的价格常常一起漂——如果它们漂得「有约束」,价差就会回归,就有了不靠预测方向也能做的东西。本篇接住 S4-013 的「价格是随机游走」,把它变成能判定的统计命题:两个
2026-10-24 20:25:55
226
原创 从零搭建你的 A 股量化系统(五十五):凸优化在组合构建中的应用:cvxpy 实战(附代码与图)
上篇(S4-013)把 S4 系列反复用到的「随机性」归到一棵树下:√252 年化的根是 √T 法则、VaR 蒙特卡洛的引擎是 GBM、厚尾 ν̂=2.47 是正态假设的实证反例——随机过程给的是「不确定性」,是零假设。但一个更实际的问题还没回答:在「未来不确定」的前提下,权重到底该怎么算才算最优? 本篇就是 S4-013 结尾预告的那块——把 S4-009 手写的 scipy SLSQP 数值优化,升级为专业凸优化工具 cvxpy(建模语言 + 求解器解耦)。均值-方差组合构建本质是二次规划(QP);cv
2026-10-23 20:47:59
111
原创 从零搭建你的 A 股量化系统(五十四):随机过程入门:随机游走、布朗运动与股价模型的局限(附代码与图)
上篇(S4-012)把 EMH 与行为金融的辩论收束了:弱式 EMH 的意思是「历史价格预测不了明天」,A 股证据是 S4-008 那个不显著的自回归系数。但「预测不了」这句话背后的数学模型是什么?答案是一个大多数散户听过、却说不清的名字——随机游走。这一篇就补上这块地基。S4 系列前十二篇反复用到的「随机性」全站在同一棵树下:S4-002 的 ×√252 年化、S4-005 的 VaR 蒙特卡洛、S4-006 的厚尾。本篇把 随机游走(RW)→ 布朗运动(BM)→ 几何布朗运动(GBM) 这条从离散到连续
2026-10-23 20:27:41
241
原创 从零搭建你的 A 股量化系统(五十三):有效市场假说 vs 行为金融学:Alpha 到底从哪来
如果价格充分反映了所有可得信息,市场就是有效的。「反映」不是「正确」——价格可以因情绪偏离内在价值(泡沫),只要偏离是「基于当时可得信息的最优估计」,市场就算「有效」。有效 ≠ 合理,这是 EMH 被误读最多的地方。「所有可得信息」是一个集合——信息分三层,对应 EMH 的三个版本。
2026-10-18 19:57:00
151
原创 从零搭建你的 A 股量化系统(五十二):Fama-French 三因子与五因子:A 股版本怎么自己构建(附代码与图)
上篇(S4-010)把 CAPM 讲完了:收益只由 β 决定,可 A 股 628 日实测四个资产没一个落在证券市场线上——茅台 β=0.621 却 α=−15.00%、中证1000 β=1.263 却 α=−5.28%。那篇结尾留了一句话:SML 上那片 α,下一篇把它拆开。这一篇就是拆 α 的拆法。结论先摆出来:Fama-French 认为 CAPM 的 α 大半不是「本事」,而是「漏了规模和价值两个因子」的脏 α。 本篇用 A 股 10 只代表股亲手搭一遍 FF3:2×3 分组造出 SMB / HML,
2026-10-18 11:20:21
260
原创 从零搭建你的 A 股量化系统(五十一):CAPM 与 Beta:怎么算、有什么用、什么时候失效(附代码与图)
上篇(S4-009)把组合优化讲完了:给定 (μ, Σ) 找最优权重,切线组合样本内夏普最高,却退化成 100% 沪深300。那篇结尾留了一句话——MPT 是描述性的,它没回答「为什么某个资产该有某个期望收益」;CAPM 就是它的均衡化。先把三个词落地,后面全篇都靠它们。CAPM(资本资产定价模型)一句话说完:一个资产该赚多少,只由它对大盘的敏感度决定。β 就是这个敏感度——大盘涨 1%,它平均涨多少。α(Jensen α)是扣掉「按你的 β 你本该赚到的那份」之后,多出来或者少掉的那一截。这一篇回答那个「
2026-10-18 10:16:00
161
原创 从零搭建你的 A 股量化系统(五十):现代投资组合理论 MPT:均值-方差与有效前沿(附代码与图)
上篇(S4-008)把回归标准误拆开了:同一条茅台对沪深300的市场回归,经典 OLS 把系数 t 值虚高到 14.44,Newey-West 修正后只剩 4.90。那篇结尾留了一句话——回归给出的 β 与协方差,是组合优化的「原料」,而真正把这些原料做成菜的,是组合优化本身。这一篇就是把那道菜端上桌。结论先摆出来:MPT 的数学是对的,输入是错的。 把样本均值-协方差喂进均值-方差优化,画出来的「最优前沿」是骗人的——样本前沿系统性虚高(仿真实测平均 13.46%);而 A 股 4 资产实证里,最朴素的两
2026-10-17 16:30:16
280
原创 从零搭建你的 A 股量化系统(四十九):线性回归全解:从 OLS 到 Newey-West 稳健标准误(附代码与图)
上篇(S4-007)把单变量 t 检验拆开了:同一条收益序列,换一种分布假设、换一次检验次数,p 值就从“铁证”滑成“噪声”。那篇结尾留了一个待办——单变量检验在偏度下会失真,那么多变量回归里的标准误呢?这一篇补上这块。因子研究的核心工具不是单变量检验,而是回归:用多个因子同时解释收益,逐个检验偏回归系数。而回归系数的 t 检验 能不能信,全看分母 SE 估得准不准。结论先摆出来:A 股回归的经典 OLS 标准误是低估的——茅台市场回归里低估了 2.9 倍,把 t 从 14.44 虚高成“超级显著”,Ne
2026-10-17 16:05:47
236
原创 从零搭建你的 A 股量化系统(四十八):假设检验在因子研究中的应用:t 检验与 p-hacking 陷阱(附代码与图)
上篇(S4-006)量出了 A 股日收益的形状:偏度没有统一符号(中证 1000 −0.324、茅台 +1.232),超额峰度 5.95~9.08,student-t 自由度 ν̂ 全部落在 4 及以下。那些数字回答的是“数据长什么样”。这一篇往前走一步:长这个样子,还能不能拿它做显著性判断。 单样本 t 检验是散户做因子研究时最常用的一把尺子——某因子的日收益均值是不是显著大于 0、两个组合的收益差是不是显著。这把尺子有三个默认前提,而 A 股的实证流程通常三个都不满足。结论先摆出来:厚尾不是 t 检验的
2026-10-08 20:18:26
184
原创 从零搭建你的 A 股量化系统(四十七):A 股收益率的真实分布——厚尾、偏度、峰度实证(附代码与图)
上篇(S4-005)给「未来最坏能亏多少」配了概率门槛,可它从头到尾借用一个没被检验的前提:收益长什么样。正态参数法、蒙特卡洛、GARCH 动态 VaR 都把「形状」当成已知量直接代入;历史模拟法不假设形状,但它也没回答形状是什么。这一篇就把形状本身量出来。三个刻度量轮廓(偏度、超额峰度、Jarque-Bera),两个工具量尾巴(student-t 自由度、Hill 幂律指数),一批 A 股实测(沪深 300 / 中证 500 / 中证 1000 三个指数 + 茅台)给出结论:A 股不是正态,偏度没有统一符
2026-10-08 19:41:32
169
原创 从零搭建你的 A 股量化系统(四十六):VaR 与 CVaR——散户版风险度量实操(附代码与图)
上篇(S4-004)把「过去的风险」拆成了四块:最大回撤管亏得多深、水下曲线管套了多久、Calmar 算回撤性价比、Sortino 只罚下跌。四块拼图有个共同点——都拿历史价格算,回答的都是「曾经」。这一篇换一个问题:明天最坏能亏多少。 它不再问「过去亏了多少」,而是给未来的亏损配一个概率门槛——这就是 VaR 与 CVaR。三种算法(历史模拟 / 正态参数 / 蒙特卡洛)、一条反直觉性质(VaR 不满足次可加)、一条动态口径(接 S4-002 的 GARCH 条件波动),构成散户能落地的「事前」风险度量。
2026-10-07 20:22:08
257
原创 从零搭建你的 A 股量化系统(四十五):风险指标全家桶——最大回撤、Calmar、Sortino、水下曲线(附代码与图)
上篇(S4-003)把夏普拆成了五道关:分子用哪种年化、无风险扣不扣、频率换不换算、样本够不够长、数字是不是从一堆变体里挑出来的。算对之后还有一个问题没答——夏普只看「总波动」,它把大涨和暴跌一视同仁,也看不见「曾经亏到多深」和「套牢了多久」。这一篇就把夏普的三个盲区补上:最大回撤管「亏得多深」,水下曲线管「套多久」,Calmar 把回撤做成性价比,Sortino 只惩罚下跌。四个指标合起来,才构成一个散户真正能拿来做决定的风险视角。本篇沿用 S4-001 约定好的全系列口径,并在这一篇把风险指标的三个参数
2026-10-07 18:28:21
278
原创 从零搭建你的 A 股量化系统(四十四):夏普比率的正确用法与 3 个常见误用(附代码与图)
上篇(S4-002)把波动率拆成 HV / EWMA / GARCH 三种算法,S4 度量层的第二块砖铺好了。收益有了(S4-001)、波动有了(S4-002),把它俩相除,就得到所有策略报告里最醒目的那个数——夏普比率。夏普是散户最容易碰到、也最容易被带跑的一个指标。基金页写「夏普 1.8」,回测报告写「夏普 2.3」,同一个策略换个起止日期又能算出完全不同的数字。问题不在夏普本身,而在它的口径太多、样本太短、还能被挑选。这一篇用同一份茅台数据把三种口径下的夏普差异全部复现,看完你拿到任何「夏普 X」都会
2026-10-05 16:40:03
503
原创 从零搭建你的 A 股量化系统(四十三):波动率全解——历史波动率、EWMA、GARCH,散户需要哪个(附代码与图)
上篇(S4-001)把「收益率」掰成了简单、对数、年化三种算法,定下了 S4 全系列的收益口径:对数收益、252 日、几何年化、前复权 qfq。收益算对了,下一个问题立刻浮出来——这个收益的「抖动程度」是多少? 这就是波动率。波动率是 S4 度量层的第二块砖:夏普(S4-003)拿它当分母,最大回撤 / Calmar / Sortino(S4-004)拿它当参照,VaR(S4-005)拿它当骨架,仓位管理拿它当预算。收益告诉你「赚多少」,波动率告诉你「这个赚法有多不稳」——散户亏钱,很多时候不是买错了标的,
2026-10-05 15:50:14
256
原创 从零搭建你的 A 股量化系统(四十二):收益率的三种算法——简单、对数、年化,什么时候用哪个(附代码)
上篇(S3-015)收官了 S3 数据工程:15 篇下来,日线、复权、财务 PIT、股票池、成分股、转债、ETF、资金流八类数据全部落进本地库,取数的不确定性被逐层拆掉。数据齐了,接下来的问题是——这些价格怎么变成能算、能比、能验证的数字。这就是 S4 金融理论 要解决的事,也是从这篇开始的新专栏。S3 回答「数据怎么来」,S4 回答「数据怎么变成信号」。整条线是四层地基:本篇是 T1 的第一块砖,也是全系列的口径起点:收益率。你后面要用的波动率、夏普、最大回撤、因子 IC、组合优化,全部从「收益率序列」这
2026-10-05 15:18:11
635
原创 从零搭建你的 A 股量化系统(四十一):龙虎榜 / 北向 / 融资融券——三类「资金流」数据怎么抓、怎么落库(AkShare)(附代码)
上篇(S3-014)把 ETF 折溢价数据地基打好了,M5 特殊资产拿下两类——转债、ETF。这一篇是 M5 的收官,也是整个 S3 数据工程的收官。前面十几篇处理的都是「这东西值多少钱/什么价」:日线、复权、财务 PIT、估值、指数成分。这一篇三类数据回答的是另一个问题——谁在买卖:先把两个反常识摆出来:这一篇讲清三类数据怎么抓、怎么归一化、怎么落库,以及三个必须自己处理的坑(龙虎榜的 forward 字段污染、北向的可得性断层、两融的单位不一致)。进数据层之前先说清两件基础:这三类数据各是什么、为什么回
2026-10-04 15:53:34
407
原创 从零搭建你的 A 股量化系统(四十):ETF 数据与实时折溢价计算(AkShare)(附代码)
上篇(S3-013)把「可转债数据地基」打好了——一条 M5 特殊资产的路线:免费源拿当日快照、后缀归一化、派生指标自己算。到这儿,M5 的第一类资产(转债)齐活。接下来是 M5 的第二类:ETF。 它和转债一样是散户少有的 T+0 品种,门槛甚至更低——100 份一整手,实测一手金额中位只有 104 元,绝大多数 ETF 一手在 500 元以内。但 ETF 有一个股票根本没有的数据维度:折溢价。股票只有一个价;ETF 有两个价——二级市场的成交价,和基金净值。这两个价的差,就是折溢价,也是 ETF 策略(
2026-10-04 15:27:18
272
原创 从零搭建你的 A 股量化系统(三十九):可转债数据体系——转股价、溢价率、强赎条款怎么落库(AkShare)(附代码)
上篇(S3-012)给「数据干不干净」收了官——15 条规则把脏数据挡在入库前。到这儿,S3 的核心数据底座全部就位:日线(S3-002)、复权(S3-003)、本地库(S3-004~006)、分钟(S3-007)、财务 PIT(S3-008)、基本面(S3-009)、股票池(S3-010)、指数成分(S3-011)、质检(S3-012)。接下来进入 M5 特殊资产。 第一类是可转债——它和 ETF 一样是散户少有的 T+0 品种:10 张一整手、千元级门槛,正股暴跌还有债底垫着(债底不等于保本,第二节算细
2026-10-03 21:05:35
226
原创 从零搭建你的 A 股量化系统(三十八):数据质量校验——15 条自动检查规则
上篇(S3-011)把指数历史成分讲完了——回测要的「T 日标的清单」终于有了权威来源。到这儿,S3 的数据原料全齐了:日线(S3-002)、复权(S3-003)、本地库(S3-004~006)、分钟(S3-007)、财务 PIT(S3-008)、基本面(S3-009)、股票池(S3-010)、指数成分(S3-011)。但还有最后一道关没把:这些数据「对不对」,谁来管? 你费劲把时点对齐了(S3-008 / S3-010)、复权算对了(S3-003),可如果落库的那份数据本身是脏的,前面所有努力全白费。一个
2026-10-03 17:03:14
230
原创 从零搭建你的 A 股量化系统(三十七):指数与成分股——沪深300 / 中证500 / 中证1000 历史成分怎么拿(附代码)
上篇(S3-010)把标的时点讲透了——回测到 T 日,池里只能有 T 日真实存在且在池的标的;并用真实数据量化了幸存者偏差的代价。但 S3-010 留了一个它没回答的问题:那份「T 日真实标的清单」,到底从哪来? 它讲了「怎么筛」,没讲「名单哪来」。这一篇就填这个源头缺口:指数成分股。它是股票池快照的权威来源,也是「指数增强 / 行业轮动 / 跟着调仓」这类策略的原材料。核心问题是——你想让策略跑在沪深300 上,可 2016 年的沪深300 成分和今天根本不是同一批股票,历史上某天到底有哪些成分股,怎么
2026-10-03 16:32:00
252
原创 从零搭建你的 A 股量化系统(三十六):股票池管理——ST、退市、停牌、次新的处理规则
上篇(S3-009)把估值、行业、宏观三块基本面用 BaoStock 取齐了——一家公司“赚多少、贵不贵、是谁、水暖不暖”,你都能按时点、不偷看未来地拿到。但有一个更靠前的问题一直没回答:这些公司,当年到底在不在 A 股? 你回测里那句“全市场等权”,用的名单是「今天还在上市的股票」吗?如果是,那你已经把历史上所有退市股提前剔除了——等于提前知道谁活到了今天。这一篇拆散户回测虚高的第二大来源:幸存者偏差,以及 ST、退市、停牌、次新这四类标的的处理规则。这一篇按「先看偏差有多大 → 再定四类规则 → 最后落
2026-10-02 16:13:37
393
原创 从零搭建你的 A 股量化系统(三十五):基本面:估值 / 行业 / 宏观(BaoStock)
上篇(S3-008)我们把财务数据的 PIT 讲透了——报告期 ≠ 公告日,用错时点就是未来函数,BaoStock 的 6 个季频接口原生给 ,是零预算做严谨 PIT 的正解。到这儿,「一家公司赚多少钱」这件事,你已经能按时点、不偷看未来了。但选股光看「赚多少」不够,还得回答另外三个问题:它现在贵不贵?它属于哪个行业?大环境怎么样? 也就是估值、行业、宏观——这三块同样是基本面,而且同样能用 BaoStock 一个源、零成本拿到。这一篇按「先认识三块数据 → 再落库 → 最后怎么用」走:第二节讲估值的三个比
2026-10-02 10:36:57
597
原创 从零搭建你的 A 股量化系统(三十四):财务数据的 PIT:报告期 vs 公告日,一字之差全盘皆输
上篇(S3-007)我们换了粒度——讲清分钟线(BaoStock 近 5 年)能拿到什么、怎么存、怎么维护,也把「日线之外要不要碰」这笔账算明白了。到这儿,行情底座(日线 + 可选的分钟线)已经稳了。但行情只管价格,选股还得看基本面。这一篇开始进入 M3 基本面模块,先拆散户回测里最隐蔽、也最致命的一个虚拟高来源:财务数据的 PIT(Point-in-Time,按时间点对齐)。技术讲完,第七节再回到散户最实际的问题——这些财务指标到底该怎么用、哪几种用法最容易翻车。你回测里那个「ROE 创历史新高就买入」的
2026-10-01 19:52:39
533
原创 从零搭建你的 A 股量化系统(三十三):分钟线——BaoStock 近 5 年分钟数据取值与落库
上篇(S3-006)我们把日线库接上了增量管道——按标的、按天两条路线, 算起点、 原子追加、跨布局取全局 max 定断点。到这儿日线底座已经稳了。这一篇换个粒度:日线之上还有分钟线(5/15/30/60 分)和 Tick(逐笔),它们在免费源里的可获取性、数据形态、存储布局跟日线完全不是一回事。整篇文章回答四个问题:和 S3-006 的分工是清楚的:S3-006 讲日线每天怎么只拉增量,本篇讲换个粒度之后能拿到什么、怎么存、查起来什么姿势——前者是维护问题,后者是可行性边界 + 存储布局问题。配套脚本 (
2026-10-01 17:07:35
674
原创 从零搭建你的 A 股量化系统(三十二):自建本地行情库(三)——增量更新与断点续传
上篇(S3-005)把全 A 股 20 年日线(约 2600 万行)一次性搬进了本地库:路线 A 按天拉、落成布局 A 的按年全市场单文件、限频下限 97 分钟、四个坑(三个静默一个报错)、checkpoint 幂等、四条验收。库建完是满的,但它是静止的——往后每个交易日新出的数据,得有人接着往里补。这一篇把这条日常补货管道搭起来。日常增量只有两种形态,取决于你要维护的是哪种库:这两条路线不是“两个可选的插件”,而是调用次数和写入代价算出来的必然结果(这笔账在 §一)。所以整篇的骨架也就定了——一块地基,两
2026-09-26 20:27:52
229
原创 从零搭建你的 A 股量化系统(三十一):自建本地行情库(二)——全 A 股 20 年日线入库实战
上篇(S3-004)我们盖好了本地行情库的地基:Parquet 存、DuckDB 查, 一行到手。但库里只有一只 600519。这一篇把全 A 股 20 年(约 2600 万行)真正搬进来。整篇文章回答四个问题:配套脚本 ,离线自检 21/21 全过;所有数字来自 2026-09 本机真跑(conda / Python 3.11.15),并已逐条对照 Tushare 官方文档复核——其中限频一条,官方文档与我实测差 10 倍,后文详述。不跨源合并:本篇只存 Tushare raw 不复权价;复权因子单源定
2026-09-21 19:32:13
242
原创 从零搭建你的 A 股量化系统(三十):自建本地行情库(一)——Parquet 与 DuckDB 到底是什么
CSV 没有"类型"这个概念,而量化数据工程的一半事故,都出在"类型"和"布局"上。这一篇就干两件事:把 Parquet 和 DuckDB 这两个东西讲透——它们到底是什么、凭什么快、坑在哪——然后给我们的本地行情库把地基定下来。本篇不新取任何联网数据,消费的是前两篇已落库的产物 + 一次 BaoStock 因子补全。原理实测部分使用合成基准数据(代码池与起点价格取自真实 A 股快照,走势随机游走):本地行情库的地基只有一句话:用 Parquet 按年分区存,用 DuckDB(或 Pandas)在查询层折算
2026-09-06 20:34:23
612
原创 从零搭建你的 A 股量化系统(二十九):复权——BaoStock 复权因子与查询层实时折算
系列名:《从零搭建你的 A 股量化系统》| 专栏 S3 数据工程 | 第 3 篇 / 共 15 篇 | M1 行情底座标签:#量化投资 #复权 #BaoStock #前复权 #后复权 #复权因子 #数据工程 #Python #A股 #散户 #避坑上一篇《日线获取》我们用 Tushare 免费档把全 A 的搬回了硬盘。但 raw 价——每当年报分红季,除权日的 raw 会凭空"暴跌"一笔,你的动量/止损信号会集体误触发。。主源换成:它的复权因子接口(注:Tushare 免费档的adj_factor。
2026-09-03 19:53:28
448
原创 从零搭建你的 A 股量化系统(二十八):日线获取——Tushare 免费档批量拉全 A,AkShare 兜底
上篇《A股数据源全景对比》我们把底座定死了:三个免费源分工协作——Tushare 免费档(120 积分 = 0 元/年)批量拉全 A 日线,BaoStock 补齐复权与财务 PIT,AkShare 补龙虎榜等长尾数据。从这一篇开始,S3 进入 M1 行情底座模块。而行情底座的第一步,就是把全 A 股的日线搬回你自己的硬盘——它是后面所有回测、因子、策略共同的原材料。本篇只解决一件事:用 Tushare 免费档把日线批量拉下来,用 AkShare 做兜底,然后正确地存进本地 Parquet。日线是量化系统的地
2026-08-30 20:50:22
419
原创 从零搭建你的 A 股量化系统(二十七):A股数据源全景对比——AkShare / Tushare / BaoStock / QMT / 聚宽,散户到底该用哪个
系列名:《从零搭建你的 A 股量化系统》| 专栏 S3 数据工程 | 第 1 篇 / 共 14 篇标签:#量化投资 #数据源 #AkShare #Tushare #BaoStock #QMT #聚宽 #数据工程 #A股 #散户 #避坑专栏 S2 我们用 14 篇把工具链和工程规范(环境隔离、向量化、类型保险、单元测试)夯实了——你可以把回测引擎写得再漂亮,喂进去的是垃圾数据,跑出来的夏普 3.0 和随机数没区别。而"数据从哪来"恰恰是散户量化。
2026-08-28 21:04:24
410
原创 从零搭建你的 A 股量化系统(二十六):怎么给一个交易策略写单元测试
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 14 篇(收官篇)/ 共 14 篇标签:#量化投资 #工程实践 #单元测试 #pytest #回归测试 #Python #量化系统 #A股 #散户上篇 S2-025 我们给代码上了"类型保险"——。配套的把流水线写成了强类型、可校验的模样。配套实跑通过,mypy 对好代码。里把"买"写成"卖"、算加权均价时把加号抄成减号——这两种错,,mypy 照样Success。程序不会崩,只是钱朝相反方向跑、成本价算成一串负数。
2026-08-26 20:37:12
332
原创 从零搭建你的 A 股量化系统(二十五):用 type hints + pydantic 给量化代码上保险
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 13 篇 / 共 14 篇标签:#量化投资 #工程实践 #类型系统 #type hints #pydantic #mypy #Python #量化系统 #A股 #散户上篇 S2-024 我们把 pydantic 当"配置校验器"用——把 YAML 变成强类型对象,用防 typo、gt/le拦离谱参数、version必填做归因。配置是"外部进来的数据",天然该校验;可量化系统里"外部进来"的远不止配置——
2026-08-25 20:40:08
368
原创 从零搭建你的 A 股量化系统(二十四):配置管理与日志系统:出问题时能查得到
S2-023 的骨架里,是个样例:路径、数据源、调度、风控默认值都填好了,但它是"死的"——你读它靠拿到一个dict,之后全靠你自己记,例如"这个键叫、它应该是 0~1 之间的浮点数"。问题在于:dict不会帮你记任何事。你写成(把百分比当成了小数),Python 不会报错,策略照跑,直到三个月后回测发现"单票仓位 150%、组合爆仓"才回头查——而那时你已经分不清是参数错了还是逻辑错了。日志那边更隐蔽。它能写文件,但没有级别。
2026-08-23 20:53:20
289
原创 从零搭建你的 A 股量化系统(二十三):量化项目目录结构设计(附可直接用的模板)
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 11 篇 / 共 14 篇标签:#量化投资 #工程实践 #目录结构 #项目骨架 #Python #量化系统 #A股 #散户上篇 S2-022 我们把"代码"用 Git 管起来了——.gitignore拦住垃圾、nbstripout让 notebook 变干净、pre-commit提交即合规、用tag锁住每次回测快照。六个文件夹各自为政,里面空荡荡、。
2026-08-23 17:40:20
858
原创 从零搭建你的 A 股量化系统(二十二):Git 与量化项目:策略也要做版本控制
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 10 篇 / 共 14 篇标签:#量化投资 #Git #版本控制 #Python #Jupyter #工程实践 #nbstripout #pre-commit #A股 #散户上篇 S2-021 我们让系统每天自动跑、产出报告与心跳——src/。你有没有过这种时刻:三个月前年化 30% 的那个策略,现在死活跑不出当时的收益,翻遍文件夹也不知道那天到底改了哪一行?
2026-08-23 16:13:29
304
原创 从零搭建你的 A 股量化系统(二十一):Windows 任务计划程序:让你的策略每天自动跑
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 9 篇 / 共 14 篇标签:#量化投资 #Windows任务计划 #自动化 #Python #工程实践 #conda #uv #venv #调度 #A股 #散户上篇 S2-020 我们把研究代码提纯成了。结尾我埋了句话——“你已经有了可复现的 notebook + 干净模块,但每天收盘后还得手动点 Restart & Run All?
2026-08-23 15:36:49
360
原创 从零搭建你的 A 股量化系统(二十):Jupyter 研究工作流:把研究代码和生产代码分开
系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 8 篇 / 共 14 篇标签:#量化投资 #Jupyter #Notebook #工作流 #工程实践 #Python #可复现 #版本控制 #A股 #散户上一篇 S2-019 我们刚把净值曲线、水下回撤图、月度收益热力图做出来了——终于能用"机构级"的图给自己的策略验血。十有八九,是一个.ipynb文件里:上面import,下面读数据,中间十几格计算和画图,最后还藏着几个"上次跑过、但忘了重跑"的格子。
2026-08-23 11:36:37
377
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅