diff --git a/rqalpha/data/base_data_source/storages.py b/rqalpha/data/base_data_source/storages.py index 2998c04e4..56144971c 100644 --- a/rqalpha/data/base_data_source/storages.py +++ b/rqalpha/data/base_data_source/storages.py @@ -100,14 +100,15 @@ def get_future_info(self, order_book_id, underlying_symbol): def _to_namedtuple(self, info): # type: (dict) -> FuturesTradingParameters - info['long_margin_ratio'], info['short_margin_ratio'] = info['margin_rate'], info['margin_rate'] - del info['margin_rate'], info['tick_size'] + futures_info = copy(info) + futures_info['long_margin_ratio'], futures_info['short_margin_ratio'] = futures_info['margin_rate'], futures_info['margin_rate'] + del futures_info['margin_rate'], futures_info['tick_size'] try: - del info['order_book_id'] + del futures_info['order_book_id'] except KeyError: - del info['underlying_symbol'] - info = FuturesTradingParameters(**info) - return info + del futures_info['underlying_symbol'] + futures_info = FuturesTradingParameters(**futures_info) + return futures_info @lru_cache(8) def get_tick_size(self, instrument):