證券委託常數
交易有許多狀態、階段等離散條件需要判斷, 透過常數物件來輕鬆設定
其中關於委託操作的常數,可以透過 api.const.ORDER
來使用
python
from eskmo import api
def print_attr(obj):
print([attr for attr in dir(obj) if not attr.startswith('__')])
ORDER = api.const.ORDER
print_attr(ORDER) # ['ACTION', 'FLAG', 'PERIOD', 'PRICE', 'TRADE']
print_attr(ORDER.ACTION) # ['BUY', 'SELL']
print_attr(ORDER.FLAG) # ['CASH', 'DAYTRADE_SHORT', 'MARGIN', 'SHORT']
print_attr(ORDER.PERIOD) # ['AFTER_HOURS', 'INTRA_DAY']
print_attr(ORDER.PRICE) # ['LIMIT', 'MARKET']
print_attr(ORDER.TRADE) # ['FOK', 'IOC', 'ROD']
基本操作
透過 api.const.[大寫字]
來取得, 通常是放在下單函數如 stock.order(...)
或 stock.smart_order.mit(...)
中使用,更多請見 證券委託 和 證券 MIT
例如一般委託中,就可以透過以下方式放入參數:
python
order = stock.order(price=...,
qty=...,
action=ORDER.ACTION.BUY, # 委託方向
period=ORDER.PERIOD.INTRA_DAY, # 盤別
flag=ORDER.FLAG.CASH, # 委託類別
price_type=ORDER.PRICE.LIMIT, # 價格類別
order_type=ORDER.TRADE.ROD) # 交易類別
委託常數列表
委託方向
以 ORDER.ACTION
表示
描述 | 常數 |
---|---|
買進 | ORDER.ACTION.BUY |
賣出 | ORDER.ACTION.SELL |
盤別
以 ORDER.PERIOD
表示
描述 | 常數 |
---|---|
盤中 | ORDER.PERIOD.INTRA_DAY |
盤後 | ORDER.PERIOD.AFTER_HOURS |
委託類別
以 ORDER.FLAG
表示
描述 | 常數 |
---|---|
現股 | ORDER.FLAG.CASH |
融資 | ORDER.FLAG.MARGIN |
融券 | ORDER.FLAG.SHORT |
無券 | ORDER.FLAG.DAYTRADE_SHORT |
價格類別
以 ORDER.PRICE
表示
描述 | 常數 |
---|---|
限價 | ORDER.PRICE.LIMIT |
市價 | ORDER.PRICE.MARKET |
交易類別
以 ORDER.TRADE
表示
描述 | 常數 |
---|---|
IOC (立即成交否則取消) | ORDER.TRADE.IOC |
FOK (立即全部成交否則取消) | ORDER.TRADE.FOK |
ROD (當日有效) | ORDER.TRADE.ROD |