
交易用 Python:pandas、numpy、backtrader
Python 是量化研究的主力。学每个交易员都需要的那三个库——pandas、numpy、backtrader——各自干啥。
交互工具在翻译视图中可能无法使用。
交易用 Python:pandas、numpy、backtrader
三个库扛起零售量化 90% 的活。拿下它们,你几乎能搭、测、交易任何东西。
Python 在交易里的统治地位来自它的库生态。三个包构成几乎所有零售量化流程的骨干:numpy 管数学,pandas 管数据,backtrader(或同类)管策略。
numpy:数值引擎
numpy 给你快速的数组操作,不用 Python 循环。其他所有量化库都建在它之上。
核心概念:
- 向量化:一次操作整个数组,不是逐元素
- 广播:干净地组合不同形状的数组
- 线性代数:矩阵运算、特征值、回归求解器
10 万个 bar 的收益率序列用 numpy 算比等价的 Python 循环快约 100 倍。任何严肃回测都依赖这点。
import numpy as np
returns = np.diff(np.log(prices))
sharpe = np.mean(returns) / np.std(returns) * np.sqrt(252)
pandas:数据整理器
pandas 加上有标签、时间索引的数据——正是 OHLCV bar 的样子。它是清洗、对齐、转换市场数据的主力。
核心模式:
- DataFrame:以时间戳为索引的二维表
- 重采样:1 分钟 bar 转 5 分钟,日转周
- 滚动窗口:均线、滚动 σ
- Groupby:按品种或按天聚合
- 重索引:把两个资产对齐到共同时间线
import pandas as pd
df['sma'] = df['close'].rolling(50).mean()
df['vol'] = df['close'].pct_change().rolling(20).std()
量化研究 90% 的时间在 pandas 里——把数据弄干净到数学有意义。
backtrader:策略测试器
backtrader 是个 Python 框架,回测事件驱动策略。它处理订单模拟、经纪商建模、佣金、滑点、多资产组合。
典型策略结构:
class SmaCross(bt.Strategy):
params = (('fast', 20), ('slow', 50))
def __init__(self):
self.fast = bt.ind.SMA(self.data.close, self.p.fast)
self.slow = bt.ind.SMA(self.data.close, self.p.slow)
self.cross = bt.ind.CrossOver(self.fast, self.slow)
def next(self):
if self.cross > 0:
self.buy()
elif self.cross < 0:
self.close()
backtrader 逼你用事件驱动思路想——bar 一根根来会怎样——比向量化回测更接近实盘。
backtrader 的替代品
- vectorbt:向量化,极快,参数扫参绝佳
- Backtesting.py:极简,简单策略清爽
- Zipline / Zipline-Reloaded:Quantopian 的老引擎,因子研究还在用
- QuantConnect Lean:云端,多资产,生产级
现实流程
- 把数据拉进 pandas DataFrame,清洗(时区、缺口、拆分)
- 用 pandas rolling/groupby 造特征
- 用 numpy 测信号逻辑
- 在 backtrader 里搭策略,带现实佣金
- 跑 walk-forward 和样本外测试
- 连经纪商 API(加密货币用 ccxt,股票用经纪商 SDK)
小结
numpy 快速算数学,pandas 处理数据,backtrader 模拟交易。三者合起来覆盖完整量化研究闭环。拿下这三个,零售交易员想搭的几乎任何策略都能原型化、测试、打磨。
实时行情
打开完整图表 →相关市场数据由 TradingView 提供。
我的笔记
登录后可在本文保存笔记并与社区分享。
下一篇推荐
Quant Research Workflow: Jupyter Notebooks and Feature Engineering
A repeatable quant research workflow using Jupyter notebooks covers feature engineering, validation, and notebook hygiene that produces deployable signals.
阅读更多 →Smart Recommendations