Real hot stuff like Pricing of American PUT Options on Futures of Zero Coupon Bonds in the Binominal Model... Oh my god!!!
The following features are implemented by this API.
- Binominal Lattice Configuration: A configuration which implements risk neutral propability based on the up and down factors and the fixed discount rate.
- Black-Scholes Lattice Configuration: A lattice based on volatility using the Black-Scholes model.
- Term Structure Lattice Configuration: Implements variable discount rates.
- Black-Derman-Toy Lattice Configuration : A model, used for calibration of the binominal lattice.
- Stocks
- Zero Coupon Bonds
- Coupon Paying Bonds
- Defaultable Coupon Paying Bonds
- Options: American and European Call and Put Options on arbitrary securities
- Chooser Options: A combination of a Call and a Put option
- Swaps
- Forward Swaps: Swaps which start in the future.
- Futures
- Caplets
- Floorlets
- Elementary Security: Not a real security, but a nice tool to calculate prices based on future cash flows.
- Non-Linear Powell Optimizer A Non-Linear Optimizer based on the Powell Algorithm of Apache Commons Math3
If you want to compile against this API using Apache Maven, just add the following lines to your pom.xml:
<repositories>
<repository>
<id>mbuse-mvn-repository</id>
<url>https://raw.github.com/mbuse/mvn-repository/releases/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>de.mbuse.finance</groupId>
<artifactId>financial-engineering</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
This API contains functionality to calculate prices, payoffs, probabilities of financial assets like bonds, stocks, options, futures, etc... based on financial models like the binomial asset pricing model, CAPM etc.
The primary goal of this API is educational. It should help you to understand how the pricing of all those fancy financial products like options and swaptions works. The API is not designed for performance and efficiency because these optimizations would make the code harder to understand and would interfere with the primary goal.
The author of this API claims that he is not responsible for any losses, generated by investments which are based on any kind of calculations using this API. If your investment does not work out as calculated this may have two different reasons:
- No software is bug free. And so isn't this API.
- This API is based on financial models. And the probability that these financial models are absolutely nonsense is even higher than the propability that this API contains bugs.