A few months ago I built some jupyter notebooks that demonstrated building a bond valuation simulation in 3 parts then aggregating the 3 parts into a final version incorporating the 3. I run a website called FinanceAndPython.com where I publish free courses for users to learn both finance and python which is where I planned to host the lessons when finished.
The pieces that I had built out were:
- A credit migration framework for bonds based on a simple markov chain.
- An interest rate model (Vasicek) for random stochastic interest rates.
- A deterministic model to simply account for getting bond payments given different coupon rates, face values, etc. This performs the same every time in its own insular module but is important when we begin to have the interest rate model for re-investment + credit migration model for defaults.
- A complete model with all three pieced together.
Right now I am trying to migrate my old notebooks to work with the newest version of cadCAD and was hoping to see if anyone wouldn’t mind giving feedback/checking to make sure my methodologies make sense. I started by creating two simple examples of building a first simulation with cadCAD using the vasicek interest model and then adding on to this by expanding to different model parameters tested within the simulation (which can be seen here: https://github.com/SeanMcOwen/FinanceAndPython.com/tree/master/cadCAD%20Bond%20Simulations). This next week I will be working on transitioning to the new library format and putting finishing touches on the 4 modules but would greatly appreciate a second set of eyes working with me to ensure I am implementing these simulations in the correct manner. The two notebooks I did tonight are very basic, but the other modules bring some more complexity and I also want to make sure that if I am posting this as a course that there are no improper usages passed on to users.