为什么交易逻辑回测时,买入变成了卖出?卖出变成了买入?
由bqo2xecb创建,最终由bqo2xecb 被浏览 24 用户
数据中买入、卖出标记逻辑是正确的,但是在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)
\