| | |
| | | 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 |
| | | |
| | | |
| | |
| | | |
| | | |
| | | class HistoryKDatasUtils(object): |
| | | __previous_trading_date_cache={} |
| | | __previous_trading_date_cache = {} |
| | | __latest_trading_date_cache = {} |
| | | |
| | | @classmethod |
| | | def get_gp_latest_info(cls, codes, fields=None): |
| | |
| | | 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 |
| | |
| | | |
| | | 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)) |