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
示例#2
0
 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()
示例#3
0
    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
示例#5
0
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
示例#6
0
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
示例#7
0
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()
示例#8
0
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
示例#9
0
            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)
示例#10
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])
示例#11
0
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
示例#12
0
    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)