mysql share,金融数据分析案例《tushare数据存储到mysql》

阅读目录:

使用tushare接口数据

表结构设计

tushare数据存储到mysql中

一:使用tushare接口数据

39a6e2838557

2.第二步保存好接口TOKEN

39a6e2838557

对于接口token大家理解为是每位同学的唯一认证(接下来获取数据的时候会使用到)

3.开始获取数据

39a6e2838557

大家点击接口数据,能够看到左侧一列是我们能够获取到的数据。这里我们拿日线数据来作为测试

39a6e2838557

tushare接口文档做的还真不错的呢,输入的参数都已经写好了。下面看看能够返回哪些结果来

39a6e2838557

上面的文档我们也是一起看过了,接下来我们再看下如何来调取数据的。

import tushare as ts #记得安装tushare包 pip install tushare

ts.set_token('20a68962bea23bef4c46ec6ab20beda75d9d4a3863d5a3dfb')#设置token

pro = ts.pro_api()

df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')

print(df.head())

输出结果为

39a6e2838557

二:表结构设计

上面我们知道如何去获得数据了,但是我们不能每次使用的时候,都去重新获得数据,因为tushare对每次的获取的数据量有一定的限制,所以我们考虑把每天更新的数据存储到数据库中,这样就可以方便我们来使用历史数据了。

建表语句如下:

drop table if exists stock_daily_basic;

create table stock_daily_basic(

ts_code varchar(20) comment 'TS股票代码',

trade_date date comment '交易日期',

close float comment '当日收盘价',

turnover_rate float comment '换手率(%)',

turnover_rate_f float comment '换手率(自由流通股)',

volume_ratio float comment '量比',

pe float comment '市盈率(总市值/净利润)',

pe_ttm float comment '市盈率(TTM)',

pb float comment '市净率(总市值/净资产)',

ps float comment '市销率',

ps_ttm float comment '市销率(TTM)',

total_share float comment '总股本 (万股)',

float_share float comment '流通股本 (万股)',

free_share float comment '自由流通股本 (万) ',

total_mv float comment '总市值 (万元)',

circ_mv float comment '流通市值(万元)',

primary key (ts_code,trade_date) comment '股票和日期联合主键'

) COMMENT '全部股票每日重要的基本面指标';

大家要留意下主键的设置,这里把股票和日期作为了联合主键,目的是保证每个股票每天只有一天记录,防止多插入数据(主键不可重复)

三:tushare数据存储到mysql中

关于python 和mysql结合使用,已经进行了总结,下面我们直接给出代码来让大家参考学习。

import pandas as pd

import pymysql

pymysql.install_as_MySQLdb() #为了兼容mysqldb

from sqlalchemy import create_engine

conn=create_engine("mysql://{0}:{1}@{2}:{3}/{4}?charset=gbk".format(account,passw,ip,port,db))

# 股票每日交易数据入库

def daily_to_mysql():

ts.set_token('20a68962bea23bef4c46ec6ab20beda75d9d4a3863d5a3dfb')#设置token

pro = ts.pro_api()

df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')

df.to_sql('stock_daily_basic',con=conn,if_exists='append',index=False)

if __name__ == "__main__":

daily_to_mysql()

总结:上面我们主要探讨了如何tushare接口数据,设置表结构的注意点,以及数据的存储。这些东西看似简单,一旦动手很容易出错,大家尝试下看看怎么做到每个股票交易数据的定时更新呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值