Lecture 1. Introduction to Mathematica and Basic Programming in Mathematica
- MMA Syntax
- MMA Programming paradigms
- Modules, Functions
- Example:Trees
Lecture 2. Data Import and Export, Visualization
- Importing data
- Statistics in MMA
- Visualization in MMA
- Exporting data
- Example: Bootstrapping
Lecture 3. Writing your own packages
- IDE for Developing -> Wolfram Workbench
- Developing your own packages
- Coding/Encoding packages
- Installing packages
- Example: Bonds
Lecture 4. Speeding up your MMA Code
- Compiled Functions and their limits
- Generating CCode
- Apply these techniques to the previous examples
Lecture 5. Dynamic Interactivity and MMA
- The Manipulate Command
- The Dynamic Command
- Advanced Manipulate (Speeding up, Combining Manipulate with Dynamic)
- Example: Default Probabilities
Lecture 6. Linking Technologies and MMA
- LibraryLink -> C++
- JLink -> Java
- RLINK -> R
- Database LINK -> Databases
- Example: Link code to MMA
Lecture 7. Building Up a MC Simulation with MMA
- Random Number Generators
- Setting up Paths
- Valuation
- Variance Reduction Techniques
- Quasi Monte Carlo with MMA
Lecture 8. PDE based solutions in Mathematica
- Finite Differences and Upwinding
- Solving Systems of Linear equations
- Example: Solution of a 1D Finance PDE in MMA (HW1F)
Lecture 9. UnRisk - Q
Introduction to UnRisk-Q
Models, Methods (Interest Rates)
- HW1F
- HW2F
- Black Karasinski
- LMM
Models, Methods (Equities)
- Black-Scholes
- Dupire
- Heston
- Jump Models
Instruments
- Bonds
- Swaps
- Range Accruals
- Snowballs
- ExoticOptions
- Hybrids
Lecture 10. VaR Calculations with UnRisk-Q
- Parametric, Historical and MC VaR
- Marginal VaR
- Contribution VaR
Final Practical Project.
The final project will be marked with feedback and a pass or fail will given. One retake is allowed if you fail.