예제 #1
0
    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)
예제 #2
0
 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()
예제 #3
0
    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)
예제 #4
0
 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()
예제 #5
0
 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))
예제 #6
0
 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)