thecharttruth/etf-data
skfolio Masterclass ETF Teaching Data This dataset provides cleaned ETF price, metadata, liquidity, and market-index context tables for educational portfolio-research notebooks, especially the skfolio Masterclass by The Chart Truth. The goal is to give learners a public, no-login data source that can be loaded in Google Colab and transformed into the return matrices used by skfolio portfolio workflows. It is designed for teaching diversification, liquidity screening… See the full description on the dataset page: https://huggingface.co/datasets/thecharttruth/etf-data.
skfolio Masterclass ETF Teaching Data
This dataset provides cleaned ETF price, metadata, liquidity, and market-index context tables for educational portfolio-research notebooks, especially the skfolio Masterclass by The Chart Truth.
The goal is to give learners a public, no-login data source that can be loaded in Google Colab and transformed into the return matrices used by skfolio portfolio workflows. It is designed for teaching diversification, liquidity screening, price-to-return transformation, risk, correlation, drawdowns, and allocation research.
What Is Included
The dataset intentionally does not include raw API responses, account data, balances, holdings, transactions, orders, credentials, or trading instructions.
Quick Start
import pandas as pd
from huggingface_hub import hf_hub_download
from skfolio.preprocessing import prices_to_returns
repo_id = "thecharttruth/etf-data"
prices_path = hf_hub_download(
repo_id=repo_id,
repo_type="dataset",
filename="etf_daily_prices.parquet",
)
prices_long = pd.read_parquet(prices_path)
prices_wide = (
prices_long
.pivot(index="date", columns="symbol", values="close")
.sort_index()
)
returns = prices_to_returns(prices_wide)No Hugging Face token is required for the public dataset.
You can also load the tables through the datasets library. The dataset card defines three named configs so the tables stay separate in the Hugging Face Dataset Viewer:
from datasets import load_dataset
prices = load_dataset("thecharttruth/etf-data", "prices", split="train")
metadata = load_dataset("thecharttruth/etf-data", "metadata", split="train")
liquidity = load_dataset("thecharttruth/etf-data", "liquidity", split="train")
indexes = load_dataset("thecharttruth/etf-data", "indexes", split="train")Current Snapshot
The metadata table can contain symbols that are not present in the current price table. That is useful for teaching real-world data checks: not every instrument discovered by a data source is automatically suitable for a clean portfolio universe.
Table Schemas
etf_daily_prices.parquet
instrument_metadata.parquet
Some descriptive metadata fields may be blank. Treat metadata as a practical teaching aid, not as a complete security master.
etf_liquidity_365d.parquet
index_daily_prices.parquet
Intended Use
This dataset is meant for:
- educational notebooks
- reproducible portfolio-research examples
- skfolio tutorials and demonstrations
- learning how to inspect, reshape, and validate market data before optimization
The recommended teaching flow is:
- Load the long price table.
- Validate symbols, dates, duplicates, and missing values.
- Pivot prices into a date-by-symbol matrix.
- Convert prices to linear returns.
- Use returns for risk, correlation, optimization, and validation.
Limitations
This dataset is intentionally compact and teaching-oriented. It may contain errors, omissions, stale values, adjusted values, vendor quirks, transformation mistakes, missing metadata, survivorship bias, or incomplete histories. It is not a complete market database and should not be treated as a live trading feed.
The dataset is suitable for learning a research process. It is not suitable as the only source for real-money trading, tax reporting, regulatory reporting, or production investment operations.
Independence And Responsible Use
This dataset is independent educational material. It is not endorsed by, sponsored by, or affiliated with any broker, ETF issuer, index provider, exchange, data provider, Hugging Face, Google Colab, or the skfolio project maintainers.
Nothing in this dataset is financial, investment, tax, or legal advice. Nothing here is a recommendation to buy, sell, short, hold, or allocate to any security. Historical data cannot guarantee future results.
Users are responsible for validating data quality, confirming rights and licenses, and deciding whether any use is appropriate for their own situation.
Access, Updates, And License
The public files are provided for educational and research use under the custom terms in LICENSE.
Updates may be published periodically from a maintained data pipeline, but no update cadence is guaranteed. Existing files may remain available even if future refreshes pause or change.
Redistribution, resale, and commercial use are not permitted without written permission from the maintainer and any applicable upstream rights holders.
Suggestions
Learners and researchers may suggest additional ETF fields, documentation improvements, or derived teaching tables. Suggestions are evaluated based on educational value, licensing and redistribution limits, privacy, data quality, maintainability, and fit with the cleaned teaching-data scope.
