第1章:Python金融分析环境搭建
各位同学,欢迎来到《绿色金融资产风险平价模型应用实战》的第一课。
做量化金融,尤其是绿色金融这种交叉领域,第一步不是写策略,而是搭环境。我见过太多人一上来就装各种包,结果版本冲突、依赖报错,折腾半天还没跑通一个print。嗯,咱们别走弯路。
今天这一章,我会带你从零开始,把Python金融分析的环境彻底搞定。包括Anaconda安装、Jupyter Notebook使用、NumPy和Pandas入门、Matplotlib和Seaborn可视化,以及两个常用的数据接口——Tushare和Yahoo Finance。
本章核心目标:搭建一个稳定、可复用的绿色金融分析环境,并跑通第一个数据获取与可视化的完整流程。
1.1 Anaconda:量化分析的瑞士军刀
我个人习惯用Anaconda来管理Python环境。为什么?因为它自带conda包管理器,能帮你隔离不同项目的依赖。你想想看,绿色金融项目可能用到pandas 1.5,另一个项目可能要求pandas 2.0,如果没有环境隔离,你会疯掉的。
安装步骤:
- 去Anaconda官网下载对应操作系统的安装包(Python 3.9+版本)
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 安装完成后,打开终端(或Anaconda Prompt),输入
conda --version验证
避坑指南:我曾经在Windows上没勾选PATH选项,结果后面每次都要手动激活环境,烦得很。建议你一步到位勾上。
创建绿色金融专用环境:
conda create -n green_finance python=3.9
conda activate green_finance
1.2 Jupyter Notebook:交互式探索利器
Jupyter Notebook是我做量化原型最常用的工具。它支持代码、图表、文字混排,特别适合做数据探索和策略回测。
安装很简单:
conda install jupyter notebook
启动:
jupyter notebook
浏览器会自动打开一个页面,点击右上角「New」→「Python 3」就能新建一个笔记本。嗯,这里要注意:每次打开Jupyter前,记得先激活你的conda环境。
小技巧:在Jupyter里按 Shift + Enter 运行当前单元格,Esc + B 在下方插入新单元格。这些快捷键能让你效率翻倍。
1.3 NumPy:高性能数值计算基础
NumPy是Python科学计算的基石。说白了,它就是C语言写的高性能数组库。绿色金融里处理收益率序列、协方差矩阵,都离不开它。
安装:
conda install numpy
快速上手:
import numpy as np
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
print(arr.mean()) # 3.0
# 矩阵运算
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B) # 矩阵乘法
我在项目中遇到过一个问题:用Python原生列表做循环运算,跑100万条数据要等半天。换成NumPy数组后,同样的运算只要几毫秒。这就是向量化的威力。
1.4 Pandas:金融数据分析的灵魂
Pandas是量化金融里最核心的库。它提供了DataFrame这种表格数据结构,处理时间序列数据简直不要太方便。
安装:
conda install pandas
入门示例:
import pandas as pd
# 创建时间序列
dates = pd.date_range('2024-01-01', periods=5, freq='D')
data = {'收盘价': [100, 102, 101, 105, 108]}
df = pd.DataFrame(data, index=dates)
print(df)
# 基本统计
print(df.describe())
| 函数 | 用途 | 示例 |
|---|---|---|
pd.read_csv() |
读取CSV文件 | 读取股票历史数据 |
df.rolling() |
滚动窗口计算 | 计算20日移动平均 |
df.resample() |
重采样 | 日线转周线 |
注意:Pandas的索引操作很容易踩坑。我曾经用 df[df['收盘价'] > 100] 做筛选,结果忘记用 .copy(),导致后续修改影响了原数据。建议养成用 .loc 和 .copy() 的习惯。
1.5 Matplotlib & Seaborn:数据可视化双雄
做绿色金融分析,图表是跟老板、客户沟通的最好方式。Matplotlib是基础,Seaborn让图表更美观。
安装:
conda install matplotlib seaborn
画个简单的折线图:
import matplotlib.pyplot as plt
import seaborn as sns
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 数据
dates = pd.date_range('2024-01-01', periods=10, freq='D')
prices = [100, 102, 101, 105, 108, 107, 110, 112, 115, 113]
plt.figure(figsize=(10, 5))
plt.plot(dates, prices, marker='o', linestyle='-', color='green')
plt.title('绿色能源ETF价格走势')
plt.xlabel('日期')
plt.ylabel('收盘价')
plt.grid(True, alpha=0.3)
plt.show()
Seaborn的好处是默认样式就很好看。我习惯在分析报告里用 sns.set_style('whitegrid') 来统一风格。
1.6 数据获取接口:Tushare & Yahoo Finance
没有数据,一切模型都是空中楼阁。绿色金融分析需要获取股票、债券、碳排放权等数据。这里介绍两个常用接口。
1.6.1 Tushare(国内数据首选)
Tushare提供A股、基金、期货等数据,对国内用户很友好。需要注册获取token。
import tushare as ts
# 设置token(去tushare.pro注册)
ts.set_token('你的token')
pro = ts.pro_api()
# 获取绿色电力板块日线数据
df = pro.daily(ts_code='600905.SH', start_date='20240101', end_date='20240301')
print(df.head())
个人经验:Tushare的免费接口有频率限制,我一般会缓存数据到本地CSV,避免重复请求。
1.6.2 Yahoo Finance(全球数据)
用 yfinance 库可以获取全球股票、ETF数据,包括绿色能源相关的ETF。
!pip install yfinance
import yfinance as yf
# 获取绿色能源ETF数据
ticker = 'ICLN' # iShares Global Clean Energy ETF
data = yf.download(ticker, start='2024-01-01', end='2024-03-01')
print(data.head())
你想想看,有了这两个接口,A股和全球市场的绿色金融数据就都能拿到了。后面做风险平价模型时,数据源就不愁了。
本章小结:环境搭建是量化分析的基石。Anaconda管理环境,Jupyter做交互探索,NumPy/Pandas处理数据,Matplotlib/Seaborn画图,Tushare/Yahoo Finance获取数据。这套组合拳打好了,后面的模型实战才能行云流水。
公众号:蓝海数据掘金营,微信deep3321