| | |
| | | import re |
| | | |
| | | import constant |
| | | from code_attribute import global_data_loader |
| | | from code_attribute import global_data_loader, gpcode_manager |
| | | from db import mysql_data_delegate |
| | | from strategy.data_analyzer import KTickLineAnalyzer, KPLLimitUpDataAnalyzer, K60SLineAnalyzer |
| | | from strategy.strategy_variable import StockVariables |
| | |
| | | results = [x for x in results if |
| | | (tool.is_can_buy_code(x[0]) and x[0] in valid_codes and x[0] not in exclude_codes)] |
| | | # 取前1/3且涨停数是前10 |
| | | max_count = len(results) // 2 if len(results) % 2 == 0 else len(results) // 2 + 1 |
| | | max_count = len(results) // 3 if len(results) % 3 == 0 else len(results) // 3 + 1 |
| | | results = results[:max_count] |
| | | # 取前10 |
| | | results = results[:10] |
| | |
| | | print(code, code_blocks[code]) |
| | | |
| | | |
| | | def __load_target_codes_v1(): |
| | | """ |
| | | 50亿以下的 |
| | | @return: |
| | | """ |
| | | |
| | | def get_zylt(code): |
| | | zylt_volume_map = global_util.zylt_volume_map |
| | | last_trade_day = __DataLoader.trade_days[0] |
| | | volume = zylt_volume_map.get(code) |
| | | # 今日涨停价要突破昨日最高价 |
| | | k_bars = HistoryKDataManager().get_history_bars(code, last_trade_day) |
| | | return k_bars[0]["close"] * volume * tool.get_limit_up_rate(code) |
| | | |
| | | __DataLoader = DataLoader('2025-06-13') |
| | | global_data_loader.load_zyltgb_volume_from_db() |
| | | results = __DataLoader.load_target_plate_and_codes() |
| | | # for k in results: |
| | | # print(k, results[k]) |
| | | plates = ["天然气", "军工"] |
| | | print("==========新题材=======") |
| | | for p in plates: |
| | | codes = [x for x in results.get(p) ] # if get_zylt(x) < 31e8 |
| | | print("======", p) |
| | | for code in codes: |
| | | print("\t\t", code, gpcode_manager.CodesNameManager().get_code_name(code)) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | |
| | | __load_target_codes_v1() |
| | | |
| | | __DataLoader = DataLoader("2025-06-12") |
| | | # __test_jx_blocks(__DataLoader) |
| | | |
| | |
| | | results = __DataLoader.load_target_plate_and_codes() |
| | | # for k in results: |
| | | # print(k, results[k]) |
| | | plates = ["汽车零部件", "稀土永磁", "化工", "医药", "光伏"] |
| | | plates = ["汽车零部件", "文化传媒", "谷子经济"] |
| | | print("==========新题材=======") |
| | | for p in plates: |
| | | print(p, results.get(p)) |