Administrator
2023-11-24 d6b6be5eb2ae00a8ccf46bd7d53cd7d0c1e59c72
utils/data_export_util.py
@@ -11,6 +11,7 @@
import constant
from code_attribute import gpcode_manager
import l2.l2_data_util
from l2.huaxin import l2_huaxin_util
from log_module import log, log_export
from l2 import l2_data_source_util
from trade import deal_big_money_manager
@@ -25,7 +26,11 @@
    process_indexs = log_export.get_l2_process_position(code, date)
    trade_indexs = log_export.get_l2_trade_position(code, date)
    real_position_indexes = log_export.get_real_place_order_positions(code, date)
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes)
    deal_list = log_export.load_huaxin_deal_record(code)
    deal_list_dict = {}
    for d in deal_list:
        deal_list_dict[d[0]] = d
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict)
    __save_l2_datas(code, fdatas)
@@ -36,11 +41,16 @@
    process_indexs = log_export.get_l2_process_position(code, date)
    trade_indexs = log_export.get_l2_trade_position(code, date)
    real_position_indexes = log_export.get_real_place_order_positions(code, date)
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes)
    deal_list = log_export.load_huaxin_deal_record(code)
    deal_list_dict = {}
    for d in deal_list:
        deal_list_dict[d[0]] = d
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict)
    return fdatas
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes):
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict):
    def find_process_index(index):
        for i in range(0, len(process_indexs)):
            if process_indexs[i][0] <= index <= process_indexs[i][1]:
@@ -114,31 +124,31 @@
        limit_price = ""
        if int(data["val"]["limitPrice"]) == 1:
            limit_price = "涨停"
            limit_price = "T"
        elif int(data["val"]["limitPrice"]) == 2:
            limit_price = "跌停"
            limit_price = "D"
        operateDesc = ""
        if int(data["val"]["operateType"]) == 0:
            if len(limit_price) > 0:
                operateDesc = '买 ({})'.format(limit_price)
                operateDesc = '买{}'.format(limit_price)
            else:
                operateDesc = '买'
        elif int(data["val"]["operateType"]) == 1:
            if len(limit_price) > 0:
                operateDesc = '买撤 ({})'.format(limit_price)
                operateDesc = '买撤{}'.format(limit_price)
            else:
                operateDesc = '买撤'
        elif int(data["val"]["operateType"]) == 2:
            if len(limit_price) > 0:
                operateDesc = '卖 ({})'.format(limit_price)
                operateDesc = '卖{}'.format(limit_price)
            else:
                operateDesc = '卖'
        elif int(data["val"]["operateType"]) == 3:
            if len(limit_price) > 0:
                operateDesc = '卖撤 ({})'.format(limit_price)
                operateDesc = '卖撤{}'.format(limit_price)
            else:
                operateDesc = '卖撤'
        format_data.append(operateDesc)
@@ -150,9 +160,13 @@
            # 买
            if cancel_data:
                try:
                    cancel_info = "{}-{}".format(cancel_data["index"], cancel_data["val"]["time"])
                    cancel_info = "{}-{}".format(cancel_data["index"],f"{cancel_data['val']['time']}") + (f".{cancel_data['val']['tms']}" if "tms" in cancel_data["val"] else '')
                except Exception as e:
                    logging.exception(e)
            else:
                if int(data["val"].get("orderNo")) in deal_list_dict:
                    cancel_info = l2_huaxin_util.convert_time(deal_list_dict[int(data["val"].get("orderNo"))][3],
                                                              with_ms=True)
        format_data.append(cancel_info)
        cancel_order_info = None
        if trade_info:
@@ -271,6 +285,6 @@
if __name__ == "__main__":
    try:
        export_l2_excel("000530")
        export_l2_excel("000536")
    except Exception as e:
        logging.exception(e)