創建一個新的交易訂單。這個方法允許用戶對特定股票執行買入或賣出操作。
僅提供美股商品下單
美股商品代號請參照美股商品資訊
trade =api.SubOrder.create_order(
action= kgi.Action.Buy,
symbol= 'AAPL',
qty= 4,
price= 230,
name='st002')
trade
Trade(
order=
Order(
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=4,
price=230.0,
name='st002'
),
order_status=
OrderStatus(
nid='1003923',
status=<Status.Submitted>,
modified_time='',
modified_quantity=4,
modified_price=230.0,
deals=[]),
operations=[
Operation(
nid='1003923',
task=<Task.NewOrder >,
status=<Status.Pending>,
op_time='144607')
])
#陸續收到系統主動回報:系統處理中(status='處理中')
Event(
task =Task.NewOrder,
status='處理中',
org_seqnum='1004006',
seqno='250702000070',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=4.0,
price=230.0,
ts='144609'
)
#陸續收到系統主動回報:系統已將委託送至交易室(status='已下單至交易室')
Event(
task =Task.NewOrder,
status='已下單至交易室',
org_seqnum='1004006',
seqno='250702000070',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=4.0,
price=230.0,
ts='144610'
)
#陸續收到系統主動回報:系統已將委託轉給境外合作券商(status='委託上手中')
Event(
task =Task.NewOrder,
status='委託上手中',
org_seqnum='1004006',
seqno='250702000070',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=4.0,
price=230.0,
ts='144612'
)
#陸續收到系統主動回報:委託成功,收到委託回報(status='委託成功')
Event(
task =Task.NewOrder,
status='委託成功',
org_seqnum='1004006',
seqno='250702000070',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='AAPL',
quantity=4.0,
price=230.0,
ts='144618'
)
trade =api.SubOrder.create_order(
action= kgi.Action.Buy,
symbol= 'ABR',
qty= 2,
price= 7.7,
name='st003')
trade
Trade(
order=
Order(
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='ABR',
quantity=2,
price=7.7,
name='st003'),
order_status=
OrderStatus(
nid='1018032',
status=<Status.Submitted>,
modified_time='',
modified_quantity=2,
modified_price=7.7,
deals=[]),
operations=[
Operation(
nid=1018032,
task=<Task.NewOrder>,
status=<Status.Pending>,
op_time='112443')
])
#陸續收到系統主動回報:系統處理中(status='處理中')
Event(
task=<Task.NewOrder>,
status='處理中',
org_seqnum='1018032',
seqno='1018032',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='ABR',
quantity=2,
price=7.7,
ts='1124440'
)
#陸續收到系統主動回報:系統已將委託送至交易室(status='已下單至交易室')
Event(
task=<Task.NewOrder>,
status='已下單至交易室',
org_seqnum='1018032',
seqno='1018032',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='ABR',
quantity=2,
price=7.7,
ts='1124443'
)
#陸續收到系統主動回報:系統已將委託轉給境外合作券商(status='委託上手中')
Event(
task=<Task.NewOrder>,
status='委託上手中',
org_seqnum='1018032',
seqno='1018032',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='ABR',
quantity=2,
price=7.7,
ts='1124445'
)
#陸續收到系統主動回報:委託成功,收到委託回報(status='委託成功')
Event(
task=<Task.NewOrder>,
status='委託成功',
org_seqnum='1018032',
seqno='1018032',
action=<Action.Buy: 'B'>,
market=<Market.US: 1>,
symbol='ABR',
quantity=2,
price=7.7,
ts='1124448'
)
「*」表示為必要輸入欄位
| 參數 | 資料型態 | 說明 |
|---|---|---|
| action* | kgi.Action |
買賣交易方向。 可填入參數: kgi.Action.Buy:為做多 kgi.Action.Sell:為做空 |
| symbol* | str | 商品代碼。 |
| qty* | int | 交易數量。 |
| price* | float | 股票的價格 |
| name | str | 策略代號 |
當用戶提交一個交易委託後,系統將創建並返回一個 Trade 物件。
並可從查閲交易功能"get_trades"查找到該筆委託,以便用戶追蹤委託狀態。
此外,每當該委託狀態發生變化(如成交、刪單、改單),系統會主動推送對應的 Event 物件,以提供即時的狀態更新。