2. 搭建本地量化研究环境
任务目标
在本地计算机上完成量化研究基础环境的搭建:安装Python 3.10+、Jupyter Notebook,以及pandas、numpy、matplotlib三个核心库,并通过一个简单的数据操作与可视化脚本验证环境可用性。
环境依赖
- 操作系统:Windows 10/11 / macOS 12+ / Ubuntu 20.04+
- Python版本:3.10~3.12(推荐3.11)
- 包管理器:pip(Python 3.4+自带)
安装步骤
以下命令均在终端(Windows使用CMD或PowerShell,macOS/Linux使用Terminal)中执行。
1. 安装Python
访问 python.org/downloads 下载对应系统的Python 3.11安装包。安装时务必勾选"Add Python to PATH"。macOS用户也可使用Homebrew:brew install python@3.11。Linux用户使用系统包管理器(如 sudo apt install python3.11 python3.11-venv)。
2. 创建虚拟环境(推荐)
在项目目录下执行:
python -m venv quant_env
# Windows激活:
quant_env\Scripts\activate
# macOS/Linux激活:
source quant_env/bin/activate
激活后终端提示符前会出现 (quant_env) 前缀。
3. 安装Jupyter与核心库
pip install --upgrade pip
pip install jupyter pandas numpy matplotlib
4. 启动Jupyter Notebook
jupyter notebook
浏览器将自动打开Jupyter界面(默认地址 http://localhost:8888)。
环境验证代码
在Jupyter Notebook中新建一个Python 3笔记本,将以下代码粘贴到一个单元格中并运行(快捷键 Shift+Enter):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import sys
print("Python版本:", sys.version.split()[0])
print("pandas版本:", pd.__version__)
print("numpy版本:", np.__version__)
print("matplotlib版本:", plt.matplotlib.__version__)
# 生成模拟日收益率数据(5个交易日)
dates = pd.date_range("2024-01-02", periods=5, freq="D")
returns = np.array([0.01, -0.005, 0.02, 0.008, -0.003])
# 计算累计净值
nav = (1 + returns).cumprod()
df = pd.DataFrame({"日期": dates, "日收益率": returns, "净值": nav})
print("\n数据预览:")
print(df)
# 绘制净值曲线
plt.figure(figsize=(6, 3))
plt.plot(df["日期"], df["净值"], marker="o")
plt.title("模拟净值曲线")
plt.xlabel("日期")
plt.ylabel("净值")
plt.grid(True)
plt.show()
验证方法与通过标准
运行上述代码后,检查以下四项是否全部满足:
- 版本信息正常输出:Python版本为3.10~3.12,pandas/numpy/matplotlib均显示具体版本号且无报错。
- 数据表正确生成:输出5行数据,日期从2024-01-02到2024-01-06(跳过周末),净值列数值为
[1.01, 1.00495, 1.025049, 1.03324942, 1.03014967](由收益率累乘计算得出)。 - 图表正常显示:Notebook内出现一条带圆点标记的折线图,横轴为日期,纵轴为净值,曲线呈先升后降趋势。
- 无异常输出:代码执行过程中不出现红色报错信息(如ImportError、ModuleNotFoundError)。
若第1项出现版本不匹配,请检查虚拟环境是否激活;若第2项数据值不同,请核对代码是否完整复制;若第3项无图,需确认matplotlib后端设置(在代码前添加 %matplotlib inline 重试)。
常见问题
- pip安装缓慢或超时:使用国内镜像源,如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter pandas numpy matplotlib - Jupyter无法启动:检查虚拟环境是否激活,或尝试
python -m jupyter notebook - matplotlib中文乱码:本案例图表无中文标签,不受影响;后续案例如需中文,可另行配置字体。