第一章:策略开发环境搭建

做量化交易,第一件事不是写策略,而是搭环境。

我见过太多人,策略逻辑想得挺完美,结果一跑代码报错——库没装、版本冲突、路径不对。折腾半天,热情全没了。

所以这一章,咱们把地基打牢。后面30章,你只管写策略,环境问题不会再烦你。

1.1 Anaconda:量化交易者的瑞士军刀

Anaconda是什么?说白了,它是一个Python发行版,帮你把Python解释器、包管理器、常用科学计算库打包在一起。你不需要一个个去官网下载,装一个Anaconda,基本就齐活了。

为什么选Anaconda?

  • 环境隔离:每个项目可以建一个独立环境,互不干扰。我有个策略用pandas 0.25,另一个用1.3,放在不同环境里,各跑各的,不会打架。
  • conda包管理器:比pip更智能,能自动处理依赖冲突。我在项目中遇到过pip装包装到一半报错,换成conda一次搞定。
  • 预装常用库:numpy、pandas、matplotlib这些,装完Anaconda就有了,省去不少时间。

安装步骤:

  1. 打开Anaconda官网,下载对应操作系统的安装包(Windows/Mac/Linux)。
  2. 双击安装,一路默认选项就行。但注意:安装路径不要有中文,否则后面会出一些莫名其妙的错误。
  3. 安装完成后,打开终端(Windows叫Anaconda Prompt),输入 conda --version,看到版本号就说明装好了。
我的小习惯: 我会在安装时勾选「Add Anaconda to my PATH environment variable」。这样在普通命令行里也能直接用conda命令,不用每次都打开Anaconda Prompt。

1.2 Jupyter Notebook:交互式开发的利器

Jupyter Notebook是量化策略开发的标配。为什么?因为你可以一边写代码,一边看结果,还能加注释、画图表。调试策略时特别方便。

配置Jupyter:

  1. 安装完成后,终端输入 jupyter notebook,浏览器会自动打开一个页面。
  2. 如果想换个工作目录,可以先生成一个配置文件:jupyter notebook --generate-config
  3. 然后找到配置文件,修改 c.NotebookApp.notebook_dir 为你想要的路径。

嗯,这里要注意:Jupyter默认的端口是8888。如果你同时开多个项目,可以用 jupyter notebook --port 9999 指定不同端口。

避坑指南: 我曾经在Jupyter里直接安装包,结果内核崩溃了。后来养成习惯:在终端里装包,在Jupyter里写代码。装包用conda或pip,别在Notebook里用!pip install。

1.3 常用Python量化库安装

量化策略离不开几个核心库。我按使用频率排个序,你照着装就行。

库名 用途 安装命令
pandas 数据处理、时间序列分析 conda install pandas
numpy 数值计算、矩阵运算 conda install numpy
matplotlib 数据可视化、画K线图 conda install matplotlib
tushare A股数据接口(免费版够用) pip install tushare
akshare 全市场数据接口(股票、期货、基金) pip install akshare

安装注意事项:

  • pandas、numpy、matplotlib用conda装,因为conda会帮你处理好底层依赖(比如BLAS库)。
  • tushare和akshare用pip装,因为它们更新频繁,conda源可能不是最新版。
  • 装完后,在Python里 import pandas as pd 试试,不报错就说明成功了。

我的经验: 刚开始做量化时,我直接用pip装所有库。结果有一次pandas和numpy版本不兼容,回测结果全是NaN。排查了两天才发现是版本问题。从那以后,核心科学计算库一律用conda,数据接口库用pip。这个习惯我一直保持到现在。

1.4 验证环境:跑一个简单的量化示例

环境搭好了,咱们跑个简单的例子验证一下。用tushare获取贵州茅台的历史数据,画个收盘价走势图。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tushare as ts

# 获取贵州茅台历史数据
df = ts.get_k_data('600519', start='2023-01-01', end='2023-12-31')

# 计算20日均线
df['ma20'] = df['close'].rolling(window=20).mean()

# 画图
plt.figure(figsize=(12, 6))
plt.plot(df['date'], df['close'], label='收盘价')
plt.plot(df['date'], df['ma20'], label='20日均线')
plt.xticks(rotation=45)
plt.legend()
plt.title('贵州茅台 2023年走势')
plt.show()

如果能看到一张漂亮的走势图,恭喜你,环境搭建成功了!

小提示: tushare免费版每天有调用次数限制。如果频繁测试,建议注册一个tushare账号获取token,这样额度会高一些。代码里加一行 ts.set_token('你的token') 就行。

1.5 本章知识体系

为了让你更直观地理解本章内容,我画了一张结构图。它展示了从安装到验证的完整流程,以及每个环节的关键点。

策略开发环境搭建 - 知识体系 Anaconda安装 Jupyter配置 量化库安装 环境隔离 conda包管理 交互式开发 端口配置 pandas/numpy tushare/akshare 验证:跑一个量化示例 核心原则:conda装科学计算库,pip装数据接口库 环境隔离 + 版本管理 = 稳定可复现的策略开发环境 本章核心:打好地基,后面30章才能跑得稳

环境搭建这件事,看起来琐碎,但值得花时间做好。我见过太多人因为环境问题浪费大量时间,最后策略没写几行,全在折腾安装。

你按这个流程走一遍,后面写策略时就不会被环境问题打断思路。嗯,这就是所谓的「磨刀不误砍柴工」。


公众号:蓝海资料掘金营,微信deep3321