Python 量化
Python3 学习笔记 · 整理自菜鸟教程
一句话
用 Python 抓取行情、计算指标、回测策略并自动交易,把投资决策变成可验证的代码流程。
要点
- 量化三件事:数据(行情/财务)、策略(信号规则)、执行(回测或实盘)。
- 主流库:
pandas处理时间序列,numpy数值计算,matplotlib/pyecharts画图。 - 行情数据:
akshare、tushare(A 股免费)、yfinance(美股),或券商 API。 - 回测框架:
backtrader、vectorbt、bt;A 股常用聚宽、米筐在线平台。 - 常用指标:均线(MA)、MACD、RSI、布林带、夏普比率、最大回撤。
- 实盘接口:聚宽/米筐/券商量化 API,需开通权限并注意风控。
- 回测收益不等于实盘收益,注意滑点、手续费、未来函数与幸存者偏差。
- 仅供学习研究,投资有风险,代码不构成投资建议。
语法 / 常用方法
| 库 / 概念 | 说明 | 典型用途 |
|---|---|---|
pandas |
表格与时间序列 | 行情清洗、滚动计算 |
numpy |
数值数组与向量化 | 收益率、矩阵运算 |
akshare |
免费财经数据接口 | 抓 A 股行情/财务 |
tushare |
财经数据(需 token) | 股票、基金数据 |
yfinance |
雅虎财经数据 | 美股/指数 |
backtrader |
事件驱动回测框架 | 写策略回测 |
vectorbt |
向量化高速回测 | 批量参数扫描 |
matplotlib / pyecharts |
绘图 | K 线、净值曲线 |
TA-Lib / pandas_ta |
技术指标库 | MA、MACD、RSI |
rolling().mean() |
移动平均 | 均线策略核心 |
| 夏普比率 | 收益/波动比 | 评价策略质量 |
| 最大回撤 | 峰值到谷底跌幅 | 风险控制 |
代码示例
1 | |
易错点
- 未来函数:用当天收盘价决定当天买入,现实中来不及,回测必须用前一天信号。
- 手续费与滑点不设,回测虚高;A 股还有印花税与涨跌停限制。
- 复权问题:未复权价格遇除权除息会跳空,须用前复权/后复权数据。
- 免费数据源有频率限制或非官方接口,生产勿依赖,注意接口变动。
rolling会引入前几个NaN,计算信号前要处理掉。- 回测过拟合很常见,参数越调越美不代表能赚钱,务必样本外验证。
- 量化是工程 + 金融交叉,别只看代码,先理解策略背后的市场逻辑。