问答交流

为什么交易逻辑回测时,买入变成了卖出?卖出变成了买入?

由bqo2xecb创建,最终由bqo2xecb 被浏览 16 用户


数据中买入、卖出标记逻辑是正确的,但是在K线处理函数中按照下面的参数赋值,回测时发现,买入的是发出卖出信号的股票,卖出的是发出买入信号的股票?

还请大家帮忙看看问题。谢谢!

import dai

def bigquant_run(context, data):

# 获取当前日期

current_date = data.current_dt.strftime("%Y-%m-%d")

# 获取当日数据买卖记号的数据

current_day_data_buy = context.data[(context.data["date"] == current_date) & (context.data["mark"] == "Buy") & (context.data["volumet"] == "T")]

current_day_data_sell = context.data[(context.data["date"] == current_date) & (context.data["mark"] == "Sell")]

# 取前5只

current_day_data_buy = current_day_data_buy.iloc[:context.target_hold_count]

# 获取当日目标持有股票

target_hold_instruments_buy = set(current_day_data_buy["instrument"])

# 获取当日目标卖出的股票

target_hold_instruments_sell = set(current_day_data_sell["instrument"])

# 获取当前已持有股票

current_hold_instruments = set(context.get_account_positions().keys())



    

# 买入目标持有列表中的股票

for instrument in target_hold_instruments_buy - current_hold_instruments:

    context.order_target_percent(instrument, context.target_percent_per_instrument)

# 卖出持有列表中目标卖出的股票

for instrument in target_hold_instruments_sell.intersection(current_hold_instruments):

    context.order_target_percent(instrument, 0)

\

评论
  • 能给我们一下回测的信号吗?看代码没什么问题。