| | |
| | | import dask |
| | | import constant |
| | | |
| | | from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug |
| | | from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug, logger_kpl_market_sift_plate |
| | | from strategy import kpl_api, data_cache, basic_methods |
| | | from strategy.kpl_data_manager import KPLMarketStockHeatLogManager |
| | | from utils import tool, hx_qc_value_util |
| | | |
| | | |
| | | # 获取行情精选板块 强度排名 |
| | | def get_market_sift_plate_its_stock_power(): |
| | | """ |
| | | |
| | | :return: {板块:[代码信息]}, 精选流入板块 |
| | | """ |
| | | @dask.delayed |
| | | def batch_get_plate_codes(fs): |
| | | return fs |
| | |
| | | stock_power_list = [] |
| | | for s in its_stock['list']: |
| | | # 过滤掉涨幅大于 当日涨幅s[6] < 0% 的 和 名称中包含ST的 和 涨速小于等于0%的 和 只要昨日未涨停 和 上证或深证的正股 and s[9] > 0.0025 上季度机构持仓 >0 |
| | | if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("板") < 0 and s[24].find("板") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1 and int(s[42]) > 0: |
| | | if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("板") < 0 and s[24].find("板") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1 and int(s[42]) >= 0: |
| | | # print(f"{s[1]},个股代码:{s[0]}, 涨幅:{s[6]}% 涨速:{s[9]}% 概念:{s[4]} 主力资金推测:{s[2]} 领涨次数:{s[40]} 今日第几板:{s[23]} 是否破版{s[24]}") |
| | | # 对个股强度 主要 属性列表进行装填 |
| | | its_stock_power = [s[1], s[0], s[6], s[9], s[4], s[2], s[40]] |
| | |
| | | return log_data |
| | | # 定义一个时间段,在这个时间段内才会执行下面的代码,主要就是把强度数据作为日志打印存储下来。 |
| | | now_time = tool.get_now_time_str() |
| | | if not (data_cache.OPENING_TIME < now_time < data_cache.CLOSING_TIME): |
| | | return |
| | | |
| | | data = (kpl_api.getMarketJingXuanRealRankingInfo()) |
| | | market_sift_plate = json.loads(data) |
| | | # logger_kpl_jingxuan_in 打印的日志专用于开盘了数据的存储分析,不能轻易删除 |
| | | # print(f"market_sift_plate 数 ======{len(market_sift_plate['list'])}") |
| | | # 行情》精选板块》排名前20中》对应个股》符合条件的个股 |
| | | # logger.info(f"market_sift_plate['list']======{market_sift_plate['list']}") |
| | | |
| | | # 精选板块【前20】 market_sift_plate['list'] ====== |
| | | if data_cache.OPENING_TIME < now_time < data_cache.AFTER_CLOSING_TIME: |
| | | logger_kpl_market_sift_plate.info(f"{market_sift_plate['list']}") |
| | | # 总控制时间段 |
| | | if not (data_cache.OPENING_TIME < now_time < data_cache.NOON_MARKET_TIME): |
| | | return |
| | | # ['801235', '化工', 6996, 0.027, 2.43, 117836347690, -122548038, 8105997595, -8228545633, 0.92, 8595377775454, 0.09, 332297449, 9954902621130, -192457252, 24.0487, 17.1809, 6996, 0.027] |
| | | # market_sift_plate['list'][0] = ['801062', '军工', 3520, -0.49, 0.666, 139133934669, 383864272, 9077352839, -8693488567, 1.183, 6129448037490,-0.12, 168245858, 7088854452019, -290614763, 50.2408, 30.3672, 3520, 0] |
| | | # 行情精选板块列表 前20 中的 第一个板块列表数据 = 【代码,板块名称,强度,涨幅?,量比?,成交额?,现额?,主买,主卖,1.183?,流通值?,-0.12?,300W大单净额?,总市值?,上季度机构增仓,今年平均PE,次年平均PE,强度,未知0值】 |
| | | # logger.info(f"market_sift_plate['list'][0] ======{market_sift_plate['list'][0]}") |
| | | # 初始化精选板块对应个股字典 |
| | | market_sift_plate_stock_dict = {} |
| | |
| | | |
| | | # logger.info(f"精选板块股票强度数据更新 == {market_sift_plate_stock_dict}") |
| | | # 只在盘中时间获取 |
| | | kpl_api.KPLStockOfMarketsPlateLogManager().add_log(market_sift_plate['list'], log_datas) |
| | | |
| | | return market_sift_plate_stock_dict |
| | | KPLMarketStockHeatLogManager().add_log(market_sift_plate['list'], log_datas) |
| | | # 行情》精选板块》排名前20中》对应个股》符合条件的个股 |
| | | return market_sift_plate_stock_dict, market_sift_plate.get("list",[]) |
| | | |
| | | |
| | | # 调用一下获取精选板块股票强度数据函数 【本模块内使用时调用】 |
| | |
| | | its_stock_power = get_market_sift_plate_its_stock_power() |
| | | time_str = datetime.datetime.now().strftime("%H%M%S") |
| | | if 92900 < int(time_str) < 95000: |
| | | logger_kpl_jingxuan_in.info(f"耗时:{time.time() - start_time} 数据:{its_stock_power}") |
| | | # logger_kpl_jingxuan_in 打印的日志专用于开盘了数据的存储分析,不能轻易删除 |
| | | logger_kpl_jingxuan_in.info(f"耗时:{time.time() - start_time} 数据:{its_stock_power[0]}") |
| | | callback(its_stock_power) |
| | | # print(f"精选板块拉升个股更新===={its_stock_power}") |
| | | except Exception as e: |