Hướng Dẫn Từng Bước Lấy Dữ Liệu Giá Nến Bằng Python
Để bot có thể phân tích và tìm cơ hội giao dịch, bước đầu tiên và tối quan trọng là phải nạp được dữ liệu giá lịch sử (OHLCV – Open, High, Low, Close, Volume) của tài sản cần giao dịch.
Sử dụng thư viện CCXT để đồng bộ hóa dữ liệu:
CCXT là thư viện mã nguồn mở hỗ trợ kết nối hơn 100 sàn giao dịch mã hóa khác nhau trên toàn thế giới chỉ với một cú pháp đồng nhất.
import ccxt
import pandas as pd
# 1. Khởi tạo sàn kết nối
exchange = ccxt.binance()
# 2. Tải dữ liệu nến lịch sử (Khung 1 giờ, 100 nến gần nhất)
symbol = 'ETH/USDT'
timeframe = '1h'
limit = 100
raw_candles = exchange.fetch_ohlcv(symbol, timeframe, limit=limit)
# 3. Chuẩn hóa dữ liệu thành DataFrame để dễ xử lý
columns = ['timestamp', 'open', 'high', 'low', 'close', 'volume']
df = pd.DataFrame(raw_candles, columns=columns)
# 4. Chuyển đổi timestamp dạng mili-giây sang DateTime dễ đọc
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')
print(df.tail(5))
Góc nhìn thực chiến:
Khi tải dữ liệu lịch sử lớn để backtest, hãy lưu ý đến giới hạn số lượng nến tối đa của sàn mỗi lần gọi (thường là 500 – 1000 nến). Bạn cần lập trình một vòng lặp sử dụng tham số since để tải gối đầu dữ liệu từ quá khứ đến hiện tại một cách an sau.
📊 Sơ đồ luồng logic xử lý của hệ thống:
graph TD
A["Khởi tạo sàn qua thư viện CCXT"] --> B["Gọi hàm fetch_ohlcv"]
B --> C["Nhận dữ liệu dạng List of Lists"]
C --> D["Chuyển đổi thành Pandas DataFrame"]
D --> E["Chuẩn hóa cột thời gian (DateTime)"]
🌐 Đọc chi tiết bài viết và tải code tại Website: https://huongnghiepdulieu.com/?p=5089
Chủ đề liên quan: Data Ingestion, OHLCV, CCXT, Pandas, Python Trading