neural_calibrator
Use stochastic processes to generate samples and use them to train a fully-connected neural network based on Keras which will then be used to generate residuals. I dont think this is great code but i think that is something for people to start with and works for my use case.
currently supports:
- CoxIngersollRoss Process
- Diffusion Process
- Fractional Brownian Motion
- Geometric Brownian Motion
- Ornstein Uhlenbeck Process
- Poisson Process
- Vasicek Process
what's what:
- data_generation.py -> handles data (sample, config, saving to csv for post analysis, train/test split, ...)
- main.py -> this is where you f5 and follow instructions to get the trained .h5 model to load elsewhere
- network.py -> basically the network we'll train, test and save if needed. kept as clean as possible so you can copy/paste most of this elsewhere.
- network_manager.py -> handles the actual heavy stuff like training/testing/tensorboard/etc. made for extension but not much work put into it.
- start_here.ipynb -> small notebook with examples
comming up next:
- Markov chains (HMM/Bernoulli chains/etc)
- Hawkes process