用matlablib可视化股价变化,数据存为CSV格式表中

该实验围绕股票数据展开,使用tushare网站调取数据,需安装lxml、requests、pandas包,在官网注册获取接口TOKEN认证。因调取数据最低需120积分,可填资料获取。还介绍了保存为CSV的to_csv()方法,展示了股票可视化及CSV存储数据效果图,并给出关键代码。

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

实验内容

股票数据的调取使用的是tushare这个网站的,在代码中也就需要调取tushare这个模块。

  • 安装tushare前还需要安装lxml,requests,pandas包。下载各类包网站
  • 可以pip list查看已安装的包。
  • 安装好之后,需要在tushare官网注册获取认接口TOKEN(相当于认证码),在调取接口时需要认证码认证。
  • 刚注册时有100个积分,但这调取数据最低需要120个积分,所有可以填写资料获取20个积分,积分越高获取的信息越多。
  • 官网上有详细的获取教程。
  • 只有一个python的话就装好啦,如果你有两个python可能会遇到我下面的问题。

保存为CSV形式使用到的是to_csv()方法

实验步骤

股票可视化关键代码

#日线行情 阿里巴巴09988.HK symbol=“09988.HK”

aday = pro.daily(symbol='09988.HK', start_date='20200101', end_date='20200325')  
print("阿里巴巴日线行情 :")  
print(aday)  
adf = pro.weekly(ts_code='900957.SH', start_date='20200101', end_date='20200325', fields='ts_code,trade_date,open,high,low,close,vol,amount')  
print("阿里巴巴周线行情 :")  
print(adf)  

输出可视化

plt.title('numble data')  
plt.xlabel('day')  
plt.plot(adf['close'],color='green',label="albb")  
plt.plot(gdf['close'],color='blue',label="google")  
plt.plot(tdf['close'],color='yellow',label="tx")  
plt.plot(ddf['close'],color="red",linewidth=2.0,linestyle="--",label="dsn")    
plt.legend()#label  
plt.show()  

CSV保存关键代码

df=ts.get_k_data("601318",ktype='D')#日K线  
Wf=ts.get_k_data("601318",ktype='W')#周K线  
Mf=ts.get_k_data("601318",ktype='M')#月K线  
#将数据保存到本地,方便处理  
df.to_csv("601318.csv",index=False)    
plt.plot(df['close'],c='g',label="day") 
plt.plot(Wf['close'],c='b',label="week")  
plt.plot(Mf['close'],c='y',label="moonth")  
plt.legend()  
plt.show()  

实验效果图

股票可视化效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CSV存储数据效果图

在这里插入图片描述
在这里插入图片描述

实验代码

import tushare as ts
import matplotlib.pyplot as plt

pro = ts.pro_api(‘填自己在网站上注册出来的验证号’)
#查询当前所有正常上市交易的股票列表
data = pro.stock_basic(exchange='SZSE', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
print("查询当前所有正常上市交易的股票列表:")
print(data)
#上市公司基本信息            交易所代码
inform = pro.stock_company(exchange='SZSE', fields='ts_code,chairman,manager,secretary,reg_capital,setup_date,province')
print("上市公司基本信息 :")
print(inform)


#腾讯控股00700.HK
tday = pro.daily(symbol="00700 ", start_date='20200101', end_date='20200325')
print("腾讯控股日线行情 :")
print(tday)
tdf = pro.weekly(ts_code='300076.SZ ', start_date='20200101', end_date='20200325', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print("腾讯控股周线行情 :")
print(tdf)



#迪士尼DISN
dday = pro.daily(ts_code="600036.SH ", start_date='20200101', end_date='20200325')
print("迪士尼DISN日线行情 :")
print(dday)
ddf = pro.weekly(ts_code="600036.SH ", start_date='20200101', end_date='20200325', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print("迪士尼DISN周线行情 :")
print(ddf)
# ts_code  str    股票代码 trade_date    str    交易日期 open  float  开盘价 high   float  最高价
# low  float  最低价 close  float  收盘价 pre_close  float  昨收价change  float  涨跌额
# pct_chg  float  涨跌幅 (未复权,如果是复权请用 通用行情接口 ) vol  float  成交量 (手)amount  float  成交额 (千元)


#google GOOG.O
gday = pro.daily(symbol="GOOG.O ", start_date='20200101', end_date='20200325')
print("google日线行情 :")
print(gday)
gdf = pro.weekly(ts_code='900957.SH ', start_date='20200101', end_date='20200325', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print("google周线行情 :")
print(gdf)

#日线行情              阿里巴巴09988.HK symbol="09988.HK"
aday = pro.daily(symbol='09988.HK', start_date='20200101', end_date='20200325')
print("阿里巴巴日线行情 :")
print(aday)
adf = pro.weekly(ts_code='900957.SH', start_date='20200101', end_date='20200325', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print("阿里巴巴周线行情 :")
print(adf)


# albbdf=ts.get_k_data("601318")  K线
#问题
#plt.plot(adf.index,adf['close'],label='1')
#plt.plot(albbdf.index,albbdf['close'],label='2')
#在不了一个图上,因为是日周交易量,得到的的一日多个股的
#改ts_code
plt.title('numble data')
plt.xlabel('day')
plt.plot(adf['close'],color='green',label="albb")
plt.plot(gdf['close'],color='blue',label="google")
plt.plot(tdf['close'],color='yellow',label="tx")
plt.plot(ddf['close'],color="red",linewidth=2.0,linestyle="--",label="dsn")

plt.legend()#label
plt.show()

#保存成CSV形式
#个股股票K线

import matplotlib.pyplot as plt
import tushare as ts
#获取股票号为601318的股票信息
df=ts.get_k_data("601318",ktype='D')#日K线
Wf=ts.get_k_data("601318",ktype='W')#周K线
Mf=ts.get_k_data("601318",ktype='M')#月K线
#将数据保存到本地,方便处理
df.to_csv("股票.csv",index=False)
plt.plot(df['close'],c='g',label="day")
plt.plot(Wf['close'],c='b',label="week")
plt.plot(Mf['close'],c='y',label="moonth")
plt.legend()
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值