1) 必备 Python 基础(够用即可)
- 基本语法:函数、作用域、模块导入、列表/字典/集合、推导式
- 面向对象:
class的基本用法(用于策略/回测框架组织代码) - 文件与路径:
pathlib、读写csv/parquet - 虚拟环境与依赖:
conda/venv、pip、requirements.txt - 调试与日志:
print→logging,会用断点调试(VSCode/PyCharm)
2) 数据分析核心(量化最常用)
NumPy(数值计算)
ndarray、广播 broadcasting、布尔索引- 向量化计算(避免 Python for 循环)
- 线性代数基础:
dot、矩阵乘、协方差/相关
pandas(金融时间序列必备)
你需要熟练:
DataFrame/Series、索引(尤其是 DatetimeIndex)- 清洗:缺失值、异常值、去重、类型转换
groupby(按股票/行业分组算指标)merge/join(把价格、财务、行业、状态合并)shift/rolling/expanding(做动量、均值回归、波动率等)resample(日/周/月频转换)- MultiIndex(经常用于
date × code的面板数据) - 性能:避免逐行
apply;学会用向量化/groupby.transform
3) 统计与建模(量化“研究层”常用)
- scipy / statsmodels
- 回归(OLS)、t 检验、ADF(平稳性)、相关/协整(看策略方向)
- scikit-learn(可选但很有用)
- 标准化、线性模型、交叉验证
- 重点不是深度学习,而是:pipeline、train/test、避免数据泄漏
4) 回测实现你需要掌握的编程点(非常关键)
- 事件/时间驱动思维:每天一个 bar,更新持仓、现金、净值
- 撮合与成交假设:t 信号、t+1 成交(A股 T+1),滑点、手续费、涨跌停/停牌处理
- 组合与风控:
- 权重归一、仓位上限、单票上限
- 换手率计算与限制
- 绩效评估:
- 年化、最大回撤、夏普、信息比率、超额收益、回撤区间定位
(这些更多是“用 Python 写出来”的能力,不是某个库自动帮你解决。)
5) 数据获取与存储(A股很实用)
- HTTP/API:
requests(调用 TuShare 等) - 存储格式:
parquet(强烈推荐,速度/体积都好:pyarrow/fastparquet)hdf5(也常见)
- 数据库(资金量/数据大时再上):
- SQLite/PostgreSQL 的基本增删查改(可后置)
6) 可视化与报告
matplotlib/seaborn- 会画:净值曲线、回撤曲线、收益分布、月度收益热力图、持仓行业暴露
7) 工程化(做久了必须补)
- 代码结构:把“数据层/因子层/策略层/回测层/评估层”拆开
- 单元测试:
pytest(至少测试:收益计算、撮合规则、费用模型) - 性能优化(按需):
numba(加速循环)- 并行:
joblib/multiprocessing