def LoadFile(self): flist = tdx2.get_file_list() print 'total file count:', len(flist) flist = flist[:MAX_LOAD_ITEM] # filter 2 rflist = [] for k in flist: if FILTER1: if k[:3] == "sh0": continue if k[:3] == "sh1": continue if k[:3] == "sh2": continue if k[:3] == "sh3": continue if k[:3] == "sh5": continue if k[:3] == "sh8": continue #if k[:3] == "sh5": continue rflist.append(k) flist = rflist datalist = [] dataItem = [] for k in flist: dline = tdx2.get_dayline_by_fid(k, restrictSize=30) if FILTER3: if dline[-1].op > 60: continue if len(dline) < 30: continue print 'loading', k dataItem = [k] + [k(dline) for k in varfunc] datalist.append(dataItem) self.CalculateLv2(datalist) print 'data loading finished' self.unfilteredList = datalist
def LoadFile(self): # get list flist = tdx2.get_file_list() self.msgManager.ShowMessage('total file count:'+ str(len(flist))) flist = flist[:cm.getConfig('MAX_LOAD_ITEM')] # filter_2 rflist = [] for k in flist: if cm.getConfig('FILTER1'): if k[:3] == "sh0": continue if k[:3] == "sh1": continue if k[:3] == "sh2": continue if k[:3] == "sh3": continue if k[:3] == "sh5": continue if k[:3] == "sh8": continue #if k[:3] == "sh5": continue rflist.append(k) flist = rflist # read file main gauage = 0 dlinelist = [] for k in flist: dline = tdx2.get_dayline_by_fid(k, restrictSize = 40) dlinelist.append([k,dline]) gauage+=1 if gauage%100 == 0: print gauage / 33, '%' self.dlinelist = dlinelist self.LoadProcess()
def LoadFile(self): # get list flist = tdx2.get_file_list() self.msgManager.ShowMessage('total file count:' + str(len(flist))) flist = flist[:cm.getConfig('MAX_LOAD_ITEM')] # filter_2 rflist = [] for k in flist: if cm.getConfig('FILTER1'): if k[:3] == "sh0": continue if k[:3] == "sh1": continue if k[:3] == "sh2": continue if k[:3] == "sh3": continue if k[:3] == "sh5": continue if k[:3] == "sh8": continue #if k[:3] == "sh5": continue rflist.append(k) flist = rflist # read file main gauage = 0 dlinelist = [] for k in flist: dline = tdx2.get_dayline_by_fid(k, restrictSize=40) dlinelist.append([k, dline]) gauage += 1 if gauage % 100 == 0: print gauage / 33, '%' self.dlinelist = dlinelist self.LoadProcess()
def LoadFile(self): flist = tdx2.get_file_list() print 'total file count:', len(flist) flist = flist[:MAX_LOAD_ITEM] # filter 2 rflist = [] for k in flist: if FILTER1: if k[:3] == "sh0": continue if k[:3] == "sh1": continue if k[:3] == "sh2": continue if k[:3] == "sh3": continue if k[:3] == "sh5": continue if k[:3] == "sh8": continue #if k[:3] == "sh5": continue rflist.append(k) flist = rflist datalist = [] dataItem = [] for k in flist: dline = tdx2.get_dayline_by_fid(k, restrictSize = 30) if FILTER3: if dline[-1].op > 60: continue if len(dline) < 30: continue print 'loading', k dataItem = [k] + [k(dline) for k in varfunc] datalist.append(dataItem) self.CalculateLv2(datalist) print 'data loading finished' self.unfilteredList = datalist
def generate_stlist(flist): print "stlist gen start" stlist = [] i = 0 for k in flist: # console show process percentage i += 1 if i % 100 == 0: print i, len(flist) # write function try: dline = tdx2.get_dayline_by_fid(k) delta_rate = afunc.delta_rate(dline, 3) dr = int(delta_rate * 10000) / 100.0 stlist.append([k, dr]) except: pass stlist.sort(key=lambda x: -x[1]) print "stlist generated" return stlist
def generate_stlist(flist): print "stlist gen start" stlist = [] i = 0 for k in flist: # console show process percentage i+=1; if i % 100 == 0: print i, len(flist) # write function try: dline = tdx2.get_dayline_by_fid(k) delta_rate = afunc.delta_rate(dline, 3) dr = int(delta_rate * 10000) / 100.0 stlist.append([k, dr]) except: pass stlist.sort(key = lambda x: -x[1]) print "stlist generated" return stlist
import tdx2 from climb_func import trader dlist = tdx2.get_dayline_by_fid('sh000001') def climb_max_earn(): tr1 = trader() r_op = dlist[0].op for k in dlist: if(k.op > r_op): tr1.buy(1, r_op) tr1.sell(1,k.op) r_op = k.op return tr1.state_list[0] print print print climb_max_earn() raw_input()
import watterson_lib import tdx2 dline = tdx2.get_dayline_by_fid('sh000001', 5) a = 1 for k in dline: a = a + 1 k.cl=a for k in dline: print k.ftime,k.cl pd = 3 prd = 2 d1 = watterson_lib.delta_ratio_reverse(dline, 1, 1) d2 = watterson_lib.delta_ratio_reverse(dline, 1, 0) d3 = watterson_lib.average(dline, 2, 0) d4 = watterson_lib.variance(dline, 2, 0) print d1, d2, d3, d4
s = s.split('\t') qlist.append(s) self.qlist = qlist def get_stname(self, fid): if len(fid)==12: fid = fid[2:8] for k in self.qlist: if k[0] == fid: return k[1] + ('=' + k[3]).encode('utf8') return 'na' def get_tdx_delta(self, fid): if len(fid)==12: fid = fid[2:8] for k in self.qlist: if k[0] == fid: try: return float(k[2]) except: print 'tdx_data,', k[2],'not float' return -99 return -99 def get_stname(fid): return snm.get_stname(fid) snm = StNameManager() if __name__ == '__main__': #print get_stname('sh000001.day') dl = tdx2.get_dayline_by_fid('sz002245', restrictSize=30) print len(dl) print fast_fall(dl, 30, 0)
#theGraph = [['backColor',0xffffff], ['foreColor',0x0000ff],['rect', (1,1,10,10)], ['line',(20,20,30,30)]] def AutoCreateLine(dline, func): k = dline[0] tup = (k.ftime * zoom, k.op * zoom) #tup = (0,0) tg = [] for k in dline: tup1 = (k.ftime * zoom, k.op * zoom) tup1 = func(tup1) tg.append(['line', tup+tup1]) tup = tup1 return tg dline = tdx2.get_dayline_by_fid(); zoom = 1 tg = [] tg.extend(AutoCreateLine(dline, lambda x:x)) tg.append(['foreColor',0x0000ff]) k = dline[0] initTup = (k.ftime * zoom, k.op * zoom) animal = mice6208(initTup, (0.8, 0.01)) tg.extend(AutoCreateLine(dline, animal.run)) tg.append(['foreColor',0x00ffff])
import watterson_lib import tdx2 dline = tdx2.get_dayline_by_fid('sh000001', 5) a = 1 for k in dline: a = a + 1 k.cl = a for k in dline: print k.ftime, k.cl pd = 3 prd = 2 d1 = watterson_lib.delta_ratio_reverse(dline, 1, 1) d2 = watterson_lib.delta_ratio_reverse(dline, 1, 0) d3 = watterson_lib.average(dline, 2, 0) d4 = watterson_lib.variance(dline, 2, 0) print d1, d2, d3, d4
def get_stname(self, fid): if len(fid) == 12: fid = fid[2:8] for k in self.qlist: if k[0] == fid: return k[1] + ('=' + k[3]).encode('utf8') return 'na' def get_tdx_delta(self, fid): if len(fid) == 12: fid = fid[2:8] for k in self.qlist: if k[0] == fid: try: return float(k[2]) except: print 'tdx_data,', k[2], 'not float' return -99 return -99 def get_stname(fid): return snm.get_stname(fid) snm = StNameManager() if __name__ == '__main__': #print get_stname('sh000001.day') dl = tdx2.get_dayline_by_fid('sz002245', restrictSize=30) print len(dl) print fast_fall(dl, 30, 0)