rahuljoshi44 / GraphVega
- четверг, 18 февраля 2021 г. в 00:28:49
JavaScript
Open Source Option Analytics Platform.
GraphVega is an open sourced options analytics platform that analyses and projects the P/L of a multi-legged options position with variation of the stock price under changes in volatility and days till expiration, using a black-scholes simulation.
It is designed with a goal to provide a simple and intuitive interface to analyze options, while also providing developers with the flexibility to add their own custom features.
Note: You will need to have NodeJS installed on your machine to run this app. If you don't have it on your machine already, you can install it here for free.
To get GraphVega up and running on your local machine, follow these steps:
Clone the repository
$ git clone https://github.com/rahuljoshi44/GraphVega.git
Switch to the root directory of the project (main folder where all the files are stored) and install the dependencies. This process might take a couple minutes depending on your download speed, so please wait!
$ npm install
Get a free API Key (for sandbox) from Tradier here. This project uses Tradier’s market data API for options and stock prices.
In the root directory create a .env
file and enter your API key as
follows:
TRADIER_API_KEY=YOUR_API_KEY_HERE
NOTE: You can also add an optional variable: TRADIER_API_BASE_URL=BASE_API_URL
if you'd like to use the brokerage API endpoint.
Run the application in either of two ways: Locally or via Docker (explained below):
$ npm start
Note that the front end react app runs on http://localhost:3000
while
the server runs on http://localhost:8000
so make sure you don’t have
anything running on those ports.
Make sure to create the .env
file from step 4 above before building the
image, otherwise it won't be included.
Building:
$ docker build -t local/gv:latest -t local/gv:0.1.0 .
Running:
$ docker run -d --rm -p 3000:3000 --name graphvega local/gv
Stopping:
$ docker stop graphvega
Make sure to create the .env
file from step 4 above before building the
image, otherwise it won't be included.
Running:
$ docker-compose up
or
$ docker-compose run
Stopping:
$ docker-compose down
Broadly, the project is divided into the front end and the back end.
src
directory.server
. These are used primarily for making API calls for market data.There are three main front end components
src/components/main.jsx
is the root component that uses
optionChain.jsx
and analysis.jsx
src/components/chain/optionChain.jsx
is the base component for the
‘Option Chain’ tab
src/components/chain
src/components/analysis/analysis.jsx
is the base component for the
‘Analysis’ tab
src/components/analysis
Your contributions make the project better and more useful to everyone! The contributions you make will be greatly appreciated.
To do so:
GraphVega is distributed under the MIT license. See LICENSE.md
for
more information.
Feel free to contact me regarding any concerns about the app.
Thanks to Tradier for the market data used on the platform.