订单有效期类型全解析:GFD、GTC、GTD 到底什么意思?


你在交易软件上下单时,可能注意过这样一个下拉选项:

  • 当日有效
  • 撤销前有效
  • 指定日期前有效

或者你看到的英文缩写:GFD、GTC、GTD

这些到底是什么?选错了会有什么影响?

今天这篇文章,一次性帮你搞懂。


一、为什么需要“有效期类型”?

你下一笔订单,不一定希望它“永久有效”。

  • 你可能只想今天交易,不想把单子留到明天
  • 你可能想挂一个单,等几天直到成交
  • 你可能只想在某个日期之前有效

有效期类型 就是用来控制:这笔订单能活多久


二、三种有效期类型详解

1. GFD(Good For Day)—— 当日有效

最常用、最默认的类型

属性 说明
全称 Good For Day
中文 当日有效
存活时间 从下单到当天收盘
收盘后 未成交部分自动撤销

特点

  • 绝大多数普通订单默认就是 GFD
  • 不会隔夜,避免第二天行情反转带来的风险
  • 适合日常短线交易

例子

你在上午 10:00 挂了一个限价买单,到下午 15:00 收盘还没成交。
→ 订单自动撤销,明天不会出现。


2. GTC(Good Till Cancel)—— 撤销前有效

“挂到天荒地老,直到你手动取消”

属性 说明
全称 Good Till Cancel
中文 撤销前有效
存活时间 无限期(直到成交或手动撤单)
收盘后 继续保留到下一个交易日

特点

  • 不会自动失效,必须手动撤销
  • 适合中长线挂单,比如在某个价格埋伏
  • 注意:部分交易所或券商可能有最长时间限制(如90天)

例子

你觉得 au2607 跌到 480 元时会反弹,挂一个 GTC 买单在 480。
今天没跌到 → 明天继续挂着
一周后跌到了 → 自动成交
如果你改变主意 → 必须手动撤单


3. GTD(Good Till Date)—— 指定日期前有效

“给订单设一个过期时间”

属性 说明
全称 Good Till Date
中文 指定日期前有效
存活时间 从下单到你指定的日期
到期后 未成交部分自动撤销

特点

  • GFD 和 GTC 的“中间态”
  • 你可以精确控制订单失效时间
  • 适合有明确时间窗口的交易策略

例子

你知道下周五有重要经济数据公布,想在数据公布前挂一个单。
设置 GTD:2026年6月5日有效。
6月5日收盘前没成交 → 自动撤销,不会影响到数据公布后的行情。


三、三者对比表

对比项 GFD GTC GTD
全称 Good For Day Good Till Cancel Good Till Date
中文 当日有效 撤销前有效 指定日期前有效
有效期 当天收盘为止 无限期(手动撤单) 到指定日期
自动撤销 ✅ 收盘后 ❌ 不会 ✅ 到期后
适用场景 日常短线交易 中长线埋伏单 有时间窗口的策略
风险 低(不过夜) 中(可能忘记撤单) 低(有明确截止时间)

四、实际使用场景举例

场景1:日内交易者(选 GFD)

你只做当天买卖,不留隔夜仓。
→ 所有订单都用 GFD,收盘自动清空,省心。

场景2:中长线投资者(选 GTC)

你想在黄金 450 元的位置分批买入,但不知道什么时候能跌到。
→ 挂一个 GTC 买单,一直等着,跌到了自动成交。

场景3:财报/数据前埋伏(选 GTD)

下周三某公司发布财报,你想在财报前买入,但又不想让订单留到财报后。
→ 设置 GTD 截止到周二收盘,到期自动撤销。

场景4:不想长期占用资金(选 GTD)

你只愿意等一周,一周不成交就算了。
→ 用 GTD 设置 7 天后失效。


五、在代码和协议中如何表示

根据上期所文档中的协议字段:

有效期类型 数值 说明
POBO_TRADE_TC_IOC 1 立即完成否则撤销(FAK)
POBO_TRADE_TC_GFS 2 本节有效
POBO_TRADE_TC_GFD 3 当日有效
POBO_TRADE_TC_GTD 4 指定日期前有效
POBO_TRADE_TC_GTC 5 撤销前有效(永久有效)
POBO_TRADE_TC_GFA 6 集合竞价有效

伪代码示例:

# GFD 订单
order = {
    "symbol": "au2607",
    "price": 500.0,
    "volume": 10,
    "time_in_force": "GFD"   # 当日有效
}

# GTC 订单
order = {
    "symbol": "au2607",
    "price": 480.0,
    "volume": 10,
    "time_in_force": "GTC"   # 撤销前有效
}

# GTD 订单(需要指定失效日期)
order = {
    "symbol": "au2607",
    "price": 490.0,
    "volume": 10,
    "time_in_force": "GTD",
    "expire_date": "20260605"  # 2026年6月5日失效
}

六、注意事项(重要)

⚠️ GTC 不是真的“永远”

  • 部分交易所或券商会对 GTC 设置最大有效期(如 90 天)
  • 到期后会自动撤销,需要重新下单

⚠️ GTD 需要填过期日期

  • 过期日期必须是交易日
  • 通常以交易所日历为准,周末和节假日自动顺延或失效(视具体规则)

⚠️ 不同交易所名称可能不同

  • 有的叫 DAY(=GFD)
  • 有的叫 GTC(相同)
  • 有的叫 DATE(=GTD)
  • 对接时以具体协议文档为准

七、一句话总结

类型 一句话记住
GFD 只活今天,收盘就死
GTC 你不杀它,它就不死
GTD 给它设个死亡日期
posted @ 2026-05-25 17:48  morty-root  阅读(215)  评论(0)    收藏  举报