Administrator
2023-07-24 0e68e24f54db11d340785b17570fff2bc5fc7ac6
third_data/block_info.py
@@ -4,10 +4,12 @@
import datetime
import constant
import juejin
import tool
from third_data import kpl_util, kpl_data_manager
from utils import tool
from third_data import kpl_util
from third_data.history_k_data_util import HistoryKDatasUtils
from third_data.kpl_data_manager import KPLLimitUpDataRecordManager, KPLDataManager
from third_data import kpl_data_manager
__before_block_dict = {}
@@ -24,6 +26,16 @@
    return __before_block_dict.get(code)
# 获取之前的板块
def get_before_blocks(code):
    return __before_block_dict.get(code)
# 获取之前的代码-板块字典
def get_before_blocks_dict():
    return __before_block_dict
def __get_code_from_code_info(code_info):
    code = code_info[0][1].split(".")[0]
    return code
@@ -32,12 +44,13 @@
# (代码, 名称, 首次涨停时间, 最近涨停时间, 几板, 涨停原因, 板块, 实际流通, 主力净额)
def __get_blocks(code, limit_up_datas, filter=True):
    blocks = []
    for data in limit_up_datas:
        if data[0] == code:
            block = data[5]
            if block in constant.KPL_INVALID_BLOCKS and filter:
                continue
            blocks.append(block)
    if limit_up_datas:
        for data in limit_up_datas:
            if data[0] == code:
                block = data[5]
                if block in constant.KPL_INVALID_BLOCKS and filter:
                    continue
                blocks.append(block)
    return blocks
@@ -57,10 +70,10 @@
    if now_day in __blocks_dict:
        return __blocks_dict[now_day]
    now_date = datetime.datetime.now()
    end_date = juejin.JueJinManager.get_previous_trading_date(tool.get_now_date_str())
    end_date = HistoryKDatasUtils.get_previous_trading_date(tool.get_now_date_str())
    start_date = now_date - datetime.timedelta(days=(day_count * 2 + 10))
    start_date = start_date.strftime("%Y-%m-%d")
    days = juejin.JueJinManager.get_trading_dates(start_date, end_date)
    days = HistoryKDatasUtils.get_trading_dates(start_date, end_date)
    days = days[0 - day_count:]
    results = KPLLimitUpDataRecordManager.list_blocks_with_day(days)
    __blocks_dict[now_day] = results
@@ -159,7 +172,7 @@
                code_ = d[3]
                limit_up_codes_info_set.add((code_, d[5]))
                block_codes_set.add(code_)
            elif d[3]==code:
            elif d[3] == code:
                limit_up_codes_info_set.add((d[3], d[5]))
    # 获取涨停的顺序
    limit_up_index = -1
@@ -228,5 +241,16 @@
    return fresult
# 初始化板块数据
def init():
    # 加载数据到内存中
    kpl_data_manager.get_current_limit_up_data_records(10)
def init_code(code):
    # 加载历史涨停原因
    __load_before_block(code)
if __name__ == "__main__":
    get_info("603133")