def test_run(main=False): # for i in [True, False]: for rstype in [True, False]: if rstype: runonces = [True] else: runonces = [True, False] for runonce in runonces: data = testcommon.getdata(0) if rstype: data = bt.DataResampler(dataname=data, timeframe=bt.TimeFrame.Weeks, compression=1) else: data.resample(timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, runonce=runonce, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): # for i in [True, False]: for rstype in [True, False]: if rstype: runonces = [True] else: runonces = [True, False] for runonce in runonces: data = testcommon.getdata(0) if rstype: data = bt.DataResampler( dataname=data, timeframe=bt.TimeFrame.Weeks, compression=1) else: data.resample( timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, runonce=runonce, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] testcommon.runtest(datas, TestStrategy, printdata=main, printops=main, plot=main)
def test_run(main=False): for i in [True, False]: data = testcommon.getdata(0) if i: data = bt.DataReplayer( dataname=data, timeframe=bt.TimeFrame.Weeks, compression=1) else: data.replay( timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chknext=chknext, chkargs=chkargs, runonce=False, preload=False)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] testcommon.runtest(datas, testcommon.TestStrategy, main=main, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals)
def test_run(main=False): for stlike in [False, True]: datas = [testcommon.getdata(i) for i in range(chkdatas)] testcommon.runtest(datas, TestStrategy, printdata=main, printops=main, stocklike=stlike, plot=main)
def test_run(main=False): for runonce in [True, False]: data = testcommon.getdata(0) data.resample(timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, runonce=runonce, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] cerebros = testcommon.runtest(datas, TestStrategy, main=main, plot=main, writer=(bt.WriterStringIO, dict(csv=True))) for cerebro in cerebros: writer = cerebro.runwriters[0] if main: # writer.out.seek(0) for l in writer.out: print(l.rstrip('\r\n')) else: lines = iter(writer.out) l = next(lines).rstrip('\r\n') assert l == '=' * 79 count = 0 while True: l = next(lines).rstrip('\r\n') if l[0] == '=': break count += 1 assert count == 256 # header + 256 lines data
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] cerebros = testcommon.runtest( datas, TestStrategy, printdata=main, stocklike=False, printops=main, plot=main, analyzer=(bt.analyzers.TimeReturn, dict(timeframe=bt.TimeFrame.Years))) for cerebro in cerebros: strat = cerebro.runstrats[0][0] # no optimization, only 1 analyzer = strat.analyzers[0] # only 1 analysis = analyzer.get_analysis() if main: print(analysis) print(str(analysis[next(iter(analysis.keys()))])) else: # Handle different precision if PY2: sval = '0.2795' else: sval = '0.2794999999999983' assert str(analysis[next(iter(analysis.keys()))]) == sval
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] for maxtrades in [None, 0, 1]: cerebros = testcommon.runtest(datas, TestStrategy, printdata=main, stocklike=False, maxtrades=maxtrades, printops=main, plot=main, analyzer=(bt.analyzers.SQN, {})) for cerebro in cerebros: strat = cerebro.runstrats[0][0] # no optimization, only 1 analyzer = strat.analyzers[0] # only 1 analysis = analyzer.get_analysis() if main: print(analysis) print(str(analysis.sqn)) else: if maxtrades == 0 or maxtrades == 1: assert analysis.sqn == 0 assert analysis.trades == maxtrades else: # Handle different precision assert str(analysis.sqn)[0:14] == '0.912550316439' assert str(analysis.trades) == '11'
def test_run(main=False): data = testcommon.getdata(0) data = bt.DataResampler(dataname=data, timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] cerebros = testcommon.runtest(datas, TestStrategy, printdata=main, stocklike=False, printops=main, plot=main, analyzer=(bt.analyzers.TimeReturn, dict(timeframe=bt.TimeFrame.Years)) ) for cerebro in cerebros: strat = cerebro.runstrats[0][0] # no optimization, only 1 analyzer = strat.analyzers[0] # only 1 analysis = analyzer.get_analysis() if main: print(analysis) print(str(analysis[next(iter(analysis.keys()))])) else: # Handle different precision if PY2: sval = '0.2795' else: sval = '0.2794999999999983' assert str(analysis[next(iter(analysis.keys()))]) == sval
def test_run(main=False, exbar=False): data = testcommon.getdata(0) data.replay(timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chknext=chknext, chkargs=chkargs, runonce=False, preload=False, exbar=exbar)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] testcommon.runtest(datas, TestStrategy, optimize=True, period=xrange(5, 45), printdata=main, printops=main, plot=False) if not main: assert CHKVALUES == _chkvalues assert CHKCASH == _chkcash else: print(_chkvalues) print(_chkcash)
def test_run(main=False): data = testcommon.getdata(0) data = bt.DataResampler( data=data, timeframe=bt.TimeFrame.Weeks, compression=1) datas = [data] testcommon.runtest(datas, testcommon.TestStrategy, main=main, plot=main, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): # Create list with bool possibilitys for: # PandasData and PandasOptix, # no headers, dc = [0, 1] data = [getdata(i, noheaders=nh) for i in dc for nh in dc] for runonce in [True, False]: datas = data testcommon.runtest(datas, testcommon.TestStrategy, main=main, runonce=runonce, plot=False, chkind=chkind, chkmin=chkmin, chkvals=chkvals, chkargs=chkargs)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] for maxtrades in [None, 0, 1]: cerebros = testcommon.runtest(datas, TestStrategy, printdata=main, stocklike=False, maxtrades=maxtrades, printops=main, plot=main, analyzer=(bt.analyzers.LatestBar, {})) for cerebro in cerebros: strat = cerebro.runstrats[0][0] # no optimization, only 1 analyzer = strat.analyzers[0] # only 1 analysis = analyzer.get_analysis() if main: print(analysis) else: assert analysis['datetime'] == datetime.datetime( 2006, 12, 29, 23, 59, 59, 999989) assert analysis['close'] == 4119.94 assert analysis['prev_close'] == 4130.66 assert analysis['low'] == 4119.94 assert analysis['prev_low'] == 4125.14 assert analysis['high'] == 4142.01 assert analysis['prev_high'] == 4142.06 assert analysis['open'] == 4130.12 assert analysis['prev_open'] == 4137.44 assert analysis['volume'] == 0.0 assert analysis['prev_volume'] == 0.0 assert analysis['openinterest'] == 0.0 assert analysis['prev_openinterest'] == 0.0 assert analysis['sma_sma'] == 4095.012 assert analysis['prev_sma_sma'] == 4087.17 assert analysis['co_crossover'] == 0.0 assert analysis['prev_co_crossover'] == 0.0 # do not validate broker, we get diff results # assert analysis['b_cash'] == 11902.199999999986 # assert analysis['prev_b_cash'] == 11944.199999999984 # assert analysis['b_value'] == 12902.199999999986 # assert analysis['prev_b_value'] == 12944.199999999984 assert np.isnan(analysis['bs_buy']) assert np.isnan(analysis['prev_bs_buy']) assert np.isnan(analysis['bs_sell']) assert np.isnan(analysis['prev_bs_sell']) assert np.isnan(analysis['t_pnlplus']) assert np.isnan(analysis['prev_t_pnlplus']) assert np.isnan(analysis['t_pnlminus']) assert np.isnan(analysis['prev_t_pnlminus'])
def test_run(main=False): global _chkvalues global _chkcash for runonce in [True, False]: for preload in [True, False]: for exbar in [True, False, -1, -2]: _chkvalues = list() _chkcash = list() datas = [testcommon.getdata(i) for i in range(chkdatas)] testcommon.runtest(datas, TestStrategy, runonce=runonce, preload=preload, exbar=exbar, optimize=True, period=range(5, 45), printdata=main, printops=main, plot=False) if not main: assert CHKVALUES == _chkvalues assert CHKCASH == _chkcash else: print('*' * 50) print(CHKVALUES == _chkvalues) print('-' * 50) print(CHKVALUES) print('-' * 50) print(_chkvalues) print('*' * 50) print(CHKCASH == _chkcash) print('-' * 50) print(CHKCASH) print('-' * 50) print(_chkcash)
def test_run(main=False): datas = [testcommon.getdata(i) for i in range(chkdatas)] cerebros = testcommon.runtest(datas, TestStrategy, printdata=main, stocklike=False, printops=main, plot=main, analyzer=(bt.analyzers.SQN, {})) for cerebro in cerebros: strat = cerebro.runstrats[0][0] # no optimization, only 1 analyzer = strat.analyzers[0] # only 1 analysis = analyzer.get_analysis() if main: print(analysis) print(str(analysis.sqn)) else: assert str(analysis.sqn) == '0.912550316439' assert str(analysis.trades) == '11'