📚 合集 已完结

Python 本地量化系列教程

九本本地 Jupyter 笔记本整理成的六篇教程,按数据、策略、回测、评价的顺序走完:akshare 批量落盘、双均线向量化回测、布林通道均值回归、时间序列动量、RSI 事件驱动账户、quantstats 绩效评价与全市场批量回测。配图由本地行情重新计算生成,每个结论都带着参数和数字。

共 6 篇
1 量化与数据 2026-09-30 · 17 分钟
01 · 数据基石:批量获取与整理 A 股历史行情

用 akshare 把全市场 A 股日线拉成 5000+ 份本地 CSV(2000-01 至 2025-07):sleep(2) 限速、断点续跑、异常跳过,ST 股票名称自带星号会让 Windows 落盘报 [Errno 22],文件名统一改成 代码_名称.csv。拿到数据先查时间范围、索引是否单调、涨跌幅有没有异常值,并注意 stock_zh_a_hist 默认返回不复权价格,长期回测要用 adjust='qfq',否则每个除权日都是一根假暴跌。

阅读全文 →
2 量化与数据 2026-09-30 · 16 分钟
02 · 向量化回测:双均线策略

双均线的向量化实现:rolling 算均线、np.where 出信号、position.shift(1) 乘收益做时间对齐,10.5 万根 BTC 15 分钟 K 线十行代码跑完。short=96 / long=672 在这段区间只有 +21.9%、夏普 0.13、最大回撤 -52.5%,大幅跑输买入持有;同一套代码网格扫到 short=192 / long=336 却是 +293%、夏普 0.91——参数落差本身就是过拟合警告。

阅读全文 →
3 量化与数据 2026-09-30 · 13 分钟
03 · 均值回归:当价格偏离均值之后

布林通道式均值回归:SMA±1σ 构成上下轨,超涨开空、超跌开多、偏离度变号就平仓离场,np.where 链加 ffill 是向量化状态机的标准写法。中兴通讯日线 2020 年起,三态持仓占比 41.1% / 33.5% / 25.3%,策略 +8.6% 对买入持有 -3.5%,夏普只有 0.04;A 股融券券源有限,做空那一半实盘拿不到。

阅读全文 →
4 量化与数据 2026-09-30 · 12 分钟
04 · 动量效应:过去涨的还会涨吗

时间序列动量 sign(rolling_mean(returns, N)) 在 A 股日线单票上的窗口扫描:1、3、5、9 天全亏,7 天却有 +228.2%、夏普 0.54。峰是尖的,相邻参数天差地别,说明这个最优窗口主要是噪声。原笔记本在 NVDA 上为正、换成阴跌的中兴通讯就翻车,动量的有效性以趋势行情为前提,不是普适规律。

阅读全文 →
5 量化与数据 2026-09-30 · 15 分钟
05 · 事件驱动回测:RSI 策略与资金曲线

事件驱动回测:现金与持股两个状态变量逐日循环,含 0.1% 单边成本、零股不买、每日盯市。用 Wilder 平滑的 RSI(6) 超卖买入、回归中性清仓,跑中兴通讯 2020-01 至 2025-07:32 笔交易、胜率 71.9%、总收益 +52.1%、最大回撤 -20.1%、夏普 0.53。高胜率低盈亏比、样本只有 32 笔,这两个折扣都得算进去。

阅读全文 →
6 量化与数据 2026-09-30 · 18 分钟
06 · 绩效评价与批量回测:从单票到全市场

quantstats 一键 tear sheet 与全市场批量回测。5 日动量跑遍 5258 份本地 A 股日线(每只最近 131 个交易日、滞后执行、无成本)的分布:对数收益均值 +0.057、中位数 +0.055、为正比例 57.7%、夏普均值 0.25——第 04 篇单票 +228% 的最优窗口放到全市场立刻现出原形。附批量任务的列名标准化、异常跳过、幸存者偏差与结果落盘要点。

阅读全文 →
🍪 隐私提示 我们仅收集提供服务所必需的信息(详见《隐私政策》),不出售、不追踪。