(初阶) 从零开始:Tushare环境配置与基础数据获取
去年接触到量化投资这个概念时我面对的第一个问题不是策略怎么写、回测怎么做而是——数据从哪来市面上主流的金融数据终端动辄上万一年对个人量化爱好者来说实在吃不消。幸运的是我遇到了Tushare。这是一个完全免费开源的Python财经数据接口包从日线K线到宏观指标从A股到港股美股几乎覆盖了量化分析所需的所有基础数据。今天这篇文章我想把我的踩坑经验和学习路径分享给同样从零开始的朋友。一、环境准备与基础配置1.1 安装Tushare打开你的命令行工具Windows用户用CMD或PowerShellMac用户用终端输入以下命令bashpip install tushare如果你的电脑同时安装了Python 2和Python 3可能需要明确指定版本bashpip3 install tushare --upgrade安装完成后导入验证pythonimport tushare as ts print(ts.__version__) # 建议确保版本号大于1.2.101.2 注册与获取Token访问Tushare官网完成注册。需要注意的是现在Tushare需要手机号验证建议直接用常用手机号注册。注册成功后进入「个人中心」→「API管理」→「立即开通」会得到一个专属的API Token。新手小贴士免费版每天可以调用500次对初期的学习和探索来说完全够用。如果想解锁更多数据每天签到就能攒积分完全不花一分钱。1.3 Token安全配置重要敏感信息配置很多新手会直接把Token写在代码里这是一个不太好的习惯。建议把它保存在环境变量中pythonimport os import tushare as ts pro ts.pro_api(os.getenv(TUSHARE_TOKEN)) # 从环境变量读取token二、获取日线行情数据有了Token我们就可以开始获取最基础的日线数据了。pythonimport pandas as pd # 获取贵州茅台2023年日线数据 df pro.daily(ts_code600519.SH, start_date20230101, end_date20231231) print(df.head())参数说明ts_code股票代码6开头加.SH沪市0和3开头加.SZ深市start_date/end_date格式必须为YYYYMMDDasset默认是E股票还有I指数、F期货等选项返回的数据包含以下关键字段字段含义字段含义trade_date交易日期open开盘价close收盘价high最高价low最低价volume成交量三、数据清洗与准备获取到的数据默认按trade_date逆序排列而且trade_date是int类型需要转成datetime。python# 按日期顺序排列 df df.sort_values(trade_date, ascendingTrue) # 将trade_date转为datetime并设为索引 df[trade_date] pd.to_datetime(df[trade_date]) df.set_index(trade_date, inplaceTrue)四、可视化基础画出第一张K线图一切准备就绪让我们画出第一张股价走势图pythonimport matplotlib.pyplot as plt plt.figure(figsize(14, 7)) plt.plot(df.index, df[close], label收盘价, color#1f77b4, linewidth1.5) plt.title(贵州茅台2023全年股价走势图, fontsize16, fontweightbold) plt.xlabel(日期, fontsize12) plt.ylabel(价格元, fontsize12) plt.grid(alpha0.3) plt.legend(locupper left) plt.tight_layout() plt.show()运行后就能看到一整年的股价曲线对于刚刚接触量化的小白来说这样的成就感正是继续探索的最好动力。小结今天我们从零搭建了Tushare环境、学会了获取日线数据、完成了数据的基础清洗和可视化。这些看似简单的操作其实是整个量化分析流程的地基。下一篇我们将在此基础上学习如何同时获取多只股票数据并开始构建第一个量化策略。