def test__read_config(self): algo_name = 'Momentum' algo_cfg = json.load(open('{}/algos.cfg'.format(self.bt_path), 'r'))[algo_name] assert (isinstance(algo_cfg['debug'], int)) assert (isinstance(algo_cfg['window_length'], int)) manager_name = 'OptimalFrontier' manager_cfg = json.load( open('{}/managers.cfg'.format(self.bt_path), 'r'))[manager_name] assert (isinstance(manager_cfg['max_weight'], float) or isinstance(manager_cfg['max_weight'], int)) assert (isinstance(manager_cfg['source'], unicode)) bt_cfg = { 'algorithm': 'Momentum', 'manager': 'Equity', 'level': 'debug', 'tickers': 'random,1', 'start': '2005-01-10', 'end': '2010-07-03', 'interactive': True } algo_cfg = {'debug': 1, 'window_length': 3} manager_cfg = {'source': 'mysql', 'max_weight': 0.6, 'loopback': 60} engine = Simulation() args = engine.read_config(bt_cfg=bt_cfg, a_cfg=algo_cfg, m_cfg=manager_cfg)
def test__run_backtest(self): engine = Simulation() #engine.backtest_cfg = {'algorithm' : 'Momentum', 'manager' : 'Equity', 'level' : 'debug', #'tickers' : 'google,apple', 'start' : '2005-01-10', 'end' : '2010-07-03', 'interactive' : True} #engine.algo_cfg = {'debug' : 1, 'window_length' : 3} #engine.manager_cfg = {'source' : 'mysql', 'max_weight' : 0.6, 'loopback' : 60} bt_cfg = { 'algorithm': 'Momentum', 'manager': 'Equity', 'level': 'debug', 'tickers': 'random,1', 'start': '2005-01-10', 'end': '2010-07-03', 'interactive': True } algo_cfg = {'debug': 1, 'window_length': 3} manager_cfg = {'source': 'mysql', 'max_weight': 0.6, 'loopback': 60} engine = Simulation() args = engine.read_config(bt_cfg=bt_cfg, a_cfg=algo_cfg, m_cfg=manager_cfg) results = engine.runBacktest()
def test__get_results(self): engine = Simulation() assert (engine is not None) risks = engine.overall_metrics(db_id='test', save=False) assert (isinstance(risks['Sharpe.Ratio'], float)) assert (isinstance(risks['Volatility'], float))