Administrator
2024-01-30 21c96ed504f93f16ce6f8a3ccf164a87c9edd9c0
utils/init_data_util.py
@@ -29,10 +29,11 @@
    return datas
# 解析最大量
# 返回:(60天最大量,昨日量,量参考日期,参考量据今交易日数)
def parse_max_volume(datas, is_new_or_near_top=False):
    max_volume = 0
    max_volume_date = None
    max_volume_index = None
    # 判断30天内是否有涨停
    if is_new_or_near_top:
        # 30天内是否有涨停
@@ -50,18 +51,20 @@
            if latest_limit_up_index > 0 and datas[latest_limit_up_index - 1]["volume"] > datas[latest_limit_up_index][
                "volume"]:
                return datas[latest_limit_up_index - 1]["volume"], datas[latest_limit_up_index - 1]["volume"], \
                       datas[latest_limit_up_index - 1]['bob'].strftime("%Y-%m-%d")
                       datas[latest_limit_up_index - 1]['bob'].strftime("%Y-%m-%d"), latest_limit_up_index - 1
            else:
                return datas[latest_limit_up_index]["volume"], datas[latest_limit_up_index]["volume"], \
                       datas[latest_limit_up_index]['bob'].strftime("%Y-%m-%d")
                       datas[latest_limit_up_index]['bob'].strftime("%Y-%m-%d"), latest_limit_up_index
    if is_new_or_near_top:
        # 如果是突破前高就取最大量
        for item in datas:
        for i in range(len(datas)):
            item = datas[i]
            if max_volume < item["volume"]:
                max_volume = item["volume"]
                max_volume_date = item["bob"]
        return max_volume, max_volume, max_volume_date.strftime("%Y-%m-%d")
                max_volume_index = i
        return max_volume, max_volume, max_volume_date.strftime("%Y-%m-%d"), max_volume_index
    else:
        date = None
        target_volume = None
@@ -84,7 +87,7 @@
                if volume < next_volume:
                    volume = next_volume
                    date = datas[i - 1]["bob"]
                target_volume = (volume, date)
                target_volume = (volume, date, i)
                break
        # 90个交易日无涨停,取最近30天内的最高量作为参考量
@@ -97,6 +100,6 @@
                item = datas[i]
                volume = item["volume"]
                if max_30_volume_info[0] < volume:
                    max_30_volume_info = [volume, item["bob"]]
                    max_30_volume_info = [volume, item["bob"], i]
            target_volume = max_30_volume_info
        return target_volume[0], target_volume[0], target_volume[1].strftime("%Y-%m-%d")
        return target_volume[0], target_volume[0], target_volume[1].strftime("%Y-%m-%d"), target_volume[2]