The Bruno.jl package allows for pricing financial derivative assets under different theoretical models over varying time frames. This enables technical traders to formulate and test trading strategies within the package based on the derivatives themselves, rather than relying solely on the underlying assets. Using multiple dispatch, the simulating environment is left generic allowing for a wide range of uses from finance practitioners to academics.
Bruno.jl provides four main types of tools for working with financial derivatives: a descriptive type system, time-series data simulating, derivative asset pricing tools, and trading strategy simulating environment. The package takes advantage of multiple dispatch and parametric types to allow for more possibilities for financial analysis.
Multiple dispatch allows for more flexibility and extensions of the code. For example, Bruno can calculate theoretical historical derivatives prices for a variety of pricing models such as the Black-Scholes model and Monte Carlo analysis, by simply switching the input types. With few lines of code, theoretical prices can be calculated for many financial derivatives at different points in time. It is important to note that long-term derivative prices and exotic option prices may not be readily accessible without incurring a cost. Thus, many trading and hedging strategies, by necessity are currently based on asset prices. Bruno.jl will allow them to be based on theoretical derivative prices instead.
The modular architecture of Bruno.jl lets finance professionals use the different parts of the package interchangeably, leading to many novel combinations of tools. For example, a key feature of Bruno.jl is that it can produce a distribution of maximum loss that could result from a trading or hedging strategy. These distributions can be estimated with several different time-series simulating processes or derivative pricing models. This information would be valuable to financial practitioners, hedge funds, and market makers as it would help to quantity the risk of a potential strategy before putting the strategy into place. Therefore, Bruno.jl allows for better comparison of different trading and hedging strategies under different assumed market conditions.
Bruno was designed to be used by academic researchers as well as finance practitioners such as derivatives analysts, hedge fund managers, or market makers. It allows for complete analysis of financial assets and strategies in a single package.