All Projects → jasonstrimpel → Volatility Trading

jasonstrimpel / Volatility Trading

A complete set of volatility estimators based on Euan Sinclair's Volatility Trading

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Volatility Trading

Algotrader
Simple algorithmic stock and option trading for Node.js.
Stars: ✭ 468 (-13.01%)
Mutual labels:  trading, options
Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Stars: ✭ 5,675 (+954.83%)
Mutual labels:  options, trading
Go Robinhood
A golang library for interacting with the Robinhood private API
Stars: ✭ 48 (-91.08%)
Mutual labels:  trading, options
Tradingview Trainer
A lightweight app for practicing your trading on Tradingview
Stars: ✭ 106 (-80.3%)
Mutual labels:  trading, options
Trade Frame
c++ based application for testing options based automated trading ideas using DTN IQ real time data feed and Interactive Brokers (TWS API) for trade execution.
Stars: ✭ 187 (-65.24%)
Mutual labels:  trading, options
Turingtrader
The Open-Source Backtesting Engine/ Market Simulator by Bertram Solutions.
Stars: ✭ 132 (-75.46%)
Mutual labels:  trading, options
Optionsuite
Option and stock backtester / live trader
Stars: ✭ 58 (-89.22%)
Mutual labels:  trading, options
SierraChartZorroPlugin
A Zorro broker API plugin for Sierra Chart, written in Win32 C++.
Stars: ✭ 22 (-95.91%)
Mutual labels:  options, trading
Optopsy
A nimble options backtesting library for Python
Stars: ✭ 373 (-30.67%)
Mutual labels:  trading, options
Ta4j Origins
A Java library for technical analysis ***Not maintained anymore, kept for archival purposes, see #192***
Stars: ✭ 354 (-34.2%)
Mutual labels:  trading
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (-16.54%)
Mutual labels:  trading
Tribeca
A high frequency, market making cryptocurrency trading platform in node.js
Stars: ✭ 3,646 (+577.7%)
Mutual labels:  trading
Example Hftish
Example Order Book Imbalance Algorithm
Stars: ✭ 355 (-34.01%)
Mutual labels:  trading
Parity
Open source software platform for trading venues
Stars: ✭ 468 (-13.01%)
Mutual labels:  trading
Awesome Crypto Trading Bots
Awesome crypto trading bots
Stars: ✭ 337 (-37.36%)
Mutual labels:  trading
Bxbot
A simple Bitcoin trading bot written in Java.
Stars: ✭ 515 (-4.28%)
Mutual labels:  trading
Crypto Exchanges Gateway
Your gateway to the world of crypto !
Stars: ✭ 343 (-36.25%)
Mutual labels:  trading
Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (-37.73%)
Mutual labels:  trading
Gemini
Backtesting for sleepless cryptocurrency markets
Stars: ✭ 497 (-7.62%)
Mutual labels:  trading
Rqalpha
A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
Stars: ✭ 4,425 (+722.49%)
Mutual labels:  trading

volest

A complete set of volatility estimators based on Euan Sinclair's Volatility Trading.

http://www.amazon.com/gp/product/0470181990/tag=quantfinancea-20

The original version incorporated network data acquisition from Yahoo!Finance from pandas_datareader. Yahoo! changed their API and broke pandas_datareader.

The changes allow you to specify your own data so you're not tied into equity data from Yahoo! finance. If you're still using equity data, just download a CSV from finance.yahoo.com and use the data.yahoo_data_helper method to form the data properly.

Volatility estimators include:

  • Garman Klass
  • Hodges Tompkins
  • Parkinson
  • Rogers Satchell
  • Yang Zhang
  • Standard Deviation

Also includes

  • Skew
  • Kurtosis
  • Correlation

For each of the estimators, plot:

  • Probability cones
  • Rolling quantiles
  • Rolling extremes
  • Rolling descriptive statistics
  • Histogram
  • Comparison against arbirary comparable
  • Correlation against arbirary comparable
  • Regression against arbirary comparable

Create a term sheet with all the metrics printed to a PDF.

Page 1 - Volatility cones

Capture-1

Page 2 - Volatility rolling percentiles

Capture-2

Page 3 - Volatility rolling min and max

Capture-3

Page 4 - Volatility rolling mean, standard deviation and zscore

Capture-4

Page 5 - Volatility distribution

Capture-5

Page 6 - Volatility, benchmark volatility and ratio###

Capture-6

Page 7 - Volatility rolling correlation with benchmark

Capture-7

Page 3 - Volatility OLS results

Capture-8

Example usage:

import volest
import data

# data
symbol = 'JPM'
bench = '^GSPC'
data_file_path = '../JPM.csv'
bench_file_path = '../BENCH.csv'
estimator = 'GarmanKlass'


# estimator windows
window = 30
windows = [30, 60, 90, 120]
quantiles = [0.25, 0.75]
bins = 100
normed = True

# use the yahoo helper to correctly format data from finance.yahoo.com
jpm_price_data = data.yahoo_helper(symbol, data_file_path)
spx_price_data = data.yahoo_helper(bench, bench_file_path)

# initialize class
vol = volest.VolatilityEstimator(
    price_data=jpm_price_data,
    estimator=estimator,
    bench_data=spx_price_data
)

# call plt.show() on any of the below...
_, plt = vol.cones(windows=windows, quantiles=quantiles)
_, plt = vol.rolling_quantiles(window=window, quantiles=quantiles)
_, plt = vol.rolling_extremes(window=window)
_, plt = vol.rolling_descriptives(window=window)
_, plt = vol.histogram(window=window, bins=bins, normed=normed)

_, plt = vol.benchmark_compare(window=window)
_, plt = vol.benchmark_correlation(window=window)

# ... or create a pdf term sheet with all metrics in term-sheets/
vol.term_sheet(
    window,
    windows,
    quantiles,
    bins,
    normed
)

Hit me on twitter with comments, questions, issues @jasonstrimpel

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].