CoolFace
Datasetpublic

THULab/nifty50_market_regime

NIFTY 50 Market Regime (TsFile) Apache TsFile version of AAdevloper/nifty50-market-regime. Overview Technical indicators and corresponding market-regime labels for the NIFTY 50 index, used to train binary classification models that predict market regimes (RISK_ON / RISK_OFF) in Indian financial markets. Each record is one daily observation with derived indicators (VIX, RSI, moving averages) plus the regime label. Regimes: RISK_ON (1) — favorable conditions, lower… See the full description on the dataset page: https://huggingface.co/datasets/THULab/nifty50_market_regime.

sourceHugging Facemitupdated 23d agoView on Hugging Face
1likes85downloads
Dataset Card

NIFTY 50 Market Regime (TsFile)

Apache TsFile version of `AAdevloper/nifty50-market-regime`.

Overview

Technical indicators and corresponding market-regime labels for the NIFTY 50 index, used to train binary classification models that predict market regimes (RISK_ON / RISK_OFF) in Indian financial markets. Each record is one daily observation with derived indicators (VIX, RSI, moving averages) plus the regime label.

  • —Regimes: RISK_ON (1) — favorable conditions, lower volatility, bullish momentum; RISK_OFF (0) — unfavorable conditions.

Schema (TsFile structure)

  • —Time (INT64, milliseconds) — the trading date.
  • —india_vix (FIELD, FLOAT) — India VIX.
  • —rsi_14 (FIELD, FLOAT) — 14-period Relative Strength Index.
  • —ma_50 / ma_200 (FIELD, FLOAT) — 50-/200-period moving averages.
  • —regime (FIELD, INT64) — regime label (1 = RISKON, 0 = RISKOFF).

Usage

Install the Apache TsFile Python SDK (pip install tsfile) and read a converted file:

python
from pathlib import Path
from tsfile import TsFileReader

path = Path("nifty50_market_regime.tsfile")
with TsFileReader(str(path)) as reader:
    schemas = reader.get_all_table_schemas()
    print("tables:", list(schemas))
    table_name = next(iter(schemas))
    table = schemas[table_name]
    columns = [column.get_column_name() for column in table.get_columns()]
    print("columns:", columns)
    field_names = [
        column.get_column_name()
        for column in table.get_columns()
        if column.get_column_name() not in {"Time", "time"}
    ]
    if field_names:
        with reader.query_table(table_name, field_names[:3], batch_size=1024) as result:
            batch = result.read_arrow_batch()
            if batch is not None:
                print(batch.to_pandas().head())

Source & license

  • —Original dataset: https://huggingface.co/datasets/AAdevloper/nifty50-market-regime
  • —Author / publisher: AAdevloper
  • —License: MIT