| | |
| | | |
| | | |
| | | # 获取L2的数据 |
| | | def get_l2_datas(code, today_datas=None, date=None, end_index=None): |
| | | def get_l2_datas(code, today_datas=None, date=None, end_index=None, fast_mode=False): |
| | | """ |
| | | @param code: |
| | | @param today_datas: |
| | | @param date: |
| | | @param end_index: |
| | | @param fast_mode: 是否是急速模式 |
| | | @return: |
| | | """ |
| | | __start_time = time.time() |
| | | if date is None: |
| | | date = tool.get_now_date_str() |
| | |
| | | sell_no_dict = {} |
| | | active_sell_map = {} |
| | | else: |
| | | tasks = [dask.delayed(log_export.get_l2_process_position)(code, date), |
| | | dask.delayed(log_export.get_l2_trade_position)(code, date), |
| | | dask.delayed(log_export.get_real_place_order_positions)(code, date), |
| | | dask.delayed(log_export.load_huaxin_deal_record)(code, date), |
| | | dask.delayed(log_export.load_cancel_buy_reasons)(code, date), |
| | | dask.delayed(log_export.load_huaxin_transaction_sell_no)(code, date), |
| | | dask.delayed(log_export.load_huaxin_active_sell_map)(date), |
| | | ] |
| | | results = dask.delayed(tasks).compute() |
| | | trade_indexs = results[0] |
| | | real_position_indexes = results[1] |
| | | deal_list = results[2] |
| | | cancel_reasons = results[3] |
| | | process_indexs = results[4] |
| | | sell_no_dict = results[5] |
| | | active_sell_map = results[6] |
| | | if not fast_mode: |
| | | tasks = [dask.delayed(log_export.get_l2_process_position)(code, date), |
| | | dask.delayed(log_export.get_l2_trade_position)(code, date), |
| | | dask.delayed(log_export.get_real_place_order_positions)(code, date), |
| | | dask.delayed(log_export.load_huaxin_deal_record)(code, date), |
| | | dask.delayed(log_export.load_cancel_buy_reasons)(code, date), |
| | | dask.delayed(log_export.load_huaxin_transaction_sell_no)(code, date), |
| | | dask.delayed(log_export.load_huaxin_active_sell_map)(date), |
| | | ] |
| | | results = dask.delayed(tasks).compute() |
| | | process_indexs = results[0] |
| | | trade_indexs = results[1] |
| | | real_position_indexes = results[2] |
| | | deal_list = results[3] |
| | | cancel_reasons = results[4] |
| | | sell_no_dict = results[5] |
| | | active_sell_map = results[6] |
| | | else: |
| | | process_indexs = [] |
| | | trade_indexs = [] |
| | | deal_list = [] |
| | | sell_no_dict = {} |
| | | active_sell_map = {} |
| | | tasks = [dask.delayed(log_export.get_real_place_order_positions)(code, date), |
| | | dask.delayed(log_export.load_cancel_buy_reasons)(code, date), |
| | | ] |
| | | results = dask.delayed(tasks).compute() |
| | | real_position_indexes = results[0] |
| | | cancel_reasons = results[1] |
| | | |
| | | |
| | | deal_list_dict = {} |
| | | for d in deal_list: |
| | | deal_list_dict[str(d[0])] = d |
| | |
| | | if deal_big_buy_order_list: |
| | | for d in deal_big_buy_order_list: |
| | | deal_big_buy_order_no_dict[d[0]] = d |
| | | |
| | | fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos, |
| | | active_sell_set, cancel_reasons, deal_big_buy_order_no_dict) |
| | | return fdatas |