def transfToMinWithTick(tickSourceFile, outputMinDir, cycles): rsk = outputMinDir qx = zw.zwDatX() qx.code = tickSourceFile.split(os.path.sep)[-1].split('_')[1].split('.')[0] qx.min_ksgns = cycles zwx.xtick2tim100(qx, tickSourceFile) zwx.xtick2minWr(qx, rsk)
def getStkFromFile(StkSourcePath, startTime): #自动下载,追加数据 #-------设置参数 #股票代码文件 #filePath='./data/stk_code.csv'; #startTime = '1994-01-01' qx = zw.zwDatX(tt._rdatCN) zwx.down_stk_all(qx, StkSourcePath, startTime)
import pandas_datareader.data as web #zw.Quant import zwSys as zw import zwQTBox as zwx #----------- def zw_down_yahoo8code(qx): try: xcod = qx.code xdat = web.DataReader(xcod, "yahoo", start="1/1/1900") fss = qx.rDay + xcod + ".csv" print(fss) xdat.to_csv(fss) except IOError: pass #skip,error #------------ qx = zw.zwDatX(zw._rdatUS) qx.prDat() # code = 'USA' qx.code = code qx.rDay = "tmp\\" zw_down_yahoo8code(qx)
ds1=pd.Series(mx1,index=c10); #生成一个pandas中的series ds2=ds1.T; #.T=转置(矩阵转置) df=df.append(ds2,ignore_index=True);#在df中加上ds2 df.to_csv(ftg,index=False,encode='utf8'); #保存为csv,utf8编码 def zw_stk_anz_mx_all(qx,xlst): #遍历指定list中的股票 for fx in xlst: if (fx.find('Yah')>0): #rss=qx.rZWusDay rss=qx.rdat+'\\us\\day\\' else: if (fx=='inx_code'):rss=qx.rdat+'\\cn\\xday\\' #rss=qx.rZWcnXDay else:rss=qx.rdat+'\\cn\\day\\' #rss=qx.rZWcnDay finx0=fx; #生成文件名 zw_stk_anz_mx(qx,finx0,rss); #用上一个函数生成csv文件 #============main qx=zw.zwDatX(zw._rdat0); uslst=['inxYahoo30sp','inxYahoo100ns','inxYahoo100sp','inxYahoo600','inxYahoo500sp','inxYahoo'] zw_stk_anz_mx_all(qx,uslst) cnlst=['inx_code','stk_sz50','stk_hs300','stk_zz500','stk_code','stk_code']; zw_stk_anz_mx_all(qx,cnlst)
if (_tim1x == kstr): df1 = df2[ystr2] if (len(df1) > 0): xd1a = df1.ix[0] xd1z = df1.ix[-1] nSum += 1 #df.ix[,],选取行(0),列(1) vd1a = xd1a['close'] vd1z = xd1z['close'] #收盘价 if (vd1z > vd1a): nAdd += 1 #月尾收盘价大于月初收盘价(升) else: nDec += 1 #月尾收盘价小于月初收盘价(跌) #print('nSum,nAdd,nDec,',nSum,nAdd,nDec); return nSum, nAdd, nDec #============main qx = zw.zwDatX(zw._rdatCN) cod = "002739" #万达院线 #rss=qx.rZWcnDay; rss = zw._rdatCN + 'day\\' kstr = "01" #zw_anz_m1sub(xcod,rss,kstr): nSum, nAdd, nDec = zw_anz_m1sub(cod, rss, kstr) print('nSum,nAdd,nDec', nSum, nAdd, nDec)
#============main # 运行前,请在zwdat建立以下3个数据目录 # \zwDat\zw\cnDay\ # \zwDat\zw\cnXDay\ # \zwDat\zw\usDay\ # 作为输出目录 # #------init qdat=zw.zwDatX(zw._rdatCN); qdat.prDat(); #----------- # cnInx finx=qdat.rdatInx+'inx_code.csv'; rsr=qdat.rdatCN+"XDay\\" rtg=qdat.rZWcnXDay #"\zwDat\zw\cnXDay\" zw_stk_xedit_all(qdat,finx,rsr,rtg); # cnSTK finx=qdat.rdatInx+'stk_code.csv'; rsr=qdat.rdatCN+"Day\\" rtg=qdat.rZWcnDay #"\zwDat\zw\cnDay\" #zw_stk_xedit_all(qdat,finx,rsr,rtg);
def getTodayTickAndCycle(StkSourcePath, cycles): qx = zw.zwDatX(tt.realTickPath) #qx.ksgns=cycles zwx.xtick_real_down_all(qx, StkSourcePath, cycles)
def getInxFromFile(filePath): #下载大盘指数文件, #filepath = 'data/inx_code.csv'; qx = zw.zwDatX(zw._rdatCN) zwx.down_stk_inx(qx, filePath)
def getPastTick(StkSourcePath, startDate, endDate): qx = zw.zwDatX(tt.hisTickPath) qx.xday0k = startDate qx.xday9k = endDate zwx.xtick_down8tim_all(qx, StkSourcePath)