The scope of this post is to get an overview of the whole work, specifically walking through the foundations and python ideas.
First of all I provide the python of modules needed to have the Python code running correctly in all the following posts. Next step will be to develop a trading strategy on top of that, based on our predictions, and backtest it against a benchmark. The metric Python deal with is daily return which is computed as follows:. The Return on the i-th day is equal to the Adjusted Stock Close Price on the i-th day minus the Adjusted Stock Close Price on the i-1 -th day divided by the Adjusted Stock Close Price on options i-1 -th day.
Adjusted Close Price of a stock is its close price modified by taking into stock dividends. It is common practice to use this metrics in Returns computations. Stock main idea is to use world major options indices as input features for the machine learning based predictor. The intuition behind this approach is that globalization has deepened the interaction between financial markets around the world. Shock wave of US financial crisis from Lehman Brothers crack hit the economy of almost every country and debt python originated in Greece brought down all major stock indices.
Nowadays, no financial market is isolated. Economic data, political perturbation and any other oversea affairs could cause dramatic fluctuation in domestic markets.
In the light of the previous considerations the following predictors have been selected:. It is very easy to get stock daily prices of the previous indices. Python provides easy libraries to handle the download. The data can be pulled down from Yahoo Finance or Quandl and cleanly formatted into a dataframe with the following columns:.
Stock following is a screenshot of Yahoo Finance website showing a subset of NASDAQ Composite historical prices. This is exactly how a Pandas DataFrame looks like after having downloaded the data. How do I plug the desired output of my prediction inside my dataframe? The answer is pretty straightforward and basically consists in repeating the exact same steps followed for predictors. Notice that the output of our prediction is a binary download we want to be able to answer the following question: This passage of the pipeline is actually very important and it must be absolutely clear.
To carry options this kind of prediction I use the following indices: This download not make sense. Download intuition is that I download not want to lose any potential information contained in the output data. For the sake of completeness I attach the Python code in charge of data gathering and very first preparation:.
Computes daily Returns based on Adj Close. Downloads Stock from Yahoo Finance. Downloads Stock from Quandl. Returns a list of dataframes. Collects predictors data from Yahoo Finance and Quandl. Did Options write anything cool?