基本操作 - 下单

  1. 建立订单
from shioaji.constant import *

# 股票
order = api.Order(
    price=600, # 价钱 600
    quantity=1, # 1 张
    action=ACTION_BUY, # 买单
    price_type=STOCK_PRICE_TYPE_LIMITPRICE, # 限价
    order_type=ORDER_TYPE_ROD, # ROD 
)

# action, price_type, order_type 也可以直接用字串,相关对应,请参考最後面的 "参数列表"
order = api.Order(
    price=600, # 价钱 600
    quantity=1, # 1 张
    action="Buy", # 买单
    price_type="LMT", # 限价
    order_type="ROD", # ROD 
)

  1. 下单
# 这里的 "order" 是上一步建立的订单
trade = api.place_order(api.Contracts.Stocks['2330'], order)
  1. 查看订单内容
trade
# 回应
Trade(
    contract=Stock(exchange=<Exchange.TSE: 'TSE'>, 
    code='2330', 
    symbol='TSE2330', 
    name='台积电', 
    category='24', 
    unit=1000, 
    limit_up=660.0, 
    limit_down=540.0, 
    reference=600.0, 
    update_date='2021/09/17', 
    margin_trading_balance=1249, 
    short_selling_balance=208, 
    day_trade=<DayTrade.OnlyBuy: 'OnlyBuy'>), 
    order=Order(action=<Action.Buy: 'Buy'>, 
    price=600, 
    quantity=1, 
    id='e92767cc', 
    seqno='702370', 
    ordno='00000', 
    account=Account(account_type=<AccountType.Stock: 'S'>, 
    person_id='J*********', 
    broker_id='9A9U', 
    account_id='******8', 
    signed=True), 
    price_type=<StockPriceType.LMT: 'LMT'>, 
    order_type=<FuturesOrderType.ROD: 'ROD'>), 
    status=OrderStatus(id='e92767cc', 
    status=<Status.PendingSubmit: 'PendingSubmit'>, 
    status_code='0', 
    order_datetime=datetime.datetime(2021, 9, 21, 20, 7, 1), deals=[])
)

# 更新订单内容
trade = api.update_status()
  1. 修改订单
trade = api.update_order(trade, price=610, qty=2)
  1. 取消订单
trade = api.cancel_order(trade)

参数列表

ACTION_BUY = "Buy" # 买
ACTION_SELL = "Sell" # 卖

STOCK_PRICE_TYPE_LIMITPRICE = "LMT" # 限价
STOCK_PRICE_TYPE_MKT = "MKT" # 市价
STOCK_PRICE_TYPE_CLOSE = "Close" # 平盘价
STOCK_PRICE_TYPE_LIMITUP = "LimitUp" # 跌停价
STOCK_PRICE_TYPE_LIMITDOWN = "LimitDown" # 涨停价

STOCK_ORDER_LOT_COMMON = "Common"  # 整股
STOCK_ORDER_LOT_BLOCKTRADE = "BlockTrade"  # 钜额
STOCK_ORDER_LOT_FIXING = "Fixing"  # 定盘
STOCK_ORDER_LOT_ODD = "Odd"  # 零股
STOCK_ORDER_LOT_INTRADAY_ODD = "IntradayOdd"  # 零股

STOCK_ORDER_TYPE_COMMON = "Common"  # 整股
STOCK_ORDER_TYPE_BLOCKTRADE = "BlockTrade"  # 钜额
STOCK_ORDER_TYPE_FIXING = "Fixing"  # 定盘
STOCK_ORDER_TYPE_ODD = "Odd"  # 零股

STOCK_ORDER_COND_CASH = "Cash"  # 现股
STOCK_ORDER_COND_NETTING = "Netting"  # 余额交割
STOCK_ORDER_COND_MARGINTRADING = "MarginTrading"  # 融资
STOCK_ORDER_COND_SHORTSELLING = "ShortSelling"  # 融券
STOCK_ORDER_COND_EMERGING = "Emerging"  # 兴柜

STOCK_FIRST_SELL_YES = "true"
STOCK_FIRST_SELL_NO = "false"

FUTURES_PRICE_TYPE_LMT = "LMT" # 限价
FUTURES_PRICE_TYPE_MKT = "MKT" # 市价
FUTURES_PRICE_TYPE_MKP = "MKP" # 范围市价

# 当日有效 (Rest of Day)
ORDER_TYPE_ROD = "ROD"
# 立即成交否则取消 (Immediate or Cancel): 允许部份成交,没有成交的部份就取消
ORDER_TYPE_IOC = "IOC"
# 全部成交否则取消 (Fill or Kill): 一定要全部成交,否则全部取消
ORDER_TYPE_FOK = "FOK"

FUTURES_OCTYPE_AUTO = "Auto"
FUTURES_OCTYPE_NEWPOSITION = "New"
FUTURES_OCTYPE_COVER = "Cover"
FUTURES_OCTYPE_DAYTRADE = "DayTrade"

FUTURES_CALLPUT_FUT = "F"
FUTURES_CALLPUT_CALL = "C"
FUTURES_CALLPUT_PUT = "P"

QUOTE_TYPE_TICK = "tick" # 成交价
QUOTE_TYPE_BIDASK = "bidask" # 五笔

<<:  Day 8 : 字串处理

>>:  21.移转 Aras PLM大小事-回复料号

[Day 16] TFLM + BLE Sense + MP34DT05 就成了迷你智慧音箱(上)

学了半个月终於要端出「爆浆濑尿虾牛丸」了吗?要开始让大家体会一下牛肉(MCU)的鲜、濑尿虾(AI)的...

全方位对比:SmartQuery VS FineReport来自报表工程师的经验

写在前面 相比起BI这些当红炸子鸡概念,报表工具大家可能不太熟悉,希望这篇文章能够给大家提供一些新的...

Day4 SCADA 资料采集与监控系统 (Supervisory Control And Data Acquisition)

SCADA 系统 SCADA 包含 资料收集系统 + 资料传输系统 + HMI 软件,具有资料收集...

[Day4]Fibonaccimal Base

今天一样来讲解一星的Fibonaccimal Base 附上程序码 import static ja...

开源的WebPC让你使用浏览器远程控制 linux or windows

WebPC 是我刚在 github 上开源(MIT)的一个远控工具,可以作爲 TeamViewer ...