第1章:环境搭建——先把家伙事儿备齐
做量化交易,说白了就是和数据打交道。而数据这玩意儿,你得先有个趁手的工具才能摆弄它。我个人习惯是先把Python环境收拾利索了,再谈别的。这一章咱们就把基础环境搭好,后面写代码的时候才不会手忙脚乱。
1.1 Python环境配置
Python版本怎么选?我建议直接用Python 3.9或3.10。为什么?因为我在项目中踩过坑——有些库对3.11以上的版本支持还不完善,尤其是金融数据相关的库。你想想看,装了半天发现某个库不兼容,那多闹心。
下载地址:python.org
安装时记得勾选「Add Python to PATH」,这个选项很多人会忽略。嗯,这里要注意:如果不勾选,你后面在命令行里敲python会提示找不到命令。我曾经帮一个学员远程调试,折腾了半小时才发现是这个问题。
python --version,如果显示版本号,说明安装成功。
1.2 安装yfinance库
yfinance是我最常用的美股数据获取库,没有之一。它直接从雅虎财经拉数据,免费、稳定、接口简单。说白了,一行代码就能拿到苹果或特斯拉的历史行情。
安装命令:
pip install yfinance
如果你用的是Mac或Linux,可能需要加个sudo:
sudo pip install yfinance
pip3 而不是 pip。我刚开始做量化时就用错了pip,结果装到了Python 2上,折腾了半天才发现。
1.3 安装pandas与numpy
pandas和numpy是数据清洗的左右手。pandas管表格数据,numpy管数值计算。这两个库在量化领域几乎是标配,你后面写的每一行代码几乎都离不开它们。
安装命令:
pip install pandas numpy
为什么要把它们放在一起装?因为pandas底层依赖numpy,分开装容易版本冲突。我建议一次性装好,省心。
| 库名 | 用途 | 版本建议 |
|---|---|---|
| pandas | 数据处理、表格操作 | ≥1.5.0 |
| numpy | 数值计算、数组操作 | ≥1.24.0 |
1.4 安装requests库
requests库是用来发HTTP请求的。虽然yfinance内部已经封装了网络请求,但有时候你需要自己写爬虫去抓一些特殊数据,比如财报、新闻情绪等。这时候requests就派上用场了。
安装命令:
pip install requests
requests.get(url)就能拿到网页内容。我在做美股舆情分析时,就用它抓过Seeking Alpha的新闻数据。
1.5 验证安装
装完了别急着走,先验证一下。打开Python交互环境(命令行输入python),逐行敲入以下代码:
import yfinance as yf
import pandas as pd
import numpy as np
import requests
# 测试yfinance:获取苹果公司最近5天的数据
aapl = yf.download('AAPL', period='5d')
print(aapl.head())
# 测试pandas:创建一个简单的DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df)
# 测试numpy:创建一个数组并计算均值
arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr))
# 测试requests:访问百度首页
r = requests.get('https://www.baidu.com')
print(r.status_code)
如果每段代码都没有报错,说明环境搭建成功。如果某个库报错,大概率是安装时网络不稳定,重新装一次就好。
import ssl; ssl._create_default_https_context = ssl._create_unverified_context。
本章知识体系
下面这张图帮你理清本章的核心逻辑:
环境搭建这件事,看起来简单,但很多人会在这里卡住。我的建议是:别急,一步一步来。装完一个库就验证一个,别一口气装完再查问题,那样你根本不知道是哪个环节出了错。
好了,环境搭好了,咱们就可以正式开始搞数据了。下一章会讲怎么用yfinance拉取美股历史数据,到时候你就知道今天这功夫没白花。
公众号:蓝海资料掘金营,微信deep3321