Administrator
2023-12-21 81f328532e366eef171b71810b221a9294dda78f
third_data/history_k_data_util.py
@@ -11,6 +11,8 @@
from db.redis_manager_delegate import RedisUtils
from utils import tool, middle_api_protocol
from db import redis_manager_delegate as redis_manager
# import gm.api as gmapi
@@ -195,6 +197,7 @@
class HistoryKDatasUtils(object):
    __previous_trading_date_cache={}
    __latest_trading_date_cache = {}
    @classmethod
    def get_gp_latest_info(cls, codes, fields=None):
@@ -221,6 +224,26 @@
        if fdata:
            cls.__previous_trading_date_cache[date] = fdata
        return fdata
    # 获取最近的交易日
    @classmethod
    def get_latest_trading_date(cls, day_count):
        now_day = tool.get_now_date_str()
        days = []
        for i in range(day_count):
            pday = cls.get_previous_trading_date_cache(now_day)
            days.append(pday)
            now_day = pday
        return days
    @classmethod
    def get_latest_trading_date_cache(cls, day_count):
        key = f"{tool.get_now_date_str()}-{day_count}"
        if key in cls.__latest_trading_date_cache:
            return cls.__latest_trading_date_cache[key]
        days = cls.get_latest_trading_date(day_count)
        cls.__latest_trading_date_cache[key] = days
        return days
    # 返回指定日期的下个交易日
    @classmethod
@@ -285,4 +308,9 @@
if __name__ == "__main__":
    constant.JUEJIN_LOCAL_API = False
    print(HistoryKDatasUtils.get_lowest_price_rate("000725", 30))
    print(tool.get_now_time_str())
    print(HistoryKDatasUtils.get_latest_trading_date(5))
    print(tool.get_now_time_str())
    print(HistoryKDatasUtils.get_latest_trading_date(5))
    print(tool.get_now_time_str())
    print(HistoryKDatasUtils.get_latest_trading_date(5))