def ib_futures_instrument( futures_instrument_with_ib_data: futuresInstrumentWithIBConfigData): """ Get an IB contract which is NOT specific to a contract date Used for getting expiry chains :param futures_instrument_with_ib_data: instrument with .metadata suitable for IB :return: IBcontract """ ib_data = futures_instrument_with_ib_data.ib_data ibcontract = Future(ib_data.symbol, exchange=ib_data.exchange) if ib_data.ibMultiplier is NOT_REQUIRED_FOR_IB: pass else: ibcontract.multiplier = int(ib_data.ibMultiplier) if ib_data.currency is NOT_REQUIRED_FOR_IB: pass else: ibcontract.currency = ib_data.currency return ibcontract
def ib_futures_instrument(futures_instrument_object): """ Get an IB contract which is NOT specific to a contract date Used for getting expiry chains :param futures_instrument_object: instrument with .metadata suitable for IB :return: IBcontract """ meta_data = futures_instrument_object.meta_data ibcontract = Future(meta_data['symbol'], exchange=meta_data['exchange']) if meta_data['ibMultiplier'] is NOT_REQUIRED: pass else: ibcontract.multiplier = int(meta_data['ibMultiplier']) if meta_data['currency'] is NOT_REQUIRED: pass else: ibcontract.currency = meta_data['currency'] return ibcontract