Truy xuất dữ liệu
Các ví dụ liên quan đến việc truy xuất dữ liệu lịch sử
Truy xuất dữ liệu lịch sử
import FiinQuantX as fq
# Đăng nhập
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = fq.FiinSession(username=username, password=password).login()
fi = client.FiinIndicator()
# Lấy dữ liệu có sẵn
tickers = ['HPG','SSI','VN30']
event = client.Fetch_Trading_Data(
realtime = False,
tickers = tickers,
fields = ['open','high','low','close','volume','bu','sd','fn','fs','fb'],
adjusted=True,
# period=10,
from_date='2024-12-04',
by = '1m'
)
df = event.get_data()
print(df)
fields = ['open','high','low','close','volume','bu','sd','fn','fs','fb']
Giải thích các trường dữ liệu:
open,high,low,close: Đại diện cho giá Open, High, Low, Close
volume: Đại diện cho khối lượng khớp lệnh (Volume)
bu,sd: Chỉ số mua bán chủ động
fn,fs,fb: là Foreign Net, Foreign Sell, Foreign Buy, giá trị nhà đầu tư nước ngoài mua bán ròng, mua hoặc bán.
Truy xuất dữ liệu Realtime
import time
import pandas as pd
import FiinQuantX as fq
from FiinQuantX import RealTimeData
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = fq.FiinSession(username=username, password=password).login()
fi = client.FiinIndicator()
df = []
tickers = ['SSI','ITC','HPG','VHM']
for i in range(len(tickers)):
df.append(pd.DataFrame())
df_total = pd.DataFrame()
def onEvent(data: RealTimeData):
global df_total
df_total = pd.concat([df_total, data.to_dataFrame()],ignore_index=True)
df_total.to_csv('data.csv', index = False)
for i in range(len(tickers)):
if data.Ticker == tickers[i]:
print(data.Ticker, data.Close)
df[i] = pd.concat([df[i], data.to_dataFrame()],ignore_index=True)
print(df[i])
TickerEvents = client.Trading_Data_Stream(tickers=tickers, callback = onEvent)
TickerEvents.start()
try:
while not TickerEvents._stop:
time.sleep(1)
except KeyboardInterrupt:
print("KeyboardInterrupt received, stopping...")
TickerEvents.stop()
3. Tìm khối lượng mua bán ATC của VN30

import pandas as pd
from FiinQuantX import FiinSession
username = 'YOUR USERNAME HERE'
password = 'YOUR PASSWORD HERE'
client = FiinSession(
username=username,
password=password
).login()
VN30 = [
'ACB', 'BCM', 'BID', 'BVH', 'CTG', 'FPT', 'GAS', 'GVR', 'HDB', 'HPG',
'LPB', 'MBB', 'MSN', 'MWG', 'PLX', 'SAB', 'SHB', 'SSB', 'SSI', 'STB',
'TCB', 'TPB', 'VCB', 'VHM', 'VIB', 'VIC', 'VJC', 'VNM', 'VPB', 'VRE']
data = client.Fetch_Trading_Data(
tickers=VN30,
fields=['fn', 'fs', 'fb'],
adjusted=True,
period=10,
realtime=False,
by='1m',
).get_data()
filtered_data = data[data['timestamp'].str.endswith('14:45')]
filtered_data.to_excel('filtered_data.xlsx', index=False)
print("Data stored in filtered_data.xlsx")
PreviousDanh sách các cổ phiếu theo nhóm chỉ sốNextTruy xuất và lưu dữ liệu realtime lên Google Sheet
Last updated