iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
永豐金融APIs

永豐證API X Python系列 第 24

【D24】使用新廚具:bid and ask

  • 分享至 

  • xImage
  •  

前言

現在取得資料也差不多了,換換使用bid and ask吧!看看這是什麼新廚具,可以製作出什麼新花樣

本日程式碼使用:d24_bid_ask.py


增加功能函式-subscribe_bid_ask

這邊很簡單,直接把收到tick的格式,改成quote_type=sj.constant.QuoteType.BidAsk,這樣就會收到bid and ask。

def subscribe_bid_ask(self, contract):
    """subscribe the contract quote."""

    print("=Subscribe=")
    self.api.quote.subscribe(contract, quote_type=sj.constant.QuoteType.BidAsk)
)

bid 和ask,一個是買的最佳五檔,也就是想要買的最高五個,另一個是賣的最佳五檔,也就是想要賣得最低五個價格,由這樣的組合可以知道現在市場的買賣方的想法。

因此會收到:

{'AskPrice': [16612.0, 16613.0, 16614.0, 16615.0, 16616.0], 'AskVolSum': 47, 'AskVolume': [6, 13, 8, 12, 8], 'BidPrice': [16610.0, 16609.0, 16608.0, 16607.0, 16606.0], 'BidVolSum': 45, 'BidVolume': [6, 8, 12, 10, 9], 'Code': 'TXFJ1', 'Date': '2021/10/09', 'DiffAskVol': [0, 0, 0, 0, 0], 'DiffAskVolSum': 0, 'DiffBidVol': [0, 0, 0, -1, 0], 'DiffBidVolSum': 0, 'FirstDerivedAskPrice': 0.0, 'FirstDerivedAskVolume': 0, 'FirstDerivedBidPrice': 0.0, 'FirstDerivedBidVolume': 0, 'TargetKindPrice': 16640.43, 'Time': '01:31:08.264000'}

其中bid的價格:'BidPrice': [16610.0, 16609.0, 16608.0, 16607.0, 16606.0],以及ask的價格:'AskPrice': [16612.0, 16613.0, 16614.0, 16615.0, 16616.0],以及他們的量,也都是tuple的型態:'BidVolume': [6, 8, 12, 10, 9]'AskVolume': [6, 13, 8, 12, 8]

修改主程式

主程式就很簡單,訂閱的function改成subscribe_bid_ask就可以,裡面的商品合約就不動

t.subscribe_bid_ask(t.api.Contracts.Futures.TXF["TXF202110"])  # 訂閱臺指期-2021/10d

上一篇
【D23】修改食譜#3:不知道來的客人是誰,先設定預設值
下一篇
【D25】 說明一下bid and ask
系列文
永豐證API X Python31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言