#-*- coding:utf-8 -*-import requestsimport tushare as tsimport pandas as pdimport datetimeimport pymysqlimport timepymysql.install_as_MySQLdb()from sqlalchemy import create_enginedef macro_index(): ''' SHIBOR利率数据 接口:shibor 描述:shibor利率 限量:单次最大2000,总量不限制,可通过设置开始和结束日期分段获取 积分:用户积累120积分可以调取,具体请参阅积分获取办法 ''' # 获取某一段时间shibor利率数据 shibor_rate = pro.shibor(start_date='20190101', end_date='20191013') # 获取当天shibor利率 # shibor_rate = pro.shibor(data=now) # 追加数据到现有表shibor shibor_rate.to_sql('shibor_data',engine,if_exists='append')def market_data(): ''' 沪深港通资金流向 接口:moneyflow_hsgt 描述:获取沪股通、深股通、港股通每日资金流向数据,每次最多返回300条记录,总量不限制。 融资融券交易汇总 接口:margin 描述:获取融资融券每日交易汇总数据 两市交易汇总 描述:获取沪深两市成交总额 ''' # 获取某一段时间北向资金数据 north_fund = pro.moneyflow_hsgt(start_date='20190101', end_date='20191013',fields='trade_date,hgt,sgt,north_money') # 获取当天北向资金数据 # north_fund = pro.moneyflow_hsgt(trade_date=now,fields='trade_date,hgt,sgt,north_money') # 追加数据到现有表shibor north_fund.to_sql('north_fund_data', engine, if_exists='append') # 获取某一段时间两融数据 margin_fund = pro.margin(start_date='20190101', end_date='20191013',fields='trade_date,exchange_id,rzye,rqye,rzrqye') # 获取当天两融数据 # margin_fund = pro.margin(trade_date='20191011',fields='trade_date,exchange_id,rzye,rqye,rzrqye') margin_fund_data.to_sql('margin_fund_data', engine, if_exists='append')def stock_data(): ''' 上市公司基本信息 接口:stock_company 描述:获取上市公司基础信息 积分:用户需要至少120积分才可以调取,具体请参阅积分获取办法 股票列表 接口:stock_basic 描述:获取基础信息数据,包括股票代码、名称、上市日期、退市日期等 股东人数 接口:stk_holdernumber 描述:获取上市公司股东户数数据,数据不定期公布 限量:单次最大3000,总量不限制 积分:600积分可调取,基础积分每分钟调取100次,5000积分以上无限制。具体请参阅积分获取办法 概念股列表 接口:concept_detail 描述:获取概念股分类明细数据 积分:用户需要至少300积分才可以调取,具体请参阅积分获取办法 每日指标 接口:daily_basic 更新时间:交易日每日15点~17点之间 描述:获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等。 积分:用户需要至少300积分才可以调取,具体请参阅积分获取办法 前十大流通股东 接口:top10_floatholders 描述:获取上市公司前十大流通股东数据。 股权质押统计数据 接口:pledge_stat 描述:获取股权质押统计数据 限量:单次最大1000 积分:用户需要至少300积分才可以调取,具体请参阅积分获取办法 限售股解禁 接口:share_float 描述:获取限售股解禁 限量:单次最大5000条,总量不限制 积分:120分可调取,每分钟内限制次数,超过5000积分无限制,具体请参阅积分获取办法 ''' company_detail = pro.stock_company(fields='ts_code,province,city,employees,main_business') company_detail.to_sql('company_detail_data', engine, if_exists='append') stcok_list = pro.stock_basic(list_status='L', fields='ts_code,name,industry,market,exchange,list_date') print(df4) stockholder_info = pro.stk_holdernumber(ts_code='300199.SZ', start_date='20160101', end_date='20181231') concept_info = pro.concept_detail(id='TS2', fields='ts_code,name') stock_info = pro.daily_basic(trade_date='20191011', fields='trade_date,ts_code,close,total_share,float_share') print(df6) floatholder = pro.top10_floatholders(ts_code='300033.SZ', fields='ts_code,end_date,holder_name,hold_amount') print(df7) pledge = pro.pledge_stat(ts_code='300033.SZ',fields='ts_code,end_date,pledge_count,unrest_pledge,rest_pledge,pledge_ratio') print(df8) restricted_stock = pro.share_float(ts_code='300033.SZ', fields='ts_code,holder_name,float_date,float_share') print(df9)if __name__ == '__main__': ts.set_token('ac16b470869c5d82db5033ae9288f77b282d2b5519507d6d2c72fdd7') pro = ts.pro_api() now = datetime.datetime.now().strftime("%Y%m%d") engine = create_engine('mysql://root:123456@127.0.0.1/stock?charset=utf8') data()
来源:博客园
作者:red-tea
链接:https://www.cnblogs.com/Iceredtea/p/11675089.html