| | |
| | | """ |
| | | 统计L后监听数据信息 |
| | | @param code: |
| | | @return:((总笔数, 总金额), (已撤笔数,已撤金额), (已成交笔数,已成交金额), 综合撤单比例, 撤单比例阈值, (200w以下撤单百分数, 200-300W撤单百分数, 300w以上撤单百分数)) |
| | | @return:((总笔数, 总金额), (已撤笔数,已撤金额), (已成交笔数,已成交金额), 综合撤单比例, 撤单比例阈值, (大单撤单比例,大单总金额,大单总笔数,大单撤单金额,大单撤单笔数)) |
| | | """ |
| | | # TODO 测试 |
| | | if code == '000751': |
| | | self.__cancel_watch_index_info_cache[code] = (0, 1, |
| | | [4061, 4062, 4065, 4069, 4070, 4073, 4074, 4077, 4080, 4082, |
| | | 4084, 4085, 4086, 4089, 4094, 4095, 4097, 4107]) |
| | | self.__real_place_order_index_dict[code] = (4098, False) |
| | | watch_indexes_info = self.__get_watch_indexes_cache(code) |
| | | if not watch_indexes_info: |
| | | return None |
| | |
| | | BIG_ORDER_NUM_THRESHOLD = l2_data_util.get_big_money_val( |
| | | gpcode_manager.get_limit_up_price_as_num(code), tool.is_ge_code(code)) |
| | | # 撤单的大单信息:[(大单总手数, 大单总笔数), (大单撤单手数, 大单撤单笔数), ] |
| | | canceled_info_of_big_orders = [[0,0],[0,0]] |
| | | canceled_info_of_big_orders = [[0, 0], [0, 0]] |
| | | for x in before_watch_indexed_info: |
| | | money = limit_up_price * x[1] * 100 |
| | | if money < BIG_ORDER_NUM_THRESHOLD: |
| | | if money < BIG_ORDER_NUM_THRESHOLD: |
| | | continue |
| | | canceled_info_of_big_orders[0][0] += x[1] |
| | | canceled_info_of_big_orders[0][1] += 1 |
| | | if x[0] in canceled_indexes: |
| | | canceled_info_of_big_orders[1][0] += x[1] |
| | | canceled_info_of_big_orders[1][1] += 1 |
| | | #(大单撤单比例,大单总金额,大单总笔数,大单撤单金额,大单撤单笔数) |
| | | |
| | | if canceled_info_of_big_orders[0][0] > 0: |
| | | big_order_canceled_rate = int(round(canceled_info_of_big_orders[1][0]*100/canceled_info_of_big_orders[0][0])) |
| | | big_order_canceled_rate = int( |
| | | round(canceled_info_of_big_orders[1][0] * 100 / canceled_info_of_big_orders[0][0])) |
| | | else: |
| | | big_order_canceled_rate = -1 |
| | | fresults.append((big_order_canceled_rate,int(canceled_info_of_big_orders[0][0]*limit_up_price*100),canceled_info_of_big_orders[0][1],int(canceled_info_of_big_orders[1][0]*limit_up_price*100), canceled_info_of_big_orders[1][1])) |
| | | # (大单撤单比例,大单总金额,大单总笔数,大单撤单金额,大单撤单笔数) |
| | | fresults.append((big_order_canceled_rate, int(canceled_info_of_big_orders[0][0] * limit_up_price * 100), |
| | | canceled_info_of_big_orders[0][1], |
| | | int(canceled_info_of_big_orders[1][0] * limit_up_price * 100), |
| | | canceled_info_of_big_orders[1][1])) |
| | | return fresults |
| | | |
| | | |