Hàm dữ liệu Realtime

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.

Events = client.Trading_Data_Stream(tickers = tickers, callback = callback)

Tham số

Tên tham số
Mô tả
Kiểu dữ liệu
Bắt buộc

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]

callback

Là hàm do người dùng tự định nghĩa để thao tác với dữ liệu.

function

Class nhận dữ liệu là Trading_Data_Stream, 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: RealTimeData):
    //do something

Events = client.Trading_Data_Stream(tickers = ['ticker_1','ticker_2',,,'ticker_n'], callback = name_of_callback)
Events.start()
# tickers can include ticker, coveredwarrant, index and derivative.
Events = client.Trading_Data_Stream(tickers = ['ticker_1','ticker_2',,,'ticker_n'], callback = name_of_callback)
Events.start()

RealTimeData có các phương thức và thuộc tính sau:

Tên phương thức của object dữ liệu
Mô tả

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 RealTimeData có các thuộc tính:

Tên cột
Mô tả
Kiểu dữ liệu

Ticker

Tên mã.

str

TotalMatchVolume

Tổng khối lượng.

int

MarketStatus

Trạng thái thị trường.

str

TradingDate

Thời gian.

str

ComGroupCode

Mã chỉ số.

str

Reference

Giá trị tham chiếu.

float

Open

Giá Open.

float

Close

Giá Close.

float

High

Giá High.

float

Low

Giá Low.

float

Change

Giá trị thay đổi so với tham chiếu.

float

ChangePercent

Phần trăm giá trị thay đổi so với tham chiếu.

float

MatchVolume

Khối lượng khớp lệnh.

int

MatchValue

Giá trị khớp lệnh.

float

TotalMatchValue

Tổng giá trị khớp lệnh.

float

TotalBuyTradeVolume

Tổng khối lượng mua vào.

int

TotalSellTradeVolume

Tổng khối lượng bán ra.

int

TotalDealVolume

Tổng khối lượng khớp lệnh thỏa thuận.

int

TotalDealValue

Tổng giá trị khớp lệnh thỏa thuận.

float

ForeignBuyVolumeTotal

Tổng khối lượng mua ngoại từ đầu ngày.

int

ForeignBuyValueTotal

Tổng giá trị mua ngoại từ đầu ngày.

float

ForeignSellVolumeTotal

Tổng khối lượng bán ngoại từ đầu ngày.

int

ForeignSellValueTotal

Tổng giá trị bán ngoại từ đầu ngày.

float

Bu

Khối lượng mua chủ động.

int

Sd

Khối lượng bán chủ động.

int

Ví dụ về dữ liệu khớp lệnh (RealTimeData):

import FiinQuantX as fq
from FiinQuantX import RealTimeData
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.Trading_Data_Stream(tickers=tickers, callback = onTickerEvent)
Events.start()

try:
    while not Events._stop: 
        time.sleep(1)
except KeyboardInterrupt:
    print("KeyboardInterrupt received, stopping...")
    Events.stop()

Last updated