3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)平台上进行期货交易时,平仓逻辑和保证金下单逻辑与股票有所不同。针对您的两个问题,详细解答如下:
不是的。在聚宽中平仓,side 必须保持与您原有持仓相同的方向,而不是取相反方向。
聚宽的 API 设计中,无论是按手数(order_target)还是按保证金价值(order_target_value)调整目标仓位,都是直接对目标方向的持仓进行操作。
side 依然填 'long',并将目标数量或价值设为 0(或更小的值)。side 依然填 'short',并将目标数量或价值设为 0(或更小的值)。代码示例:
# 假设您之前开仓了多单
# order_target_value('IF1412.CCFX', 5000000, side='long')
# 现在想要全部平掉该多单
order_target_value('IF1412.CCFX', 0, side='long')
# 如果使用 order_value 平仓(传入负数表示减少仓位)
order_value('IF1412.CCFX', -5000000, side='long')
注意:如果您在平多单时将 side 写成了 'short',系统会认为您是要新开空单,而不是平掉多单。
是的,但这里的“金额”指的是“占用的保证金金额”,而不是合约的总名义价值。
在聚宽的期货 API 中,order_value 和 order_target_value 中的 value 参数代表的是期货保证金的价值。
计算公式为:
value = 最新价 * 手数 * 保证金率 * 乘数
order_value(security, 10000, side='long'),系统会根据当前的最新价、该品种的合约乘数以及您设置的保证金率,自动计算出需要开多少手,使得这笔订单冻结/占用的保证金接近 10000 元。总结:
long,空单平仓用 short),数量/价值设为 0 或负数。value 始终指代保证金的金额,而非合约总价值。