⚠ 交易存在重大亏损风险。本网站的所有内容仅供教育用途,不构成财务建议。
第 1 课,共 13 课 · 免费

搭建研究环境:Python、虚拟环境、Jupyter 与 VS Code

安装 Python,创建一个隔离的项目环境,添加 pandas、numpy 和 matplotlib,并在笔记本中完成你的第一次计算。

作者: Moustafa Hijazi内容审核日期: 2026-10-30阅读约 8 分钟自学课程

你将学到什么

  • 2026 年应安装哪个 Python 版本,以及为什么“比最新版落后一个版本”通常是更稳妥的选择。
  • 如何创建虚拟环境,让每个交易项目都拥有自己的一套可复现的软件包。
  • 如何安装 pandas、numpy、matplotlib 和 Jupyter,以及如何在 requirements.txt 文件中锁定版本。
  • 如何组织研究文件夹,使数据、笔记本和可复用代码不会混在一起。

讲解

Python 是一种通用编程语言,凭借其数据库生态,它已成为金融量化研究的标准工具。课程《系统化交易与回测》在电子表格中测试了一条规则;本课程则把同样的思路搬到代码中。

选哪个版本?截至 2026 年末,最新的 Python 系列是 3.15,而 pandas 3.0(2026 年 1 月发布)要求 Python 3.11 或更高版本。一条实用规则:安装至少已发布几个月的最新版本,因为全新发布的版本有时还缺少科学计算库的预编译包(“wheels”)。请务必查看当前的下载页面;在 Windows 上安装时请勾选“Add python to PATH”。在终端中用 python --version 验证(在 macOS 和 Linux 上你可能需要使用 python3)。

虚拟环境。虚拟环境(venv)是一个私有文件夹,为某一个项目保存它自己的一套 Python 软件包。没有它,为项目 A 升级 pandas 可能会在不知不觉中破坏项目 B。内置模块即可创建一个:

python -m venv .venv

用 .venv\Scripts\activate(Windows)或 source .venv/bin/activate(macOS/Linux)激活它。之后命令提示符会显示 (.venv),从此 pip 只会安装到这个文件夹中。pip 是 Python 的软件包安装工具;PyPI(Python Package Index,Python 软件包索引)是它下载软件包的公共仓库。

核心库。numpy 提供快速的数值数组;pandas 在 numpy 之上构建带标签的表格(DataFrame),是本课程的主力工具;matplotlib 用于绘制图表;Jupyter 提供笔记本,即把代码、输出和说明混合在一起的文档。一行命令即可全部安装:

pip install pandas numpy matplotlib jupyterlab pyarrow

pyarrow 软件包是可选的,但 pandas 团队推荐安装,因为 pandas 3.0 用它来实现新的默认字符串类型并加快文件读取。

可复现性。安装完成后,运行 pip freeze > requirements.txt。该文件会列出确切的版本,例如 pandas==3.0.1。以后运行 pip install -r requirements.txt 即可重建完全相同的环境,这样今天的回测将来也能得出同样的数字;无法复现的结果就不算结果。

笔记本还是脚本?Jupyter 笔记本(用 jupyter lab 启动)非常适合探索,因为每个单元格都可单独运行并显示其输出。VS Code(Visual Studio Code,一款免费编辑器)可以打开同样的 .ipynb 笔记本和普通的 .py 脚本,提供调试器,并在你输入时提示错误。请在 VS Code 中选择 .venv 内的解释器,否则即使你已经安装了 pandas,导入时也会报错“No module named pandas”。

一种可扩展的文件夹结构:

  • data/raw/ 存放下载后从不手动编辑的文件,data/processed/ 存放清洗后的版本。
  • notebooks/ 存放用于探索的笔记本,并按编号命名(01_load.ipynb、02_returns.ipynb)。
  • src/ 存放可复用的函数(指标、绩效指标),tests/ 存放你将在第 9 课编写的单元测试。
  • requirements.txt,以及一个 .gitignore,用于排除 .venv/、大型数据文件和任何保存 API 密钥的文件。

实例演算

假设示例:笔记本中的第一个单元格,用来替代你在课程《风险与交易管理》中可能手工完成过的仓位规模计算。假设条件:账户 €10,000,每笔交易风险 1%,入场价 €50.00,止损价 €47.00。不计手续费、点差和滑点。

account = 10_000

risk_pct = 0.01

entry, stop = 50.0, 47.0

risk_eur = account * risk_pct

per_share = entry - stop

shares = int(risk_eur // per_share)

print(shares, shares * entry, shares * per_share)

逐步计算:以欧元计的风险 = 10,000 × 0.01 = €100。每股风险 = 50 − 47 = €3。股数 = 100 ÷ 3 = 33.3,整除运算符 // 向下取整为 33(向上取整会超出风险预算)。仓位价值 = 33 × €50 = €1,650。实际计划风险 = 33 × €3 = €99。输出为 33 1650.0 99.0。

10_000 中的下划线只是为了便于阅读。另外,计划风险并不等于最大亏损:价格跳空越过止损位时,亏损可能超过 €99。

常见错误

把所有东西都装到全局环境初学者常常在没有激活环境的情况下运行 pip install,有时还使用管理员权限。几个月后,两个项目需要不同的 pandas 版本,一次升级就会破坏旧的笔记本,而且没人知道去年的回测是用哪些版本跑出来的。请为每个项目创建一个 .venv,提交 requirements.txt,并且永远不要安装到系统自带的 Python 中。

练习活动

在纸上写出完成以下操作所需的准确终端命令序列:创建一个名为 momentum_research 的项目文件夹,在其中创建并激活虚拟环境,安装 pandas、numpy、matplotlib 和 JupyterLab,保存版本信息,然后启动 JupyterLab。接着说明如果安装成功,python -c "import pandas; print(pandas.__version__)" 应该输出什么。

显示答案
  1. mkdir momentum_research,然后 cd momentum_research
  2. python -m venv .venv
  3. source .venv/bin/activate(macOS/Linux)或 .venv\Scripts\activate(Windows)
  4. pip install pandas numpy matplotlib jupyterlab
  5. pip freeze > requirements.txt
  6. jupyter lab

检查命令会输出一个版本字符串,例如 3.0.1(具体数字取决于你安装时的最新发布版本)。

局限性:公司笔记本电脑和某些 Linux 发行版会限制安装路径;如果找不到 python,请使用 python3 或安装程序显示的完整路径。

要点回顾

  • 使用较新但不是刚刚发布的 Python 3 版本;pandas 3.0 需要 Python 3.11 或更高版本。
  • 每个项目一个虚拟环境,再加上锁定版本的 requirements.txt,可以让每次回测都可复现。
  • pandas、numpy、matplotlib 和 Jupyter 是本课程依赖的四个工具;VS Code 把笔记本和脚本连接在一起。
  • 从第一天起就把原始数据、处理后的数据、笔记本和可复用代码分开存放。

下一步

第 2 课介绍在接触 pandas 之前你需要掌握的少量核心 Python 知识:数据类型、列表、字典、循环、函数,以及如何阅读错误信息。

自测

回答问题后核对答案。你可以随意重试多次。

1. 为什么本课程建议为每个研究项目创建单独的虚拟环境?

2. 你已在激活的 .venv 中安装了 pandas,但 VS Code 中的一个笔记本显示“No module named pandas”。最可能的原因是什么?

3. 账户 €25,000,每笔交易风险 0.5%,入场价 €120.00,止损价 €114.00。按照实例演算中的笔记本逻辑,代码会返回多少股?

供您自行复习的自动自测。您的答案在浏览器中核对,我们不会查看或评估。这不是考试,也不是资格证书。

您的进度

“已完成”仅表示您将本课标记为已学完,并不是对您理解程度的测试。 学习进度和笔记仅保存在此设备的此浏览器中,而非账户中。