admin
1 天以前 241d9beb6e0899d54f94c2ca32fe4e64daf4df9e
检查因强度中的过滤因素而被错过的涨停
3个文件已修改
44 ■■■■■ 已修改文件
strategy/check_timer.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/data_cache.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/plate_strength_analysis.py 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/check_timer.py
@@ -37,6 +37,9 @@
                # # 获取所有个股的板块概念并写入文件【耗时较长应该放在 核心主线程 和 仓位管理 后面】
                plate_strength_analysis.get_all_stocks_plate_dict(data_cache.DataCache().filtered_stocks)
                logger.info(f"获取所有个股的板块概念 已经运行完成")
                # 检查因强度中的过滤因素而被错过的涨停函数【建立在策略不重启的基础上】
                plate_strength_analysis.check_intensity_missing_limit_up_stock()
                logger.info(f"检查因强度中的过滤因素而被错过的涨停 已经运行完成")
                # 完成了后将是否执行的开个标记为真
                data_cache.execution = True
            # 本地数据更新时间
strategy/data_cache.py
@@ -322,6 +322,8 @@
willing_buy_list = []
# 已成交股票详情列表
purchased_stocks_details_list = []
# 因上季度机构持仓被直接过滤掉的个股信息集合
filtered_stock_info_set = set()
#目标代码管理器
target_codes_manager = target_codes_manager.TargetCodesManager(day=tool.get_now_date_str())
strategy/plate_strength_analysis.py
@@ -72,7 +72,18 @@
                        # 整体将添加完善的个股强度列表添加到股票列表中
                        stock_power_list.append(its_stock_power)
                    else:
                        logger_common.info(f"【{s[1]}】,上季度机构持仓{int(s[42])} 小于0 被过滤掉")
                        # 加入策略时间段限制
                        if data_cache.OPENING_TIME < now_time < data_cache.NOON_MARKET_TIME:
                            logger_common.info(f"【{s[1]}】,上季度机构持仓{int(s[42])} 小于0 被过滤掉")
                            filtered_stock_info = {
                                "code": s[0],
                                "sec_name": s[1],
                                "increase": s[6],
                                "institutional_holdings": int(s[42])
                            }
                            data_cache.filtered_stock_info_set.update()
            # print(f"stock_power_list===={stock_power_list}")
            # 过滤掉没有瞬时高强度个股的空概念
            if len(stock_power_list) != 0:
@@ -857,6 +868,30 @@
    # calculate_plate_trend('机器人概念')
    return result
# 检查因强度中的过滤因素而被错过的涨停函数【建立在策略不重启的基础上】
def check_intensity_missing_limit_up_stock():
    # 实例化每日涨停信息整理方法
    today_limit_up_info = kpl_api.get_limit_up_info()
    # print(today_limit_up_info)
    # logger.info(f"读本地的日更的历史涨停数据=={data_cache.daily_limit_up_info}")
    today_limit_up_code_list = []
    # 整理出当日的涨停列表
    if today_limit_up_info:
        for i in today_limit_up_info:
            limit_up_code = i[0]
            today_limit_up_code_list.append(limit_up_code)
        print(f"today_limit_up_code_list=={today_limit_up_code_list}")
        logger_common.info(f"昨日涨停股票数量=={len(today_limit_up_code_list)}")
        logger_common.info(f"昨日涨停代码列表=={today_limit_up_code_list}")
    for code in today_limit_up_code_list:
        for filtered_stock_info in data_cache.filtered_stock_info_set:
            if filtered_stock_info["code"] == code:
                print(f"错过的涨停股票信息: {filtered_stock_info}")
                logger_common.info(f"错过的涨停股票信息: {filtered_stock_info}")
if __name__ == '__main__':
    analyze_plate_trend('医药')
    # analyze_plate_trend('人工智能')
    check_intensity_missing_limit_up_stock()