The DerivativeVisualizer and fe621 tools were developed during my
fe621 Toolkit
fe621 is a Python package that provides a number of useful functions for pricing derivatives. One of its key features is its implementation of Monte-Carlo simulation pricing, which allows users to estimate the value of a derivative by simulating its behavior under a range of different market scenarios. This can be particularly useful for pricing complex securities that are difficult to value using traditional techniques.
In addition to Monte-Carlo simulation pricing, fe621 also includes functions for numerical differentiation and numerical integration. These can be used to accurately calculate the sensitivity of a derivative's value to changes in its underlying factors, such as the underlying asset's price or the level of interest rates. This information is critical for making informed investment decisions and managing risk.
Lattice Pricing
Another key feature of fe621 is its support for lattice model based asset pricing. This technique uses a lattice structure to model the evolution of an asset's price over time, allowing users to accurately value securities with embedded options, such as American options or barrier options. This can be particularly useful for pricing securities with complex payout structures or early exercise features.
fe621 provides a generalized interface for pricing lattice-based models. This is achieved through the use of a "tree price" driver, which can be found in the general_tree.py
file in the tree_pricing
directory of the fe621 package. The tree price driver provides a simple and flexible way to price a wide range of lattice-based models, including binomial and trinomial trees.
The tree price driver uses a matrix representation of the lattice structure to enable efficient calculation of option prices. The matrix must be sized to have N + 1
columns, where N
is the number of time steps in the tree, and 2N + 1
rows. The tree is then built by iterating over each value in the matrix in a top-down, left-right pattern, and computing the values of the children using a specified modification function.
Once the tree has been constructed, the tree price driver can be used to calculate option prices using a backward induction algorithm. This involves starting at the final time step and working backwards to the initial time step, using the computed children values to calculate the option prices at each step. This allows for the efficient calculation of option prices for a wide range of lattice-based models.
One of the key advantages of the tree price driver in fe621 is its flexibility. It can be used to price a wide range of lattice-based models, including binomial and trinomial trees, and can be easily customized to support different underlying assets, time steps, and modification functions. This makes it a valuable tool for financial engineers working with lattice-based models.
DerivativeVisualizer
DerivativeVisualizer is a R-based tool for visualizing derivatives. It allows users to easily plot and analyze the behavior of a wide range of derivative securities, including options, futures, and other complex financial instruments. It provides an intuitive interface and powerful plotting capabilities for Profit-Loss payout graphs from Vanilla Options in R.
Overall, the DerivativeVisualizer and fe621 are powerful tools that can greatly assist with visualizing and pricing exotic derivatives.