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
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)
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)
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)
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)
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