An awesome README template to jumpstart your projects!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
The VIX index is a forward indicator of the expected volatility of the S&P500. It moves rapidly and has continuous daily changes. It is called the "fear index". Our group applied Machine Learning and Time Series analysis to find a solution to predicting the VIX.
Through different techniques and models (AdaBoost, Neural Network, technical analysis, Facebook Prophet, Garch) we found three distinct models with more than 50% accuracy. These distinct models, techniques (PCA, Random Oversampler, Standard Scaler, Feature Selection, time series analysis, etc.) and strategies can be used to cater to wide variety of fintech customers. We use yfinance apis, google trends, economic and financial indicators to create features used in the Machine Learning models.
Our ML Model Architecture is:
This section should list any major frameworks that you built your project using. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
Below are examples of the necessary imports to run the code
import pandas as pd
from pathlib import Path
import tensorflow as tf
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler,OneHotEncoder, MinMaxScaler
from sklearn.metrics import classification_report
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
import datetime
import numpy as np
import yfinance as yf
from datetime import datetime
from pandas.tseries.offsets import DateOffset
import hvplot
import hvplot.pandas
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from vix_functions import garch_fit_and_predict, correlation_filter, retrieve_yahoo_close, retrieve_yahoo_volume
from imblearn.over_sampling import RandomOverSampler
from sklearn.metrics import accuracy_score
from sklearn.metrics import f1_score
from sklearn.metrics import recall_score
***To load all the necessary tools and files, please refer to the requirements.txt file
- cd to the directory where requirements.txt is located.
- activate your virtualenv.
- run: pip install -r requirements.txt in your shell.
- vix_adaboost_model.ipynb
- vix_predictor_finta.ipynb
- vix_predictor_prophet.ipynb
- vix_neural_neural_network_model.ipynb
Below are images and examples of the model implementation to find the accuracy.
We are able to achieve 58% accuracy with the final AdaBoost Model. We plan to use this model for our high end hedge fund customers. This model has showen a ROI of 250x
We can see that our model is predicting very less negative returns as compared to the actual negative volatility.
We get 22 features that contribute to the model. These are varied from Garch variables, treasuries, international exposure, global commodities, futures, squared returns, AAPL and the Friday effect.
We see that this model exhibits 250x ROI
The AdaBoost models that uses only Technical Indicators such as simple moving averages and bollinger bands. This model shows a ROI of 42X.
This models shows an accuracy of 55%
Prophet analysis shows that volatilty dips on Friday and spikes on Monday. This shows a potential to make money by buying VIX on Friday and Selling it on Monday.
The ROI based on this basic strategy is 28x.
We are planning to release an MVP for our early adopters.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- Paola Carvajal - @Github - paola.antonieta@gmail.com
- Sangram Singh - @Github - sangramsinghg@yahoo.com
- Ahmed Mohamed - @Github - ahmedelkarar9@gmail.com
- Doreen Ngo - @Github - doreen.sngo@gmail.com
Below is a link to the presentation slide to our project: