量化交易第1课:安装Python环境
手把手安装Python
千万别去官网下载! 直接装原生Python会遇到各种环境配置的坑。这里推荐直接安装Anaconda(自带500+常用库的科学计算发行版),咱们用事实说话:
# 查看conda版本,验证是否安装成功conda --version# 创建专属量化环境,【公众号:量化问财】conda create -n quant python=3.9# 激活conda activate quant
安装包记得去清华大学开源镜像站,下载速度原地起飞。选择对应系统的2023年最新版本,图形化安装一路next,注意勾选"Add to PATH"就行。
开发环境配置
千万别听人忽悠装什么Pycharm专业版,新手入门阶段用更轻量的VS Code足矣。按这个配置流程操作:
1. 安装VS Code
2. 扩展商店搜索安装:
• Python(微软官方插件)
• Jupyter(交互式编程必备)
• Code Runner(一键执行脚本)
3. 按Ctrl+Shift+P调出命令面板,输入"Python: Select Interpreter",选择刚才创建的quant环境
现在新建个test.py试试:
print("【公众号:量化问财】的量化之路正式起航!")
必装四大金刚库
在quant环境里依次执行这些命令:
pip install numpy pandas matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplepip install ta-lib -i https://pypi.tuna.tsinghua.edu.cn/simple
解释下这些库的作用:
• numpy:处理数组比Excel快100倍
• pandas:金融时间序列处理神器
• matplotlib:画K线图的秘密武器
• ta-lib:封装了200+种技术指标算法
验证安装是否成功:
import talibprint(talib.__version__) # 应该输出0.4.24之类的版本号
Jupyter Lab实战演练
在VS Code里新建.ipynb文件,咱们搞个真枪实弹的例子:
import pandas as pdimport yfinance as yf # 需要先pip install yfinance# 获取特斯拉最近一年的股价数据tsla = yf.download('TSLA', start='2023-01-01', end='2023-12-31')# 计算5日均线tsla['MA5'] = tsla['Close'].rolling(window=5).mean()# 画个走势图看看,【公众号:量化问财】import matplotlib.pyplot as pltplt.figure(figsize=(12,6))plt.plot(tsla['Close'], label='Close Price')plt.plot(tsla['MA5'], label='5日均线')plt.title('特斯拉股价走势')plt.legend()plt.show()
运行这段代码,你会看到带5日均线的股价走势图——这就是你写的第一个量化分析程序!
避坑指南
坑1:装完库import报错
• 解决方法:检查是否在quant环境下安装
• 核验方式:在终端输入
conda env list
,星号标在当前环境
坑2:matplotlib中文显示乱码
• 根治方案:添加配置代码
plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文plt.rcParams['axes.unicode_minus'] = False # 显示负号
坑3:TA-Lib安装失败
• 根本原因:需要先装C++编译环境
• 一键解决方案:去这里下载对应版本的whl文件手动安装
环境备份与迁移
好不容易配好的环境,当然要备份:
# 导出环境配置conda env export > environment.yml# 在新机器上复现conda env create -f environment.yml# pip版本备份pip freeze > requirements.txtpip install -r requirements.txt
课后作业
1. 用
yfinance
下载茅台(600519.SS)最近3个月数据2. 计算20日均线并画出布林带(使用TA-Lib的BBANDS函数)
3. 把结果保存为Excel文件
参考代码框架:
from talib import BBANDSimport numpy as np# 数据获取,【公众号:量化问财】data = yf.download('600519.SS', period='3mo')# 计算布林带upper, middle, lower = BBANDS(data['Close'], timeperiod=20)# 可视化与保存...
今天的内容比较简单,第一步就是安装Python环境,做好准备工作。
如果遇到问题也别慌,这正是成长的好机会。记住:搜索引擎是你最好的老师,多百度,有条件谷歌。报错信息就是解题的藏宝图。
