Skip to content

證券委託常數

交易有許多狀態、階段等離散條件需要判斷, 透過常數物件來輕鬆設定

其中關於委託操作的常數,可以透過 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