分类:量化与数据

站内搜索
最新 最热
第 5 篇:Pandas 进阶——时间序列与滚动计算
《Python 量化入门 50 篇》 量化与数据 2026-09-30 · 37 分钟
第 5 篇:Pandas 进阶——时间序列与滚动计算

行情数据有一种别的数据没有的「方向感」:它沿着时间一去不回头。你问「这只股票最近 20 天平均多少钱」,其实是在时间轴上开一扇 20 天宽的窗;你问「从 4 月到 6 月涨了多少」,是在轴上切一段。上一篇我们用 DataFrame 装下了 OHLCV,但当时的日期还只是一列普通标签,没发挥出时间的威力。pandas 真正的看家本领恰恰在时间序列上:把日期变成真正的「时间索引」之后,按周按月聚合、滚动窗口计算、拿昨天比今天,全都变成一行代码。

39 阅读♡ 00 评论 数据获取环境搭建
第 4 篇:Pandas 入门——Series 与 DataFrame
《Python 量化入门 50 篇》 量化与数据 2026-09-30 · 37 分钟
第 4 篇:Pandas 入门——Series 与 DataFrame

你多半用过 Excel:数据一行行排、字段一列列摆,想看某天的收盘价就顺着列名找,想算一列的平均就框住那一列拉个函数。这套「行 + 列名」的组织方式之所以流行,是因为它和人类整理信息的直觉天然合拍。量化里的数据——每天的开盘价、最高价、最低价、收盘价、成交量——恰恰就是一张典型的表格。上一篇我们认识了 NumPy 的 ndarray 和「向量化」思维:一整列数字同时开方、同时求和,一行代码搞定。但 ndarray 有个不方便的地方:它只认位置、不认名字。第 0 列是什么字段?第 100 行是哪一天?全得靠你自己记在心里。真实行情是「带名字」的:这一列叫收盘价、那一行是 2024 年 6 …

27 阅读♡ 00 评论 数据获取环境搭建
第 3 篇:NumPy 核心:ndarray 与向量化思维
《Python 量化入门 50 篇》 量化与数据 2026-09-30 · 34 分钟
第 3 篇:NumPy 核心:ndarray 与向量化思维

能用 np.array、np.zeros、np.arange、np.linspace、np.full 五种方式创建 ndarray,并说出彼此的适用场合;能读写 ndarray 的 dtype(元素类型)与 shape(形状),并解释「二维数组 = 行是股票、列是交易日」的约定

19 阅读♡ 00 评论 数据获取环境搭建
06 · 绩效评价与批量回测:从单票到全市场
《Python 本地量化系列教程》 量化与数据 2026-09-30 · 18 分钟
06 · 绩效评价与批量回测:从单票到全市场

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

24 阅读♡ 00 评论 Pythonquantstats批量回测绩效评估
05 · 事件驱动回测:RSI 策略与资金曲线
《Python 本地量化系列教程》 量化与数据 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 笔,这两个折扣都得算进去。

20 阅读♡ 00 评论 PythonRSI交易成本事件驱动回测
04 · 动量效应:过去涨的还会涨吗
《Python 本地量化系列教程》 量化与数据 2026-09-30 · 12 分钟
04 · 动量效应:过去涨的还会涨吗

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

15 阅读♡ 00 评论 Python过拟合参数敏感性动量
03 · 均值回归:当价格偏离均值之后
《Python 本地量化系列教程》 量化与数据 2026-09-30 · 13 分钟
03 · 均值回归:当价格偏离均值之后

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

23 阅读♡ 00 评论 Python均值回归布林带向量化回测
02 · 向量化回测:双均线策略
《Python 本地量化系列教程》 量化与数据 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——参数落差本身就是过拟合警告。

19 阅读♡ 00 评论 Python双均线向量化回测参数优化
01 · 数据基石:批量获取与整理 A 股历史行情
《Python 本地量化系列教程》 量化与数据 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',否则每个除权日都是一根假暴跌。

18 阅读♡ 00 评论 Pythonakshare数据清洗数据获取
🍪 隐私提示 我们仅收集提供服务所必需的信息(详见《隐私政策》),不出售、不追踪。