現在取得資料也差不多了,換換使用bid and ask吧!看看這是什麼新廚具,可以製作出什麼新花樣
本日程式碼使用:d24_bid_ask.py
這邊很簡單,直接把收到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