This is a quick reference guide for common tasks in the Financial Time Series Forecasting project.
# Clone the repository
git clone https://github.com/yourusername/financial-ts-forecasting.git
cd financial-ts-forecasting
# Install dependencies
pip install -r requirements.txt
# Or install as a package
pip install -e .python run_project.pyrun_streamlit.bat.\run_streamlit.ps1The application will open in your browser at http://localhost:8501
python train.pypython train_all_tickers.pypython train_bnn.pypython evaluate.pypython backtest.pypython hparam_search.pyThis will run an Optuna study to find optimal hyperparameters.
# Generate all figures
python utils/generate_figures.py
# Generate HPO table
python utils/generate_hpo_table.py
# Generate technical indicators table
python utils/generate_indicators_table.pyAll configuration files are in the configs/ directory:
baseline_lstm.yaml- LSTM baseline configurationmc_dropout.yaml- MC Dropout configurationbnn_pyro.yaml- Bayesian Neural Network configurationtransformer.yaml- Transformer configurationtrain_config.yaml- Training parameters
Edit these files to customize model behavior.
python scripts/fetch_data.pypython scripts/make_dataset.pyData is stored in the data/ directory.
# Run all tests
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ -v --cov=src --cov-report=html
# Run specific test file
python -m pytest tests/test_models.py -vblack src/ tests/ utils/ --line-length=100
isort src/ tests/ utils/ --profile blackflake8 src/ tests/ --max-line-length=100
mypy src/ --ignore-missing-importsdocker build -t financial-ts-forecasting .docker run -p 8501:8501 financial-ts-forecastingML-Intern/
├── app/ # Streamlit application
├── configs/ # Configuration files
├── data/ # Data storage
├── reports/ # Documentation & figures
├── scripts/ # Utility scripts
├── src/ # Source code
├── tests/ # Unit tests
├── utils/ # Project utilities
├── train.py # Training script
├── evaluate.py # Evaluation script
└── run_project.py # Main runner
Solution: Run pip install -r requirements.txt
Solution: Reduce batch size in configs/train_config.yaml
Solution: Run python scripts/fetch_data.py to download data
Solution: Kill the process or change port:
streamlit run app/streamlit_app.py --server.port 8502- Full README: README.md
- Project Structure: PROJECT_STRUCTURE.md
- Contributing Guide: CONTRIBUTING.md
- Change Log: CHANGELOG.md
- Reports: reports/README.md
- HPO Documentation: reports/HPO_SEARCH_SPACE.md
- Figures Documentation: reports/FIGURES_DOCUMENTATION.md
For issues, questions, or contributions:
Author: Mohansree Vijayakumar
Email: mohansreesk14@gmail.com
- Check the documentation
- Review CONTRIBUTING.md for guidelines
- Open an issue on GitHub
Version: 1.0.0
Last Updated: 2025-10-14
| Run app | python run_project.py |
| Train model | python train.py |
| Evaluate | python evaluate.py |
| Backtest | python backtest.py |
| HPO | python hparam_search.py |
| Test | pytest tests/ -v |
| Format | black src/ --line-length=100 |
| Lint | flake8 src/ --max-line-length=100 |
Version: 1.0.0
Last Updated: 2025-10-14