diff --git a/qf_lib/backtesting/contract/contract_to_ticker_conversion/bbg_figi_mapper.py b/qf_lib/backtesting/contract/contract_to_ticker_conversion/bbg_figi_mapper.py index ace5ef73..f9e64f3b 100644 --- a/qf_lib/backtesting/contract/contract_to_ticker_conversion/bbg_figi_mapper.py +++ b/qf_lib/backtesting/contract/contract_to_ticker_conversion/bbg_figi_mapper.py @@ -160,7 +160,10 @@ def _ticker_into_openfigi_requests(self, ticker: BloombergTicker) -> Dict[str, s try: parameters, match_params = sec_type_to_parameters[ticker.security_type] # Remove the /ticker/ part if applicable - request = dict(zip(parameters, re.match(match_params, ticker.as_string().lstrip("/ticker/")).groups())) + ticker_str = ticker.as_string().replace("/ticker/", "") + ticker_str = re.sub("^" + re.escape("USD"), '', ticker_str) \ + if ticker.security_type is SecurityType.FX else ticker_str + request = dict(zip(parameters, re.match(match_params, ticker_str).groups())) return {"idType": "TICKER", **request} except KeyError: raise ValueError(f"The {ticker.security_type} is not supported by the {self.__class__.__name__}.") from None