金融数据接口tushare爬取数据

本文展示了如何使用tushare接口获取金融数据,如徐工机械的股票数据,并将其保存为csv文件。接着,通过matplotlib和seaborn库绘制了徐工机械的折线图和乐视网的核密度估计图。此外,还演示了各种数据可视化图表的绘制,包括GDP柱状图、水平柱状图、水平交错条形图、饼图和箱线图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import matplotlib.pyplot as plt

import seaborn as sns

import tushare as ts

from datetime import datetime

import csv

stock1 = ts.get_profit_statement('600498')


stock1.to_csv('利润表.csv',encoding='utf_8_sig')


filename='利润表.csv'
with open(filename,encoding='utf_8_sig') as  f:
    r=csv.DictReader(f)
    d={}
    for row in r:
        if row['报表日期'] == '减:所得税费用':
            d['第一季度'] = float(row['20170331'])
            d['第二季度'] = float(row['20170630'])
            d['第三季度'] = float(row['20170930'])
            d['第四季度'] = float(row['20171231'])

            #print(d)
            sns.set_style("whitegrid")
            plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文字体设置-黑体
            plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
            sns.set(font='SimHei')  # 解决Seaborn中文显示问题

            sns.barplot(x=list(d.keys()),y=list(d.values()))
            plt.title('各季度所得税')
            plt.xlabel('季度')
            plt.ylabel('所得税')
            plt.show()
            break

 

 

#观测当前的股价

import tushare as ts

STOCK = ['600219', '000002', '000623', '000725', '600036', '601166', '600298', '600881', '002582', '600750',
         '601088',
         '000338',
         '000895',
         '000792']

quotes= ts.get_realtime_quotes(STOCK)

print(quotes)
quotes.to_csv('d:/bigdata/realtime_quotes.csv',encoding="utf_8_sig")

 

 

 

 

#保存并输出徐工机械[000425]股票2012年初到2017年末的后复权成交价数据,存为csv文件,再绘制折线图

 

import matplotlib.pyplot as plt                  #绘图

import seaborn as sns             #基于matplotlib的数据可视化库

import tushare as ts                             #财经数据接口

from datetime import datetime   #从datetime模块导入datetime函数

 

#首先用tushare获取成交价数据,复权类别是后复权,开始时间2012年1月1日,截止时间2017年12月31日

 

#get_k_data获取分时k线数据

stock = ts.get_k_data('000425', autype='hfq', ktype='M', start='2012-1-1', end='2017-12-31')

 

#存为csv文件:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)

stock.to_csv('d:/23.csv')

 

#用seaborn绘制画板,加上白色网格

sns.set_style("whitegrid")

 

#在画板上加上线条和图例说明,图片比例为15:9

stock['open'].plot(legend=True, figsize=(15, 9))

stock['close'].plot(legend=True, figsize=(15, 9))

stock['high'].plot(legend=True, figsize=(15, 9))

stock['low'].plot(legend=True, figsize=(15, 9))

 

#输出K线数据

print(stock)

 

#展示画板

plt.show()

 

 

#绘制最近一年的数据乐视网[300104]股票每日涨跌幅核密度估计图

import matplotlib.pyplot as plt                  #绘图

import seaborn as sns                       #基于matplotlib的数据可视化库

import tushare as ts                          #财经数据接口

from datetime import datetime

 

 

end = datetime.today()                          #结束时间

start = datetime(end.year-1,end.month,end.day)     #开始时间,选取最近一年的数据

 

#字符串化,datetime抓取时间是精确到秒,只保留年、月、日,YYYY-MM-DD,因此保留长度为10位

end = str(end)[0:10]

start = str(start)[0:10]

 

# get_hist_data函数,获取某只股票的历史交易数据,参数与get_k_data相同

stock = ts.get_hist_data('300104',start,end)

 

#计算每日涨跌幅度,pct_change()函数用来计算两个相邻数字之间的变化率

stock['Daily Return'] = stock['close'].pct_change()

 

           

# kdeplot函数绘制核密度估计图,dropna()方法删除缺失数据

sns.kdeplot(stock['Daily Return'].dropna())

 

#展示画板

plt.show()

 

 

GDP柱状图

import matplotlib.pylab as plt

GDP=[185691, 112182.8, 49386.411111111111111, 34666.3]

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.bar(range

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值