def production_classic_futures_system(config_filename, log=logtoscreen("futures_system"), notional_trading_capital=1000000, base_currency="USD"): log_level = "on" data = arcticFuturesSimData() config = Config( config_filename) # Overwrite capital config.notional_trading_capital = notional_trading_capital config.base_currency = base_currency system = futures_system(data=data, config=config) system.log = log system.set_logging_level(log_level) return system
def production_classic_futures_system(data, config_filename, log=logtoscreen("futures_system"), notional_trading_capital=1000000, base_currency="USD"): log_level = "on" # ugly but once you've established a pattern... sim_data = dataSimData(data).sim_data() config = Config(config_filename) # Overwrite capital config.notional_trading_capital = notional_trading_capital config.base_currency = base_currency system = futures_system(data=sim_data, config=config) system.log = log system.set_logging_level(log_level) return system
my_config.forecast_div_multiplier = 1.1 my_config.use_forecast_weight_estimates = False my_config.use_forecast_div_mult_estimates = False combiner = ForecastCombine() my_system = System([fcs, empty_rules, combiner], data, my_config) # no need for accounts if no estimation done my_system.combForecast.get_combined_forecast("EDOLLAR").tail(5) # size positions from systems.positionsizing import PositionSizing possizer = PositionSizing() my_config.percentage_vol_target = 25 my_config.notional_trading_capital = 500000 my_config.base_currency = "GBP" my_system = System([fcs, my_rules, combiner, possizer], data, my_config) print(my_system.positionSize.get_price_volatility("EDOLLAR").tail(5)) print(my_system.positionSize.get_block_value("EDOLLAR").tail(5)) print(my_system.positionSize.get_instrument_sizing_data("EDOLLAR")) print(my_system.positionSize.get_instrument_value_vol("EDOLLAR").tail(5)) print(my_system.positionSize.get_volatility_scalar("EDOLLAR").tail(5)) print(my_system.positionSize.get_daily_cash_vol_target()) print(my_system.positionSize.get_subsystem_position("EDOLLAR").tail(5)) # portfolio - estimated from systems.portfolio import Portfolios portfolio = Portfolios()
my_config.forecast_weights = dict(ewmac8=0.5, ewmac32=0.5) my_config.forecast_div_multiplier = 1.1 my_config.use_forecast_weight_estimates=False combiner = ForecastCombine() my_system = System([fcs, empty_rules, combiner], data, my_config) my_system.combForecast.get_combined_forecast("EDOLLAR").tail(5) # size positions from systems.positionsizing import PositionSizing possizer = PositionSizing() my_config.percentage_vol_target = 25 my_config.notional_trading_capital = 500000 my_config.base_currency = "GBP" my_system = System([fcs, my_rules, combiner, possizer], data, my_config) print(my_system.positionSize.get_price_volatility("EDOLLAR").tail(5)) print(my_system.positionSize.get_block_value("EDOLLAR").tail(5)) print(my_system.positionSize.get_instrument_sizing_data("EDOLLAR")) print(my_system.positionSize.get_instrument_value_vol("EDOLLAR").tail(5)) print(my_system.positionSize.get_volatility_scalar("EDOLLAR").tail(5)) print(my_system.positionSize.get_daily_cash_vol_target()) print(my_system.positionSize.get_subsystem_position("EDOLLAR").tail(5)) # portfolio - estimated from systems.portfolio import Portfolios portfolio= Portfolios()