Administrator
2025-05-13 8c4a961c7dc30e4988eec45b1cbfaa27a1531eca
辨识度的票首先排除ST代码
2个文件已修改
30 ■■■■ 已修改文件
third_data/history_k_data_util.py 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/block_special_codes_manager.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
third_data/history_k_data_util.py
@@ -170,7 +170,7 @@
    # 获取交易所的代码
    @classmethod
    def get_exchanges_codes(cls, exchanges, skip_suspended=True, skip_st=True):
    def get_exchanges_codes(cls, exchanges, skip_suspended=True, skip_st=True, fields=None):
        if constant.JUEJIN_LOCAL_API:
            account_id, s_id, token = cls.getJueJinAccountInfo()
            gmapi.set_token(token)
@@ -178,11 +178,13 @@
                                         skip_st=skip_st,
                                         fields="symbol,sec_type,sec_id,sec_name,listed_date,sec_level,is_suspended,pre_close")
        else:
            if not fields:
                fields = "symbol,sec_type,sec_id,sec_name,listed_date,sec_level," "is_suspended,pre_close"
            return JueJinHttpApi.get_exchanges_codes(exchanges=exchanges, sec_types=[1], skip_suspended=skip_suspended,
                                                     skip_st=skip_st,
                                                     fields="symbol,sec_type,sec_id,sec_name,listed_date,sec_level,"
                                                            "is_suspended,pre_close")
                                                     fields=fields)
    @classmethod
    @classmethod
    def get_history_instruments(cls, symbols, start_date, end_date, fields=None):
        if constant.JUEJIN_LOCAL_API:
@@ -360,6 +362,16 @@
            results[code] = code_name
        return results
    @classmethod
    def get_st_codes(cls):
        """
        获取st代码
        @return:
        """
        results = JueJinApi.get_exchanges_codes("SHSE,SZSE", skip_st=False, fields="sec_id,sec_level")
        codes = [x["sec_id"] for x in results if x["sec_level"] != 1]
        return codes
def get_k_bar_dead_date():
    """
@@ -379,5 +391,4 @@
if __name__ == "__main__":
    result = JueJinHttpApi.history_n("SHSE.000300", "1d", 10, 1, "open, high, low, eob")
    print(result)
    pass
trade/buy_radical/block_special_codes_manager.py
@@ -307,7 +307,10 @@
                # else:
                code_block_dict[b[1]][bb] += b[2]
        block_codes_dict = {}  # {"板块":[(代码,涨停次数)]}
        st_codes = HistoryKDatasUtils.get_st_codes()
        for code in code_block_dict:
            if code in st_codes:
                continue
            for b in code_block_dict[code]:
                if b not in block_codes_dict:
                    block_codes_dict[b] = []
@@ -316,10 +319,10 @@
        # 统计最近120天的涨停数据 {"代码": (涨停次数, 名称, 自由流通市值)}
        limit_up_info_map = self.__get_limit_up_info(min_day)
        fdatas = []
        for b in block_codes_dict:
            # if b != '人工智能':
            #     continue
        for b in block_codes_dict:
            # if b != '光伏':
            #     continue
            if b in constant.KPL_INVALID_BLOCKS:
                continue