示例#1
0
    def testProcessTradingRuleSpec(self):

        ruleA = TradingRule(ewmac_forecast_with_defaults)
        ruleB = TradingRule(dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol",
                                 data=["rawdata.daily_prices",
                                       "rawdata.daily_returns_volatility"],
                                 other_args=dict(Lfast=50, Lslow=200)))

        trading_rules = dict(ruleA=ruleA, ruleB=ruleB)
        ans = process_trading_rules(trading_rules)
        assert "ruleA" in ans.keys()
        assert "ruleB" in ans.keys()

        trading_rules = [ruleA, ruleB]
        ans = process_trading_rules(trading_rules)
        assert "rule1" in ans.keys()

        ans = process_trading_rules(ruleA)
        assert ans['rule0'].function == ewmac_forecast_with_defaults

        ans = process_trading_rules(ewmac_forecast_with_defaults)
        assert ans['rule0'].function == ewmac_forecast_with_defaults

        ans = process_trading_rules([dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol",
                                          data=["rawdata.daily_prices",
                                                "rawdata.daily_returns_volatility"],
                                          other_args=dict(Lfast=50, Lslow=200))])
        assert ans['rule0'].other_args['Lfast'] == 50
示例#2
0
    def testProcessTradingRuleSpec(self):

        ruleA = TradingRule(ewmac_forecast_with_defaults)
        ruleB = TradingRule(dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol",
                                 data=["rawdata.daily_prices",
                                       "rawdata.daily_returns_volatility"],
                                 other_args=dict(Lfast=50, Lslow=200)))

        trading_rules = dict(ruleA=ruleA, ruleB=ruleB)
        ans = process_trading_rules(trading_rules)
        assert "ruleA" in ans.keys()
        assert "ruleB" in ans.keys()

        trading_rules = [ruleA, ruleB]
        ans = process_trading_rules(trading_rules)
        assert "rule1" in ans.keys()

        ans = process_trading_rules(ruleA)
        assert ans['rule0'].function == ewmac_forecast_with_defaults

        ans = process_trading_rules(ewmac_forecast_with_defaults)
        assert ans['rule0'].function == ewmac_forecast_with_defaults

        ans = process_trading_rules([dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol",
                                          data=["rawdata.daily_prices",
                                                "rawdata.daily_returns_volatility"],
                                          other_args=dict(Lfast=50, Lslow=200))])
        assert ans['rule0'].other_args['Lfast'] == 50