Giter Site home page Giter Site logo

-depricated-option_dashboard's Introduction

Linux Codecov
lin-badge cov-badge

Option Dashboard

This is the client side dashboard application for an option pricing dashboard.

Dependencies

The dashboard is dependent on levy-functions which are on AWS lambda.

Roadmap

Currently, the dashboard is simply a calculator for options on an asset which follows an extended CGMY process. For more information, see the levy-functions repo especially index.md.

In a future state, we want the following:

  • Add tabs for American options (using FSTS)
  • Have a "simple" and "advanced" view Complete
  • Add "Greeks" (at least delta, maybe gamma and theta) Complete
  • Add calibration (mark to market) Complete
  • ~~Add data feeds?

Plugin features

  • Inside this repo, run node newModel [modelname]
  • Edit ./src/Models/[modelname].js. This should include adding functions to convert back and forth between CGMY parameters.
  • Run ./generator/buildCode.js. This will update ./src/modelSkeleton.js.

Development

By default, npm start runs against a local server 3001. This local server is in the levy-functions repo.

To run against the production (AWS lambda), run npm run start-prd.

-depricated-option_dashboard's People

Contributors

atbridge avatar danielhstahl avatar zircxes avatar

Stargazers

 avatar

Watchers

 avatar

-depricated-option_dashboard's Issues

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).

Screen Refresh

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

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).

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.

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).

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?

Option Methodology?

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

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.

Benchmarking

What about allowing a benchmark between the methodologies here and:

Black-Scholes
Market values

Change title and logo

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

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.

Data Feed tie-in?

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

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.

Portfolio Method

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

Greeks

For specified inputs, can the model output the Greeks?

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

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.

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.

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.

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.

Dividend Yield Allowance

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

License

Your repository doesn't have a license yet.

Y=1 errors

Must be an issue with the Characteristic Functions.

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.