盈透進階委託怎麼選?Adaptive與MidPrice的用法和差別
免責宣告:僅用於教育目的,並非投資建議。 你對自己的投資決策負責。
買股票時,你可能遇到過這樣的情況:直接用市價單,擔心買貴;掛限價單,又要不斷盯著報價、手動改價。
盈透的Adaptive和MidPrice,可以幫你尋找成交機會,但做法不同:
- Adaptive:你告訴它最高願意出多少錢、有多急著買,由演算法尋找成交機會。也可以不設限價,但成交價格就少了一層約束。
- MidPrice:圍繞目前買賣報價的中間價尋找成交;如果不想跟著行情一直提高出價,還要設定Price Cap。
它們都不能保證每次比一般委託買得便宜。真正需要弄清楚的是:報價變化後,委託會如何處理?什麼情況下會成交,什麼情況下會繼續等?
以下用同一組假設報價逐步說明。數字只用於解釋機制,不代表真實行情,也不代表演算法一定依例子中的順序執行。所有金額暫不計傭金、交易所費用等成本。
一、先看懂報價:100美元與100.10美元之間,為什麼還能成交?
假設你準備買進100股某檔美股,目前報價為:
- 最高買價Bid:100美元,目前買方最高願意出這個價;
- 最低賣價Ask:100.10美元,目前賣方最低願意以這個價格賣出;
- 買賣價差:0.10美元;
- 中間價:100.05美元。
中間價的計算是:
(100+100.10)÷2=100.05美元。
這裡採用的是NBBO,即全美最佳買賣報價,不只是某一家交易場所的報價。
如果你願意接受賣方的100.10美元報價,而且報價不變、賣方股數足夠,也沒有其他委託先成交,就可能直接買到。
如果只願意出100美元,則可以掛限價買單,等待賣方接受。
那麼,能不能在兩者之間,以100.05美元成交?
有可能,但需要另一方願意以這個價格與你交易。有些買賣意願不會顯示在公開報價中,也可能在你下單後才出現。
中間價是算出來的參考價格,不代表那裡已經有100股等著賣給你。
Adaptive和MidPrice會嘗試尋找這些機會,但不能憑空創造願意賣給你的人。
二、一般限價單能做什麼,演算法又多做了什麼?
2.1 一般限價單:價格由你定,不會自動跟著中間價變化
你送出100股、限價100.05美元的買單,意思是:
100.05美元或更低可以買,更高就不買。
有人願意賣,委託可能成交;沒有人願意賣,就繼續等。
假設還沒買到,報價變成:
- Bid:100.10美元;
- Ask:100.20美元;
- 中間價:100.15美元。
你的限價仍然是100.05美元,不會自動提高到100.15美元。
如果你願意提高出價,需要自己改單;如果不願追價,保留原價就可以。
2.2 限價100.10美元,也不代表一定花100.10美元
把買進限價設為100.10美元,只是表示最高接受這個價格。如果有更好的成交機會,一般限價單也可能買得更低。
所以,不能簡單地說:
一般限價單一定買在100.10美元,演算法一定買在100.05美元。
兩者的差別,在於如何尋找和處理成交機會,而不是一個必然買貴、另一個必然買便宜。
接下來先看Adaptive如何處理,再看MidPrice為什麼會跟著中間價變化。
三、Adaptive:設好最高買價,再告訴演算法有多急
盈透的Adaptive官方說明介紹,它結合SmartRouting與使用者選擇的執行優先順序,嘗試在買賣價差之間尋找成交機會,可以配合市價或限價使用。
SmartRouting可以理解為:根據可獲得的報價和可成交數量,在不同交易場所尋找執行機會。
它處理的是「如何買」,並不是預測這檔股票接下來漲還是跌。
3.1 Adaptive Market:沒有使用者設定的固定最高買價
仍然使用100美元買價、100.10美元賣價,你準備買進100股。
如果使用Adaptive Market,演算法會動態尋找成交價格,但你沒有另外規定一個固定的最高買價。
它可能爭取到低於100.10美元的成交,也可能在等待期間遇到報價上漲,最後買得比最初看到的價格更高。
選擇Adaptive,不代表鎖住了下單時的報價。
如果你不願超過100.10美元買進,就需要明確設定限價。
3.2 Adaptive Limit:演算法可以找機會,但不能突破你的限價
如果使用Adaptive Limit,並把買進限價設為100.10美元,演算法可以在這個價格或更低價格尋找成交,但不能為了買足100股而接受100.11美元。
盈透的TWS功能說明也解釋了這個差別:Adaptive Market動態選擇執行價格,Adaptive Limit則保留使用者設定的限價。
可以這樣記:
限價告訴演算法最多願意付多少;執行優先順序告訴它有多急。
這兩個設定各管一件事,不能互相取代。
3.3 Urgent、Normal與Patient,不是三個保證成交的價格
Adaptive提供三種執行優先順序:
- Urgent:更急著成交,尋找更好價格的時間較短。
- Normal:預設選項,在尋找更好價格與盡快成交之間折中。
- Patient:更願意等待價格機會,但等待期間行情也可能變化。
盈透的Adaptive教學說明了這三種設定。
它們不代表固定等幾秒,也不代表:
Patient一定買在100.05美元,Normal一定買在100.08美元,Urgent一定買在100.10美元。
具體成交價,要看當時有哪些賣方,以及尋找機會期間報價如何變化。
也不要把Adaptive想成「從100.01美元開始,每隔幾秒加一美分」的固定程式。官方說明並沒有把它定義成這樣的改單步驟。
3.4 用兩種結果,看懂多等一會兒的好處與代價
假設你使用Adaptive Limit,買進限價100.10美元。
第一種結果:等到了更好的價格。
假設100股最終全部以100.05美元成交,相對最初100.10美元的賣價,少付:
(100.10-100.05)×100=5美元。
這是相對最初報價少付的金額,還沒有扣除費用,也不是演算法承諾每次都能省下的錢。
第二種結果:還沒買到,行情已經上漲。
報價變成100.10美元買價、100.20美元賣價。如果沒有人願意在100.10美元或以下賣給你,委託就可能繼續等待。
這時,更有耐心並沒有讓你買得更便宜,反而可能錯過原先可以買到的價格。
如果不設固定限價,後面可能買得更高;如果保留100.10美元限價,則可能一直買不到。
多等一會兒,是爭取更好價格的機會,不是獲得更好價格的保證。
四、MidPrice:跟著目前中間價找,但別忘了限制最高買價
MidPrice主要嘗試在目前NBBO的中間價或更好價格成交。
最初報價為100美元買價、100.10美元賣價,因此它參考的中間價是100.05美元。對買方來說,「更好」是買得更低;對賣方來說,則是賣得更高。
4.1 MidPrice與100.05美元一般限價單,有什麼不同?
一般限價單設為100.05美元後,這個數字不會自己改變。
MidPrice參考的是目前中間價。報價變化後,中間價也會變化。
按照盈透的MidPrice機制說明,演算法會尋找適合的交易場所,採用掛鉤中間價等委託機制爭取成交;具體使用的路由和委託機制可能不同。
你不需要記住每一種交易場所的技術名稱,但要理解它做的事情:
- 看目前最佳買賣報價,中間價是多少;
- 尋找願意在中間價附近、符合委託規則的對手方;
- 報價變動後,繼續參考新的中間價;
- 如果設定了Price Cap,成交還要遵守這個價格限制。
它不是把最初的100.05美元一直掛在那裡,也不是看到中間價就一定能成交。
4.2 不設Price Cap,買到的中間價可能比最初賣價還高
假設送出MidPrice買單時,中間價為100.05美元,但沒有成交。
隨後報價上漲至:
- Bid:100.10美元;
- Ask:100.20美元;
- 中間價:100.15美元。
如果沒有使用者設定的價格上限,後面又出現了符合條件的賣方,委託可能以100.15美元成交。
100.15美元比當時100.20美元的賣價低,卻比你下單時看到的100.10美元賣價高。
因此,以下兩句話可以同時成立:
- 相對成交時的賣價,你買得更低;
- 相對下單時的賣價,你反而買貴了。
MidPrice爭取的是相對目前報價更好的成交,不是保證比下單時便宜。
4.3 Price Cap:買單最高願意付多少,賣單最低願意收多少
如果你不願高於100.10美元買進,可以把買單的Price Cap設為100.10美元。
即使中間價後來升到100.15美元,委託也不能突破100.10美元買進。找不到符合價格要求的賣方,就可能買不到。
盈透的MidPrice教學將Price Cap解釋為實質上的限價:買單不能在它上方買,賣單不能在它下方賣。
所以,Price Cap不是要求演算法:
先試100.05美元,沒買到就一定按100.10美元買。
它只是規定最差能接受什麼價格,不保證這個範圍內一定有足夠股票可買。
五、如何選?先把自己的要求說清楚
5.1 「我只願意出100.05美元,不想跟著漲」
一般100.05美元限價單就能表達這個要求。
如果股價上漲後沒有買到,這是你堅持價格的結果,不一定是委託出了問題。
這時不必只為了減少手動操作,就允許演算法跟隨行情提高出價。
5.2 「我想參考最新中間價,但最多接受100.10美元」
可以考慮MidPrice,並設定100.10美元的Price Cap。
它會圍繞變化中的中間價尋找機會,同時保留你不願突破的最高買價。代價是可能只買到一部分,或者完全買不到。
5.3 「100.10美元以內都能接受,希望演算法依我的急迫程度找機會」
可以考慮Adaptive Limit,限價設為100.10美元,再選擇Urgent、Normal或Patient。
如果沒有特別趕時間,可以先從預設的Normal了解它的表現。更在意盡快成交,再考慮Urgent;願意多等一些價格機會,再考慮Patient。
但無論選哪一種,只要保留100.10美元限價,就不能要求演算法在市場只剩100.20美元賣價、又沒有其他合適賣方時,保證馬上買足。
想控制最高買價,就要接受可能買不到;願意放寬價格,也不代表能夠保證立即全部成交。
六、沒成交會不會留到明天?先看有效期限和交易時段
本文用的是正常交易時段內,以完整股數買進美股的例子。
盈透的IBKR Desktop MidPrice教學說明,MidPrice不支援零股。因此,不能因為一般委託可以買零股,就認為MidPrice也能以同樣方式使用。
有效期限也直接影響委託第二天是否仍有效:
- Adaptive不支援GTC(取消前有效)。在本文的日間交易情境中,Day委託當日到期後,未成交部分不會自動留到第二個交易日。仍想買,就需要重新下單。
- MidPrice可以選擇Day或GTC。只想當天有效,可以選Day;想讓未成交委託繼續保留到之後的交易日,可以選GTC,但仍需留意券商的自動取消規則。
「保留到明天」與「今晚也能交易」,是兩個不同設定。
盈透目前另有Adaptive Limit夜盤交易安排。如果準備在夜盤使用,需要依該安排選擇委託與有效時段,不能直接沿用白天的設定,也不能推斷Adaptive Market和MidPrice都能同樣使用。
下單確認時,至少看清楚:
- 買多少股;
- 是一般委託、Adaptive還是MidPrice;
- 最高買價有沒有明確限制;
- Adaptive選擇了哪種執行優先順序;
- 委託什麼時候到期,允許在哪些時段執行。
七、買得便宜幾美分,究竟有沒有省到錢?
假設下單時仍是100美元買價、100.10美元賣價。
100股全部以100.05美元成交,相對100.10美元報價少付5美元。但如果只成交40股,這部分少付的金額只有:
(100.10-100.05)×40=2美元。
剩餘60股還沒買到,不能把它們也算進節省金額。
如果後來你提高出價,把剩餘60股以更高價格買進,就要把兩部分成交放在一起,重新計算平均買價,再計入費用。
判斷一次執行是否合適,可以記錄四件事:
- 下單時的Bid與Ask;
- 設定的限價或Price Cap,以及執行優先順序;
- 實際買到多少股、平均成交價和費用;
- 沒買到的部分,最後是放棄、繼續等,還是提高價格買進。
這樣才能看清楚,演算法究竟幫你少付了錢,還是為了等更好的價格,最後付得更多。
同樣,買不到也不一定代表選擇錯誤。如果100.10美元就是你願意付的最高價,行情漲走後沒有成交,委託只是遵守了你的要求。
先決定最多願意付多少錢,再決定要不要跟著中間價變化,以及願意等多久。這三個問題想清楚,才知道該用一般限價單、Adaptive,還是MidPrice。




