Skip to main content

One post tagged with "pandas"

View All Tags

Lấy Dữ liệu Giá Cổ phiếu Hàng ngày với ssi_fc_data

· 2 min read

Giới thiệu

Bài viết này hướng dẫn cách sử dụng thư viện ssi_fc_data để lấy dữ liệu giá cổ phiếu hàng ngày và xử lý bằng Pandas.

Mã nguồn

# Import necessary modules
from ssi_fc_data import fc_md_client, model
import config
import pandas as pd # Import Pandas for DataFrame handling
import json

# Create a Market Data Client
client = fc_md_client.MarketDataClient(config)

# Create a request for daily stock price data
req = model.daily_stock_price(symbol, from_date, to_date) # Lấy dữ liệu cho một hoặc nhiều ngày

# Request daily stock price data using the Market Data Client
data_dict = client.daily_stock_price(config, req)

print(type(data_dict))
print(data_dict)

Giải thích

  1. Import thư viện cần thiết

    • ssi_fc_data: Thư viện để truy xuất dữ liệu chứng khoán từ SSI.
    • pandas: Được sử dụng để xử lý dữ liệu dạng bảng.
    • json: Hỗ trợ xử lý dữ liệu JSON trả về từ API.
  2. Khởi tạo client

    • MarketDataClient(config): Tạo client để kết nối với dữ liệu thị trường.
  3. Tạo yêu cầu lấy dữ liệu giá cổ phiếu hàng ngày

    • model.daily_stock_price(symbol, from_date, to_date): Xây dựng yêu cầu lấy dữ liệu.
  4. Gửi yêu cầu và nhận dữ liệu

    • client.daily_stock_price(config, req): Gửi yêu cầu đến API và nhận dữ liệu.
    • Kiểm tra kiểu dữ liệu trả về (print(type(data_dict))).
    • In dữ liệu nhận được (print(data_dict)).

Cải tiến

Chuyển đổi dữ liệu sang Pandas DataFrame

# Convert JSON data to Pandas DataFrame
df = pd.DataFrame(data_dict)
print(df.head())

Xử lý lỗi khi gửi yêu cầu API

try:
data_dict = client.daily_stock_price(config, req)
df = pd.DataFrame(data_dict)
print(df.head())
except Exception as e:
print("Lỗi khi lấy dữ liệu:", str(e))

Lưu dữ liệu vào CSV để phân tích sau

df.to_csv("stock_data.csv", index=False)
print("Dữ liệu đã được lưu vào stock_data.csv")

📌 Tham khảo thêm: Tài liệu ssi_fc_data