Python如何配置同花顺全数据接口(python,开发技术)

时间:2024-04-28 23:44:05 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

前往:http://quantapi.10jqka.com.cn/?page=home

Python如何配置同花顺全数据接口

如果是windows,根据不同用户,可以选择不同的下载。

一、iFinDPy 模块

下载完成后,会出现一个DataInterface_free_Windows_20210812.7z的文件,解压到任意文件夹中。打开该文件夹进入Bin文件夹后,再打开Tool文件夹,双击运行SuperCommand.exe,并使用iFinD账号免费登录。

Python如何配置同花顺全数据接口

Python如何配置同花顺全数据接口

Python如何配置同花顺全数据接口

Python如何配置同花顺全数据接口

选择python,确定。同时添加路径。

Python如何配置同花顺全数据接口

选上。然后重启电脑,相关环境变量设置生效。

现在就可以在python环境中调用iFinDPy了。

二、相关代码

安装iFinDPy后,即可。具体可以参考:http://quantapi.10jqka.com.cn/?page=sample。

#-*-coding:utf-8-*-fromiFinDPyimport*fromdatetimeimportdatetimeimportpandasaspdimporttimeas_timeimportjsonfromthreadingimportThread,Lock,Semaphoreimportrequestssem=Semaphore(5)#此变量用于控制最大并发数dllock=Lock()#此变量用来控制实时行情推送中落数据到本地的锁#登录函数defthslogindemo():#输入用户的帐号和密码thsLogin=THS_iFinDLogin("数据接口_账号","数据接口_密码")print(thsLogin)ifthsLogin!=0:print('登录失败')else:print('登录成功')defdatepool_basicdata_demo():#通过数据池的板块成分函数和基础数据函数,提取沪深300的全部股票在2020-11-16日的日不复权收盘价data_hs300=THS_DP('block','2020-11-16;001005290','date:Y,thscode:Y,security_name:Y')ifdata_hs300.errorcode!=0:print('error:{}'.format(data_hs300.errmsg))else:seccode_hs300_list=data_hs300.data['THSCODE'].tolist()data_result=THS_BD(seccode_hs300_list,'ths_close_price_stock','2020-11-16,100')ifdata_result.errorcode!=0:print('error:{}'.format(data_result.errmsg))else:data_df=data_result.dataprint(data_df)defdatapool_realtime_demo():#通过数据池的板块成分函数和实时行情函数,提取上证50的全部股票的最新价数据,并将其导出为csv文件today_str=datetime.today().strftime('%Y-%m-%d')print('today:{}'.format(today_str))data_sz50=THS_DP('block','{};001005260'.format(today_str),'date:Y,thscode:Y,security_name:Y')ifdata_sz50.errorcode!=0:print('error:{}'.format(data_sz50.errmsg))else:seccode_sz50_list=data_sz50.data['THSCODE'].tolist()data_result=THS_RQ(seccode_sz50_list,'latest')ifdata_result.errorcode!=0:print('error:{}'.format(data_result.errmsg))else:data_df=data_result.dataprint(data_df)data_df.to_csv('realtimedata_{}.csv'.format(today_str))defiwencai_demo():#演示如何通过不消耗流量的自然语言语句调用常用数据print('输出资金流向数据')data_wencai_zjlx=THS_WC('主力资金流向','stock')ifdata_wencai_zjlx.errorcode!=0:print('error:{}'.format(data_wencai_zjlx.errmsg))else:print(data_wencai_zjlx.data)print('输出股性评分数据')data_wencai_xny=THS_WC('股性评分','stock')ifdata_wencai_xny.errorcode!=0:print('error:{}'.format(data_wencai_xny.errmsg))else:print(data_wencai_xny.data)defdlwork(tick_data):#本函数为实时行情订阅新启线程的任务函数dllock.acquire()withopen('dlwork.txt','a')asf:forstock_dataintick_data['tables']:if'time'instock_data:timestr=_time.strftime('%Y-%m-%d%H:%M:%S',_time.localtime(stock_data['time'][0]))print(timestr)f.write(timestr+str(stock_data)+'\n')else:passdllock.release()defwork(codestr,lock,indilist):sem.acquire()stockdata=THS_HF(codestr,';'.join(indilist),'','2020-08-1109:15:00','2020-08-1115:30:00','format:json')ifstockdata.errorcode!=0:print('error:{}'.format(stockdata.errmsg))sem.release()else:print(stockdata.data)lock.acquire()withopen('test1.txt','a')asf:f.write(str(stockdata.data)+'\n')lock.release()sem.release()defmultiThread_demo():#本函数为通过高频序列函数,演示如何使用多线程加速数据提取的示例,本例中通过将所有A股分100组,最大线程数量sem进行提取#用户可以根据自身场景进行修改today_str=datetime.today().strftime('%Y-%m-%d')print('today:{}'.format(today_str))data_alla=THS_DP('block','{};001005010'.format(today_str),'date:Y,thscode:Y,security_name:Y')ifdata_alla.errorcode!=0:print('error:{}'.format(data_alla.errmsg))else:stock_list=data_alla.data['THSCODE'].tolist()indi_list=['close','high','low','volume']lock=Lock()btime=datetime.now()l=[]foreachlistin[stock_list[i:i+int(len(stock_list)/10)]foriinrange(0,len(stock_list),int(len(stock_list)/10))]:nowstr=','.join(eachlist)p=Thread(target=work,args=(nowstr,lock,indi_list))l.append(p)forpinl:p.start()forpinl:p.join()etime=datetime.now()print(etime-btime)pd.options.display.width=320pd.options.display.max_columns=NonedefreportDownload():df=THS_ReportQuery('300033.SZ','beginrDate:2021-08-01;endrDate:2021-08-31;reportType:901','reportDate:Y,thscode:Y,secName:Y,ctime:Y,reportTitle:Y,pdfURL:Y,seq:Y').dataprint(df)foriinrange(len(df)):pdfName=df.iloc[i,4]+str(df.iloc[i,6])+'.pdf'pdfURL=df.iloc[i,5]r=requests.get(pdfURL)withopen(pdfName,'wb+')asf:f.write(r.content)defmain():#本脚本为数据接口通用场景的实例,可以通过取消注释下列示例函数来观察效果#登录函数thslogindemo()#通过数据池的板块成分函数和基础数据函数,提取沪深300的全部股票在2020-11-16日的日不复权收盘价#datepool_basicdata_demo()#通过数据池的板块成分函数和实时行情函数,提取上证50的全部股票的最新价数据,并将其导出为csv文件#datapool_realtime_demo()#演示如何通过不消耗流量的自然语言语句调用常用数据#iwencai_demo()#本函数为通过高频序列函数,演示如何使用多线程加速数据提取的示例,本例中通过将所有A股分100组,最大线程数量sem进行提取#multiThread_demo()#本函数演示如何使用公告函数提取满足条件的公告,并下载其pdf#reportDownload()if__name__=='__main__':main()
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python如何配置同花顺全数据接口的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何解析Node.js中的Buffer下一篇:

11 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18