예제 #1
0
 def _update_override(self, override_type: str, key: str,
                      new_override_object: Override):
     if new_override_object.is_no_override():
         self._update_override_to_no_override(override_type, key,
                                              new_override_object)
     else:
         self._update_other_type_of_override(override_type, key,
                                             new_override_object)
def get_overide_object_from_user():
    invalid_input = True
    while invalid_input:
        print(
            "Overide options are: A number between 0.0 and 1.0 that we multiply the natural position by,"
        )
        print("   or one of the following special values %s" % override_dict)

        value = input("Your value?")
        value = float(value)
        try:
            override_object = Override.from_numeric_value(value)
            return override_object
        except Exception as e:
            print(e)
예제 #3
0
"""
An override is something that affects our normal trading behaviour
"""

from syslogdiag.log import logtoscreen
from sysobjects.production.override import Override
from sysobjects.production.tradeable_object import instrumentStrategy
from sysdata.base_data import baseData

DEFAULT_OVERRIDE = Override(1.0)

strategy_overrides = "strategies"
instrument_overrides = "instruments"
strategy_instruments_overrides = "strategies_instruments"


class overrideData(baseData):
    def __init__(self, log=logtoscreen("Overrides")):
        super().__init__(log=log)

    def default_override(self):
        return DEFAULT_OVERRIDE

    def get_cumulative_override_for_instrument_strategy(
            self, instrument_strategy: instrumentStrategy) -> Override:
        strategy_override = self._get_override_for_strategy(
            instrument_strategy.strategy_name)
        instrument_override = self._get_override_for_instrument(
            instrument_strategy.instrument_code)
        strategy_instrument_override = self._get_override_for_instrument_strategy(
            instrument_strategy)
예제 #4
0
def _from_override_to_dict(override: Override) -> dict:
    override_as_value = override.as_numeric_value()
    override_as_dict = {OVERRIDE_VALUE: override_as_value}

    return override_as_dict
예제 #5
0
def _from_dict_to_override(result_dict: dict) -> Override:
    value = result_dict[OVERRIDE_VALUE]
    override = Override.from_numeric_value(value)
    return override