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()

验证方法与通过标准

运行上述代码后,检查以下四项是否全部满足:

  1. 版本信息正常输出:Python版本为3.10~3.12,pandas/numpy/matplotlib均显示具体版本号且无报错。
  2. 数据表正确生成:输出5行数据,日期从2024-01-02到2024-01-06(跳过周末),净值列数值为 [1.01, 1.00495, 1.025049, 1.03324942, 1.03014967](由收益率累乘计算得出)。
  3. 图表正常显示:Notebook内出现一条带圆点标记的折线图,横轴为日期,纵轴为净值,曲线呈先升后降趋势。
  4. 无异常输出:代码执行过程中不出现红色报错信息(如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中文乱码:本案例图表无中文标签,不受影响;后续案例如需中文,可另行配置字体。