Skip to content

Custom Data

Custom Data cho phép bạn import bất kỳ dữ liệu nào vào QuantConnect — từ CSV file, JSON, API, hay database — và sử dụng như dataset có sẵn.

Khi Nào Cần Custom Data?

  • Chứng khoán Việt Nam (VN30F, HOSE, HNX)

  • Dữ liệu từ API riêng (FinMind, FiinTrade, SSI iBoard)

  • Dữ liệu CSV từ Excel, MT4, Amibroker

  • Dữ liệu thay thế (sentiment, on-chain, v.v.)

  • Dữ liệu được tính toán từ nhiều nguồn

PythonData Class

python
class MyCustomData(PythonData):
    def GetSource(self, config, date, isLive):
        # Định nghĩa nguồn dữ liệu (local file hoặc URL)
        return SubscriptionDataSource(
            "file:///path/to/data.csv",
            SubscriptionTransportMedium.LocalFile
        )

    def Reader(self, config, line, date, isLive):
        # Parse từng dòng dữ liệu
        if not line.strip():
            return None

        data = MyCustomData()
        data.Symbol = config.Symbol

        # Parse CSV: date,open,high,low,close,volume
        parts = line.split(',')
        data.Time = datetime.strptime(parts[0], "%Y%m%d %H:%M")
        data.Open = float(parts[1])
        data.High = float(parts[2])
        data.Low = float(parts[3])
        data.Close = float(parts[4])
        data.Volume = float(parts[5])

        return data

Đăng Ký Custom Data

python
# Trong Initialize()
self.AddData(MyCustomData, "VN30F1M", Resolution.Minute)

# Hoặc với ticker
vn30f = self.AddData(MyCustomData, "VN30F")
vn30f.SetLeverage(5)

Formats Hỗ Trợ

FormatTransport MediumUse Case
Local CSV/ParquetLocalFileBacktest local
Remote CSV/JSONRemoteFileBacktest cloud
API EndpointRemoteFileLive trading
ObjectStoreObjectStoreML models, cache

Powered by dautu.tech