Hàm dữ liệu sổ lệnh
7. Dữ liệu chi tiết về các bước giá trong từng sổ lệnh tại thời gian thực
Mô tả cách sử dụng thư viện sau khi người dùng đã đăng nhập. Các ví dụ chi tiết được nêu ra ở cuối chương này.
event = client.BidAsk(tickers = tickers, callback = callback)
Tham số
tickers
Tên mã , bao gồm mã chứng khoán, mã chỉ số, mã phái sinh và mã chứng quyền. Các mã này được viết in hoa.
list [str]
Có
callback
Là hàm do người dùng tự định nghĩa để thao tác với dữ liệu.
function
Có
Class nhận dữ liệu là BidAsk, có 2 phương thức sau:

Hàm callback
Là phương thức do người dùng tự định nghĩa để thao tác với dữ liệu, sẽ được truyền vào khi khởi tạo đối tượng nhận dữ liệu như là một đối số. Phương thức này sẽ có dạng như sau:
//pseudocode
//callback_function
def name_of_callback(data: BidAskData):
//do something
event = client.BidAsk(tickers = ['ticker_1','ticker_2',,,'ticker_n'], callback = name_of_callback)
event.start()
# tickers can include ticker, coveredwarrant, index and derivative.
event = client.BidAsk(tickers = ['ticker_1','ticker_2',,,'ticker_n'], callback = name_of_callback)
evente.start()
BidAskData có các phương thức và thuộc tính sau:
to_dataFrame( )
Trả về tất cả các thuộc tính của dữ liệu thay vì một thuộc tính riêng lẻ, được lưu trữ dưới dạng một Pandas DataFrame.
Dữ liệu BidAskData có các thuộc tính:
ComGroupCode
Mã chỉ số.
str
StockType
Loại chứng khoán.
str
Ticker
Tên mã.
str
TradingDate
Thời gian.
str
Timestamp
Thời gian (làm tròn về giây).
str
Spread
Best1Ask - Best1Bid.
float
SpreadDelta
Spread tick hiện tại - Spread tick trước.
float
DepthImbalance
TotalBidVolume / (TotalBidVolume + TotalAskVolume).
float
TotalBuyTradeVolume
Tổng khối lượng giao dịch mua.
int
TotalSellTradeVolum
Tổng khối lượng giao dịch bán.
int
TotalBidVolume
Tổng khối lượng đặt mua.
int
TotalAskVolume
Tổng khối lượng đặt bán.
int
Best1Bid
Bước giá mua 1.
float
Best2Bid
Bước giá mua 2.
float
Best3Bid
Bước giá mua 3.
float
Best4Bid
Bước giá mua 4.
float
Best5Bid
Bước giá mua 5.
float
Best6Bid
Bước giá mua 6.
float
Best7Bid
Bước giá mua 7.
float
Best8Bid
Bước giá mua 8.
float
Best9Bid
Bước giá mua 9.
float
Best10Bid
Bước giá mua 10.
float
Best1Ask
Bước giá bán 1.
float
Best2Ask
Bước giá bán 2.
float
Best3Ask
Bước giá bán 3.
float
Best4Ask
Bước giá bán 4.
float
Best5Ask
Bước giá bán 5.
float
Best6Ask
Bước giá bán 6.
float
Best7Ask
Bước giá bán 7.
float
Best8Ask
Bước giá bán 8.
float
Best9Ask
Bước giá bán 9.
float
Best10Ask
Bước giá bán 10.
float
Best1BidVolume
Khối lượng đặt mua bước giá mua 1.
int
Best2BidVolume
Khối lượng đặt mua bước giá mua 2.
int
Best3BidVolume
Khối lượng đặt mua bước giá mua 3.
int
Best4BidVolume
Khối lượng đặt mua bước giá mua 4.
int
Best5BidVolume
Khối lượng đặt mua bước giá mua 5.
int
Best6BidVolume
Khối lượng đặt mua bước giá mua 6.
int
Best7BidVolume
Khối lượng đặt mua bước giá mua 7.
int
Best8BidVolume
Khối lượng đặt mua bước giá mua 8.
int
Best9BidVolume
Khối lượng đặt mua bước giá mua 9.
int
Best10BidVolume
Khối lượng đặt mua bước giá mua 10.
int
Best1AskVolume
Khối lượng đặt bán bước giá bán 1.
int
Best2AskVolume
Khối lượng đặt bán bước giá bán 2.
int
Best3AskVolume
Khối lượng đặt bán bước giá bán 3.
int
Best4AskVolume
Khối lượng đặt bán bước giá bán 4.
int
Best5AskVolume
Khối lượng đặt bán bước giá bán 5.
int
Best6AskVolume
Khối lượng đặt bán bước giá bán 6.
int
Best7AskVolume
Khối lượng đặt bán bước giá bán 7.
int
Best8AskVolume
Khối lượng đặt bán bước giá bán 8.
int
Best9AskVolume
Khối lượng đặt bán bước giá bán 9.
int
Best10AskVolume
Khối lượng đặt bán bước giá bán 10.
int
BidPriceDelta1
Chênh lệch bước giá mua 1 tick hiện tại với tick trước.
float
BidPriceDelta2
Chênh lệch bước giá mua 2 tick hiện tại với tick trước.
float
BidPriceDelta3
Chênh lệch bước giá mua 3 tick hiện tại với tick trước.
float
BidPriceDelta4
Chênh lệch bước giá mua 4 tick hiện tại với tick trước.
float
BidPriceDelta5
Chênh lệch bước giá mua 5 tick hiện tại với tick trước.
float
BidPriceDelta6
Chênh lệch bước giá mua 6 tick hiện tại với tick trước.
float
BidPriceDelta7
Chênh lệch bước giá mua 7 tick hiện tại với tick trước.
float
BidPriceDelta8
Chênh lệch bước giá mua 8 tick hiện tại với tick trước.
float
BidPriceDelta9
Chênh lệch bước giá mua 9 tick hiện tại với tick trước.
float
BidPriceDelta10
Chênh lệch bước giá mua 10 tick hiện tại với tick trước.
float
AskPriceDelta1
Chênh lệch bước giá bán 1 tick hiện tại với tick trước.
float
AskPriceDelta2
Chênh lệch bước giá bán 2 tick hiện tại với tick trước.
float
AskPriceDelta3
Chênh lệch bước giá bán 3 tick hiện tại với tick trước.
float
AskPriceDelta4
Chênh lệch bước giá bán 4 tick hiện tại với tick trước.
float
AskPriceDelta5
Chênh lệch bước giá bán 5 tick hiện tại với tick trước.
float
AskPriceDelta6
Chênh lệch bước giá bán 6 tick hiện tại với tick trước.
float
AskPriceDelta7
Chênh lệch bước giá bán 7 tick hiện tại với tick trước.
float
AskPriceDelta8
Chênh lệch bước giá bán 8 tick hiện tại với tick trước.
float
AskPriceDelta9
Chênh lệch bước giá bán 9 tick hiện tại với tick trước.
float
AskPriceDelta10
Chênh lệch bước giá bán 10 tick hiện tại với tick trước.
float
BidVolumeDelta1
Chênh lệch khối lượng bước giá mua 1 tick hiện tại với tick trước.
int
BidVolumeDelta2
Chênh lệch khối lượng bước giá mua 2 tick hiện tại với tick trước.
int
BidVolumeDelta3
Chênh lệch khối lượng bước giá mua 3 tick hiện tại với tick trước.
int
BidVolumeDelta4
Chênh lệch khối lượng bước giá mua 4 tick hiện tại với tick trước.
int
BidVolumeDelta5
Chênh lệch khối lượng bước giá mua 5 tick hiện tại với tick trước.
int
BidVolumeDelta6
Chênh lệch khối lượng bước giá mua 6 tick hiện tại với tick trước.
int
BidVolumeDelta7
Chênh lệch khối lượng bước giá mua 7 tick hiện tại với tick trước.
int
BidVolumeDelta8
Chênh lệch khối lượng bước giá mua 8 tick hiện tại với tick trước.
int
BidVolumeDelta9
Chênh lệch khối lượng bước giá mua 9 tick hiện tại với tick trước.
int
BidVolumeDelta10
Chênh lệch khối lượng bước giá mua 10 tick hiện tại với tick trước.
int
AskVolumeDelta1
Chênh lệch khối lượng bước giá bán 1 tick hiện tại với tick trước.
int
AskVolumeDelta2
Chênh lệch khối lượng bước giá bán 2 tick hiện tại với tick trước.
int
AskVolumeDelta3
Chênh lệch khối lượng bước giá bán 3 tick hiện tại với tick trước.
int
AskVolumeDelta4
Chênh lệch khối lượng bước giá bán 4 tick hiện tại với tick trước.
int
AskVolumeDelta5
Chênh lệch khối lượng bước giá bán 5 tick hiện tại với tick trước.
int
AskVolumeDelta6
Chênh lệch khối lượng bước giá bán 6 tick hiện tại với tick trước.
int
AskVolumeDelta7
Chênh lệch khối lượng bước giá bán 7 tick hiện tại với tick trước.
int
AskVolumeDelta8
Chênh lệch khối lượng bước giá bán 8 tick hiện tại với tick trước.
int
AskVolumeDelta9
Chênh lệch khối lượng bước giá bán 9 tick hiện tại với tick trước.
int
AskVolumeDelta10
Chênh lệch khối lượng bước giá bán 10 tick hiện tại với tick trước.
int
VWAPBid
Mức giá trung bình mà người mua sẵn sàng trả.
float
VWAPAsk
Mức giá trung bình mà người bán sẵn sàng chấp nhận.
float
VWAPBidSpread
Hiệu số giữa giá mua tốt nhất (Best1Bid) và VWAP Bid.
float
VWAPAskSpread
Hiệu số giữa VWAP Ask và giá bán tốt nhất (Best1Ask).
float
VWAPBidAskSpread
Chênh lệch giữa VWAP Ask và VWAP Bid.
float
OrderFlowImbalance
VWAPBidSpread/ (VWAPBidSpread + VWAPAskSpread).
float
Ví dụ về dữ liệu sổ lệnh (BidAskData):
import FiinQuantX as fq
from FiinQuantX import BidAskData
import pandas as pd
import time
client = fq.FiinSession(
username='Enter your username',
password='Enter your password'
)
client.login()
tickers = ['HPG','VNINDEX','VN30F1M']
def onTickerEvent(data: RealTimeData):
print('----------------')
print(data.to_dataFrame())
# data.to_dataFrame().to_csv('callback.csv', mode='a', header=True)
Events = client.BidAsk(tickers=tickers, callback = onTickerEvent)
Events.start()
try:
while not Events._stop:
time.sleep(1)
except KeyboardInterrupt:
print("KeyboardInterrupt received, stopping...")
Events.stop()
Last updated