""" 1.get_data_stock_daily(ts_code='', start_date='', end_date='', retry_count=3, pause=2): #获取各大交易所交易日历数据,默认提取的是上交所 2.get_data_trade_cal(start_date='', end_date='', retry_count=3, pause=2) #获取各大交易所交易日历数据,默认提取的是上交所 3.get_data_namechange(ts_code='',retry_count=3, pause=2) # 历史名称变更记录 4.get_data_hs_const(hs_type='',retry_count=3, pause=2) #获取沪股通、深股通成分数据,hs_type类型SH沪股通SZ深股通 5.get_data_stock_company(exchange='',retry_count=3, pause=2) 获取上市公司基础信息exchange交易所代码 ,SSE上交所 SZSE深交所 ,默认SSE 6.get_data_new_share(start_date='',end_date='',retry_count=3, pause=2) 获取新股上市列表数据 7.get_data_stock_basic(ts_code='', start_date='', end_date='', retry_count=3, pause=2) #获取基础信息数据,包括股票代码、名称、上市日期、退市日期等 8.get_data_stock_weekly(ts_code='', start_date='', end_date='', retry_count=3, pause=2): 获取A股周线行情 9.get_data_stock_monthly(ts_code='', start_date='', end_date='', retry_count=3, pause=2) 获取A股月线行情 10.get_data_bar(ts_code='',freq='',adj='', start_date='', end_date='', retry_count=3, pause=2) #复权行情通过通用行情接口实现,利用Tushare Pro提供的复权因子进行计算,目前暂时只在SDK中提 #freq = 'D','W','M' 日、周、月 adj ='qfq','hfq'前复权,后复权 11.get_data_suspend(ts_code='', retry_count=3, pause=2) 获取股票每日停复牌信息suspend_date停牌日期(三选一)resume_date复牌日期(三选一) 12.get_data_daily_basic(trade_date='', retry_count=3, pause=2): #获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等 13.get_data_moneyflow(ts_code='',start_date='',end_date='', retry_count=3, pause=2): #获取沪深A股票资金流向数据,分析大单小单成交情况,用于判别资金动向 14.get_data_stk_limit(trade_date='', retry_count=3, pause=2): 获取全市场(包含A/B股和基金)每日涨跌停价格,包括涨停价格,跌停价格等 15.get_data_hk_hold(trade_date='', retry_count=3, pause=2): 获取沪深港股通持股明细,数据来源港交所 16.get_data_income(ts_code='',start_date='',end_date='', retry_count=3, pause=2): #获取上市公司财务利润表数据 17.get_data_balancesheet(ts_code='',start_date='',end_date='', retry_count=3, pause=2): #获取上市公司资产负债表 18.get_data_cashflow(ts_code='',start_date='',end_date='', retry_count=3, pause=2): #获取上市公司现金流量表 19.get_data_forecast(ann_date='', retry_count=3, pause=2): 获取业绩预告数据 20.get_data_forecast(ts_code='',start_date='',end_date='', retry_count=3, pause=2): 获取上市公司业绩快报 21.get_data_dividend(ts_code='', retry_count=3, pause=2): 分红送股数据 22.get_data_fina_indicator(ts_code='', start_date='',end_date='',retry_count=3, pause=2): 获取上市公司财务指标数据,为避免服务器压力,现阶段每次请求最多返回60条记录,可通过设置日期多次请求获取更多数据 23.get_data_fina_audit(ts_code='', start_date='',end_date='',retry_count=3, pause=2): 获取上市公司定期财务审计意见数据 24.get_data_disclosure_date(end_date='',retry_count=3, pause=2): 获取财报披露计划日期 25.get_data_moneyflow_hsgt(start_date='',end_date='',retry_count=3, pause=2): 获取沪股通、深股通、港股通每日资金流向数据,每次最多返回300条记录,总量不限制 26.get_data_hsgt_top10(trade_date='',market_type='',retry_count=3, pause=2): 获取沪股通、深股通每日前十大成交详细数据市场类型(1:沪市 3:深市) 27.get_data_ggt_top10(trade_date='',retry_count=3, pause=2): 获取港股通每日成交数据,其中包括沪市、深市详细数据市场类型 2:港股通(沪) 4:港股通(深) 28.get_data_margin(trade_date='',retry_count=3, pause=2): 获取融资融券每日交易汇总数据 29. get_data_margin_detail(trade_date='',retry_count=3, pause=2) 获取沪深两市每日融资融券明细 30.get_data_top10_holders(ts_code='',start_date='',end_date='',retry_count=3, pause=2) 获取上市公司前十大股东数据,包括持有数量和比例等信息。 31.get_data_top10_floatholders(ts_code='',start_date='',end_date='',retry_count=3, pause=2) 获取上市公司前十大流通股东数据。 32.get_data_top_list(trade_date='',retry_count=3, pause=2) 龙虎榜每日交易明细 33.get_data_top_inst(trade_date='',retry_count=3, pause=2) 龙虎榜机构成交明细 34. get_data_pledge_start(ts_code='',retry_count=3, pause=2) 获取股权质押统计数据 35.get_data_pledge_detail(ts_code='',retry_count=3, pause=2): 获取股权质押明细数据 36.get_data_repurchase(start_date='',end_date='',retry_count=3, pause=2): 获取上市公司回购股票数据 37.get_data_concept(retry_count=3, pause=2): 获取概念股分类,目前只有ts一个来源,未来将逐步增加来源 38.get_data_concept_detail(id='',retry_count=3, pause=2): 获取概念股分类明细数据 39.get_data_share_float(ann_date='',retry_count=3, pause=2): 获取限售股解禁 40.get_data_block_trade(trade_date='',retry_count=3, pause=2): 大宗交易 41.get_data_stk_account(start_date='',end_date='',retry_count=3, pause=2) 获取股票账户开户数据,统计周期为一周 42.get_data_stk_account_old(start_date='',end_date='',retry_count=3, pause=2) 获取股票账户开户数据,统计周期为一周(old) 43.get_data_stk_holdernumber(ts_code='',start_date='',end_date='',retry_count=3, pause=2): 获取上市公司股东户数数据,数据不定期公布 44.get_data_stk_holdertrade(ann_date='',retry_count=3, pause=2): #:获取上市公司增减持数据,了解重要股东近期及历史上的股份增减变化 45.get_data_index_basic(market='',start_date='',end_date='',retry_count=3, pause=2): 获取指数基础信息 46. get_data_index_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数每日行情,还可以通过bar接口获取 47.get_data_index_weekly(trade_date='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数周线行情 48.get_data_index_monthly(trade_date='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数月线行情,每月更新一次 49.get_data_index_weight(index_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取各类指数成分和权重,月度数据 ,如需日度指数成分和权重,请联系 waditu@163.com 50.get_data_index_dailybasic(trade_date='',retry_count=3, pause=2): #:目前只提供上证综指,深证成指,上证50,中证500,中小板指,创业板指的每日指标数据 51.get_data_index_classify(level='',retry_count=3, pause=2): #:获取申万行业分类,包括申万28个一级分类,104个二级分类,227个三级分类的列表信息 52.get_data_index_member(level='',retry_count=3, pause=2): #:申万行业成分 53.get_data_fund_basic(market='',retry_count=3, pause=2): #:获取公募基金数据列表,包括场内和场外基金 场内O场外 54.get_data_fund_company(retry_count=3, pause=2): #:获取公募基金管理人列表 55. get_data_fund_nav(ts_code='',retry_count=3, pause=2): #:获取公募基金净值数据 56. get_data_fund_div(ann_date='',retry_count=3, pause=2): #:获取公募基金分红数据 57.get_data_fund_portfolio(ts_code='',retry_count=3, pause=2): #:获取公募基金持仓数据,季度更新 58.get_data_fut_basic(exchange='',retry_count=3, pause=2): #:获取期货合约列表数据交易所代码 CFFEX-中金所 DCE-大商所 CZCE-郑商所 SHFE-上期所 INE-上海国际能源交易中心 59.get_data_trade_cal(exchange='',start_date='',end_date='',retry_count=3, pause=2): #:获取各大期货交易所交易日历数据 60.get_data_fut_daily(exchange='',trade_date='',retry_count=3, pause=2): #:期货日线行情数据 61.get_data_fut_holding(exchange='',trade_date='',retry_count=3, pause=2): #:获取每日成交持仓排名数据 62.get_data_fut_wsr(exchange='',symbol='',retry_count=3, pause=2): #:获取仓单日报数据,了解各仓库/厂库的仓单变化 63.get_data_fut_settle(exchange='',trade_date='',retry_count=3, pause=2): #:获取每日结算参数数据,包括交易和交割费率等 64.get_data_opt_basic(exchange='', retry_count=3, pause=2): # :获取期权合约信息 65.get_data_opt_daily(trade_date='', retry_count=3, pause=2): # :获取期权日线行情 66.get_data_cb_basic(retry_count=3, pause=2): # :获取可转债基本信息 67.get_data_cb_issue(ann_date='',retry_count=3, pause=2): # :获取可转债发行数据 68. get_data_cb_daily(trade_date='',retry_count=3, pause=2): # :获取可转债行情 69.get_data_fx_obasic(exchange='',classify='',retry_count=3, pause=2): # 获取海外外汇基础信息,目前只有FXCM交易商的数据 70.get_data_fx_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): # 获取外汇日线行情 71.get_data_shibor(start_date='',end_date='',retry_count=3, pause=2): # shibor利率 72.get_data_shibor_quote(start_date='',end_date='',retry_count=3, pause=2): # :Shibor报价数据 73.get_data_shibor_lpr(start_date='',end_date='',retry_count=3, pause=2): # LPR贷款基础利率 74.get_data_libor(curr_type='',start_date='',end_date='',retry_count=3, pause=2): # Libor拆借利率 货币代码 (USD美元 EUR欧元 JPY日元 GBP英镑 CHF瑞郎,默认是USD) 75.get_data_hibor(start_date='',end_date='',retry_count=3, pause=2): #Hibor利率 76.get_data_wz_index(start_date='',end_date='',retry_count=3, pause=2): #温州民间借贷利率,即温州指数 77.def get_data_gz_index(start_date='',end_date='',retry_count=3, pause=2): #广州民间借贷利率 78.get_data_news(start_date='',end_date='',retry_count=3, pause=2): #获取主流新闻网站的快讯新闻数据 79.get_data_cctv_news(date='',retry_count=3, pause=2): #获取新闻联播文字稿数据,数据开始于2006年6月,超过12年历史 80. get_data_anns(ts_code='',start_date='',end_date='',year='',retry_count=3, pause=2): #获取上市公司公告数据及原文文本,数据从2000年开始,内容很大,请注意数据调取节奏。 81.get_data_coinlist(start_date='',end_date='',year='',retry_count=3, pause=2): #获取全球数字货币基本信息,包括发行日期、规模、所基于的公链和算法等。 82.get_data_coinpair(exchange='',trade_date='',retry_count=3, pause=2): #获取全球数字货币基本信息,包括发行日期、规模、所基于的公链和算法等。 83.get_data_coinexchanges(area_code='',retry_count=3, pause=2): #:获取全球数字货币交易所基本信息。 84.get_data_coinbar(exchange='',symbol='',frep='',start_date='',end_date='',retry_count=3, pause=2): #获取数字货币行情数据,目前支持币币交易和期货合约交易。如果是币币交易,exchange参数请输入huobi,okex,binance,bitfinex等。 85.get_data_coincap(trade_date='',retry_count=3, pause=2): #获取数字货币每日市值数据,该接口每隔6小时采集一次数据,所以当日每个品种可能有多条数据,用户可根据实际情况过滤截取使用。 86.get_data_coinfree(exchange='',retry_count=3, pause=2): #获取交易所当前和历史交易费率,目前支持的有huobi、okex、binance和bitfinex。 87. get_data_marketcap(start_date='',end_date='',retry_count=3, pause=2): #获取比特币历史以来每日市值数据 88.get_data_btc_pricevol(start_date='',end_date='',retry_count=3, pause=2): #获取比特币历史每日的价格和成交量数据。 89. get_data_ubindex_constituents(index_name='',start_date='',end_date='',retry_count=3, pause=2): #获取优币指数成分所对应的流通市值、权重以及指数调仓日价格等数据。 90.get_data_btc8(start_date='',end_date='',retry_count=3, pause=2): #:获取巴比特即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) 91.get_data_bishijie(start_date='',end_date='',retry_count=3, pause=2): #:获取币世界即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) 92. get_data_exchange_ann(start_date='',end_date='',retry_count=3, pause=2): #:获取各个交易所公告的即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) 93.def get_data_exchange_twitter(start_date='',end_date='',retry_count=3, pause=2): #:获取Twitter上数字货币交易所发布的消息(5分钟更新一次,未来根据服务器压力再做调整) 94.get_data_twitter_kol(start_date='',end_date='',retry_count=3, pause=2): #:获取Twitter上数字货币领域大V的消息(5分钟更新一次,未来根据服务器压力再做调整) 95.get_data_tmt_twincome(start_date='',end_date='',retry_count=3, pause=2): #:获取台湾TMT电子产业领域各类产品月度营收数据。 96. get_data_tmt_twincomedetail(retry_count=3, pause=2): #:获取台湾TMT行业上市公司各类产品月度营收情况。 97.get_data_bo_mothly(date='',retry_count=3, pause=2): #:获取电影月度票房数据 98.get_data_bo_weekly(date='',retry_count=3, pause=2): #:获取周度票房数据 99.get_data_bo_daily(date='',retry_count=3, pause=2): #:获取电影日度票房 100.get_data_bo_cinema(date='',retry_count=3, pause=2): #:获取每日各影院的票房数据 101. get_data_film_record(start_date='',end_date='',retry_count=3, pause=2): #获取全国电影剧本备案的公示数据 102.get_data_teleplay_record(start_date='',end_date='',retry_count=3, pause=2): #获取2009年以来全国拍摄制作电视剧备案公示数据 103.def get_data_deposit_rate(retry_count=3, pause=2): #获取获取存款利率 104. get_data_loan_rate(retry_count=3, pause=2): #获取贷款利率 105.get_data_rrr(retry_count=3, pause=2): #获取存款准备金利率 106.get_data_money_supply(retry_count=3, pause=2): #获取货币供应量 107.get_data_money_supply_ball(retry_count=3, pause=2): #获取货币供应量年底余额 108.get_data_gdp_year(retry_count=3, pause=2): #获取国民生产总值 109.get_data_gdp_quarter(retry_count=3, pause=2): #获取国内生产总值(季度) 110.get_data_gdp_for(retry_count=3, pause=2): #获取三大需求对GDP贡献 111.get_data_gdp_pull(retry_count=3, pause=2): # 获取三产业对GDP拉动 112.get_data_gdp_contrib(retry_count=3, pause=2): #获取三产业对GDP贡献率 113.get_data_cpi(retry_count=3, pause=2): #获取居民消费指数 CPI 114.get_data_ppi(retry_count=3, pause=2): #获取工业品出厂价格指数 PPI 115.get_data_today_all(retry_count=3, pause=2): #一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日,结果显示速度取决于网速) 116.get_data_today_all(ts_code='',date='',retry_count=3, pause=2): #获取个股以往交易历史的分笔数据明细, 117.get_data_realtime_quotes(ts_code='',retry_count=3, pause=2): #获取实时分笔数据,可以实时取得股票当前报价和成交信息 118.get_data_today_ticks(ts_code='',retry_count=3, pause=2): #获取当前交易日(交易进行中使用)已经产生的分笔明细数据 119.get_data_industry_classified(retry_count=3, pause=2): #获取行业分类 120.get_data_concept_classified(retry_count=3, pause=2): #获取概念分类 121.get_data_area_classified(retry_count=3, pause=2): #获取地域分类 122.get_data_sme_classified(retry_count=3, pause=2): #获取中小板分类 123.get_data_gem_classified(retry_count=3, pause=2): #获取创业板分类 124.get_data_hs300s(retry_count=3, pause=2): # 获取沪深300成分及权重 125.get_data_sz50(retry_count=3, pause=2): # 获取上证50成分 126.get_data_zz500(retry_count=3, pause=2): #获取中证500 127.get_data_report_data(year,querter,retry_count=3, pause=2): #获取业绩报告主表 128.get_data_profit_data(year,querter,retry_count=3, pause=2): #获取盈利能力 129.get_data_operation_data(year,querter,retry_count=3, pause=2): #获取运营能力 130.get_data_growth_data(year,querter,retry_count=3, pause=2): #获取成长能力 131.get_data_debtpaving_data(year,querter,retry_count=3, pause=2): #获取偿债能力 132.get_data_cashflow_data(year,querter,retry_count=3, pause=2): #获取现金流量数据 133.get_data_latest_news(top='',retry_count=3, pause=2): #获取最新消息条数 134.get_data_notices(top='',retry_count=3, pause=2): #获取信息地雷 135.get_data_guba_sina(top='',retry_count=3, pause=2): #获取新浪股吧数据前17条 136.def get_data_guba_sina(retry_count=3, pause=2): #获取新浪股吧数据前17条 137.def get_data_hk_basic(retry_count=3, pause=2): #获取港股数据 138.def get_data_hk_daily(ts_code='',start_dt='',end_dt='',retry_count=3, pause=2): #获取港股每日增量和历史行情 139.def get_data_fut_mapping(ts_code='',start_dt='',end_dt='',retry_count=3, pause=2): #获取期货主力(或连续)合约与月合约映射数据 140.get_major_news(start_dt='',end_dt='',retry_count=3, pause=2): #获取长篇通讯信息,覆盖主要新闻资讯网站 """ import time import datetime import tushare as ts ts.set_token('999999999999999999999999999999999999999999999999999') #自己的token pro = ts.pro_api() def get_data_stock_basic(retry_count=3, pause=2): #获取基础信息数据,包括股票代码、名称、上市日期、退市日期等 # 试3次下载数据,如不成功,每次暂停2钞 #上市状态: L上市 D退市 P暂停上市 for g in range(retry_count): try: df = pro.stock_basic(exchange='', list_status='L',fields='ts_code,symbol,name,area,industry,fullname,enname,market,exchange,curr_type,list_status,list_date,delist_date,is_hs') except: time.sleep(pause) else: # print(df) return df def get_data_trade_cal(start_date='', end_date='', retry_count=3, pause=2): #获取各大交易所交易日历数据,默认提取的是上交所 # 试3次下载数据,如不成功,每次暂停2钞 #exchange交易所 SSE上交所 SZSE深交所 for g in range(retry_count): try: df = pro.trade_cal(exchange='', start_date='19940101', end_date='20190807', fields='exchange,cal_date,is_open,pretrade_date') except: time.sleep(pause) else: # print(df) return df def get_data_namechange(ts_code='',retry_count=3, pause=2): #历史名称变更记录 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.namechange(ts_code=ts_code, fields='ts_code,name,start_date,end_date,ann_date,change_reason') except: time.sleep(pause) else: # print(df) return df def get_data_hs_const(hs_type='',retry_count=3, pause=2): #获取沪股通、深股通成分数据,hs_type类型SH沪股通SZ深股通 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.hs_const(hs_type=hs_type) except: time.sleep(pause) else: # print(df) return df def get_data_stock_company(exchange='',retry_count=3, pause=2): #获取上市公司基础信息exchange交易所代码 ,SSE上交所 SZSE深交所 ,默认SSE # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.stock_company(exchange=exchange, list_status='L', fields='ts_code,exchange,chairman,manager,secretary,reg_capital,setup_date,province,city,introduction,website,email,office,employees,main_business,business_scope') except: time.sleep(pause) else: # print(df) return df def get_data_new_share(start_date='',end_date='',retry_count=3, pause=2): #获取新股上市列表数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.new_share(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_stock_daily(ts_code='', start_date='', end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #交易日每天15点~16点之间 for g in range(retry_count): try: df = pro.daily(ts_code=stocknm[2:11], start_date=start_date, end_date=end_date, fields='ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount') except: time.sleep(pause) else: # print(df) return df def get_data_stock_weekly(ts_code='', start_date='', end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取A股周线行情 for g in range(retry_count): try: df = pro.weekly(ts_code=stocknm[2:11], start_date=start_date, end_date=end_date, fields='ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount') except: time.sleep(pause) else: # print(df) return df def get_data_stock_monthly(ts_code='', start_date='', end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取A股月线行情 for g in range(retry_count): try: df = pro.monthly(ts_code=stocknm[2:11], start_date=start_date, end_date=end_date, fields='ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount') except: time.sleep(pause) else: # print(df) return df def get_data_bar(ts_code='',freq='',adj='', start_date='', end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #复权行情通过通用行情接口实现,利用Tushare Pro提供的复权因子进行计算,目前暂时只在SDK中提 #freq = 'D','W','M' 日、周、月 adj ='qfq','hfq'前复权,后复权 for g in range(retry_count): try: df = ts.pro_bar(ts_code=ts_code, freq=freq,adj=adj, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_adj_factor(ts_code='',trade_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取股票复权因子,可提取单只股票全部历史复权因子,也可以提取单日全部股票的复权因子。 for g in range(retry_count): try: #df = pro.adj_factor(ts_code='000001.SZ', trade_date='') #df = pro.adj_factor(ts_code='', trade_date='20180718') df = pro.adj_factor(ts_code=ts_code, trade_date=trade_date) except: time.sleep(pause) else: # print(df) return df def get_data_suspend(ts_code='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取股票每日停复牌信息suspend_date停牌日期(三选一)resume_date复牌日期(三选一) for g in range(retry_count): try: #df = pro.query('suspend', ts_code='', suspend_date='20180720', resume_date='', fields='') df = pro.suspend(ts_code=ts_code, suspend_date='', resume_date='', fields='ts_code,suspend_date,resume_date,ann_date,suspend_reason,reason_type') except: time.sleep(pause) else: # print(df) return df def get_data_daily_basic(trade_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等 for g in range(retry_count): try: #df = pro.query('daily_basic', ts_code='', trade_date='20180726',fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb') df = pro.daily_basic(ts_code='', trade_date=trade_date, fields='ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,total_share,float_share,free_share,total_mv,circ_mv') except: time.sleep(pause) else: # print(df) return df def get_data_moneyflow(ts_code='',start_date='',end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取沪深A股票资金流向数据,分析大单小单成交情况,用于判别资金动向 for g in range(retry_count): try: #df = pro.moneyflow(trade_date='20190315') df = df = pro.moneyflow(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_stk_limit(trade_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取全市场(包含A/B股和基金)每日涨跌停价格,包括涨停价格,跌停价格等 for g in range(retry_count): try: df = pro.stk_limit(trade_date=trade_date) #df = pro.stk_limit(ts_code='002149.SZ', start_date='20190115', end_date='20190615') except: time.sleep(pause) else: # print(df) return df def get_data_hk_hold(trade_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取沪深港股通持股明细,数据来源港交所。exchange:SH沪股通SZ深港通HK港股通 for g in range(retry_count): try: df = pro.hk_hold(trade_date='20190625') #df = pro.hk_hold(trade_date='20190625', exchange='SH') except: time.sleep(pause) else: # print(df) return df def get_data_income(ts_code='',start_date='',end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取上市公司财务利润表数据 for g in range(retry_count): try: fiel1 = 'ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,basic_eps,' fiel2 = 'diluted_eps,total_revenue,revenue,int_income,prem_earned,comm_income,' fiel3 = 'n_commis_income,n_oth_income,n_oth_income,n_oth_b_income,prem_income,' fiel4 = 'out_prem,une_prem_reser,reins_income,n_sec_tb_income,n_sec_uw_income,' fiel5 = 'n_asset_mg_income,oth_b_income,fv_value_chg_gain,invest_income,' fiel6 = 'ass_invest_income,forex_gain,total_cogs,oper_cost,int_exp,comm_exp,' fiel7 = 'biz_tax_surchg,sell_exp,int_exp,assets_impair_loss,prem_refund,' fiel8 = 'compens_payout,reser_insur_liab,div_payt,reins_exp,oper_exp,' fiel9 = 'compens_payout_refu,insur_reser_refu,reins_cost_refund,other_bus_cost,' fiel10 = 'operate_profit,non_oper_income,non_oper_exp,nca_disploss,total_profit,' fiel11 = 'income_tax,n_income,n_income_attr_p,minority_gain,oth_compr_income,' fiel12 = 't_compr_income,compr_inc_attr_p,compr_inc_attr_m_s,ebit,ebitda,' fiel13 = 'insurance_exp,undist_profit,distable_profit' fiel0 = fiel1 + fiel2 + fiel3 + fiel4 + fiel5 + fiel6 + fiel7 + fiel8 + fiel9 + fiel10 + fiel11 + fiel12 + fiel13 df = pro.income(ts_code=ts_code, start_date=start_date, end_date=end_date, fields=fiel0) except: time.sleep(pause) else: # print(df) return df def get_data_balancesheet(ts_code='',start_date='',end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取上市公司资产负债表 for g in range(retry_count): try: df = pro.balancesheet(ts_code=ts_code, start_date=start_date, end_date=end_date, fields='ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,total_share,cap_rese,undistr_porfit,surplus_rese,special_rese,money_cap,trad_asset,notes_receiv,accounts_receiv,oth_receiv,prepayment,div_receiv,int_receiv,inventories,amor_exp,nca_within_1y,sett_rsrv,loanto_oth_bank_fi,premium_receiv,reinsur_receiv,reinsur_res_receiv,pur_resale_fa,oth_cur_assets,total_cur_assets,fa_avail_for_sale,htm_invest,lt_eqt_invest,invest_real_estate,time_deposits,oth_assets,lt_rec,fix_assets,cip,const_materials,fixed_assets_disp,produc_bio_assets,oil_and_gas_assets,intan_assets,r_and_d,goodwill,lt_amor_exp,defer_tax_assets,decr_in_disbur,oth_nca,total_nca,cash_reser_cb,depos_in_oth_bfi,prec_metals,deriv_assets,rr_reins_une_prem,rr_reins_outstd_cla,rr_reins_lins_liab,rr_reins_lthins_liab,refund_depos,ph_pledge_loans,refund_cap_depos,indep_acct_assets,client_depos,client_prov,transac_seat_fee,invest_as_receiv,total_assets,lt_borr,st_borr,cb_borr,depos_ib_deposits,loan_oth_bank,trading_fl,notes_payable,acct_payable,adv_receipts,sold_for_repur_fa,comm_payable,payroll_payable,taxes_payable,int_payable,div_payable,oth_payable,acc_exp,deferred_inc,st_bonds_payable,payable_to_reinsurer,rsrv_insur_cont,acting_trading_sec,acting_uw_sec,non_cur_liab_due_1y,oth_cur_liab,total_cur_liab,bond_payable,lt_payable,specific_payables,estimated_liab,defer_tax_liab,defer_inc_non_cur_liab,oth_ncl,total_ncl,depos_oth_bfi,deriv_liab,depos,agency_bus_liab,oth_liab,prem_receiv_adva,depos_received,ph_invest,reser_une_prem,reser_outstd_claims,reser_lins_liab,reser_lthins_liab,indept_acc_liab,pledge_borr,indem_payable,policy_div_payable,total_liab,treasury_share,ordin_risk_reser,forex_differ,invest_loss_unconf,minority_int,total_hldr_eqy_exc_min_int,total_hldr_eqy_inc_min_int,total_liab_hldr_eqy,lt_payroll_payable,oth_comp_income,oth_eqt_tools,oth_eqt_tools_p_shr,lending_funds,acc_receivable,st_fin_payable,payables,hfs_assets,hfs_sales') #df2 = pro.balancesheet_vip(period='20181231',fields='ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,cap_rese') except: time.sleep(pause) else: # print(df) return df def get_data_cashflow(ts_code='',start_date='',end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取上市公司现金流量表 for g in range(retry_count): try: #df = pro.query('cashflow',ts_code='600000.SH', start_date='20180101', end_date='20181231') df = pro.cashflow(ts_code=ts_code, start_date=start_date, end_date=end_date,fields='') except: time.sleep(pause) else: # print(df) return df def get_data_forecast(ann_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取业绩预告数据 for g in range(retry_count): try: #df = pro.forecast_vip(period='20181231',fields='ts_code,ann_date,end_date,type,p_change_min,p_change_max,net_profit_min') #df = pro.query('forecast', ts_code='600000.SH',fields='ts_code,ann_date,end_date,type,p_change_min,p_change_max,net_profit_min,net_profit_max,last_parent_net,first_ann_date,summary,change_reason') df =pro.forecast(ann_date=ann_date, fields='ts_code,ann_date,end_date,type,p_change_min,p_change_max,net_profit_min,net_profit_max,last_parent_net,first_ann_date,summary,change_reason') except: time.sleep(pause) else: # print(df) return df def get_data_forecast(ts_code='',start_date='',end_date='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #获取上市公司业绩快报 for g in range(retry_count): try: df = pro.express(ts_code=ts_code, start_date=start_date, end_date=end_date, fields='ts_code,ann_date,end_date,revenue,operate_profit,total_profit,n_income,total_assets,total_hldr_eqy_exc_min_int,diluted_eps,diluted_roe,yoy_net_profit,bps,yoy_sales,yoy_op,yoy_tp,yoy_dedu_np,yoy_eps,yoy_roe,growth_assets,yoy_equity,growth_bps,or_last_year,op_last_year,tp_last_year,np_last_year,eps_last_year,open_net_assets,open_bps,perf_summary,is_audit,remark') # df = pro.query('express', ts_code='600000.SH', start_date='20180101', end_date='20180701', fields='ts_code,ann_date,end_date,revenue,operate_profit,total_profit,n_income,total_assets') except: time.sleep(pause) else: # print(df) return df def get_data_dividend(ts_code='', retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #分红送股数据 for g in range(retry_count): try: df = pro.dividend(ts_code=ts_code, fields='ts_code, end_date, ann_date, div_proc, stk_div, stk_bo_rate, stk_co_rate, cash_div, cash_div_tax, record_date, ex_date, pay_date, div_listdate, imp_ann_date, base_date, base_share') except: time.sleep(pause) else: # print(df) return df def get_data_fina_indicator(ts_code='', start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取上市公司财务指标数据,为避免服务器压力,现阶段每次请求最多返回60条记录,可通过设置日期多次请求获取更多数据。 for g in range(retry_count): try: df = pro.query('fina_indicator', ts_code=ts_code, start_date=start_date, end_date=end_date,fields='ts_code, ann_date, end_date, eps, dt_eps, total_revenue_ps, revenue_ps, capital_rese_ps, surplus_rese_ps, undist_profit_ps, extra_item, profit_dedt, gross_margin, current_ratio, quick_ratio, cash_ratio, invturn_days, arturn_days, inv_turn, ar_turn, ca_turn, fa_turn, assets_turn, op_income, valuechange_income, interst_income, daa, ebit, ebitda, fcff, fcfe, current_exint, noncurrent_exint, interestdebt, netdebt, tangible_asset, working_capital, networking_capital, invest_capital, retained_earnings, diluted2_eps, bps, ocfps, retainedps, cfps, ebit_ps, fcff_ps, fcfe_ps, netprofit_margin, grossprofit_margin, cogs_of_sales, expense_of_sales, profit_to_gr, saleexp_to_gr, adminexp_of_gr, finaexp_of_gr, impai_ttm, gc_of_gr, op_of_gr, ebit_of_gr, roe, roe_waa, roe_dt, roa, npta, roic, roe_yearly, roa2_yearly, roe_avg, opincome_of_ebt, investincome_of_ebt, n_op_profit_of_ebt, tax_to_ebt, dtprofit_to_profit, salescash_to_or, ocf_to_or, ocf_to_opincome, capitalized_to_da, debt_to_assets, assets_to_eqt, dp_assets_to_eqt, ca_to_assets, nca_to_assets, tbassets_to_totalassets, int_to_talcap, eqt_to_talcapital, currentdebt_to_debt, longdeb_to_debt, ocf_to_shortdebt, debt_to_eqt, eqt_to_debt, eqt_to_interestdebt, tangibleasset_to_debt, tangasset_to_intdebt, tangibleasset_to_netdebt, ocf_to_debt, ocf_to_interestdebt, ocf_to_netdebt, ebit_to_interest, longdebt_to_workingcapital, ebitda_to_debt, turn_days, roa_yearly, roa_dp, fixed_assets, profit_prefin_exp, non_op_profit, op_to_ebt, nop_to_ebt, ocf_to_profit, cash_to_liqdebt, cash_to_liqdebt_withinterest, op_to_liqdebt, op_to_debt, roic_yearly, profit_to_op, q_opincome, q_investincome, q_dtprofit, q_eps, q_netprofit_margin, q_gsprofit_margin, q_exp_to_sales, q_profit_to_gr, q_saleexp_to_gr, q_adminexp_to_gr, q_finaexp_to_gr, q_impair_to_gr_ttm, q_gc_to_gr, q_op_to_gr, q_roe, q_dt_roe, q_npta, q_opincome_to_ebt, q_investincome_to_ebt, q_dtprofit_to_profit, q_salescash_to_or, q_ocf_to_sales, q_ocf_to_or, basic_eps_yoy, dt_eps_yoy, cfps_yoy, op_yoy, ebt_yoy, netprofit_yoy, dt_netprofit_yoy, ocf_yoy, roe_yoy, bps_yoy, assets_yoy, eqt_yoy, tr_yoy, or_yoy, q_gr_yoy, q_gr_qoq, q_sales_yoy, q_sales_qoq, q_op_yoy, q_op_qoq, q_profit_yoy, q_profit_qoq, q_netprofit_yoy, q_netprofit_qoq, equity_yoy, rd_exp') #df = pro.fina_indicator(ts_code='600000.SH') except: time.sleep(pause) else: # print(df) return df def get_data_fina_audit(ts_code='', start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取上市公司定期财务审计意见数据 for g in range(retry_count): try: df = pro.fina_audit(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_fina_mainbz(ts_code='',period='',type='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获得上市公司主营业务构成,分地区和产品,两种方式类型:P按产品 D按地区 for g in range(retry_count): try: #df = pro.fina_mainbz(ts_code='000627.SZ', period='20171231', type='P',fields='ts_code, end_date, bz_item, bz_sales, bz_profit, bz_cost, curr_type,update_flag') #df = pro.fina_mainbz(ts_code='000627.SZ', type='P') df = pro.fina_mainbz(ts_code=ts_code, period=period, type=type,fields='ts_code, end_date, bz_item, bz_sales, bz_profit, bz_cost, curr_type,update_flag') except: time.sleep(pause) else: # print(df) return df def get_data_disclosure_date(end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取财报披露计划日期 for g in range(retry_count): try: #df = pro.disclosure_date(end_date='20181231') df = pro.disclosure_date(end_date='20181231') except: time.sleep(pause) else: # print(df) return df def get_data_moneyflow_hsgt(start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取沪股通、深股通、港股通每日资金流向数据,每次最多返回300条记录,总量不限制 for g in range(retry_count): try: #pro.query('moneyflow_hsgt', trade_date='20180725') df = pro.moneyflow_hsgt(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_hsgt_top10(trade_date='',market_type='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取沪股通、深股通每日前十大成交详细数据市场类型(1:沪市 3:深市) for g in range(retry_count): try: #pro.query('hsgt_top10', ts_code='600519.SH', start_date='20180701', end_date='20180725') #pro.hsgt_top10(trade_date='20180725', market_type='1') pro.hsgt_top10(trade_date='20180725', market_type=market_type) except: time.sleep(pause) else: # print(df) return df def get_data_ggt_top10(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取港股通每日成交数据,其中包括沪市、深市详细数据市场类型 2:港股通(沪) 4:港股通(深) for g in range(retry_count): try: #pro.query('ggt_top10', ts_code='00700', start_date='20180701', end_date='20180727') #pro.ggt_top10(trade_date='20180727') pro.ggt_top10(trade_date=trade_date) except: time.sleep(pause) else: # print(df) return df def get_data_margin(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取融资融券每日交易汇总数据 for g in range(retry_count): try: df = pro.margin(trade_date=trade_date) #df = pro.query('margin', trade_date='20180802', exchange_id='SSE') except: time.sleep(pause) else: # print(df) return df def get_data_margin_detail(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取沪深两市每日融资融券明细 for g in range(retry_count): try: df = pro.margin_detail(trade_date='20180802') #df = pro.query('margin_detail', trade_date='20180802') except: time.sleep(pause) else: # print(df) return df def get_data_top10_holders(ts_code='',start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取上市公司前十大股东数据,包括持有数量和比例等信息。 for g in range(retry_count): try: df = pro.top10_holders(ts_code=ts_code, start_date=start_date, end_date=end_date) #df = pro.query('top10_holders', ts_code='600000.SH', start_date='20170101', end_date='20171231') except: time.sleep(pause) else: # print(df) return df def get_data_top10_floatholders(ts_code='',start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #::获取上市公司前十大流通股东数据。 for g in range(retry_count): try: df = pro.top10_floatholders(ts_code=ts_code, start_date=start_date, end_date=end_date) #df = pro.query('top10_floatholders', ts_code='600000.SH', start_date='20170101', end_date='20171231') except: time.sleep(pause) else: # print(df) return df def get_data_top_list(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:龙虎榜每日交易明细 for g in range(retry_count): try: df = pro.top_list(trade_date=trade_date) #df = pro.query('top_list', trade_date='20180928', ts_code='002219.SZ') except: time.sleep(pause) else: # print(df) return df def get_data_top_inst(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:龙虎榜机构成交明细 for g in range(retry_count): try: df = pro.top_inst(trade_date=trade_date) #df = pro.query('top_inst', trade_date='20180928', ts_code='002219.SZ') except: time.sleep(pause) else: # print(df) return df def get_data_pledge_start(ts_code='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取股权质押统计数据 for g in range(retry_count): try: df = pro.pledge_stat(ts_code=ts_code) #df = pro.query('pledge_stat', ts_code='000014.SZ') except: time.sleep(pause) else: # print(df) return df def get_data_pledge_detail(ts_code='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取股权质押明细数据 for g in range(retry_count): try: df = pro.pledge_detail(ts_code=ts_code) #df = pro.query('pledge_detail', ts_code='000014.SZ') except: time.sleep(pause) else: # print(df) return df def get_data_repurchase(start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取上市公司回购股票数据 for g in range(retry_count): try: df = pro.repurchase(ann_date='', start_date=start_date, end_date=end_date) #df = pro.repurchase(ann_date='20181010') except: time.sleep(pause) else: # print(df) return df def get_data_concept(retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取概念股分类,目前只有ts一个来源,未来将逐步增加来源 for g in range(retry_count): try: df = pro.concept() #df = pro.concept(src='ts') except: time.sleep(pause) else: # print(df) return df def get_data_concept_detail(id='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取概念股分类明细数据 for g in range(retry_count): try: #df = pro.concept_detail(ts_code = '600848.SH') #df = pro.concept_detail(id='TS2', fields='ts_code,name') df = pro.concept_detail(id=id, fields='ts_code,name') #df = pro.concept(src='ts')先通过概念股分类接口获取具体分类 except: time.sleep(pause) else: # print(df) return df def get_data_share_float(ann_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取限售股解禁 for g in range(retry_count): try: df = pro.share_float(ann_date=ann_date) except: time.sleep(pause) else: # print(df) return df def get_data_block_trade(trade_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:大宗交易 for g in range(retry_count): try: df = pro.block_trade(trade_date='20181227') except: time.sleep(pause) else: # print(df) return df def get_data_stk_account(start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取股票账户开户数据,统计周期为一周 for g in range(retry_count): try: df = pro.stk_account(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_stk_account_old(start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取股票账户开户数据,统计周期为一周(old) for g in range(retry_count): try: df = pro.stk_account_old(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_stk_holdernumber(ts_code='',start_date='',end_date='',retry_count=3, pause=2): # 试3次下载数据,如不成功,每次暂停2钞 #:获取上市公司股东户数数据,数据不定期公布 for g in range(retry_count): try: df = pro.stk_holdernumber(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_stk_holdertrade(ann_date='',retry_count=3, pause=2): #:获取上市公司增减持数据,了解重要股东近期及历史上的股份增减变化 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 获取单日全部增减持数据 df = pro.stk_holdertrade(ann_date=ann_date) # 获取单个股票数据 #df = pro.stk_holdertrade(ts_code='002149.SZ') # 获取当日增持数据 #df = pro.stk_holdertrade(ann_date='20190426', trade_type='IN') except: time.sleep(pause) else: # print(df) return df def get_data_index_basic(market='',retry_count=3, pause=2): #:获取指数基础信息 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 # MSCI MSCI指数 # CSI 中证指数 SSE上交所指数 SZSE 深交所指数 CICC 中金所指数 SW 申万指数 OTH 其他指数 for g in range(retry_count): try: #df = pro.index_basic(market='SW') df = pro.index_basic(market=market) except: time.sleep(pause) else: # print(df) return df def get_data_index_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数每日行情,还可以通过bar接口获取 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 for g in range(retry_count): try: #df = pro.index_daily(ts_code='399300.SZ') df = pro.index_daily(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_index_weekly(trade_date='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数周线行情 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 for g in range(retry_count): try: #df = pro.index_weekly(ts_code='000001.SH', start_date='20180101', end_date='20190329', fields='ts_code,trade_date,open,high,low,close,vol,amount') df = pro.index_weekly(trade_date=trade_date, fields='ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount') except: time.sleep(pause) else: # print(df) return df def get_data_index_monthly(trade_date='',start_date='',end_date='',retry_count=3, pause=2): #:获取指数月线行情,每月更新一次 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 for g in range(retry_count): try: #df = pro.index_monthly(ts_code='000001.SH', start_date='20180101', end_date='20190330', fields='ts_code,trade_date,open,high,low,close,vol,amount') df = pro.index_monthly(trade_date=trade_date, fields='ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount') except: time.sleep(pause) else: # print(df) return df def get_data_index_weight(index_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取各类指数成分和权重,月度数据 ,如需日度指数成分和权重,请联系 waditu@163.com # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 for g in range(retry_count): try: df = pro.index_weight(index_code=index_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_index_dailybasic(trade_date='',retry_count=3, pause=2): #:目前只提供上证综指,深证成指,上证50,中证500,中小板指,创业板指的每日指标数据 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明 for g in range(retry_count): try: df = pro.index_dailybasic(trade_date=trade_date, fields='ts_code,trade_date,total_mv,total_share,free_share,turnover_rate,turnover_rate_f,pe,pe_ttm,pb') except: time.sleep(pause) else: # print(df) return df def get_data_index_classify(level='',retry_count=3, pause=2): #:获取申万行业分类,包括申万28个一级分类,104个二级分类,227个三级分类的列表信息 # 试3次下载数据,如不成功,每次暂停2钞市场代码 说明行业分级(L1/L2/L3) for g in range(retry_count): try: # 获取申万一级行业列表 #df = pro.index_classify(level='L1', src='SW') # 获取申万二级行业列表 #df = pro.index_classify(level='L2', src='SW') # 获取申万三级级行业列表 #df = pro.index_classify(level='L3', src='SW') df = pro.index_classify(level=level, src='SW') except: time.sleep(pause) else: # print(df) return df def get_data_index_member(level='',retry_count=3, pause=2): #:申万行业成分 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: # 获取黄金分类的成份股 #df = pro.index_member(index_code='850531.SI') # 获取000001.SZ所属行业 #df = pro.index_member(ts_code='000001.SZ') df = pro.index_classify(level=level,fields='index_code,index_name,con_code,con_name,in_date,out_date,is_new') except: time.sleep(pause) else: # print(df) return df def get_data_fund_basic(market='',retry_count=3, pause=2): #:获取公募基金数据列表,包括场内和场外基金 场内O场外 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: #df = pro.fund_basic(market='E') df = pro.fund_basic(market='E') except: time.sleep(pause) else: # print(df) return df def get_data_fund_company(retry_count=3, pause=2): #:获取公募基金管理人列表 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fund_company() except: time.sleep(pause) else: # print(df) return df def get_data_fund_nav(ts_code='',retry_count=3, pause=2): #:获取公募基金净值数据 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fund_nav(ts_code=ts_code) except: time.sleep(pause) else: # print(df) return df def get_data_fund_div(ann_date='',retry_count=3, pause=2): #:获取公募基金分红数据 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fund_div(ann_date=ann_date) except: time.sleep(pause) else: # print(df) return df def get_data_fund_portfolio(ts_code='',retry_count=3, pause=2): #:获取公募基金持仓数据,季度更新 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fund_portfolio(ts_code=ts_code) except: time.sleep(pause) else: # print(df) return df def get_data_fund_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取场内基金日线行情,类似股票日行情 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fund_daily(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_fut_basic(exchange='',retry_count=3, pause=2): #:获取期货合约列表数据交易所代码 CFFEX-中金所 DCE-大商所 CZCE-郑商所 SHFE-上期所 INE-上海国际能源交易中心 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.fut_basic(exchange=exchange, fut_type='1', fields='ts_code,symbol,exchange,name,fut_code,muliplier,trade_unit,pre_unit,quote_unit,quote_unit_desc,d_mode_desc,list_date,delist_date,d_moth,last_ddate') except: time.sleep(pause) else: # print(df) return df def get_data_trade_cal(exchange='',start_date='',end_date='',retry_count=3, pause=2): #:获取各大期货交易所交易日历数据 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: df = pro.trade_cal(exchange=exchange, start_date=start_date, end_date=end_date) #df = pro.trade_cal(exchange='DCE', start_date='20180101', end_date='20181231') #df = pro.query('trade_cal', exchange='DCE', start_date='20180101', end_date='20181231') except: time.sleep(pause) else: # print(df) return df def get_data_fut_daily(exchange='',trade_date='',retry_count=3, pause=2): #:期货日线行情数据 # 试3次下载数据,如不成功,每次暂停2钞市场代码 for g in range(retry_count): try: # 获取CU1811合约20180101~20181113期间的行情 #df = pro.fut_daily(ts_code='CU1811.SHF', start_date='20180101', end_date='20181113') # 获取2018年11月13日大商所全部合约行情数据 #df = pro.fut_daily(trade_date='20181113', exchange='DCE',fields='ts_code,trade_date,pre_close,pre_settle,open,high,low,close,settle,vol') df = pro.fut_daily(trade_date=trade_date, exchange=exchange, fields='ts_code,trade_date,pre_close,pre_settle,open,high,low,close,settle,change1,change2,vol,amount,oi,oi_chg,delv_settle') except: time.sleep(pause) else: # print(df) return df def get_data_fut_holding(exchange='',trade_date='',retry_count=3, pause=2): #:获取每日成交持仓排名数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.fut_holding(trade_date='20181113', symbol='C', exchange='DCE') df = pro.fut_holding(trade_date=trade_date, symbol='C', exchange=exchange) except: time.sleep(pause) else: # print(df) return df def get_data_fut_wsr(exchange='',symbol='',retry_count=3, pause=2): #:获取仓单日报数据,了解各仓库/厂库的仓单变化 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.fut_wsr(trade_date='20181113', symbol='ZN') df = pro.fut_wsr(trade_date=trade_date, symbol=symbol) except: time.sleep(pause) else: # print(df) return df def get_data_fut_settle(exchange='',trade_date='',retry_count=3, pause=2): #:获取每日结算参数数据,包括交易和交割费率等 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.fut_settle(trade_date='20181114', exchange='SHFE') df = pro.fut_settle(trade_date=trade_date, exchange=exchange) except: time.sleep(pause) else: # print(df) return df def get_data_index_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): #:获取南华指数每日行情,指数行情也可以通过通用行情接口获取数据. # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.index_daily(ts_code='CU.NH', start_date='20180101', end_date='20181201') df = pro.index_daily(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_opt_basic(exchange='',retry_count=3, pause=2): #:获取期权合约信息 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.opt_basic(exchange='DCE', fields='ts_code,exchange,name,per_unit,opt_code,opt_type,call_put,exercise_type,exercise_price,s_month,maturity_date,list_price,list_date,delist_date,last_edate,last_ddate,quote_unit,min_price_chg') df = pro.opt_basic(exchange=exchange, fields='ts_code,exchange,name,per_unit,opt_code,opt_type,call_put,exercise_type,exercise_price,s_month,maturity_date,list_price,list_date,delist_date,last_edate,last_ddate,quote_unit,min_price_chg') except: time.sleep(pause) else: # print(df) return df def get_data_opt_daily(trade_date='', retry_count=3, pause=2): # :获取期权日线行情 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.opt_daily(trade_date=trade_date,fields='ts_code,trade_date,exchange,pre_settle,pre_close,open,high,low,close,settle,vol,amount,oi') except: time.sleep(pause) else: # print(df) return df def get_data_cb_basic(retry_count=3, pause=2): # :获取可转债基本信息 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.cb_basic() except: time.sleep(pause) else: # print(df) return df def get_data_cb_issue(ann_date='',retry_count=3, pause=2): # :获取可转债发行数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 获取可转债发行数据 df = pro.cb_issue(ann_date=ann_date) # 获取可转债发行数据,自定义字段 #df = pro.cb_issue(ann_date='20190612', fields='ts_code,ann_date,offl_deposit') except: time.sleep(pause) else: # print(df) return df def get_data_cb_daily(trade_date='',retry_count=3, pause=2): # :获取可转债行情 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.cb_daily(trade_date=trade_date) except: time.sleep(pause) else: # print(df) return df def get_data_fx_obasic(exchange='',classify='',retry_count=3, pause=2): # 获取海外外汇基础信息,目前只有FXCM交易商的数据 """ classify分类说明 序号 分类代码 分类名称 样例 1 FX 外汇货币对 USDCNH(美元人民币对) 2 INDEX 指数 US30(美国道琼斯工业平均指数) 3 COMMODITY 大宗商品 SOYF(大豆) 4 METAL 金属 XAUUSD (黄金) 5 BUND 国库债券 Bund(长期欧元债券) 6 CRYPTO 加密数字货币 BTCUSD(比特币) 7 FX_BASKET 外汇篮子 USDOLLAR (美元指数) """ # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 获取差价合约(CFD)中指数产的基础信息 #df = pro.fx_obasic(exchange='FXCM', classify='INDEX', fields='ts_code,name,classify,min_unit,max_unit,pip,pip_cost,traget_spread,min_stop_distance,trading_hours,break_time') df = pro.fx_obasic(exchange=exchange, classify=classify, fields='ts_code,name,classify,min_unit,max_unit,pip,pip_cost,traget_spread,min_stop_distance,trading_hours,break_time') except: time.sleep(pause) else: # print(df) return df def get_data_fx_daily(ts_code='',start_date='',end_date='',retry_count=3, pause=2): # 获取外汇日线行情 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 获取差价合约(CFD)中指数产的基础信息 #df = pro.fx_daily(ts_code='USDCNH.FXCM', start_date='20190101', end_date='20190524') df = pro.fx_daily(ts_code=ts_code, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_shibor(start_date='',end_date='',retry_count=3, pause=2): # shibor利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.shibor(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_shibor_quote(start_date='',end_date='',retry_count=3, pause=2): # :Shibor报价数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.shibor_quote(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_shibor_quote(start_date='',end_date='',retry_count=3, pause=2): # :Shibor报价数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.shibor_quote(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_shibor_lpr(start_date='',end_date='',retry_count=3, pause=2): # LPR贷款基础利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.shibor_lpr(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_libor(curr_type='',start_date='',end_date='',retry_count=3, pause=2): # Libor拆借利率 货币代码 (USD美元 EUR欧元 JPY日元 GBP英镑 CHF瑞郎,默认是USD) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.libor(curr_type='USD', start_date='20180101', end_date='20181130') df = pro.libor(curr_type=curr_type, start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_hibor(start_date='',end_date='',retry_count=3, pause=2): #Hibor利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.hibor(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_wz_index(start_date='',end_date='',retry_count=3, pause=2): #温州民间借贷利率,即温州指数 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.wz_index(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_gz_index(start_date='',end_date='',retry_count=3, pause=2): #广州民间借贷利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.gz_index(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_news(start_date='',end_date='',retry_count=3, pause=2): #获取主流新闻网站的快讯新闻数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.news(src='sina', start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_cctv_news(date='',retry_count=3, pause=2): #获取新闻联播文字稿数据,数据开始于2006年6月,超过12年历史 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.cctv_news(date=date) except: time.sleep(pause) else: # print(df) return df def get_data_anns(ts_code='',start_date='',end_date='',year='',retry_count=3, pause=2): #获取上市公司公告数据及原文文本,数据从2000年开始,内容很大,请注意数据调取节奏。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 获取单个股票公告数据 df = pro.anns(ts_code=ts_code, start_date=start_date, end_date=end_date, year=year) # 获取2019年最新的50条公告数据 #df = pro.anns(year='2019') except: time.sleep(pause) else: # print(df) return df def get_data_coinlist(start_date='',end_date='',retry_count=3, pause=2): #获取全球数字货币基本信息,包括发行日期、规模、所基于的公链和算法等。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.coinlist(start_date=start_date, end_date=end_date) #df = pro.query('coinlist', start_date='20170101', end_date='20171231') except: time.sleep(pause) else: # print(df) return df def get_data_coinpair(exchange='',trade_date='',retry_count=3, pause=2): #获取全球数字货币基本信息,包括发行日期、规模、所基于的公链和算法等。 # 试3次下载数据,如不成功,每次暂停2钞 """ 交易所列表 序号 交易所名称 1 allcoin 2 bcex 3 bibox 4 bigone 5 binance 6 bitbank 7 bitfinex 8 bitflyer 9 bitflyex 10 bithumb 11 bitmex 12 bitstamp 13 bitstar 14 bittrex 15 bitvc 16 bitz 17 bleutrade 18 btcbox 19 btcc 20 btccp 21 btcturk 22 btc_usd_index 23 bter 24 chbtc 25 cobinhood 26 coinbase 27 coinbene 28 coincheck 29 coinegg 30 coinex 31 coinone 32 coinsuper 33 combine 34 currency 35 dextop 36 digifinex 37 exmo 38 exx 39 fcoin 40 fisco 41 future_bitmex 42 gate 43 gateio 44 gdax 45 gemini 46 hadax 47 hbus 48 hft 49 hitbtc 50 huobi 51 huobiotc 52 huobip 53 huobix 54 idax 55 idex 56 index 57 itbit 58 jubi 59 korbit 60 kraken 61 kucoin 62 lbank 63 lbc 64 liqui 65 okcn 66 okcom 67 okef 68 okex 69 okotc 70 okusd 71 poloniex 72 quoine 73 quoinex 74 rightbtc 75 shuzibi 76 simex 77 topbtc 78 upbit 79 viabtc 80 yobit 81 yuanbao 82 yunbi 83 zaif 84 zb """ for g in range(retry_count): try: df = pro.coinpair(exchange=exchange, trade_date=trade_date) # df = pro.query('coinpair', exchange='huobi', trade_date='20180802') except: time.sleep(pause) else: # print(df) return df def get_data_coinexchanges(area_code='',retry_count=3, pause=2): #:获取全球数字货币交易所基本信息。 # 试3次下载数据,如不成功,每次暂停2钞 """" 交易所地区说明 地区代码 地区名称 ae 阿联酋 au 澳大利亚 br 巴西 by 白俄罗斯 bz 伯利兹 ca 加拿大 cbb 加勒比 ch 瑞士 cl 智利 cn 中国 cy 塞浦路斯 dk 丹麦 ee 爱沙尼亚 es 西班牙 hk 中国香港 id 印度尼西亚 il 以色列 in 印度 jp 日本 kh 柬埔寨 kr 韩国 ky 开曼群岛 la 老挝 mn 蒙古国 mt 马耳他 mx 墨西哥 my 马来西亚 nl 荷兰 nz 新西兰 ph 菲律宾 pl 波兰 ru 俄罗斯 sc 塞舌尔 sg 新加坡 th 泰国 tr 土耳其 tz 坦桑尼亚 ua 乌克兰 uk 英国 us 美国 vn 越南 ws 萨摩亚 za 南非 """ for g in range(retry_count): try: df = pro.coinexchanges(area_code=area_code) # 按交易对数量排序 #df = df.sort('pairs', ascending=False) except: time.sleep(pause) else: # print(df) return df def get_data_coinbar(exchange='',symbol='',frep='',start_date='',end_date='',retry_count=3, pause=2): #获取数字货币行情数据,目前支持币币交易和期货合约交易。如果是币币交易,exchange参数请输入huobi,okex,binance,bitfinex等。 # 如果是期货,exchange参数请输入future_xxx,比如future_okex,future_bitmex。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #future_okex的contract_type有三种: this_week / next_week / quarter #future_bitmex的contract_type有五种: perpetual / biquarterly / quarterly / monthly / weekly #df = pro.coinbar(exchange='huobi', symbol='btcusdt', freq='15min', start_date='20180801',end_date='20180802') df = pro.coinbar(exchange=exchange, symbol=sybol, freq=freq, start_date=start_date,end_date =end_date) df = pro.query('coinbar', exchange='huobi', symbol='btcusdt', freq='15min', start_date='20180801', end_date='20180802') df = pro.coinlist(start_date=start_date, end_date=end_date) #df = pro.query('coinlist', start_date='20170101', end_date='20171231') except: time.sleep(pause) else: # print(df) return df def get_data_coincap(trade_date='',retry_count=3, pause=2): #获取数字货币每日市值数据,该接口每隔6小时采集一次数据,所以当日每个品种可能有多条数据,用户可根据实际情况过滤截取使用。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.coincap(trade_date=trade_date) #df = pro.query('coincap', trade_date='20180806', coin='BTC') except: time.sleep(pause) else: # print(df) return df def get_data_coinfree(exchange='',retry_count=3, pause=2): #获取交易所当前和历史交易费率,目前支持的有huobi、okex、binance和bitfinex。 # 试3次下载数据,如不成功,每次暂停2钞 """ xchange 名称 优惠情况 huobi 火币 按VIP级别不同有优惠,VIP需购买 okex okex 按成交额度有优惠 binance 币安 按年优惠 bitfinex bitfinex 按成交额度大小优惠 fcoin fcoin 交易即挖矿,先收后返 coinex coin 交易即挖矿,先收后返 """ for g in range(retry_count): try: df = pro.coinfees(exchange='huobi') #df = pro.query('coinfees', exchange='okex', asset_type='future') except: time.sleep(pause) else: # print(df) return df def get_data_marketcap(start_date='',end_date='',retry_count=3, pause=2): #获取比特币历史以来每日市值数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.btc_marketcap(start_date=start_date, end_date=end_date) #df = pro.query('btc_marketcap', start_date='20180101', end_date='20180801') except: time.sleep(pause) else: # print(df) return df def get_data_btc_pricevol(start_date='',end_date='',retry_count=3, pause=2): #获取比特币历史每日的价格和成交量数据。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.btc_pricevol(start_date=start_date, end_date=end_date) #df = pro.query('btc_pricevol', start_date='20180101', end_date='20180801') except: time.sleep(pause) else: # print(df) return df def get_data_ubindex_constituents(index_name='',start_date='',end_date='',retry_count=3, pause=2): #获取优币指数成分所对应的流通市值、权重以及指数调仓日价格等数据。 # 试3次下载数据,如不成功,每次暂停2钞 #指数名称 说明 #UBI7 平台类TOP7项目指数 #UBI0 平台类TOP10项目指数 #UBI20 平台类TOP20项目指数 #UBC7 币类TOP7项目指数 #UB7 市场整体类TOP7项目指数 #UB20 市场整体类TOP20项目指数 for g in range(retry_count): try: df = pro.ubindex_constituents(index_name=index_name, start_date=start_date, end_date=end_date) #df = pro.ubindex_constituents(index_name='UBI7', start_date='20180801', end_date='20180901') #df =pro.query('ubindex_constituents', index_name='UBI7', start_date='20180801', end_date='20180901') except: time.sleep(pause) else: # print(df) return df def get_data_jinse(start_date='',end_date='',retry_count=3, pause=2): #:获取金色采集即时和历史资讯数据(5分钟更新一次) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.jinse(start_date=start_date, end_date=end_date, \ fields='title,content,type,url, datetime') #df = pro.jinse(start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, type, datetime') #df = pro.query('jinse', start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, type, datetime') except: time.sleep(pause) else: # print(df) return df def get_data_btc8(start_date='',end_date='',retry_count=3, pause=2): #:获取巴比特即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.btc8(start_date=start_date, end_date=end_date, fields='title, url, datetime') #df = pro.btc8(start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, url, datetime') #df = pro.query('btc8', start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00',fields='title, url, datetime') except: time.sleep(pause) else: # print(df) return df def get_data_bishijie(start_date='',end_date='',retry_count=3, pause=2): #:获取币世界即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.bishijie(start_date=start_date, end_date=end_date, fields='title, datetime') #df = pro.bishijie(start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, datetime') #df = pro.query('bishijie', start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, datetime') except: time.sleep(pause) else: # print(df) return df def get_data_exchange_ann(start_date='',end_date='',retry_count=3, pause=2): #:获取各个交易所公告的即时和历史资讯数据(5分钟更新一次,未来根据服务器压力再做调整) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.exchange_ann(start_date=start_date, end_date=end_date, fields='title, datetime') #df = pro.exchange_ann(start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00',fields='title, datetime') #df = pro.query('exchange_ann', start_date='2018-08-17 16:00:00', end_date='2018-08-17 18:00:00', fields='title, datetime') except: time.sleep(pause) else: # print(df) return df def get_data_exchange_twitter(start_date='',end_date='',retry_count=3, pause=2): #:获取Twitter上数字货币交易所发布的消息(5分钟更新一次,未来根据服务器压力再做调整) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.exchange_twitter(start_date=start_date, end_date=end_date, fields="id,account,nickname,content,retweet_content,media,str_posted_at,create_at") #df = pro.exchange_twitter(start_date='2018-09-02 03:20:03', end_date='2018-09-02 03:35:03', fields="id,account,nickname,content,retweet_content,media,str_posted_at,create_at") #df = pro.query('exchange_twitter', start_date='2018-09-02 03:20:03', end_date='2018-09-02 03:35:03', fields="id,account,nickname,content,retweet_content,media,str_posted_at,create_at") except: time.sleep(pause) else: # print(df) return df def get_data_twitter_kol(start_date='',end_date='',retry_count=3, pause=2): #:获取Twitter上数字货币领域大V的消息(5分钟更新一次,未来根据服务器压力再做调整) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #start_date 格式'2018-08-17 16:00:00' df = pro.twitter_kol(start_date=start_date, end_date=end_date, fields="id,account,nickname,content,retweet_content,media,str_posted_at") #df = pro.twitter_kol(start_date='2018-09-26 14:15:41', end_date='2018-09-26 16:20:11', fields="id,account,nickname,content,retweet_content,media,str_posted_at") #df = pro.query('twitter_kol', start_date='2018-09-26 14:15:41', end_date='2018-09-26 16:20:11', fields="id,account,nickname,content,retweet_content,media,str_posted_at") except: time.sleep(pause) else: # print(df) return df def get_data_tmt_twincome(start_date='',end_date='',retry_count=3, pause=2): #:获取台湾TMT电子产业领域各类产品月度营收数据。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = pro.tmt_twincome(item='8') df = pro.tmt_twincome(item='8', start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_tmt_twincomedetail(retry_count=3, pause=2): #:获取台湾TMT行业上市公司各类产品月度营收情况。 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.tmt_twincomedetail(item='8', symbol='6156') except: time.sleep(pause) else: # print(df) return df def get_data_bo_mothly(date='',retry_count=3, pause=2): #:获取电影月度票房数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.bo_monthly(date=date) except: time.sleep(pause) else: # print(df) return df def get_data_bo_weekly(date='',retry_count=3, pause=2): #:获取周度票房数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.bo_weekly(date=date) except: time.sleep(pause) else: # print(df) return df def get_data_bo_daily(date='',retry_count=3, pause=2): #:获取电影日度票房 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.bo_daily(date=date) except: time.sleep(pause) else: # print(df) return df def get_data_bo_cinema(date='',retry_count=3, pause=2): #:获取每日各影院的票房数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.bo_cinema(date=date) except: time.sleep(pause) else: # print(df) return df def get_data_film_record(start_date='',end_date='',retry_count=3, pause=2): #获取全国电影剧本备案的公示数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = pro.film_record(start_date=start_date, end_date=end_date) except: time.sleep(pause) else: # print(df) return df def get_data_teleplay_record(start_date='',end_date='',retry_count=3, pause=2): #获取2009年以来全国拍摄制作电视剧备案公示数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: # 按备案月份查询 #df = pro.teleplay_record(report_date='201905') df = pro.teleplay_record(start_date=start_date, end_date=end_date) # 按备案机构查询 #df = pro.teleplay_record(org='上海新文化传媒集团股份有限公司') # 按电视剧名称查询 #df = pro.teleplay_record(name='三体') except: time.sleep(pause) else: # print(df) return df def get_data_deposit_rate(retry_count=3, pause=2): #获取存款利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_deposit_rate() except: time.sleep(pause) else: # print(df) return df def get_data_loan_rate(retry_count=3, pause=2): #获取贷款利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_loan_rate() except: time.sleep(pause) else: # print(df) return df def get_data_loan_rate(retry_count=3, pause=2): #获取贷款利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_loan_rate() except: time.sleep(pause) else: # print(df) return df def get_data_rrr(retry_count=3, pause=2): #获取存款准备金利率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_rrr() except: time.sleep(pause) else: # print(df) return df def get_data_money_supply(retry_count=3, pause=2): #获取货币供应量 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_money_supply() except: time.sleep(pause) else: # print(df) return df def get_data_money_supply_ball(retry_count=3, pause=2): #获取货币供应量年底余额 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_money_supply_bal() except: time.sleep(pause) else: # print(df) return df def get_data_gdp_year(retry_count=3, pause=2): #获取国民生产总值 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gdp_year() except: time.sleep(pause) else: # print(df) return df def get_data_gdp_quarter(retry_count=3, pause=2): #获取国内生产总值(季度) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gdp_quarter() except: time.sleep(pause) else: # print(df) return df def get_data_gdp_for(retry_count=3, pause=2): #获取三大需求对GDP贡献 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gdp_for() except: time.sleep(pause) else: # print(df) return df def get_data_gdp_pull(retry_count=3, pause=2): #获取三产业对GDP拉动 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gdp_pull() except: time.sleep(pause) else: # print(df) return df def get_data_gdp_contrib(retry_count=3, pause=2): #获取三产业对GDP贡献率 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gdp_contrib() except: time.sleep(pause) else: # print(df) return df def get_data_cpi(retry_count=3, pause=2): #获取居民消费指数 CPI # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_cpi() except: time.sleep(pause) else: # print(df) return df def get_data_ppi(retry_count=3, pause=2): #获取工业品出厂价格指数 PPI # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_ppi() except: time.sleep(pause) else: # print(df) return df def get_data_ppi(retry_count=3, pause=2): #获取工业品出厂价格指数 PPI # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_ppi() except: time.sleep(pause) else: # print(df) return df def get_data_today_all(retry_count=3, pause=2): #一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日,结果显示速度取决于网速) # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_today_all() except: time.sleep(pause) else: # print(df) return df def get_data_today_all(ts_code='',date='',retry_count=3, pause=2): #获取个股以往交易历史的分笔数据明细, # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = ts.get_tick_data('600848',date='2018-12-12',src='tt') df = ts.get_tick_data(ts_code, date=date, src='tt') except: time.sleep(pause) else: # print(df) return df def get_data_realtime_quotes(ts_code='',retry_count=3, pause=2): #获取实时分笔数据,可以实时取得股票当前报价和成交信息 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = ts.get_realtime_quotes('000581') df = ts.get_realtime_quotes(ts_code) except: time.sleep(pause) else: # print(df) return df def get_data_today_ticks(ts_code='',retry_count=3, pause=2): #获取当前交易日(交易进行中使用)已经产生的分笔明细数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = ts.get_today_ticks('601333') df = ts.get_today_ticks(ts_code) except: time.sleep(pause) else: # print(df) return df def get_data_industry_classified(retry_count=3, pause=2): #获取行业分类 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_industry_classified() except: time.sleep(pause) else: # print(df) return df def get_data_concept_classified(retry_count=3, pause=2): #获取概念分类 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_concept_classified() except: time.sleep(pause) else: # print(df) return df def get_data_area_classified(retry_count=3, pause=2): #获取地域分类 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_area_classified() except: time.sleep(pause) else: # print(df) return df def get_data_sme_classified(retry_count=3, pause=2): #获取中小板分类 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_sme_classified() except: time.sleep(pause) else: # print(df) return df def get_data_gem_classified(retry_count=3, pause=2): #获取创业板分类 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_gem_classified() except: time.sleep(pause) else: # print(df) return df def get_data_hs300s(retry_count=3, pause=2): #获取沪深300成分及权重 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_hs300s() except: time.sleep(pause) else: # print(df) return df def get_data_sz50(retry_count=3, pause=2): #获取上证50成分 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_sz50s() except: time.sleep(pause) else: # print(df) return df def get_data_zz500(retry_count=3, pause=2): #获取中证500 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: df = ts.get_zz500s() except: time.sleep(pause) else: # print(df) return df def get_data_report_data(year,querter,retry_count=3, pause=2): #获取业绩报告主表 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #df = ts.get_report_data(2014,3) df = ts.get_report_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_profit_data(year,querter,retry_count=3, pause=2): #获取盈利能力 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_profit_data(2014,3) df = ts.get_profit_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_operation_data(year,querter,retry_count=3, pause=2): #获取运营能力 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_operation_data(2014,3) df = ts.get_operation_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_growth_data(year,querter,retry_count=3, pause=2): #获取成长能力 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_growth_data(2014,3) df = ts.get_growth_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_debtpaving_data(year,querter,retry_count=3, pause=2): #获取偿债能力 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_debtpaying_data(2014,3) df = ts.get_debtpaving_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_cashflow_data(year,querter,retry_count=3, pause=2): #获取现金流量数据 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_cashflow_data(2014,3) df = ts.get_cashflow_data(year,querter) except: time.sleep(pause) else: # print(df) return df def get_data_latest_news(top='',retry_count=3, pause=2): #获取最新消息条数 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_latest_news(top=5,show_content=True) #显示最新5条新闻,并打印出新闻内容 df = ts.get_latest_news(top=top,show_content=True) except: time.sleep(pause) else: # print(df) return df def get_data_notices(top='',retry_count=3, pause=2): #获取信息地雷 # 试3次下载数据,如不成功,每次暂停2钞 for g in range(retry_count): try: #ts.get_notices() df = ts.get_latest_news(top=top,show_content=True) except: time.sleep(pause) else: # print(df) return df def get_data_guba_sina(retry_count=3, pause=2): #获取新浪股吧数据前17条 # 试3次下载数据,如不成功,每次暂停2钞 import time for g in range(retry_count): try: #ts.guba_sina() df = ts.guba_sina() except: time.sleep(pause) else: # print(df) return df def get_data_hk_basic(retry_count=3, pause=2): #获取港股数据 # 试3次下载数据,如不成功,每次暂停2钞 import time for g in range(retry_count): try: #ts.guba_sina() df = pro.hk_basic(fields='ts_code,name,fullname,enname,cn_spell,market,list_status,list_date,delist_date,trade_unit,isin,curr_type') except: time.sleep(pause) else: # print(df) return df def get_data_hk_daily(ts_code='',start_dt='',end_dt='',retry_count=3, pause=2): #获取港股每日增量和历史行情 # 试3次下载数据,如不成功,每次暂停2钞 import time for g in range(retry_count): try: #ts.guba_sina() df = pro.hk_daily(ts_code=ts_code, start_date=start_dt, end_date=end_dt) except: time.sleep(pause) else: # print(df) return df def get_data_fut_mapping(ts_code='',start_dt='',end_dt='',retry_count=3, pause=2): #获取期货主力(或连续)合约与月合约映射数据 # 试3次下载数据,如不成功,每次暂停2钞 import time for g in range(retry_count): try: #ts.guba_sina() df = pro.fut_mapping(ts_code=ts_code, start_date=start_dt, end_date=end_dt) except: time.sleep(pause) else: # print(df) return df def get_major_news(src='',start_dt='',end_dt='',retry_count=3, pause=60): #获取长篇通讯信息,覆盖主要新闻资讯网站 # 试3次下载数据,如不成功,每次暂停2钞 import time time_min = ' 00:00:00' start_time = start_dt[0:4] + '-' + start_dt[4:6] + '-' + start_dt[6:8] + time_min end_time = end_dt[0:4] + '-' + end_dt[4:6] + '-' + end_dt[6:8] + time_min print(start_time,end_time) for g in range(retry_count): try: #ts.guba_sina() #df = pro.major_news(src='', start_date='2018-11-21 00:00:00', end_date='2018-11-22 00:00:00', fields='title,content') df = pro.major_news(src='', start_date=start_time, end_date=end_time,fields='title,content,pub_time,src') except: time.sleep(pause) else: # print(df) return df def get_stk_rewards(end_date='',ts_code='',retry_count=3, pause=2): #获取上市公司管理层薪酬和持股 # 试3次下载数据,如不成功,每次暂停2钞 import time for g in range(retry_count): try: #df = pro.stk_rewards(ts_code='000001.SZ') df = pro.stk_rewards(end_date=end_date,ts_code=ts_code,fields='ts_code,ann_date,end_date,name,title,reward,hold_vol') except: time.sleep(pause) else: # print(df) return df