Exemple #1
0
    def request_outright_market_data(self):

        outright_ticker_list = self.price_request_dictionary['outright']

        self.nonfinished_bid_price_list.extend(outright_ticker_list)
        self.nonfinished_ask_price_list.extend(outright_ticker_list)
        self.nonfinished_bid_quantity_list.extend(outright_ticker_list)
        self.nonfinished_ask_quantity_list.extend(outright_ticker_list)

        for i in range(len(outright_ticker_list)):

            self.bid_price_dictionary[outright_ticker_list[i]] = np.nan
            self.ask_price_dictionary[outright_ticker_list[i]] = np.nan
            self.bid_quantity_dictionary[outright_ticker_list[i]] = np.nan
            self.ask_quantity_dictionary[outright_ticker_list[i]] = np.nan
            self.fair_price_dictionary[outright_ticker_list[i]] = np.nan

            outright_ib_contract = ib_contract.get_ib_contract_from_db_ticker(
                ticker=outright_ticker_list[i], sec_type='F')
            self.outright_contract_dictionary[
                outright_ticker_list[i]] = outright_ib_contract
            self.market_data_ReqId_dictionary[
                self.next_val_id] = outright_ticker_list[i]
            self.log.info('req id: ' + str(self.next_val_id) +
                          ', outright_ticker:' + str(outright_ticker_list[i]))
            self.reqMktData(self.next_valid_id(), outright_ib_contract, "",
                            False, False, [])
    def request_historical_bar_data(self):

        ticker_list = self.ticker_list
        self.nonfinished_historical_data_list = ticker_list

        for i in range(len(ticker_list)):
            self.high_price_dictionary[ticker_list[i]] = []
            self.low_price_dictionary[ticker_list[i]] = []
            self.close_price_dictionary[ticker_list[i]] = []
            self.open_price_dictionary[ticker_list[i]] = []
            self.volume_dictionary[ticker_list[i]] = []
            self.bar_date_dictionary[ticker_list[i]] = []

            outright_ib_contract = ib_contract.get_ib_contract_from_db_ticker(
                ticker=ticker_list[i], sec_type='F')
            self.bar_data_ReqId_dictionary[self.next_val_id] = ticker_list[i]
            print('req id: ' + str(self.next_val_id) + ', outright_ticker:' +
                  str(ticker_list[i]))

            self.reqHistoricalData(reqId=self.next_valid_id(),
                                   contract=outright_ib_contract,
                                   endDateTime='',
                                   durationStr=self.durationStr,
                                   barSizeSetting='5 mins',
                                   whatToShow='TRADES',
                                   useRTH=0,
                                   formatDate=1,
                                   chartOptions=[],
                                   keepUpToDate=False)
    def main_run(self):
        ticker_list = self.ticker_list
        self.nonfinished_ticker_list = cpy.deepcopy(ticker_list)

        for i in range(len(ticker_list)):
            contract_i = ib_contract.get_ib_contract_from_db_ticker(ticker=ticker_list[i], sec_type='F')
            self.contractDetailReqIdDictionary[self.next_val_id] = ticker_list[i]
            self.nonfinished_contract_detail_ReqId_list.append(self.next_val_id)
            self.reqContractDetails(self.next_valid_id(), contract_i)
    def main_run(self):

        position_frame = self.position_frame

        for i in range(len(position_frame.index)):

            if position_frame.loc[i, 'instrument'] == 'F':
                contract_i = ib_contract.get_ib_contract_from_db_ticker(
                    ticker=position_frame.loc[i, 'ticker'], sec_type='F')
            elif position_frame.loc[i, 'instrument'] == 'O':
                contract_i = ib_contract.get_ib_contract_from_db_ticker(
                    ticker=position_frame.loc[i, 'ticker'],
                    sec_type='OF',
                    option_type=position_frame.loc[i, 'option_type'],
                    strike=float(position_frame.loc[i, 'strike_price']))
            elif position_frame.loc[i, 'instrument'] == 'S':
                contract_i = ib_contract.get_ib_contract_from_db_ticker(
                    ticker=position_frame.loc[i, 'ticker'], sec_type='S')

            self.contractDetailReqIdDictionary[self.next_val_id] = i
            self.nonfinished_contract_detail_ReqId_list.append(
                self.next_val_id)
            self.reqContractDetails(self.next_valid_id(), contract_i)
Exemple #5
0
    def main_run(self):

        vcs_pairs = self.vcs_pairs
        proxy_ticker_list = list(
            set(vcs_pairs['proxy_ticker1'].unique())
            | set(vcs_pairs['proxy_ticker2'].unique()))

        self.nonfinished_bid_price_list.extend(proxy_ticker_list)
        self.nonfinished_ask_price_list.extend(proxy_ticker_list)

        for i in range(len(proxy_ticker_list)):
            print('id:' + str(self.next_val_id) + ', ' + proxy_ticker_list[i])
            self.market_data_ReqId_dictionary[
                self.next_val_id] = proxy_ticker_list[i]
            outright_ib_contract = ib_contract.get_ib_contract_from_db_ticker(
                ticker=proxy_ticker_list[i], sec_type='F')
            self.reqMktData(self.next_valid_id(), outright_ib_contract, "",
                            False, False, [])
Exemple #6
0
    def req_option_chains(self):

        vcs_pairs = self.vcs_pairs

        self.option_ticker_list = list(
            set(vcs_pairs['ticker1'].unique())
            | (set(vcs_pairs['ticker2'].unique())))

        for i in range(len(self.option_ticker_list)):
            self.contractDetailReqIdDictionary[
                self.next_val_id] = self.option_ticker_list[i]
            ib_option_contract = ib_contract.get_ib_contract_from_db_ticker(
                ticker=self.option_ticker_list[i], sec_type='OF')
            self.nonfinished_contract_detail_ReqId_list.append(
                self.next_val_id)
            print('id:' + str(self.next_val_id) + ', ' +
                  self.option_ticker_list[i])
            self.reqContractDetails(self.next_valid_id(), ib_option_contract)
Exemple #7
0
    def request_outright_market_data(self):

        outright_ticker_list = self.price_request_dictionary['outright']

        self.nonfinished_bid_price_list.extend(outright_ticker_list)
        self.nonfinished_ask_price_list.extend(outright_ticker_list)
        self.nonfinished_bid_quantity_list.extend(outright_ticker_list)
        self.nonfinished_ask_quantity_list.extend(outright_ticker_list)

        for i in range(len(outright_ticker_list)):

            if self.num_messages>=30:
                tm.sleep(2)
                self.num_messages = 0

            outright_ib_contract = ib_contract.get_ib_contract_from_db_ticker(ticker=outright_ticker_list[i], sec_type='F')
            self.market_data_ReqId_dictionary[self.next_val_id] = outright_ticker_list[i]
            self.log.info('req id: ' + str(self.next_val_id) + ', outright_ticker:' + str(outright_ticker_list[i]));
            self.reqMktData(self.next_valid_id(), outright_ib_contract, "", False, False, [])
            self.num_messages += 1
Exemple #8
0
    def request_market_data(self):

        ticker_list = self.ticker_list

        self.nonfinished_bid_price_list.extend(ticker_list)
        self.nonfinished_ask_price_list.extend(ticker_list)
        self.nonfinished_bid_quantity_list.extend(ticker_list)
        self.nonfinished_ask_quantity_list.extend(ticker_list)
        self.nonfinished_historical_data_list.extend(ticker_list)

        for i in range(len(ticker_list)):

            self.bid_price_dictionary[ticker_list[i]] = np.nan
            self.ask_price_dictionary[ticker_list[i]] = np.nan
            self.bid_quantity_dictionary[ticker_list[i]] = np.nan
            self.ask_quantity_dictionary[ticker_list[i]] = np.nan
            self.current_high_price_dictionary[ticker_list[i]] = np.nan
            self.current_low_price_dictionary[ticker_list[i]] = np.nan

            self.long_breakout_price_dictionary[ticker_list[i]] = np.nan
            self.short_breakout_price_dictionary[ticker_list[i]] = np.nan
            self.long_stop_price_dictionary[ticker_list[i]] = np.nan
            self.short_stop_price_dictionary[ticker_list[i]] = np.nan
            self.long_target_price_dictionary[ticker_list[i]] = np.nan
            self.short_target_price_dictionary[ticker_list[i]] = np.nan
            self.long_trade_possible_dictionary[ticker_list[i]] = False
            self.short_trade_possible_dictionary[ticker_list[i]] = False
            self.stop_adjustment_possible_dictionary[ticker_list[i]] = False
            self.trade_entry_price_dictionary[ticker_list[i]] = np.nan

            outright_ib_contract = ib_contract.get_ib_contract_from_db_ticker(
                ticker=ticker_list[i], sec_type='F')
            self.ib_contract_dictionary[ticker_list[i]] = outright_ib_contract
            self.market_data_ReqId_dictionary[
                self.next_val_id] = ticker_list[i]
            self.log.info('req id: ' + str(self.next_val_id) +
                          ', outright_ticker:' + str(ticker_list[i]))
            self.reqMktData(self.next_valid_id(), outright_ib_contract, "",
                            False, False, [])