python使用用Wind接口获取全部A股历史交易数据.docx

上传人:b****0 文档编号:50612 上传时间:2022-10-01 格式:DOCX 页数:5 大小:11.32KB
下载 相关 举报
python使用用Wind接口获取全部A股历史交易数据.docx_第1页
第1页 / 共5页
python使用用Wind接口获取全部A股历史交易数据.docx_第2页
第2页 / 共5页
python使用用Wind接口获取全部A股历史交易数据.docx_第3页
第3页 / 共5页
python使用用Wind接口获取全部A股历史交易数据.docx_第4页
第4页 / 共5页
python使用用Wind接口获取全部A股历史交易数据.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

python使用用Wind接口获取全部A股历史交易数据.docx

《python使用用Wind接口获取全部A股历史交易数据.docx》由会员分享,可在线阅读,更多相关《python使用用Wind接口获取全部A股历史交易数据.docx(5页珍藏版)》请在冰豆网上搜索。

python使用用Wind接口获取全部A股历史交易数据.docx

python使用用Wind接口获取全部A股历史交易数据

python使用用Wind接口获取全部A股历史交易数据

果然是中文编码的问题。

搞定了,新鲜出炉一个小脚本。

谢谢各位大神的解答。

"""

@Author:

wenrongli

@Date:

2014-11-18

@Version:

V1.0

"""

#!

/user/python

#-*-coding:

gb2312-*-

importos

importsys

importgetopt

fromWindPyimport*

fromdatetimeimport*

classLoadHisInfo:

def__init__(self):

self.OutputDir=r'E:

'

self.StockCodeList=[]

defStartWind(self):

w.start()

defLoadStockList(self):

res=w.wset("SectorConstituent","date=;sector=全部A股")

ifres.ErrorCode!

=0:

print('Error['+str(res.ErrorCode)+'][loadstockcodelistfail]\n')

sys.exit()

foriinrange(0,len(res.Data[0])):

forkinrange(0,len(res.Fields)):

if(res.Fields[k]=='date'):

date=res.Data[k][i]

if(res.Fields[k]=="wind_code"):

code=res.Data[k][i]

if(res.Fields[k]=="sec_name"):

name=res.Data[k][i]

self.StockCodeList.append(code)

defLoadHisInfo(self):

forcodeinself.StockCodeList:

outputPath=self.OutputDir+code+r'.txt'

data=w.wsd(code,"open,high,low,close","19900101","",showblank=0)

ifdata.ErrorCode!

=0:

print('Error['+str(data.ErrorCode)+'][loadhistoryinfofail]\n')

sys.exit()

fOutputObj=open(outputPath.encode('gbk'),'a')

foriinrange(0,len(data.Data[0])):

date=str(data.Times[i])

forkinrange(0,len(data.Fields)):

if(data.Fields[k]=="OPEN"):

openPrice=data.Data[k][i]

if(data.Fields[k]=="LOW"):

lowPrice=data.Data[k][i]

if(data.Fields[k]=="HIGH"):

highPrice=data.Data[k][i]

if(data.Fields[k]=="CLOSE"):

closePrice=data.Data[k][i]

if(openPrice==0)or(lowPrice==0)or(highPrice==0)or(closePrice==0):

continue

result=date[0:

10]+","+str(openPrice)+","+str(highPrice)+","+str(lowPrice)+","+str(closePrice)+"\n"

fOutputObj.write(result)

fOutputObj.close()

defRun(self):

self.StartWind()

self.LoadStockList()

self.LoadHisInfo()if__name__=='__main__':

loadInfoObj=LoadHisInfo()

iflen(sys.argv)<3:

print("pythonLoadWindInfo.py-ooutPutDir")

sys.exit()

opts,args=getopt.getopt(sys.argv[1:

],"o:

")

forop,valueinopts:

ifop=="-o":

loadInfoObj.OutputDir=value

else:

print("pythonLoadWindInfo.py-ooutPutDir")

sys.exit()

loadInfoObj.Run()

---------------------------------------------------------------------------------------------------------------------

本来想获取A股股票代码列表,通过文档例子,返回了错误码-103,没找到这个错误码的说明,w.wset("SectorConstituent",u"date=20130608;sector=全部A股"),现在只能通过同花顺导出股票代码列表,然后通过配置文件的形式来拉数据,哪位大神知道怎么使用这个接口的还请赐教,不胜感激~~

这里分享一个python获取A股历史交易数据的例子。

#!

/user/python

#-*-coding:

utf-8-*-

importmath

importos

importsys

importgetopt

fromWindPyimport*

fromdecimalimport*

fromdatetimeimport*

WorkSpace='E:

\\WorkSpace'

dataFilesDir=WorkSpace+'\\data'

configFilePath=WorkSpace+'\\config\\StockConfig.txt'

url=''

fConfigObj=open(configFilePath,"r")

count=0

forlineinfConfigObj.readlines():

iflen(line)<8:

continue

code=line[2:

8]

codeName=line[2:

8]+"."+line[0:

2]

outputPath=r'E:

/WorkSpace/data/'+code+r'.txt'

w.start()

data=w.wsd(codeName,"open,high,low,close","19900101","",showblank=0)

ifdata.ErrorCode!

=0:

print('errorcode:

'+str(data.ErrorCode)+'\n')

sys.exit()

fOutputObj=open(outputPath.encode('gbk'),'a')foriinrange(0,len(data.Data[0])):

date=str(data.Times[i])

forkinrange(0,len(data.Fields)):

if(data.Fields[k]=="OPEN"):

openPrice=data.Data[k][i]

if(data.Fields[k]=="LOW"):

lowPrice=data.Data[k][i]

if(data.Fields[k]=="HIGH"):

highPrice=data.Data[k][i]

if(data.Fields[k]=="CLOSE"):

closePrice=data.Data[k][i]

if(openPrice==0)or(lowPrice==0)or(highPrice==0)or(closePrice==0):

continue

result=date[0:

10]+","+str(openPrice)+","+str(highPrice)+","+str(lowPrice)+","+str(closePrice)+"\n"

fOutputObj.write(result)

fOutputObj.close()fConfigObj.close()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1