求助请教,如何实现日线当日卖出后,资金直接用于买入?
由bqn29k3u创建,最终由bqn29k3u 被浏览 23 用户
# 回测引擎:每日数据处理函数,每天执行一次
def m19_handle_data_bigquant_run(context, data):
#...
# 2. 生成卖出订单
print(f'{today} before cash:{context.portfolio.cash}')
if cash_for_sell > 0:
for instrument in sell_instruments:
res = context.order_target(context.symbol(instrument), 0)
cash_for_sell -= positions[instrument]
cash_for_buy += positions[instrument]
if cash_for_sell <= 0:
break
# 问题:单日先卖出,后买入
# 这么写 cash 并没有增加,也就是卖出的资金没办法使用,代码该如何实现?
print(f'{today} after cash:{context.portfolio.cash}')
# 3. 生成买入订单
for i, instrument in enumerate(buy_instruments):
single_cash = cash/len(buy_instruments)
context.order_value(context.symbol(instrument), cash)
代码如上,卖出资金并不能立即使用吗?
尝试过,order_value使用把卖出的资金金额加上了,实际回测的交易详情,成交量只有100股,并没有用到卖出的资金
\