问答交流

【模拟交易信号问题】【严重问题】策略不产生买入信号

由bqv93dy2创建,最终由bqv93dy2 被浏览 5 用户

策略按照如下模板

from bigquant import bigtrader, dai

def initialize(context: bigtrader.IContext):
    context.set_commission(bigtrader.PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))
    stock_num = 30
    rebalance_days = 2

    sql = f""" sql略,持仓数量为3只的同样策略能运行

    """

    df = dai.query(
        sql,
        filters={"date": [context.add_trading_days(context.start_date, -80), context.end_date]},
    ).df()

    df = bigtrader.TradingDaysRebalance(rebalance_days, context=context).select_rebalance_data(df)
    context.data = df
    print("initialize完成") ##模拟交易检查用

def handle_data(context: bigtrader.IContext, data: bigtrader.IBarData):
    df_today = context.data[context.data["date"] == data.current_dt.strftime("%Y-%m-%d")]
    print("非调仓日吗?") # #模拟交易检查用
    if len(df_today) == 1 and df_today["instrument"].iloc[0] is None:
        return # 非调仓日
    print("卖出不再持有的股票") #模拟交易检查用
    # 卖出不再持有的股票
    for instrument in set(context.get_positions()) - set(df_today["instrument"]):
        context.order_target_percent(instrument, 0)

    # 检查是否止损
    for _, position in context.get_positions().items():
        loss_ratio = position.last_price / position.cost_price - 1
        stop_loss=0.05
        if loss_ratio <= -stop_loss:
            print("INFO", f"{position.Symbol} loss {-loss_ratio:.2%}, triggering stop loss")
            context.order_target_percent(position.Symbol, 0)
            
    # 买入或调整目标持仓
    for _, row in df_today.iterrows():
        instrument = row["instrument"]
        weight = row["weight"]
        context.order_target_percent(instrument, weight)
    
performance = bigtrader.run(
    market=bigtrader.Market.CN_STOCK,
    frequency=bigtrader.Frequency.DAILY,
    start_date="2025-10-03",
    end_date="2025-11-25",
    capital_base=1000000.00,
    initialize=initialize,
    handle_data= handle_data,
    order_price_field_buy='open',
    order_price_field_sell='open',
)
performance.render()

模拟交易服务器反馈如下:

df209451-8a92-492d-8dd0-583f6b7774ce-20251125091426.txt 48810

\

标签

模拟交易买入信号
评论
  • 重新提交就会有信号,但是隔一段时间后就一直卡着不产生信号了。
{link}