Administrator
2025-01-09 7de28c45eb5fc393bfed07ffbefb69dc63eeaa4d
third_data/kpl_limit_up_data_manager.py
@@ -126,8 +126,8 @@
    """
    最近涨停的板块管理
    """
    # 看最近3天,不包含今天
    __LATEST_DAY_COUNT = 3
    # 看最近2天,不包含今天
    __LATEST_DAY_COUNT = 2
    __days = []
    # 目前涨停
@@ -242,9 +242,9 @@
                    block_codes_dict[b] = set()
                block_count_dict[b].add(day)
                block_codes_dict[b] |= self.__block_day_datas[day][b][2]
        # [(板块,涨停日期集合)]
        block_count_list = [(k, block_count_dict[k]) for k in block_count_dict]
        block_count_list.sort(key=lambda x: x[1], reverse=True)
        block_count_list.sort(key=lambda x: len(x[1]), reverse=True)
        block_count_list = block_count_list[:50]
        # [(涨停原因,累计涨停次数,连续次数)]
        fdatas = []
@@ -257,6 +257,11 @@
                if day not in self.__block_day_datas:
                    continue
                if b in self.__block_day_datas[day]:
                    total_limit_up_count = self.__block_day_datas[day][b][0] + self.__block_day_datas[day][b][1]
                else:
                    total_limit_up_count = 0
                if b in self.__block_day_datas[day] and total_limit_up_count >= 3:
                    # 板块代码数量>=3个
                    temp.append(day)
                else:
                    c = len(temp)
@@ -308,10 +313,10 @@
        if cls.__days:
            volumes_data = HistoryKDataManager().get_history_bars(code, cls.__days[1])
            if volumes_data:
                volumes_data = volumes_data[:cls.__LATEST_DAY_COUNT - 1]
                volumes_data = volumes_data[:cls.__LATEST_DAY_COUNT]
                cls.__k_datas[code] = volumes_data
        if not volumes_data:
            volumes_data = init_data_util.get_volumns_by_code(code, cls.__LATEST_DAY_COUNT - 1)
            volumes_data = init_data_util.get_volumns_by_code(code, cls.__LATEST_DAY_COUNT)
            if volumes_data:
                cls.__k_datas[code] = volumes_data
        # 获取最大涨幅