def QA_fetch_get_stock_transaction(code, start, end, retry=2, ip=best_ip['stock'], port=7709): '历史逐笔成交 buyorsell 1--sell 0--buy 2--盘前' api = TdxHq_API() real_start, real_end = QA_util_get_real_datelist(start, end) if real_start is None: return None real_id_range = [] with api.connect(ip, port): data = pd.DataFrame() for index_ in range(trade_date_sse.index(real_start), trade_date_sse.index(real_end) + 1): try: data_ = __QA_fetch_get_stock_transaction( code, trade_date_sse[index_], retry, api) if len(data_) < 1: return None except: QA_util_log_info('Wrong in Getting %s history transaction data in day %s' % ( code, trade_date_sse[index_])) else: QA_util_log_info('Successfully Getting %s history transaction data in day %s' % ( code, trade_date_sse[index_])) data = data.append(data_) if len(data) > 0: return data.assign(datetime=data['datetime'].apply(lambda x: str(x)[0:19])) else: return None
def QA_fetch_get_stock_transaction(code, start, end, retry=2, ip='221.231.141.60', port=7709): api = TdxHq_API() real_start, real_end = QA_util_get_real_datelist(start, end) real_id_range = [] with api.connect(): data = pd.DataFrame() for index_ in range(trade_date_sse.index(real_start), trade_date_sse.index(real_end) + 1): try: data_ = __QA_fetch_get_stock_transaction( code, trade_date_sse[index_], retry, api) if len(data_) < 1: return None except: QA_util_log_info( 'Wrong in Getting %s history transaction data in day %s' % (code, trade_date_sse[index_])) else: QA_util_log_info( 'Successfully Getting %s history transaction data in day %s' % (code, trade_date_sse[index_])) data = data.append(data_) return data
def QA_fetch_get_future_transaction(code, start, end, retry=2, ip=None, port=None): '期货历史成交分笔' ip, port = get_extensionmarket_ip(ip, port) apix = TdxExHq_API() global extension_market_list extension_market_list = QA_fetch_get_extensionmarket_list( ) if extension_market_list is None else extension_market_list real_start, real_end = QA_util_get_real_datelist(start, end) if real_start is None: return None real_id_range = [] with apix.connect(ip, port): code_market = extension_market_list.query('code=="{}"'.format(code)) data = pd.DataFrame() for index_ in range(trade_date_sse.index(real_start), trade_date_sse.index(real_end) + 1): try: data_ = __QA_fetch_get_future_transaction( code, trade_date_sse[index_], retry, int(code_market.market), apix) if len(data_) < 1: return None except Exception as e: QA_util_log_info('Wrong in Getting {} history transaction data in day {}'.format( code, trade_date_sse[index_])) else: QA_util_log_info('Successfully Getting {} history transaction data in day {}'.format( code, trade_date_sse[index_])) data = data.append(data_) if len(data) > 0: return data.assign(datetime=data['datetime'].apply(lambda x: str(x)[0:19])) else: return None
def QA_fetch_get_stock_transaction(code, start, end, retry=2, ip=None, port=None): '历史分笔成交 buyorsell 1--sell 0--buy 2--盘前' global best_ip if ip is None and port is None and best_ip['stock']['ip'] is None and best_ip['stock']['port'] is None: best_ip = select_best_ip() ip = best_ip['stock']['ip'] port = best_ip['stock']['port'] elif ip is None and port is None and best_ip['stock']['ip'] is not None and best_ip['stock']['port'] is not None: ip = best_ip['stock']['ip'] port = best_ip['stock']['port'] else: pass api = TdxHq_API() real_start, real_end = QA_util_get_real_datelist(start, end) if real_start is None: return None real_id_range = [] with api.connect(ip, port): data = pd.DataFrame() for index_ in range(trade_date_sse.index(real_start), trade_date_sse.index(real_end) + 1): try: data_ = __QA_fetch_get_stock_transaction( code, trade_date_sse[index_], retry, api) if len(data_) < 1: return None except: QA_util_log_info('Wrong in Getting {} history transaction data in day {}'.format( code, trade_date_sse[index_])) else: QA_util_log_info('Successfully Getting {} history transaction data in day {}'.format( code, trade_date_sse[index_])) data = data.append(data_) if len(data) > 0: return data.assign(datetime=data['datetime'].apply(lambda x: str(x)[0:19])) else: return None