python金融数据分析和可视化--02_01利用Tushare获取股票数据

1. tushare简介

tushare是一个免费,开源的python财经数据接口包.主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Pythonpandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandasDataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以将数据全部保存到本地后进行分析。

Tushare拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。同时,SDK开发包支持语言,同时提供HTTP Restful接口,最大程度方便不同人群的使用。并且提供多种数据储存方式,如Oracle、MySQL,MongoDB、HDF5、CSV等,为数据获取提供了性能保证。

Tushare官网:Tushare大数据社区

2.Tushare依赖环境安装

1. 安装:

pip install tushare
版本升级 :
pip install tushare --upgrade
查看当前版本的方法:
import tushare print(tushare.version)

聚宽研究环境已经集成了tushare

# 查看当前版本
import tushare

print(tushare.__version__)

2. 然后去Tushare官网注册¶

获取token:
1、登录成功后,点击右上角->个人主页

 python金融数据分析和可视化--02_01利用Tushare获取股票数据_第1张图片

 2、 在“用户中心”中点击“接口TOKEN”

python金融数据分析和可视化--02_01利用Tushare获取股票数据_第2张图片

 3、 可以点击右侧复制按钮复制token

python金融数据分析和可视化--02_01利用Tushare获取股票数据_第3张图片

4、或者点击右侧睁开眼睛来获取token明文,复制并保存 

 python金融数据分析和可视化--02_01利用Tushare获取股票数据_第4张图片

3.使用Tushare爬取股票数据

1.导入各种库(pandas、tushare、matplotlib库等)

import pandas as pd
import matplotlib.pyplot as plt
import tushare as ts
import os
import tushare as ts

# 设置 tushare 的 token
ts.set_token('3bbe7964d6b047f09e9f622ded0cabf05bf2b187d25609e1d1fabb94')
# ts.set_token('your token')
# 初始化 tushare 的 pro 接口
pro = ts.pro_api()

# pandas 输出显示设置
pd.set_option('expand_frame_repr', False)  # True就是可以换行显示。设置成False的时候不允许换行
pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.max_rows', None)  # 显示所有行
pd.set_option('colheader_justify', 'centre')  # 显示居中

# matplotlib 中文设置
plt.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

2.设置导入数据格式、日期等,股票数据为前复权

def get_data(code,start,end):
    df=pro.daily(ts_code=code, start_date=start, end_date=end, autype='qfq')
    df.index = pd.to_datetime(df.trade_date)
    print(df.head())
    return df

3.下载股票数据,且用csv保存,保存至指定位置

def acquire_code():   #只下载一只股票数据,且只用CSV保存   未来可以有自己的数据库
    inp_code =input("请输入股票代码:\n")
    inp_start = input("请输入开始时间:'\n'")
    inp_end = input("请输入结束时间:'\n'")
    df = get_data(inp_code,inp_start,inp_end)
    # 输出统计各列的数据量
    print(df.info())
    # 分割线
    print("—"*30)
    # 输出常用统计参数
    print(df.describe())
    # 把股票数据按照时间正序排列
    df.sort_index(inplace=True)
    path = os.path.join(os.path.join(os.getcwd(),
        "datas"), inp_code + ".csv")
    df.to_csv(path)

4.运行函数,获取股票数据

请输入股票代码:
输入:002624.SZ
请输入开始时间:
输入:20230101
请输入结束时间:
输入:20230317

acquire_code()

python金融数据分析和可视化--02_01利用Tushare获取股票数据_第5张图片

 python金融数据分析和可视化--02_01利用Tushare获取股票数据_第6张图片

 python金融数据分析和可视化--02_01利用Tushare获取股票数据_第7张图片

 5.到指定文件夹位置查看获取的数据

 python金融数据分析和可视化--02_01利用Tushare获取股票数据_第8张图片

 6.用python查看获取的数据

def readcsv(code):
    path = os.path.join(os.path.join(os.getcwd(),
        "datas"), code + ".csv")
    df = pd.read_csv(path)
    return df

df = readcsv('002624.SZ')
print(df.head())
df.tail()

python金融数据分析和可视化--02_01利用Tushare获取股票数据_第9张图片

你可能感兴趣的:(python,开发语言)