Ejemplo n.º 1
0
def testCo(co):
	xagPrices = dataloader.importToArray('XAGUSD5_201307')
	xags = [p['close'] for p in xagPrices]
	
	usdxPrices = dataloader.importToArray('_USDX5_201307')
	usdxs = [p['close'] for p in usdxPrices]
	
	us500Prices = dataloader.importToArray('_US5005_201307')
	us500s = [p['close'] for p in us500Prices]
	
	us30Prices = dataloader.importToArray('_US305_201307')
	us30s = [p['close'] for p in us30Prices]
	
	nq100Prices = dataloader.importToArray('_NQ1005_201307')
	nq100s = [p['close'] for p in nq100Prices]
	
	l = len(xagPrices)
	xs = []
	ys = []
	yps = []
	typs = []
	#for i in range(10, l - 1):
	for i in range(100, 200):
		xag = xagPrices[i]
		xagd = xags[i-10+1 : i+1]
		dtlong = xag['dtlong']
		usdxd = findData(dtlong, usdxPrices, usdxs)
		us500d = findData(dtlong, us500Prices, us500s)
		us30d = findData(dtlong, us30Prices, us30s)
		nq100d = findData(dtlong, nq100Prices, nq100s)
		
		if not (usdxd and us500d and us30d and nq100d):
			log.debug('Insufficient Data. ' + xag['date'] + ' ' + xag['time'])
			continue
		
		xs.append([xags[i], slope(xagd), std(xagd), slope(usdxd), std(usdxd), slope(us500d), std(us500d), slope(us30d), std(us30d), slope(nq100d), std(nq100d)])
		typs.append(xags[i])
		ys.append(xags[i+1])

	for i in range(len(xs)):
		yp = co[0] + xs[i][0] * co[1]
		yp += xs[i][1] * co[2] + xs[i][2] * co[3] + xs[i][3] * co[4]
		yp += xs[i][4] * co[5] + xs[i][5] * co[6] + xs[i][6] * co[7] + xs[i][7] * co[8]
		yp += xs[i][8] * co[9] + xs[i][9] * co[10] + xs[i][10] * co[11]
		yps.append(typs[i] + yp)
	
	print co
	ts = range(len(xs))
	plt.plot(ts, ys, 'o', label='Original data', linestyle='-', markersize=2)
	plt.plot(ts, yps, 'ro', label='Fitted line', linestyle='-', markersize=2)
	plt.legend()
	plt.show()
Ejemplo n.º 2
0
        'main.log',
    ]
    for logfile in logfiles:
        with open(os.path.join(logdir, logfile), 'w'):
            pass
    #print logdir, lsdir
    #shutil.rmtree(logdir)
    #os.mkdir(logdir)


if __name__ == "__main__":
    #XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV,
    #XAGUSD1440_FLAT, XAGUSD1440_FLU
    #XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
    clearLog()
    prices = dataloader.importToArray('XAUUSD1440_AFTER08')
    maStrategy.runStrategy(prices)
    #drawStats(prices)
    #l3Trader.runStrategy(prices)

    #part = prices[109:]
    #
    #ps = [p['close'] for p in part]
    #ps.reverse()
    #pr = [p['rmb'] for p in part]
    #pr.reverse()
    #
    #for i in range(len(part)):
    #	part[i]['close'] = ps[i]
    #	part[i]['rmb'] = pr[i]
Ejemplo n.º 3
0
        'main.log',
    ]
    for logfile in logfiles:
        with open(os.path.join(logdir, logfile), 'w'):
            pass
    #print logdir, lsdir
    #shutil.rmtree(logdir)
    #os.mkdir(logdir)


if __name__ == "__main__":
    #XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV,
    #XAGUSD1440_FLAT, XAGUSD1440_FLU
    #XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
    clearLog()
    prices = dataloader.importToArray('XAGUSD60_2012')
    fmaStrategy.runStrategy(prices)
    #s6Trader.runStrategy(prices)
    #l5Trader.runStrategy(prices)
    #maTrader.runStrategy(prices)
    #drawStats(prices)
    #oneTrader.runStrategy(prices)
    #part = prices[109:]
    #ps = [p['close'] for p in part]
    #ps.reverse()
    #pr = [p['rmb'] for p in part]
    #pr.reverse()
    #
    #for i in range(len(part)):
    #	part[i]['close'] = ps[i]
    #	part[i]['rmb'] = pr[i]
Ejemplo n.º 4
0
	
	logfiles =['trader.csv', 'balance.csv', 'trades.csv', 'strategy.csv', 'main.log',]
	for logfile in logfiles:
		with open(os.path.join(logdir, logfile), 'w'):
			pass
	#print logdir, lsdir
	#shutil.rmtree(logdir)
	#os.mkdir(logdir)
	

if __name__ == "__main__":
	#XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV, 
	#XAGUSD1440_FLAT, XAGUSD1440_FLU
	#XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
	clearLog()
	prices = dataloader.importToArray('XAGUSD1440_AFTER08')
	fmaStrategy.runStrategy(prices)
	#drawStats(prices)
	#l3Trader.runStrategy(prices)
	
	#part = prices[109:]
	#	
	#ps = [p['close'] for p in part]
	#ps.reverse() 
	#pr = [p['rmb'] for p in part]
	#pr.reverse() 
	#
	#for i in range(len(part)):
	#	part[i]['close'] = ps[i]
	#	part[i]['rmb'] = pr[i]
	
Ejemplo n.º 5
0
        'main.log',
    ]
    for logfile in logfiles:
        with open(os.path.join(logdir, logfile), 'w'):
            pass
    #print logdir, lsdir
    #shutil.rmtree(logdir)
    #os.mkdir(logdir)


if __name__ == "__main__":
    #XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV,
    #XAGUSD1440_FLAT, XAGUSD1440_FLU
    #XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
    clearLog()
    prices = dataloader.importToArray('XAUUSD60_20122013')
    maStrategy.runStrategy(prices)
    #s6Trader.runStrategy(prices)
    #l5Trader.runStrategy(prices)
    #maTrader.runStrategy(prices)
    #drawStats(prices)
    #oneTrader.runStrategy(prices)
    #part = prices[109:]
    #ps = [p['close'] for p in part]
    #ps.reverse()
    #pr = [p['rmb'] for p in part]
    #pr.reverse()
    #
    #for i in range(len(part)):
    #	part[i]['close'] = ps[i]
    #	part[i]['rmb'] = pr[i]
Ejemplo n.º 6
0
	

def clearLog():
	logdir = os.path.join(path, 'logs')
	rsdir = os.path.join(path, 'result')
	
	rslist = os.listdir(rsdir)
	for f in rslist:
		fp = os.path.join(rsdir, f)
		if os.path.isfile(fp):
			os.remove(fp)
			#log.debug('del' + fp)
		elif os.path.isdir(fp):
			shutil.rmtree(fp)
	
	logfiles =['trader.csv', 'balance.csv', 'trades.csv', 'strategy.csv', 'main.log',]
	for logfile in logfiles:
		with open(os.path.join(logdir, logfile), 'w'):
			pass
	
	
if __name__ == "__main__":
	clearLog()
	prices = dataloader.importToArray('XAGUSD60_20130708')
	drawStat(prices)
	#masVoter.runVoter(prices)
	#macdVoter.runVoter(prices)
	#rsiVoter.runVoter(prices)
	
	#l2voter.runVoter(prices)
	
Ejemplo n.º 7
0
def regression():
	xagPrices = dataloader.importToArray('XAGUSD5_2013070809')
	xags = [p['close'] for p in xagPrices]
	
	usdxPrices = dataloader.importToArray('_USDX5_2013070809')
	usdxs = [p['close'] for p in usdxPrices]
	
	us500Prices = dataloader.importToArray('_US5005_2013070809')
	us500s = [p['close'] for p in us500Prices]
	
	us30Prices = dataloader.importToArray('_US305_2013070809')
	us30s = [p['close'] for p in us30Prices]
	
	nq100Prices = dataloader.importToArray('_NQ1005_2013070809')
	nq100s = [p['close'] for p in nq100Prices]
	
	
	l = len(xagPrices)
	xs = []
	ys = []
	for i in range(10, l - 1):
		xag = xagPrices[i]
		xagd = xags[i-10+1 : i+1]
		dtlong = xag['dtlong']
		usdxd = findData(dtlong, usdxPrices, usdxs)
		us500d = findData(dtlong, us500Prices, us500s)
		us30d = findData(dtlong, us30Prices, us30s)
		nq100d = findData(dtlong, nq100Prices, nq100s)
		
		if not (usdxd and us500d and us30d and nq100d):
			log.debug('Insufficient Data. ' + xag['date'] + ' ' + xag['time'])
			continue
		
		xs.append([xags[i], slope(xagd), std(xagd), slope(usdxd), std(usdxd), slope(us500d), std(us500d), slope(us30d), std(us30d), slope(nq100d), std(nq100d)])
		ys.append(xags[i+1] - xags[i])
		
	#print xs
	#print ys
	xxs = np.array(xs)
	#print xsT
	yys = np.array(ys)
	mymodel = multipolyfit(xxs.T, yys, 20, model_out = False)
	#mymodel = ols.ols(yys, xxs, 'y',['x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10', 'x11'])
	#print mymodel.b
	print mymodel
	#print mymodel.summary()
	return mymodel
	
	yps = []
	co = mymodel.b
	for i in range(len(xs)):
		yp = co[0] + xs[i][0] * co[1] + xs[i][1] * co[2] + xs[i][2] * co[3] + xs[i][3] * co[4]
		yp += xs[i][4] * co[5] + xs[i][5] * co[6] + xs[i][6] * co[7] + xs[i][7] * co[8]
		yp += xs[i][8] * co[9] + xs[i][9] * co[10] + xs[i][10] * co[11]
		yps.append(yp)
	
	ts = range(len(xs))
	plt.plot(ts, ys, 'o', label='Original data', linestyle='-', marker='')
	plt.plot(ts, yps, 'r', label='Fitted line')
	plt.legend()
	plt.show()
Ejemplo n.º 8
0
Archivo: main.py Proyecto: ongbe/pymisc
    logfiles = ["trader.csv", "balance.csv", "trades.csv", "strategy.csv", "main.log"]
    for logfile in logfiles:
        with open(os.path.join(logdir, logfile), "w"):
            pass
            # print logdir, lsdir
            # shutil.rmtree(logdir)
            # os.mkdir(logdir)


if __name__ == "__main__":
    # XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV,
    # XAGUSD1440_FLAT, XAGUSD1440_FLU
    # XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
    clearLog()
    prices = dataloader.importToArray("XAGUSD60_2012")
    fmaStrategy.runStrategy(prices)
    # s6Trader.runStrategy(prices)
    # l5Trader.runStrategy(prices)
    # maTrader.runStrategy(prices)
    # drawStats(prices)
    # oneTrader.runStrategy(prices)
    # part = prices[109:]
    # ps = [p['close'] for p in part]
    # ps.reverse()
    # pr = [p['rmb'] for p in part]
    # pr.reverse()
    #
    # for i in range(len(part)):
    # 	part[i]['close'] = ps[i]
    # 	part[i]['rmb'] = pr[i]
Ejemplo n.º 9
0
Archivo: vote.py Proyecto: ongbe/pymisc
            os.remove(fp)
            #log.debug('del' + fp)
        elif os.path.isdir(fp):
            shutil.rmtree(fp)

    logfiles = [
        'trader.csv',
        'balance.csv',
        'trades.csv',
        'strategy.csv',
        'main.log',
    ]
    for logfile in logfiles:
        with open(os.path.join(logdir, logfile), 'w'):
            pass


if __name__ == "__main__":
    #return
    #XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV,
    #XAGUSD1440_FLAT, XAGUSD1440_FLU
    #XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER09
    clearLog()
    prices = dataloader.importToArray('XAGUSD1440_2013')
    #drawStat(prices)
    #maVoter.runVoter(prices)
    #macdVoter.runVoter(prices)
    #rsiVoter.runVoter(prices)

    l2voter.runVoter(prices)
Ejemplo n.º 10
0
			shutil.rmtree(fp)
	
	logfiles =['trader.csv', 'balance.csv', 'trades.csv', 'strategy.csv', 'main.log',]
	for logfile in logfiles:
		with open(os.path.join(logdir, logfile), 'w'):
			pass
	#print logdir, lsdir
	#shutil.rmtree(logdir)
	#os.mkdir(logdir)
	
if __name__ == "__main__":
	#XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV, 
	#XAGUSD1440_FLAT, XAGUSD1440_FLU
	#XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER08
	clearLog()
	prices = dataloader.importToArray('XAUUSD60_20122013')
	maStrategy.runStrategy(prices)
	#s6Trader.runStrategy(prices)
	#l5Trader.runStrategy(prices)
	#maTrader.runStrategy(prices)
	#drawStats(prices)
	#oneTrader.runStrategy(prices)
	#part = prices[109:]
	#ps = [p['close'] for p in part]
	#ps.reverse() 
	#pr = [p['rmb'] for p in part]
	#pr.reverse() 
	#
	#for i in range(len(part)):
	#	part[i]['close'] = ps[i]
	#	part[i]['rmb'] = pr[i]
Ejemplo n.º 11
0
	rsdir = os.path.join(path, 'result')
	
	rslist = os.listdir(rsdir)
	for f in rslist:
		fp = os.path.join(rsdir, f)
		if os.path.isfile(fp):
			os.remove(fp)
			#log.debug('del' + fp)
		elif os.path.isdir(fp):
			shutil.rmtree(fp)
	
	logfiles =['trader.csv', 'balance.csv', 'trades.csv', 'strategy.csv', 'main.log',]
	for logfile in logfiles:
		with open(os.path.join(logdir, logfile), 'w'):
			pass
	
	
if __name__ == "__main__":
	#return
	#XAGUSD1440_FLUC, XAGUSD1440_UP, XAGUSD1440_DOWN, XAGUSD1440_V, XAGUSD1440_RV, 
	#XAGUSD1440_FLAT, XAGUSD1440_FLU
	#XAGUSD1440_2013, XAGUSD1440_2012, XAGUSD1440_2011, XAGUSD1440_ALL, XAGUSD1440_AFTER09
	clearLog()
	prices = dataloader.importToArray('XAGUSD1440_2013')
	#drawStat(prices)
	#maVoter.runVoter(prices)
	#macdVoter.runVoter(prices)
	#rsiVoter.runVoter(prices)
	
	l2voter.runVoter(prices)