Interactive Broker Python API 開發的Notes #4


返轉頭
20180329, 20180404, 20180530

關於contract同 Order
=================

首先要講下啲基本野,要落到一張單,除左價錢,買入定賣出,數量外,買乜都係其中一個必須既,而由於IB可以交易既品種實在太多太多,
肯定唔會話好似牛牛果啲咁比個number佢當symbol就搞掂,
EClient 個落單method  placeOrder食三粒參數,id, Contract 同Order,id就係order id,呢度先講Contract。


如果啲廣告阻住晒,可以熄左佢:


Contract呢度係個Abstract Class 去代表交易合約,更準確來講,有啲平台會叫做instrument,所以去問TWS攞料,落單都要整個Contract Object掟過去,

要創建一個Contract Object本身好簡單,最基本元素就包括 symbol, security type, currency 仲有 exchange,
某啲instrument要多啲料,同埋個type亦有好多種,例如期權要包括到期日,股票期權既security type是OPT,而商品期貨的期權係「期貨期權」(意即期貨的期權),
type係FOP,仲有CFD果類外圍野既symbol可能唔清楚,
去查找一個contract object 所以用到的fields最直接方法係向TWS或者佢product search果度查。

IB本身都有解譯,不過佢無廣東話版本,用既例子亦唔夠本地化。

所以呢度用5仔同國指(國企指數期貨)講一次:

首先,就當果啲product已經加入左個monitor list,5仔可以打個5字選stock..., 而國指(大期)符號係 HHI.HK(就咁用HHI是找不到的)

向要查詢果隻野right click 會好多野出來,選Financial Instrument Info >  Description



之後會彈出下面咁樣既Box:



如是者,5仔既Contract Object應該係咁:

contract = Contract() contract.symbol = "5" contract.secType = "STK" contract.currency = "HKD" contract.exchange = "SEHK"
----------------------------------------------------------------- Contract就係得咁多野,跟住講Order。 一個簡單的Order都係無乜野的,其中action, orderType, totalQuantity, lmtPrice 呢四個必須,而transmit可以set True會直接送出去, 如果False會向TWS見到個order,但未發過去。
order = Order() order.action = "BUY" order.orderType = "LMT" order.totalQuantity = 400 order.lmtPrice = 72.0 order.transmit = True

返轉頭