This repository contains the official implementation of M2VN, a lightweight yet effective architecture that combines price, volume, and news embeddings for equity–market volatility prediction.
The code accompanies our paper submitted to a ICAIF.
| Path / file | Purpose |
|---|---|
data_provider/ |
Data loading and on-the-fly preprocessing |
exp/ |
Experiment settings and logging utilities |
layers/ |
Custom PyTorch layers used by M2VN |
models/ |
Model definition and loss functions |
runfile/ |
Shell scripts for training / inference (run_final.sh) |
utils/ |
Miscellaneous helpers |
Step 1–3 Aggregate Results.ipynb |
Notebooks for reproducing paper tables |
run.py |
Entry point if you prefer python run.py over the shell script |
LICENSE |
License information (MIT) |
-
Install packages
pip install -r requirements.txt # Provided in repo -
Download the dataset
The full, pre-processed dataset is available on Google Drive Link Also, raw version news artical data is here: Link
After downloading, place the extracted folder inside e.g., (
dataset/KO4.csv) -
Train & evaluate
bash ./runfile/run_final.sh
The script trains M2VN with default hyper-parameters and writes:
- Checkpoints →
checkpoints/ - Final metrics (CSV) →
results_test/
- Checkpoints →
After training finishes, open the Jupyter notebooks in the repo root:
| Notebook | What it does |
|---|---|
Step 1 Aggregate Results.ipynb |
Get Main model results |
Step 2 Aggregate Results Vol(non).ipynb |
W/O Volume |
Step 3 Aggregate Results Vol-sent.ipynb |
W/ News Sentiment |
Running the cells in order will produce the tables reported in the paper.
If you find M2VN useful in your work, please consider citing:
@inproceedings{Anonymous,
title = {M2VN: Multi-Modal Learning Network for Volatility Forecasting},
author = {Anonymous},
booktitle = {ICAIF},
year = {2025}
}This project is licensed under the MIT License – see the LICENSE file for details.
Questions or suggestions? Open an issue or reach out to Anonymous.