Administrator
2024-04-15 d79bb656591b8db03f623b5354c152e1bda24a4d
utils/data_export_util.py
@@ -44,12 +44,24 @@
    sell_no_dict = log_export.load_huaxin_transaction_sell_no(code=code, date=date)
    sell_nos = sell_no_dict.get(code)
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos)
    active_sell_map = log_export.load_huaxin_active_sell_map(date=date)
    active_sell_set = active_sell_map.get(code)
    if not active_sell_set:
        active_sell_set = set()
    fdatas = export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos, active_sell_set)
    return fdatas
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos):
def get_l2_transaction_datas(code, date=None):
    if date is None:
        date = tool.get_now_date_str()
    sell_no_dict = log_export.load_huaxin_transaction_sell_no(code=code, date=date)
    sell_nos = sell_no_dict.get(code)
    fdatas = export_l2_transaction_data(code, sell_nos)
    return fdatas
def export_l2_data(code, datas, process_indexs, trade_indexs, real_position_indexes, deal_list_dict, sell_nos,active_sell_nos):
    def find_process_index(index):
        for i in range(0, len(process_indexs)):
            if process_indexs[i][0] <= index <= process_indexs[i][1]:
@@ -66,7 +78,9 @@
    num_operate_map = {}
    l2.l2_data_util.load_num_operate_map(num_operate_map, code, datas)
    buy_no_map = {}
    sell_no_map = {}
    l2.l2_data_util.load_buy_no_map(buy_no_map, code, datas)
    l2.l2_data_util.load_sell_no_map(sell_no_map, code, datas)
    l2.l2_data_util.load_canceled_buy_no_map(l2.l2_data_util.local_today_canceled_buyno_map, code, datas)
@@ -80,6 +94,9 @@
    fdatas = []
    for data in datas:
        index += 1
        if data['val']['orderNo'] in active_sell_nos:
            # 过滤主动卖
            continue
        trade_info = find_trade_index(data["index"])
        if not trade_info:
            # 获取真实下单位置
@@ -217,12 +234,37 @@
                    item.append(l2_huaxin_util.convert_time(sell_info[4][0], with_ms=True))
                    item.append(None)
                    item.append(sell_info[0])
                    fdatas.insert(order_no_indexes[i + 1][1], (0,None,item))
                    fdatas.insert(order_no_indexes[i + 1][1], (0, None, item))
                    break
    return fdatas
def export_l2_transaction_data(code, sell_nos):
    fdatas = []
    if sell_nos:
        index = 0
        for sell_info in sell_nos:
            if sell_info[1] * sell_info[2] < 50 * 10000:
                continue
            index += 1
            item = []
            item.append(index)
            item.append(l2_huaxin_util.convert_time(sell_info[3][0], with_ms=True))
            item.append("")
            item.append(
                "{}万".format(round(sell_info[1] * sell_info[2] / 10000, 1)))
            item.append(sell_info[2])
            item.append(sell_info[1] // 100)
            item.append("主动卖")
            item.append(1)
            item.append(l2_huaxin_util.convert_time(sell_info[4][0], with_ms=True))
            item.append(None)
            item.append(sell_info[0])
            fdatas.append((0, None, item))
    return fdatas
def __save_l2_datas(code, fdatas, dest_dir=f"{constant.get_path_prefix()}/export/l2"):
    local_time = time.strftime("%Y%m%dT%H%M%S", time.localtime(time.time()))
    file_name = "{}/{}_{}.xls".format(dest_dir, code, local_time)