🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade量化平台股票委托自动取整100股的原因解析

ptrade | 发布时间: 2026/5/29
以下内容由 EasyQuant 生成。

问题描述

股票委托时,为什么实际买入数量会自动取整100股?

/

解决方案

在 ptrade 量化交易平台中,股票委托买入数量自动取整为 100 股,主要是为了遵循中国 A 股市场的实际交易规则,同时也是 ptrade 平台底层 API 的一种保护机制

以下是详细的原因解析及相关注意事项:

1. A 股市场的基本交易规则

根据沪深交易所的规定,A 股股票的买入申报数量必须是 100 股(即 1 手)的整数倍。为了让回测环境尽可能逼近真实的实盘交易环境,ptrade 引擎在处理股票买入委托时,会自动将计算出的数量向下取整到 100 的整数倍。

2. ptrade API 的底层处理机制

在 ptrade 中,使用 order 系列函数(如 orderorder_targetorder_valueorder_target_value)进行股票委托时,系统会自动进行数量规整:

  • 股票交易:每次交易股票时,系统会自动将委托数量取整为 100 股
  • 可转债交易:每次交易可转债时,系统会自动将委托数量取整为 10 张

举个例子:
如果您使用 order_value('600570.SS', 10000) 尝试买入价值 10000 元的股票,假设当前股价为 33 元,理论上可以买入 303.03 股。但由于取整机制,ptrade 会自动将委托数量调整为 300 股,实际消耗资金约为 9900 元。

3. 特例:卖出所有股票时不受限制(零股卖出)

虽然买入必须是 100 股的整数倍,但在 A 股市场中,由于分红送转等原因,账户中可能会产生不足 100 股的“零股”。

ptrade 同样兼容了这一规则:当您卖出所有股票时,不受 100 股取整的限制。例如,当您调用 order_target(security, 0) 尝试清仓某只股票时,即使账户中持有 150 股,系统也会将这 150 股全部卖出,而不会只卖出 100 股。

4. 开发者注意事项

由于这种自动取整机制的存在,您在编写策略时需要注意:

  • 资金预留:使用 order_valueorder_target_value 时,实际成交金额通常会略小于您设定的目标金额,因为多余的资金不足以买入完整的 100 股。
  • 日志警告:在回测中,如果实际买入/卖出的股票数量与委托设置的不一致(例如因为取整、资金不足或停牌等原因),ptrade 系统会在日志中输出警告信息,提示您订单数量已被调整。