第二章 环境搭建基础:Python量化环境安装
说实话,很多新手学量化,第一步就被环境搭建劝退了。
我见过太多人,兴致勃勃想写策略,结果卡在装包上折腾一整天。其实没那么复杂,今天我就带你一步步搞定。
2.1 为什么选Python做量化?
你可能要问:市面上那么多语言,为什么量化圈都选Python?
我个人觉得,核心原因就三个:
- 生态好——numpy、pandas这些库,就是为数据分析量身定做的
- 上手快——语法简单,写策略比C++快十倍
- 社区强——你遇到的大多数坑,别人早就踩过了
我在项目中遇到过用Java写回测框架的团队,后来全转Python了。为什么?因为开发效率差太多了。
2.2 Anaconda:量化环境的一站式方案
装Python环境,我强烈建议你用Anaconda。别自己去官网下Python然后一个个装包,那是给自己找麻烦。
Anaconda是什么?
说白了,就是一个Python发行版,自带200多个常用科学计算包。你装一个Anaconda,相当于把numpy、pandas、matplotlib、scipy这些全装好了。
安装步骤
- 去Anaconda官网下载对应系统的安装包(Windows/Mac/Linux)
- 双击安装,一路默认就行
- 注意:安装时勾选"Add Anaconda to my PATH environment variable"
我曾经踩过的坑:
第一次装Anaconda时没勾选PATH,结果在命令行里打python提示找不到命令。折腾了半小时才发现是环境变量没配。嗯,这里要注意,勾上那个选项能省很多事。
验证安装
打开终端(Windows用cmd或PowerShell),输入:
conda --version
python --version
如果能看到版本号,说明装好了。
2.3 Jupyter Notebook:量化研究的交互式利器
Jupyter Notebook是量化研究的神器。你想想看,写一段代码,马上能看到结果,还能加文字说明、画图表,简直是为数据分析量身定做的。
Anaconda自带Jupyter,装完就能用。启动方式很简单:
jupyter notebook
运行后浏览器会自动打开一个页面,默认地址是 http://localhost:8888。
我的个人习惯:
我会在桌面建一个叫"quant_lab"的文件夹,专门放量化研究的notebook。然后在终端里先cd到这个目录,再启动Jupyter。这样文件管理起来特别清晰。
Jupyter常用快捷键
| 快捷键 | 功能 |
|---|---|
| Shift + Enter | 运行当前单元格并跳到下一个 |
| Ctrl + Enter | 运行当前单元格 |
| A | 在当前单元格上方插入新单元格 |
| B | 在当前单元格下方插入新单元格 |
| DD | 删除当前单元格 |
| M | 切换到Markdown模式(写说明文字) |
| Y | 切换到代码模式 |
2.4 常用量化库安装
环境搭好了,接下来装几个核心库。这些是量化研究的标配,缺一不可。
2.4.1 numpy——数值计算基础
numpy是Python科学计算的基石。它提供了多维数组对象和各种数学函数。说白了,没有numpy,pandas也跑不起来。
conda install numpy
验证:
import numpy as np
print(np.__version__)
print(np.array([1, 2, 3]))
2.4.2 pandas——数据分析利器
pandas是量化分析的核心工具。DataFrame这个概念,你以后会天天跟它打交道。股票数据、交易记录、回测结果,全用它来存。
conda install pandas
验证:
import pandas as pd
print(pd.__version__)
# 创建一个简单的DataFrame
df = pd.DataFrame({'日期': ['2024-01-01', '2024-01-02'],
'收盘价': [100.5, 101.2]})
print(df)
2.4.3 matplotlib——数据可视化
做量化研究,光看数字不够,得画图。K线图、收益率曲线、回撤图,都靠matplotlib。
conda install matplotlib
验证:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title('测试图表')
plt.show()
一个小技巧:
在Jupyter里用matplotlib画图,记得加一行魔法命令:%matplotlib inline。这样图表会直接显示在notebook里,不用弹新窗口。
2.4.4 tushare——免费A股数据接口
做量化研究,数据是第一步。tushare是国内最流行的免费A股数据接口,股票行情、财务数据、宏观经济数据都能拿。
pip install tushare
注意:tushare用pip装,不用conda。因为conda源里不一定有最新版。
验证:
import tushare as ts
print(ts.__version__)
# 获取股票基本信息
df = ts.get_stock_basics()
print(df.head())
我曾经遇到的坑:
tushare有些接口需要token(就是API密钥)。第一次用的时候我没注册,直接调接口报错了。解决办法:去tushare官网注册账号,在个人中心拿到token,然后设置:ts.set_token('你的token')。
2.5 本章知识体系
下面这张图,帮你理清整个环境搭建的逻辑:
2.6 环境验证:跑一个完整的量化示例
所有东西装好后,我们来跑一个完整的例子。这能验证你的环境是不是真的配好了。
# 导入库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tushare as ts
# 设置中文显示(防止matplotlib乱码)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 获取股票数据(以平安银行为例)
df = ts.get_k_data('000001', start='2023-01-01', end='2023-12-31')
# 计算每日收益率
df['return'] = df['close'].pct_change()
# 计算累计收益率
df['cum_return'] = (1 + df['return']).cumprod()
# 画图
plt.figure(figsize=(12, 6))
plt.plot(df['date'], df['cum_return'], label='累计收益率', color='blue')
plt.title('平安银行2023年累计收益率')
plt.xlabel('日期')
plt.ylabel('累计收益率')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
print('环境搭建成功!可以开始量化研究了。')
如果这段代码能顺利跑通,恭喜你,量化环境已经搭好了。
总结一下:
环境搭建其实就三步:装Anaconda → 启动Jupyter → 装常用库。别想得太复杂,动手做就行了。遇到问题别慌,大概率是环境变量没配好或者包没装对,网上搜一下就能解决。