Administrator
2024-04-09 229b8edc93c135cd5931df606aabf683f1615558
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from l2.l2_transaction_data_manager import HuaXinSellOrderStatisticManager
from l2 import l2_data_util
from log_module import log_export, async_log_util
from utils import tool
 
 
# 卖单统计
def statistic_sell_order():
    code = "000888"
    data_map = log_export.load_huaxin_transaction_map(date=tool.get_now_date_str())
    datas = data_map.get(code)
    __latest_sell_order_dict = {}
 
    for data in datas:
        for d in data:
            if code not in __latest_sell_order_dict:
                __latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])]
            else:
                if __latest_sell_order_dict[code][0] == d[7]:
                    __latest_sell_order_dict[code][1] += d[2]
                    __latest_sell_order_dict[code][2] = d[1]
                    __latest_sell_order_dict[code][4] = (d[3], d[6])
                else:
                    info = __latest_sell_order_dict[code]
 
                    # 上个卖单成交完成
                    # 封存数据,计算新起点
                    # 大于50w的卖单才会保存
                    # 大于50w加入卖单
                    money = info[1] * info[2]
                    if 101328000 > info[3][0] > 101324000 and info[0] > 12265084:
                        print(money, info)
                    if money >= 500000:
                        pass
                    __latest_sell_order_dict[code] = [d[7], d[2], d[1], (d[3], d[6]), (d[3], d[6])]
 
 
def load_sell_info():
    date = tool.get_now_date_str()
    data_map = log_export.load_huaxin_transaction_map(date=date)
    for code in data_map:
        if code != '002562':
            continue
        datas = data_map[code]
        for d in datas:
            big_sell_order_info = HuaXinSellOrderStatisticManager.add_transaction_datas(code, d)
    async_log_util.run_sync()
 
 
def test_sell_order_info():
    code = "002734"
    l2_data_util.load_l2_data(code, force=True)
    date = tool.get_now_date_str()
    data_map = log_export.load_huaxin_transaction_map(date=date)
    datas = data_map.get(code)
    for i in range(len(datas)):
        d = datas[i]
        big_sell_order_info = HuaXinSellOrderStatisticManager.add_transaction_datas(code, d)
        if d[-1][7] >= 3911165:
            sell_infos = HuaXinSellOrderStatisticManager.get_latest_transaction_datas(code, 3910694, "09:35:27")
            print(sum([x[1] * x[2] for x in sell_infos]))
        if big_sell_order_info[0] < 50 * 10000:
            continue
        print(i, sum([x[1] * x[2] for x in big_sell_order_info[1]]), big_sell_order_info)
 
 
if __name__ == '__main__':
    statistic_sell_order()