| | |
| | | from huaxin_client import l1_subscript_codes_manager |
| | | from strategy import strategy_manager, data_analyzer |
| | | from strategy.strategy_variable import StockVariables |
| | | |
| | | |
| | | # 统计当日的平均溢价率 |
| | | from strategy.strategy_variable_factory import DataLoader |
| | | from third_data.kpl_block_manager import KPLCodeJXBlocksManager |
| | | |
| | | |
| | | def statistic_average(path): |
| | | rate_list = [] |
| | | yjl_list = [] |
| | | with open(path, mode='r', encoding='utf-8') as f: |
| | | lines = f.readlines() |
| | | for line in lines: |
| | |
| | | continue |
| | | r = round(float(line.split("当日盈亏:")[1].split(",")[0].replace("%", "")), 2) |
| | | rate_list.append(r) |
| | | print("平均利润率:", round(sum(rate_list) / len(rate_list), 2)) |
| | | print("总利润率:", round(sum(rate_list), 2), "总买票数量:", len(rate_list)) |
| | | r = line.split("溢价率:")[1].split(",")[0].replace("%", "") |
| | | if r.find("未知") < 0: |
| | | yjl_list.append(round(float(r), 2)) |
| | | print("当日平均利润率:", round(sum(rate_list) / len(rate_list), 2)) |
| | | print("当日总利润率:", round(sum(rate_list), 2), "总买票数量:", len(rate_list)) |
| | | print("次日开盘平均利润率:", round(sum(yjl_list) / len(yjl_list), 2)) |
| | | print("次日开盘总利润率:", round(sum(yjl_list), 2), "总买票数量:", len(yjl_list)) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | print("======2个票涨停之后买") |
| | | statistic_average(r"C:\Users\Administrator\Desktop\2个票涨停之后买.txt") |
| | | print("======3个票涨停之后买_不买长得太高未放量") |
| | | statistic_average(r"C:\Users\Administrator\Desktop\3个票涨停之后买_不买长得太高未放量.txt") |
| | | print("======3个票涨停之后买") |
| | | statistic_average(r"C:\Users\Administrator\Desktop\3个票涨停之后买.txt") |
| | | # codes = set() |
| | | # codes_sh, codes_sz = l1_subscript_codes_manager.get_codes() |
| | | # codes |= set([x.decode() for x in codes_sh]) |
| | | # codes |= set([x.decode() for x in codes_sz]) |
| | | # KPLCodeJXBlocksManager('2025-06-17', codes).start_download_blocks() |
| | | # target_block = {"石油石化", "天然气", "化工"} |
| | | # for code in code_blocks: |
| | | # blocks = code_blocks.get(code) |
| | | # if len(blocks & target_block) == len(target_block): |
| | | # print(code, blocks) |
| | | |
| | | __DataLoader = DataLoader("2025-06-18") |
| | | kline_datas = __DataLoader.load_kline_data() |
| | | codes = [] |
| | | for code in kline_datas: |
| | | # if code !='003010': |
| | | # continue |
| | | result = data_analyzer.KTickLineAnalyzer.is_too_high_and_not_relase_volume(kline_datas[code]) |
| | | if result: |
| | | print("未放量", code, result[1]) |
| | | codes.append(code) |
| | | print(len(codes)) |