Ejemplo n.º 1
0
def production_classic_futures_system(
    data,
    config_filename,
    log=logtoscreen("futures_system"),
    notional_trading_capital=None,
    base_currency=None,
):

    log_level = "on"

    # ugly but once you've established a pattern...
    sim_data = dataSimData(data).sim_data()
    config = Config(config_filename)

    # Overwrite capital
    if notional_trading_capital is not None:
        config.notional_trading_capital = notional_trading_capital

    if base_currency is not None:
        config.base_currency = base_currency

    system = futures_system(data=sim_data, config=config)
    system.log = log

    system.set_logging_level(log_level)

    return system
Ejemplo n.º 2
0
def production_futures_system(config_filename, log=logger("futures_system"),
                   notional_trading_capital=1000000, base_currency="USD"):
    """

    :param data: data object (defaults to reading from csv files)
    :type data: sysdata.data.simData, or anything that inherits from it

    :param config: Configuration object (defaults to futuresconfig.yaml in this directory)
    :type config: sysdata.configdata.Config

    :param log_level: How much logging to do
    :type log_level: str


    """
    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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
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()
Ejemplo n.º 5
0
## fixed:
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()