在看過眾多券商提供的API系統(tǒng)范例后,不禁捏一把冷汗。
由于國(guó)內(nèi)程式交易的趨勢(shì)來得太快(猶記6年前開始在券商講授程式交易課程時(shí),那時(shí)尚未有API元件),
?
自動(dòng)交易接口系統(tǒng)(API)的發(fā)展可說是邊打邊跑,雖然每一版本會(huì)漸趨完善,
但券商迫于彼此間的競(jìng)爭(zhēng)壓力,通常等不到版本完整(Bug Free),就提供(Release)出來。
?
這可以從范例程式與說明文件的雜亂(不需從實(shí)測(cè)中找出錯(cuò)誤,從程式碼的注解即可窺知);
不需特別留意,偶而我還能從券商釋出的API程式碼或文件中找出若干錯(cuò)誤。
?
說「捏把冷汗」是因?yàn)椋詣?dòng)交易元件可不是MS Office的Beta測(cè)試版(最大損失不過就是編輯時(shí)間),
而是被使用在高槓桿的金融交易,一個(gè)閃失,賠的錢由誰負(fù)責(zé)?
?
我真心期盼國(guó)內(nèi)程式交易能完全開放,不免擔(dān)心萬一出錯(cuò)可能導(dǎo)致的保守勢(shì)力反撲。
就像遇到1987年股災(zāi)或今年5/6事件時(shí),程式交易就被拿出來做代罪羔羊一樣。
?
這篇文章,我希望從自動(dòng)交易系統(tǒng)的取價(jià)、回報(bào)與分帳子功能,可能導(dǎo)致的問題探討。
這些問題小則導(dǎo)致無法成交(策略失靈),嚴(yán)重則產(chǎn)生短時(shí)間的大量虧損,不可不慎。
這些可能的問題也不僅是我的想像,而是真實(shí)發(fā)生的案例。
?
先從「取價(jià)」談起,即時(shí)交易時(shí),交易系統(tǒng)會(huì)取得最新的委賣賣價(jià),甚至包含上下五檔的報(bào)價(jià)(與需求量),
設(shè)若取價(jià)慢個(gè)0.幾秒,會(huì)如何;如果是市價(jià)單影響不大,但若是限價(jià)單可能就會(huì)導(dǎo)致無法成交的狀況,
因?yàn)樵趲缀撩氲乃查g,盤口跑掉了。
?
「All About High Frequency Trading」一書的序言中的對(duì)話很有趣,如下...
Customer: How much are these?
Merchant: A buck fifty.
Customer: I’ll take some.
Merchant: They’re a buck fifty-one.
Customer: Um, you said a buck fifty.
Merchant: That was before I knew you wanted some.
Customer: You can’t do that.
Merchant: It’s my shop.
Customer: But I need to buy a hundred!
Merchant: A hundred? Then it’s a buck fifty-two.
Customer: You’re ripping me off.
Merchant: Supply and demand, pal. You want ’em or not?
...
以上對(duì)話隱喻「人為交易趕不上市場(chǎng)的速度」,但即使用系統(tǒng)交易,也必須系統(tǒng)趕得上市場(chǎng)速度才行。
許多演算法交易策略(例如VWAP與PEG策略)會(huì)視狀況交叉運(yùn)用市價(jià)與限價(jià)單,若取價(jià)(取得報(bào)價(jià))無法趕上市場(chǎng)速度,
就雞同鴨講,不是要承受滑價(jià)損失,就是無法順利成交。總是,交易策略就跑不動(dòng)了。
曾在另文中提到,期交所的朋友告訴我「國(guó)內(nèi)交易者下無效單的比例高于國(guó)外交易者」,或許就是這個(gè)原因。
?
再談「分帳」系統(tǒng),
假若同時(shí)驅(qū)動(dòng)許多程式交易策略,但無法對(duì)個(gè)別交易策略的盈虧做精確的分帳管理,
若發(fā)生虧損,也只能全部斷路,關(guān)于,此我在另一篇文章中提及此案例,不再贅述。
?
最嚴(yán)重的,應(yīng)該是「回報(bào)」系統(tǒng)功能的精確度了,
許多複式部位下單,必須仰賴快速的回報(bào),才能知道接下來該怎麼做。
但曾有期貨商,不知何故送出的交易單成交后未及時(shí)回報(bào),交易系統(tǒng)以為未成交,
不斷送出交易單,很不幸的,這些交易單不但成交,市場(chǎng)還往反方向走,以至于產(chǎn)生單日鉅額虧損。
后來我與一位在銀行交易黃金的交易員談及此事,他說他們也曾發(fā)生此狀況,只是運(yùn)氣好,市場(chǎng)順勢(shì)大賺,
可見類似狀況屢見不鮮。
有一券商提供的API,下單后提供「等待」與「非等待」兩種模式提供選擇,后者不等Server回覆下單狀況,就下單,
速度為等待模式的3倍多(分別是每秒20筆與每秒6筆)。我認(rèn)為非等待模式是有風(fēng)險(xiǎn)的。
這一期的臺(tái)灣期貨月刊提到美國(guó)期會(huì)協(xié)會(huì)對(duì)于未經(jīng)檢核方式的DMA(Direct Market Access)做出規(guī)范,即是為此。
?
總之,對(duì)交易來說,策略好壞當(dāng)然是最重要的;
?
但談到程式交易,除了策略,交易系統(tǒng)的「程式效率與功能完整性」同樣重要。