FinTexTS

February 8, 2026 · View on GitHub

This repository contains code for forecasting with financial text and time-series data. It is organized into two parts: data generation and forecasting experiments.

Structure

1) Data generation

Only a lightweight version of the data generation pipeline is included. Sample data can be created using the scripts in make_dataset/, for example:

  • make_dataset/company_summary.py
  • make_dataset/filing_parser.py
  • make_dataset/macro-sector_summary.py
  • make_dataset/tag_company_news.py
  • make_dataset/tag_news.py

For access to the full dataset, refer to the following Hugging Face page:
https://huggingface.co/EXAONE-BI
Reference link

Raw news data was sourced from the FNSPID news dataset: https://github.com/Zdong104/FNSPID_Financial_News_Dataset

2) Forecasting experiments

The entry point for forecasting experiments is forecasting_task/run.py. Before running it, you must generate text embeddings and create a per‑ticker parquet file.

(1) Text embedding generation

BERT embeddings are the default. Depending on the embedding model, columns are created as *_emb1 ... *_embN.

(2) Per‑ticker parquet creation

Create a parquet file per ticker with the following columns and save it to data/fintexts/{TICKER}.parquet.

  • date, ticker, open, high, low, close
  • macro_emb1, macro_emb2, ...
  • sector_emb1, sector_emb2, ...
  • targetCompany_emb1, targetCompany_emb2, ...
  • relatedCompany_emb1, relatedCompany_emb2, ...
  • filing_emb1, filing_emb2, ...

(3) Run example

python forecasting_task/run.py \
  --root_path data/ \
  --data_path fintexts/NVDA.parquet