3、Python环境搭建:安装必要的库
做波动率套利,说白了就是跟数据打交道。你想想看,没有趁手的工具,再好的策略也跑不起来。这一节,我就带你把环境搭好。
我个人习惯用 Anaconda 来管理 Python 环境。为什么?因为它自带了很多科学计算库,省去了一一安装的麻烦。如果你还没装 Anaconda,去官网下载个最新版就行,一路默认安装,没什么坑。
3.1 核心库一览
做波动率锥,我们需要这几样东西:
- numpy:数值计算的基础。数组操作、矩阵运算,全靠它。
- pandas:处理时间序列数据的利器。期权数据、历史价格,用 DataFrame 一装,操作起来特别顺手。
- matplotlib:画图工具。波动率锥最终要可视化,没它不行。
- scipy:科学计算库。里面有很多统计函数,比如正态分布、插值,做波动率曲面时会用到。
- mibian:期权定价库。虽然我们主要做波动率套利,但偶尔需要算个隐含波动率,用它很方便。
嗯,这里要注意:mibian 这个库比较老,有些 Python 3.9 以上的版本可能装不上。我遇到过这个问题,后来换了个方式解决,后面会讲。
3.2 安装步骤
打开你的终端(Windows 用户用 Anaconda Prompt),输入以下命令:
# 创建一个新环境,我习惯叫它 vol_env
conda create -n vol_env python=3.8
# 激活环境
conda activate vol_env
# 安装核心库
conda install numpy pandas matplotlib scipy
# 安装 mibian(如果 conda 装不上,用 pip)
pip install mibian
为什么会推荐 Python 3.8?因为 mibian 这个库最后一次更新是 2017 年,对高版本 Python 支持不太好。我曾经在 Python 3.10 上装它,折腾了半天没成功,最后老老实实退回 3.8。
3.3 验证安装
装完之后,我们验证一下。打开 Jupyter Notebook,输入以下代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats
import mibian
print("numpy version:", np.__version__)
print("pandas version:", pd.__version__)
print("mibian version:", mibian.__version__)
# 简单测试:计算一个欧式看涨期权的隐含波动率
underlying_price = 100
strike_price = 100
interest_rate = 0.05
days_to_expiry = 30
option_price = 2.5
bs = mibian.BS([underlying_price, strike_price, interest_rate, days_to_expiry], callPrice=option_price)
print("Implied Volatility:", bs.impliedVolatility)
如果没报错,而且能看到版本号和隐含波动率的值,说明环境搭好了。
3.4 配置 Jupyter Notebook
Jupyter Notebook 默认界面有点素,我建议装个扩展包,让体验更好:
# 安装 jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_contrib_nbextensions
# 启用扩展
jupyter contrib nbextension install --user
装完之后,打开 Jupyter Notebook,你会看到多了一个 Nbextensions 标签页。我常用的扩展有:
- Table of Contents:自动生成目录,方便跳转
- Collapsible Headings:折叠标题,长文档时特别有用
- ExecuteTime:显示每个单元格的运行时间,优化代码时用得上
嗯,这里有个小坑:有些扩展之间会冲突。我遇到过 Table of Contents 和 Collapsible Headings 同时开启时,页面加载变慢。解决办法是只开自己最需要的,别贪多。
3.5 本章知识体系
下面这张图,帮你理清整个环境搭建的逻辑:
3.6 一些个人经验
环境搭建这件事,看着简单,但真做起来总会遇到点小问题。我分享几个经验:
- 别用最新版 Python:量化金融的很多库更新慢,Python 3.8 或 3.9 是最稳妥的选择。
- 虚拟环境是好朋友:每个项目建一个独立环境,互不干扰。我吃过亏,有一次装了个新库,结果把整个 base 环境搞崩了,重装花了一下午。
- pip 和 conda 混用要小心:先试试 conda install,装不上再用 pip。混用可能导致依赖冲突。
好了,环境搭好了,下一节我们就可以正式开始处理数据了。记住,工具只是手段,策略才是核心。但工欲善其事,必先利其器——这句话在量化交易里尤其适用。