去年接触到量化投资这个概念时,我面对的第一个问题不是策略怎么写、回测怎么做,而是——数据从哪来?市面上主流的金融数据终端动辄上万一年,对个人量化爱好者来说实在吃不消。

幸运的是,我遇到了Tushare。这是一个完全免费开源的Python财经数据接口包,从日线K线到宏观指标,从A股到港股美股,几乎覆盖了量化分析所需的所有基础数据。今天这篇文章,我想把我的踩坑经验和学习路径分享给同样从零开始的朋友。

一、环境准备与基础配置

1.1 安装Tushare

打开你的命令行工具(Windows用户用CMD或PowerShell,Mac用户用终端),输入以下命令:

bash

pip install tushare

如果你的电脑同时安装了Python 2和Python 3,可能需要明确指定版本:

bash

pip3 install tushare --upgrade

安装完成后,导入验证:

python

import tushare as ts
print(ts.__version__)  # 建议确保版本号大于1.2.10
1.2 注册与获取Token

访问Tushare官网完成注册。需要注意的是,现在Tushare需要手机号验证,建议直接用常用手机号注册。注册成功后,进入「个人中心」→「API管理」→「立即开通」,会得到一个专属的API Token。

新手小贴士:免费版每天可以调用500次,对初期的学习和探索来说完全够用。如果想解锁更多数据,每天签到就能攒积分,完全不花一分钱。

1.3 Token安全配置(重要敏感信息配置)

很多新手会直接把Token写在代码里,这是一个不太好的习惯。建议把它保存在环境变量中:

python

import os
import tushare as ts

pro = ts.pro_api(os.getenv('TUSHARE_TOKEN'))  # 从环境变量读取token

二、获取日线行情数据

有了Token,我们就可以开始获取最基础的日线数据了。

python

import pandas as pd

# 获取贵州茅台2023年日线数据
df = pro.daily(ts_code='600519.SH', 
               start_date='20230101',
               end_date='20231231')
print(df.head())

参数说明

  • ts_code:股票代码,6开头加.SH(沪市),0和3开头加.SZ(深市)

  • start_date/end_date:格式必须为YYYYMMDD

  • asset:默认是E(股票),还有I(指数)、F(期货)等选项

返回的数据包含以下关键字段:

字段 含义 字段 含义
trade_date 交易日期 open 开盘价
close 收盘价 high 最高价
low 最低价 volume 成交量

三、数据清洗与准备

获取到的数据默认按trade_date逆序排列,而且trade_date是int类型,需要转成datetime。

python

# 按日期顺序排列
df = df.sort_values('trade_date', ascending=True)

# 将trade_date转为datetime并设为索引
df['trade_date'] = pd.to_datetime(df['trade_date'])
df.set_index('trade_date', inplace=True)

四、可视化基础:画出第一张K线图

一切准备就绪,让我们画出第一张股价走势图:

python

import matplotlib.pyplot as plt

plt.figure(figsize=(14, 7))
plt.plot(df.index, df['close'], label='收盘价', color='#1f77b4', linewidth=1.5)

plt.title('贵州茅台2023全年股价走势图', fontsize=16, fontweight='bold')
plt.xlabel('日期', fontsize=12)
plt.ylabel('价格(元)', fontsize=12)
plt.grid(alpha=0.3)
plt.legend(loc='upper left')
plt.tight_layout()
plt.show()

运行后就能看到一整年的股价曲线!对于刚刚接触量化的小白来说,这样的成就感正是继续探索的最好动力。

小结:今天我们从零搭建了Tushare环境、学会了获取日线数据、完成了数据的基础清洗和可视化。这些看似简单的操作,其实是整个量化分析流程的地基。下一篇,我们将在此基础上学习如何同时获取多只股票数据,并开始构建第一个量化策略。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐