Administrator
2022-12-18 86e0061f9cf211b98252a9e6b71d6c9801e4a16b
l2_trade_factor.py
@@ -3,10 +3,13 @@
"""
# l2交易因子
import functools
import big_money_num_manager
import global_data_loader
import global_util
import limit_up_time_manager
import trade_data_manager
class L2TradeFactorUtil:
@@ -220,22 +223,24 @@
    def get_safe_buy_count(cls, code):
        gb = cls.get_zyltgb(code)
        if not gb:
            # 默认10笔
            # 默认8笔
            return 8
        count = gb // 100000000 - 2
        if count > 30:
            count = 30
        elif count < 3:
            count = 3
        count = gb // 100000000
        if count <= 6:
            count = 8
        elif count < 32:
            count = round(8 + 0.5 * (count - 6))
        else:
            count = 21
        volumn_day60_max, volumn_yest, volumn_today = cls.__get_volumns(code)
        rate = cls.get_volumn_rate(volumn_day60_max, volumn_yest, volumn_today)
        # 取大单影响值与行业影响值的较大值
        count = round(count * (1 - rate))
        if count < 3:
            count = 3
        elif count > 30:
            count = 30
        if count < 8:
            count = 8
        elif count > 21:
            count = 21
        return count
@@ -256,10 +261,10 @@
if __name__ == "__main__":
    print(L2TradeFactorUtil.get_industry_rate(10))
    print(L2TradeFactorUtil.get_safe_buy_count("003005"))
    # print(L2TradeFactorUtil.get_rate_factors("003004"))
    # print(L2TradeFactorUtil.factors_to_string("003004"))
    # print(L2TradeFactorUtil.get_safe_buy_count("002864"))
    print(L2TradeFactorUtil.get_safe_buy_count("002864"))
    # print(L2TradeFactorUtil.get_limit_up_time_rate("11:30:00"))
    # print(L2TradeFactorUtil.get_limit_up_time_rate("13:00:00"))
    # print(L2TradeFactorUtil.get_limit_up_time_rate("13:48:00"))