当前位置: 首页 > news >正文

(初阶) 从零开始:Tushare环境配置与基础数据获取

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

幸运的是,我遇到了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环境、学会了获取日线数据、完成了数据的基础清洗和可视化。这些看似简单的操作,其实是整个量化分析流程的地基。下一篇,我们将在此基础上学习如何同时获取多只股票数据,并开始构建第一个量化策略。

http://www.jsqmd.com/news/778928/

相关文章:

  • 开源Zapier集成工具:连接FreedomSoft CRM实现房地产投资自动化
  • 基于物理约束的图像重照明技术解析与实践
  • 团队个人任务认领
  • 【无标题】NeuroRebuild 动态孪生,虚实同步秒级应急推演
  • Code For Better 谷歌开发者之声——开发者必备神器
  • Stackmoss:构建生产级AI原生应用的一体化框架实战指南
  • 认识BLE MESH架构和实际开发过程
  • Gantry框架深度解析:轻量级Go Web开发实践与架构设计
  • 鸿蒙NEXT开发从零到一:手把手搭建开发环境并发布第一个应用
  • 2026年南京市实测手表回收商家,亲测推荐TOP5分享 - 速递信息
  • DAY .2 数据结构之反转链表2.牛客网BM2
  • 别再死记硬背了!用Wireshark抓包实战,5分钟搞懂PCIe配置空间的BAR寄存器
  • SEO站群系统源码 SEO优化系统 单页关键词排名网站源码
  • 从奈奎斯特图到相位裕度:一个更直观的视角,理解运放稳定性分析与补偿
  • 从分光计到光谱仪:动手测量汞灯谱线,带你理解折射率测定的物理意义
  • 别再傻傻分不清!医疗器械UDI码里的DI和PI,到底怎么用?
  • 别再复制粘贴了!程序员必备的Unicode汉字符号速查表(含一键复制)
  • RK3568双摄切换黑屏?手把手教你用Logcat和MediaCtl定位Pipeline链接问题
  • SpringBoot 国密 SM4 配置加密(自动解密处理器实现)
  • 创业7年,从树莓派外壳到自研电子秤,一个硬件工程师的“断臂求生”复盘
  • Budi:本地优先的AI编码助手成本分析工具,精准追踪与优化开发成本
  • 团队冲刺个人任务认领
  • 别再混淆WT和WO了!图解SAP EWM仓库任务与订单的核心逻辑与配置实例
  • 别再瞎调batch_size了!PyTorch训练中GPU显存与利用率的真实关系(附MMDetection实测数据)
  • FPGA大型项目管理:模块化设计与7Circuits工具实践
  • AI搜索时代内容优化实战:GEO工具包审计与结构化数据生成指南
  • 别再问‘两个坐标点相距多远’了!用Java/JavaScript/Python三分钟搞定经纬度距离计算
  • 免费降ai率全攻略:4个手动技巧+5款降ai工具【实测好用】 - 殷念写论文
  • 告别vcanconf!Vector硬件配置新工具vHardwareManager保姆级上手教程
  • 告别Keil默认丑字体!手把手教你配置VS Code同款暗黑主题(附global.prop文件)