Code Monkey home page Code Monkey logo

-depricated-option_dashboard's Introduction

Hello! I am Daniel Stahl.

I am a leader in the data science and machine learning operations space, and I moonlight as a software engineer.

Academic background and research interest

My academic background, and my intellectual passion, is in the mathematics underlying financial models. I have published two papers in the Journal of Credit Risk and the Journal of Operational Risk extending this mathematical framework to portfolio credit and operational risks. I've made the Latex and PDFs available in my CreditRiskPaper repository and OpsRiskPaper repository. I've implemented the results of these papers in the following repositories:

I've created computationally efficient calculators for pricing options on underlyings with very complex dynamics. Examples, documentation, and related material can be found at the realoptions Github organization, as well as at finside.org The bulk of the work is done in the option_price_faas library. These calculators can be accessed from my developers site or at my rapidapi page. I also have a free web app exemplifying how the calculators may be used, and a free mobile app for Android.

Software interests

Software development is my hobby and my passion. I believe software is a craft. Software engineering requires not only a sound technical understanding, but also a feeling of pride and ownership for a product well crafted. Software should be used and re-used. My preferred development languages reflect this belief. Rust is a phenomenal language that encourages best practices, enforces memory management, and retains performance that is comparable to C++. It is my preferred language for micro-services and server-side development. Flutter and React or my two favorite languages for client-side development. React has become more and more geared towards functional programming, making client applications quick to develop and easy to maintain. Flutter takes this one step further and introduces stronger guarantees due to its fully-fledged typing system, as well as being the language that introduced the BLoC pattern for state management.

Business interests

I have spent my career in financial institutions. In my current role, I am responsible for machine learning operations and providing the tools for data scientists to safely, responsibly, and efficiently deliver robust data products for our internal and external customers. I use our internal continuous integration and continuous deliver platform and a "Gitops" style approach to enable models to be promoted to production continuously, while retaining the controls, lineage, and provenance needed for a highly regulated institution. The model development platform has been created to enable this style of promotion without the Data Scientists having to write their own continuous integration scripts. Data Scientists can focus on what they are best at: creating incredible models.

-depricated-option_dashboard's People

Contributors

atbridge avatar danielhstahl avatar zircxes avatar

Stargazers

 avatar

Watchers

 avatar

-depricated-option_dashboard's Issues

Greeks

For specified inputs, can the model output the Greeks?

Commonly used in the markets, risk management, and regulatory reviews.

Benchmarking

What about allowing a benchmark between the methodologies here and:

Black-Scholes
Market values

Portfolio Method

How computationally expensive would it be to allow for a portfolio of generic options to be considered in aggregate?

Dividend Yield Allowance

Typical BSM Calculators allow for Dividend Yields; however, these models do not support this feature.

Screen Refresh

Once the page loads, if you refresh the website you get a 404 error unless you remove /price.

Get correct domain for fsts and carr-madan

This issue may not be closeable and simply a limitation of the algorithms. As the parameters change, the variance of the CGMY process changes. The option price is largely dependent on variance. It also seems like the stability of the fsts and carr-madan algorithms depend on the variance.

  • Is it possible to create an x-domain that is stable across all (most) parameters for the fsts and carr-madan algorithms (this would probably be done server side)
  • Is it possible to create a plot domain such that the option prices are in an "interesting" price range (not approaching zero or the intrinsic value).

Allow for Calibration

Similar to Reverse Stress Test -- Can a user also specify market values and then use historical correlations to 'calibrate' the inputs to markets or create calibration factors?

Calibration ties to OCC guidance on Risk Management of Financial Derivatives.

Option Methodology?

Which FO method is used? The European or the American Style option model?

User Interface: Value Labels

Inputs on left side are unclear, what are the units of T?
Is a rate of 0.03 = to 0.03%, 3%, or something else; similar for Quantile.

Warn for invalid plugin

Currently an invalid plugin will just be accepted. However, certain features are required: some parameters have to be marked variable. The conversion from model to general CGMY needs to include a "Variable" parameter section.

S or K Issue

Single Input for S / K may be confusing. Recommend breaking this out into two inputs and then clarifying when each one is used (as described in the tooltip).

License

Your repository doesn't have a license yet.

Fix CustomDrop in FormHelper

Remove "Wrapper Component" and simply require Form.Item in the calling function. No need to wrap it in anything.

Form can't put decimals unless already there

When writing a decimal number it wont work unless a number is already after the decimal. Eg, entering 45 and then . in an attempt to put 45.5 will not work. However, doing 45, then making it 4.5, then adding a 5 to make it 45.5 works.

Feature Request -- Reverse Stress Test

Would be interesting to setup a reverse stress test (Target a VaR, ES, or Price based on conditions) and then stressing each input to determine what would break to that level.

Method 1: Independent, single variable approach.
Method 2: Correlated market movement (Scenario Probability approach).

Change title and logo

Currently, the logo and title are the default react symbols. Change this to something more specific to the option dashboard.

Y=1 errors

Must be an issue with the Characteristic Functions.

Make Fang-Oosterlee more prominant

@thomasnguyen704 The Fang-Oosterlee algorithm is the most stable and allows for inputs of arbitrary strikes. This makes it very powerful. As a result, it should be the "default" view.

  • How do we make it feel more prominant?
  • How do we still keep the fsts and carr-madan around (visually) even though they sometimes have stability issues?

Data Feed tie-in?

Can this interface with API for data sources (FRED, Bloomberg, Thomson-Reuters)?

Theta check no longer works

The theta check relied on having a single set of parameters. There is now a set per model. This may be a tricky problem to do while keeping the redux store clean.

Help Option

A simple reference with definitions and references would be helpful for documentation. Example: Quantitative group uses this tool and provides link to a team-member who is unfamiliar with the methodologies for option pricing and only knows about BSM; this would allow them to quickly understand the definitions and, if interested, follow-up on reference material similar to a Wiki.

Unit Tests for data flows

I keep being concerned that I am breaking the following:

  • the converted parameters to CGMY flowing into the theta check at CardPlot
  • the conversion to and from CGMY following a change in model (ie, a change to BS and back to Heston)

Need unit tests around these areas.

Redo models to allow easy adding of models

Make the redux and router integrate to select a model...eg /bs will select the "bs" model parameters. The route will almost act like a new redux store...a new redux store per model based on the route.

It would be really cool to have a "plugin" style feature where you add your new model and get it integrated in a simple manner.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.