Project Overview#
The project is built around a controlled supervised learning problem. Synthetic option contracts are sampled from predefined parameter ranges and their labels are computed using the analytical Black-Scholes formula. A feed-forward neural network is then trained to approximate the mapping
This setup is intentionally simple and mathematically transparent. Since the target function is known exactly, model errors can be interpreted directly as approximation errors with respect to Black-Scholes prices. The selected final configuration also includes moneyness \(S_0/K\) as an engineered input feature.
Main Components#
The project contains the following components:
analytical Black-Scholes pricing;
Monte Carlo pricing under the same dynamics;
synthetic dataset generation;
feed-forward neural network training with PyTorch;
feature-engineering and activation-function experiments;
reduced-scale Support Vector Regression baselines;
controlled noisy-target robustness experiments;
runtime benchmarking against Monte Carlo simulation;
evaluation metrics and diagnostic plots;
automated tests and Sphinx documentation;
a LaTeX report for the final project submission;
a Beamer presentation for the oral discussion.
Final Deliverables#
The final experiment results are reflected in the tracked project deliverables:
results/final/contains the selected final configuration, metrics, figures, and verification notes;report/main.pdfcontains the final technical report generated from the LaTeX sources inreport/;report/main_print.pdfcontains the printable report version with black link text and visible PDF link borders;presentation/main.pdfcontains the final Beamer slide deck generated frompresentation/main.tex;the Sphinx documentation is generated from
docs/source/and published through GitHub Pages.
Generated datasets, trained model checkpoints, scalers, and full run outputs
are kept reproducible but untracked under data/final_improved/ and
outputs/final_improved/.
Repository Layout#
src/nn_option_pricing/
black_scholes.py
config.py
monte_carlo.py
dataset.py
model.py
training.py
evaluation.py
noise.py
noisy_experiment.py
noisy_svr_experiment.py
plots.py
pipeline.py
svr.py
scripts/
run_experiment.py
benchmark_runtime.py
run_svr_benchmark.py
run_noisy_targets_experiment.py
run_noisy_svr_benchmark.py
generate_report_figures.py
report/
main.tex
main.pdf
main_print.pdf
presentation/
main.tex
main.pdf
results/
final/
experiments/
docs/
source/