问答交流

为什么order__value卖出没效果

由sdpo创建,最终由small_q 被浏览 15 用户

# 交易引擎:bar数据处理函数,每个时间单位执行一次
def m2_handle_data_bigquant_run(context, data):
    target_asset = context.instruments[0]

    target_percent = 0.5  # 50%持仓
    
    # 计算目标资产的目标持仓价值
    target_value = context.portfolio.portfolio_value * target_percent
    
    # 计算目标资产当前持仓价值
    current_value = context.portfolio.positions[target_asset].amount * data.current(target_asset, 'price')
    
    # 计算需要调整的金额
    adjustment = target_value - current_value    # 根据需要调整的金额来下达买卖指令
    if adjustment > 0:
        # 如果需要增加持仓
        print(context.order_value(context.symbol(target_asset), adjustment))
    elif adjustment < 0:
        # 如果需要减少持仓
        print(adjustment)
        print(context.order_value(context.symbol(target_asset), adjustment)) 

上面这段代码有什么问题吗,为啥卖出操作总是没做呢

标签

金融交易交易策略
评论
  • 把context.symbol去掉可以运行吗
  • 去掉i一样的