| | |
| | | # zyltgb自由流通市值是否大于250亿 |
| | | # limit_price 涨停价是否大于100块 |
| | | # limit_up_time 是否10点之前涨停 |
| | | # k_form(15个交易日是否涨幅24.9%,是否破前高,是否超跌,是否接近前高,是否N,是否V) |
| | | # k_form(15个交易日是否涨幅24.9%,是否破前高,是否超跌,是否接近前高,是否N,是否V,是否有形态) |
| | | import code_nature_analyse |
| | | import global_data_loader |
| | | import global_util |
| | |
| | | score_list = [] |
| | | if zyltgb: |
| | | zyltgbs = [0, 10, 31, 51, 101, 150, 250, 1000000] |
| | | zyltgb_score = [5, 25, 20, 15, 10, 5, -80] |
| | | zyltgb_score = [20, 30, 20, 10, 0, -10, -20] |
| | | for i in range(1, len(zyltgbs)): |
| | | if zyltgbs[i - 1] <= zyltgb / 100000000 < zyltgbs[i]: |
| | | score_list.append(zyltgb_score[i - 1]) |
| | |
| | | k_score = [] |
| | | # 15个交易日是否涨幅24.9% |
| | | if k_form[0]: |
| | | k_score.append(-25) |
| | | k_score.append(-55) |
| | | else: |
| | | k_score.append(0) |
| | | # 是否破前高 |
| | | |
| | | # 是否破前高 |
| | | if k_form[1]: |
| | | k_score.append(50) |
| | | k_score.append(65) |
| | | else: |
| | | k_score.append(0) |
| | | # 是否超跌 |
| | | if k_form[2]: |
| | | k_score.append(40) |
| | | k_score.append(45) |
| | | else: |
| | | k_score.append(0) |
| | | |
| | |
| | | k_score.append(0) |
| | | # 是否N |
| | | if k_form[4]: |
| | | k_score.append(35) |
| | | k_score.append(40) |
| | | else: |
| | | k_score.append(0) |
| | | # 是否V |
| | | if k_form[5]: |
| | | k_score.append(30) |
| | | k_score.append(35) |
| | | else: |
| | | k_score.append(0) |
| | | |
| | | # 是否有形态 |
| | | if k_form[6]: |
| | | k_score.append(0) |
| | | else: |
| | | k_score.append(-25) |
| | | |
| | | score_list.append(k_score) |
| | | |
| | | nature_score = [] |
| | |
| | | score_list.append(nature_score) |
| | | |
| | | hot_block_score = [] |
| | | |
| | | if hot_block[1] >= 2: |
| | | hot_block_score.append(40) |
| | | # 板块中只有自己涨停,且无炸板 |
| | | if hot_block[1] == 1 and hot_block[2] == 0: |
| | | hot_block_score.append(25) |
| | | elif hot_block[1] >= 2 and hot_block[2] == 0: |
| | | hot_block_score.append(35) |
| | | else: |
| | | hot_block_score.append(30) |
| | | if hot_block[2] > 0: |
| | | hot_block_score.append(10) |
| | | else: |
| | | hot_block_score.append(0) |
| | | hot_block_score.append(5) |
| | | score_list.append(hot_block_score) |
| | | |
| | | # 量 |
| | | volume_score = [0, 40, 50, 40, 30, 10, -15, -35] |
| | | volume_rates = [0, 0.499, 0.649, 0.799, 0.949, 1.099, 1.249, 1.399] |
| | | volume_score = [0, 35, 45, 55, 45, 35, 15, -5, -30] |
| | | volume_rates = [0, 0.349, 0.499, 0.649, 0.799, 0.949, 1.099, 1.249, 1.399] |
| | | volume_add = False |
| | | for i in range(1, len(volume_rates)): |
| | | if volume_rates[i - 1] <= volume_rate < volume_rates[i]: |
| | |
| | | score_list.append(volume_score[-1]) |
| | | |
| | | if limit_up_time: |
| | | score_list.append(20) |
| | | times = ["10:00:00", "11:30:00", "14:00:00", "15:00:00"] |
| | | time_scores = [15, 10, 5, 0] |
| | | for i in range(0, len(times)): |
| | | if int(times[i].replace(":", "")) >= int(limit_up_time.replace(":", "")): |
| | | score_list.append(time_scores[i]) |
| | | break |
| | | else: |
| | | score_list.append(0) |
| | | |
| | |
| | | |
| | | k_form = code_nature_analyse.CodeNatureRecordManager.get_k_format(code) |
| | | if k_form is None: |
| | | k_form = [(True, ''), (False, ''), (False, ''), (False, ''), (False, ''), (False, '')] |
| | | k_form = [(True, ''), (False, ''), (False, ''), (False, ''), (False, ''), (False, ''), (True, '')] |
| | | source_datas.append(k_form) |
| | | |
| | | code_nature = code_nature_analyse.CodeNatureRecordManager.get_nature(code) |
| | |
| | | source_datas.append(volume_rate) |
| | | |
| | | source_datas.append(limit_up_time) |
| | | if limit_up_time and tool.trade_time_sub(limit_up_time, "10:00:00") < 0: |
| | | limit_up_time = True |
| | | else: |
| | | limit_up_time = False |
| | | |
| | | # 获取成交大单 |
| | | deal_big_num = deal_big_money_manager.get_deal_big_money_num(code) |
| | |
| | | |
| | | if __name__ == "__main__": |
| | | global_data_loader.load_zyltgb() |
| | | score = get_score("000779", 1.2, "15:00:01", True) |
| | | score = get_score("603829", 1.2, "15:00:01", True) |
| | | print(score) |