Skip to content

rrichards7/OptionsViz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OptionsViz

License: MIT Workflow Status Coverage Status

Options Data Visualization

Options are contracts that give the right (but not the obligation) to buy or sell a stock at a set price before a deadline; allows traders to leverage positions with limited upfront cost. Options chains contain multivariate data (strikes, expiration, Greeks, volume, open interest, etc) that is difficult to interpret in tabular format. Traders struggle to identify patterns and profitable opportunities: only ~10% of traders make money. Our goal will be to create a series of pivotal, insightful, and impactful visualizations that allow traders to make more informed decisions regarding the options contract(s) in which they are investing to maximize the return and mitigate the risk.

Project Type

Tool and data presentation

Questions of interest

How can visualizing options chain data improve a trader’s ability to identify profitable strategies?

How can visualizing options strategies mitigate risk?

How can time-varying (dynamic) options chains provide greater insight?

Goal

Web-app (streamlit) or interface that allows users to upload a dataframe (e.g. csv) of a single or multiple options chains and automatically generate visuals for their data. This web-app will be deployed and hosted using streamlit's free service through our public git repo.

Data sources

Think-or-Swim (TOS); and Interactive Brokers (IBKR) Trader Workstation (TWS) API

Installation and Setup

1. Clone the repository:

Clone the repo through HTTPS:

git clone https://github.com/rrichards7/OptionsViz.git

[Optional] or clone via ssh:

git clone git@github.com:rrichards7/OptionsViz.git

[Optional] or clone via GitHub CLI:

gh repo clone rrichards7/OptionsViz

cd into the repo after cloning:

cd OptionsViz

2. Create conda environment

Create new conda environment (which will be called "optviz" by default) from the yaml file:

conda env create -f environment.yml

Activate the environment after creation:

conda activate optviz

3. Install

Install OptionsViz from the main repo through the pyproject.toml file by running:

pip install .

Execution

To run the streamlit page, run this cmd from the main repo level:

streamlit run optionsviz/app.py

Then navigate in a browser to:

http://localhost:8501/

The app selects port 8501 by default, but can be controlled by including the flag: --server.port, e.g. to run on a specified port, use:

streamlit run optionsviz/app.py --server.port 5555

Make sure you are forwarding the correct ports if running remotely