Esempio n. 1
0
    def _get_all_cost_data(self):
        """
        Get a data frame of cost data

        :returns: pd.DataFrame

        >>> data=csvFuturesConfigDataForSim(datapath_dict=dict(config_data = "sysdata.tests.configtestdata"))
        >>> data._get_all_cost_data()
                   Instrument  Slippage  PerBlock  Percentage  PerTrade
        Instrument
        BUND             BUND    0.0050      2.00           0         0
        US10             US10    0.0080      1.51           0         0
        EDOLLAR       EDOLLAR    0.0025      2.11           0         0
        >>> data.get_raw_cost_data("EDOLLAR")['price_slippage']
        0.0025000000000000001
        """

        self.log.msg("Loading csv cost file")

        pathname = get_pathname_for_package(
            self._resolve_path("config_data", DEFAULT_SIM_CONFIG_PATH))
        filename = os.path.join(pathname, "costs_analysis.csv")
        try:
            instr_data = pd.read_csv(filename)
            instr_data.index = instr_data.Instrument

            return instr_data
        except OSError:
            self.log.warn("Cost file not found %s" % filename)
            return None
Esempio n. 2
0
    def __init__(self, datapath=None):
        """
        Create a FuturesData object for reading .csv files from datapath
        inherits from FuturesData

        We look for data in .csv files


        :param datapath: path to find .csv files (defaults to LEGACY_DATA_MODULE/LEGACY_DATA_DIR
        :type datapath: None or str

        :returns: new csvFuturesData object

        >>> data=csvFuturesData("sysdata.tests")
        >>> data
        FuturesData object with 3 instruments


        """

        super().__init__()

        if datapath is None:
            datapath = LEGACY_DATA_PATH

        datapath = get_pathname_for_package(datapath)
        """
        Most Data objects that read data from a specific place have a 'source' of some kind
        Here it's a directory
        """
        setattr(self, "_datapath", datapath)
Esempio n. 3
0
    def __init__(self, datapath=None):
        """
        Create a FuturesData object for reading .csv files from datapath
        inherits from FuturesData

        We look for data in .csv files


        :param datapath: path to find .csv files (defaults to LEGACY_DATA_MODULE/LEGACY_DATA_DIR
        :type datapath: None or str

        :returns: new csvFuturesData object

        >>> data = csvFuturesData()
        >>> data
        FuturesData object with 38 instruments

        """

        super().__init__()

        if datapath is None:
            datapath = LEGACY_DATA_PATH

        datapath = get_pathname_for_package(datapath)
        """
        Most Data objects that read data from a specific place have a 'source' of some kind
        Here it's a directory
        """
        setattr(self, "_datapath", datapath)
Esempio n. 4
0
    def __init__(self, datapath=None, absolute_datapath=None):
        """
        Create a FuturesData object for reading .csv files from datapath
        inherits from FuturesData

        We look for data in .csv files


        :param datapath: relative path to find .csv files (defaults to LEGACY_DATA_MODULE/LEGACY_DATA_DIR
        :type datapath: None or str

        :param absolute_datapath: absolute path to find .csv files (not used if datapath specified)
        :type datapath: None or str


        :returns: new csvFuturesData object

        >>> data=csvFuturesData("sysdata.tests")
        >>> data
        FuturesData object with 3 instruments


        """

        super().__init__()

        ## Use (1) provided relative datapath, (2) absolute_datapath, (3) default relative datapath

        if datapath is not None:
            resolved_datapath=get_pathname_for_package(datapath)
        else:
            if absolute_datapath is not None:
                resolved_datapath = absolute_datapath
            else:
                resolved_datapath = get_pathname_for_package(LEGACY_DATA_PATH)


        """
        Most Data objects that read data from a specific place have a 'source' of some kind
        Here it's a directory
        """
        setattr(self, "_datapath", resolved_datapath)
Esempio n. 5
0
    def __init__(self, datapath=None, absolute_datapath=None):
        """
        Create a FuturesData object for reading .csv files from datapath
        inherits from FuturesData

        We look for data in .csv files


        :param datapath: relative path to find .csv files (defaults to LEGACY_DATA_MODULE/LEGACY_DATA_DIR
        :type datapath: None or str

        :param absolute_datapath: absolute path to find .csv files (not used if datapath specified)
        :type datapath: None or str


        :returns: new csvFuturesData object

        >>> data=csvFuturesData("sysdata.tests")
        >>> data
        FuturesData object with 3 instruments


        """

        super().__init__()

        ## Use (1) provided relative datapath, (2) absolute_datapath, (3) default relative datapath

        if datapath is not None:
            resolved_datapath = get_pathname_for_package(datapath)
        else:
            if absolute_datapath is not None:
                resolved_datapath = absolute_datapath
            else:
                resolved_datapath = get_pathname_for_package(LEGACY_DATA_PATH)
        """
        Most Data objects that read data from a specific place have a 'source' of some kind
        Here it's a directory
        """
        setattr(self, "_datapath", resolved_datapath)
Esempio n. 6
0
    def _get_instrument_data(self):
        """
        Get a data frame of interesting information about instruments, either
        from a file or cached

        :returns: pd.DataFrame

        >>> data=csvFuturesConfigDataForSim(datapath_dict=dict(config_data = "sysdata.tests.configtestdata"))
        >>> data._get_instrument_data()
                   Instrument  Pointsize AssetClass Currency  Shortonly
        Instrument
        EDOLLAR       EDOLLAR       2500       STIR      USD      False
        US10             US10       1000       Bond      USD      False
        BUND             BUND       1000       Bond      EUR      False
        >>> data.get_instrument_asset_classes()
        Instrument
        EDOLLAR    STIR
        US10       Bond
        BUND       Bond
        Name: AssetClass, dtype: object
        >>> data.get_value_of_block_price_move("EDOLLAR")
        2500
        >>> data.get_instrument_currency("US10")
        'USD'
        """

        self.log.msg("Loading csv instrument config")

        pathname = get_pathname_for_package(
            self._resolve_path("config_data", DEFAULT_SIM_CONFIG_PATH))

        filename = os.path.join(pathname, "instrumentconfig.csv")
        instr_data = pd.read_csv(filename)
        instr_data.index = instr_data.Instrument

        return instr_data