創建一個新的交易訂單。這個方法允許用戶對特定股票執行買入或賣出操作。
trade = api.Order.create_order(action =kgi.Action.Buy,
symbol= '1234',
qty= 5,
price= kgi.PriceType.MKT,
time_in_force= kgi.TimeInForce.ROD,
order_cond= kgi.OrderCond.CASH,
odd_lot = kgi.OddLot.Common,
name='st001'
)
trade
Trade(
order=
Order(action=<Action.Buy: 'B'>,
symbol='1234',
quantity=5,
price=0.0,
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.MKT>,
odd_lot=<OddLot.Common: 0>,
name='st001'),
order_status=
OrderStatus(nid=None,
status=None,
modified_time='',
modified_quantity=None,
modified_price=None,
deals=[]),
operations=
[Operation(nid=15390145147756484006,
task=<Task.NewOrder>,
status=<Status.Pending>,
op_time='104608')]
)
#陸續收到系統主動回報:新委託事件-系統處理中
Event(
task=<Task.NewOrder>,
status=<Status.Pending>,
seqno='15390763551906418001',
action=<Action.Buy: 'B'>,
symbol='1234',
quantity=5,
price='市價',
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
odd_lot=<OddLot.Common: 0>,
ts='104607'
)
#陸續收到系統主動回報:新委託事件-委託成功
Event(
task=<Task.NewOrder>,
status=<Status.Success>,
order_id='Y000X',
seqno='00004123',
action=<Action.Buy: 'B'>,
symbol='1234',
quantity=5,
price='市價',
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
odd_lot=<OddLot.Common: 0>,
ts='104607')
「*」表示為必要輸入欄位
| 參數 | 資料型態 | 說明 |
|---|---|---|
| action* | kgi.Action |
買賣交易方向。 可填入參數: kgi.Action.Buy:為做多 kgi.Action.Sell:為做空 |
| symbol* | str | 股票的代碼。 |
| qty* | int | 股票的數量。 |
| price | float 或 kgi.PriceType |
股票的價格,提供多種物件調用。 若 action 為 kgi.Action.Buy,則價格預設為 kgi.PriceType.LimitUp。 若 action 為 kgi.Action.Sell,則價格預設為 kgi.PriceType.LimitDown。 可填入參數: float,如 "100.5" 委託價格,必須為有效的股票跳動價格。 kgi.PriceType.MKT:市價 kgi.PriceType.LimitUp:漲停價 kgi.PriceType.LimitDown:跌停價 kgi.PriceType.Reference:平盤價 |
| time_in_force | kgi.TimeInForce |
委託類型,預設值為 kgi.TimeInForce.ROD。 可填入參數: kgi.TimeInForce.ROD:委託當日有效。 kgi.TimeInForce.IOC:立即成交,未成交部分將被取消。 kgi.TimeInForce.FOK:立即全部成交,否則全部撤銷 |
| order_cond | kgi.OrderCond |
委託條件,用於指定委託的資金和證券使用方式。 預設值為 kgi.OrderCond.CASH(現金)。 可填入參數: kgi.OrderCond.CASH:現金 kgi.OrderCond.MARGIN:融資 kgi.OrderCond.SHORT_SELLING:融券 kgi.OrderCond.Lend_SELLING:借券賣出 kgi.OrderCond.CASH_SELLING:現股賣出 |
| odd_lot | kgi.OddLot |
是否為零股,預設為 Common(整股) 可填入參數: kgi.OddLot.Common:整股 kgi.OddLot.Fixing:盤後定價整股 kgi.OddLot.Odd_AfterMarket:盤後零股 kgi.OddLot.Odd:盤中零股 |
| name | str | 策略代號 |
當用戶提交一個交易委託後,系統將創建並返回一個 Trade 物件。
並可從查閲交易功能"get_trades"查找到該筆委託,以便用戶追蹤委託狀態。
此外,每當該委託狀態發生變化(如成交、刪單、改單),系統會主動推送對應的 Event 物件,以提供即時的狀態更新。