问答交流

buy_open 返回 -114 (NoCashAvail),get_available_cash() 返回的值仅为 84194,

由bq1ajxww创建,最终由xiaoshao 被浏览 4 用户

问题描述:\n回测期货策略 IM2606.CFE,初始资金 200 万,保证金率 12%。\n2026-01-05 开仓 11 手后,1 月 6 日权益 242 万,持仓 11 手,开仓均价 7254,占用保证金约 7254*11*200*0.12 ≈ 191.5 万,可用资金理论上应有 242 - 191.5 = 50.5 万。\n但 1 月 6 日尝试开仓 2 手(每手保证金约 17.8 万)时,buy_open 返回 -114 (NoCashAvail),且连 1 手也失败。\n同时,get_available_cash() 返回的值仅为 84194,明显异常。\n请协助确认:

  1. 为什么引擎计算的可用资金远小于理论值?
  2. 如何在策略中正确获取引擎用于开仓判断的真实可用资金?
  3. 是否需要在策略中做特殊设置(如保证金率、手续费模型)才能匹配引擎的内部计算?


https://bigquant.com/codesharev3/4c26019c-a69f-42e0-aeb0-61c51491d8e7

\

评论
  • 好的 收到 已反馈给交易引擎工程师。
  • 很好的问题
  • 问了下工程师,反馈是这样的:因为现在回测时没有做每日盯市结算,浮动盈亏不能拿来开新仓,同理,亏损后也没有做强平
{link}