vsrikarunyan / FinanceOps

Research in investment finance with Python Notebooks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FinanceOps

Original repository on GitHub

Original author is Magnus Erik Hvass Pedersen

Introduction

This is a small collection of research papers on investing. They are written as Python Notebooks so they can easily be modified and run again.

Papers

  1. Forecasting Long-Term Stock Returns (Notebook) (Google Colab)

1-B. Better Long-Term Stock Forecasts (Notebook) (Google Colab)

1-C. Theory of Long-Term Stock Forecasting (Notebook) (Google Colab)

1-D. Testing the Stock Forecasting Model (Notebook) (Google Colab)

1-E. Forecasting U.S. Stock Indices (Notebook) (Google Colab)

1-F. Forecasting International Stock Indices (Notebook) (Google Colab)

1-G. Forecasting House Price Index (Notebook) (Google Colab)

  1. Comparing Stock Indices (Notebook) (Google Colab)

  2. Portfolio Optimization Using Signals (Notebook) (Google Colab)

  3. Multi-Objective Portfolio Optimization (Notebook) (Google Colab)

Videos

There is a YouTube video for each research paper.

Downloading

The Python Notebooks use source-code located in different files to allow for easy re-use across multiple Notebooks. It is therefore recommended that you download the whole repository from GitHub, instead of just downloading the individual Python Notebooks.

Git

The easiest way to download and install this is by using git from the command-line:

git clone https://github.com/Hvass-Labs/FinanceOps.git

This creates the directory FinanceOps and downloads all the files to it.

This also makes it easy to update the files, simply by executing this command inside that directory:

git pull

Zip-File

You can also download the contents of the GitHub repository as a Zip-file and extract it manually.

How To Run

If you want to edit and run the Notebooks on your own computer, then it is suggested that you use the Anaconda distribution of Python 3.6 (or later) because it has all the required packages already installed. Once you have installed Anaconda, you run the following command from the FinanceOps directory to view and edit the Notebooks:

jupyter notebook

If you want to edit the other source-code then you may use the free version of PyCharm.

Run in Google Colab

If you do not want to install anything on your own computer, then the Notebooks can be viewed, edited and run entirely on the internet by using Google Colab. You can click the "Google Colab"-link next to the research papers listed above. You can view the Notebook on Colab but in order to run it you need to login using your Google account. Then you need to execute the following commands at the top of the Notebook, which clones FinanceOps to your work-directory on Colab.

# Clone the repository from GitHub to Google Colab's temporary drive.
import os
work_dir = "/content/FinanceOps/"
if not os.path.exists(work_dir):
    !git clone https://github.com/Hvass-Labs/FinanceOps.git
os.chdir(work_dir)

Data Sources

  • Price data from Yahoo Finance.
  • Financial data for individual stocks collected manually by the author from the 10-K Forms filed with the U.S. SEC.
  • Newer S&P 500 data from the S&P Earnings & Estimates Report and older data from the research staff at S&P and Compustat (some older data is approximated by their research staff).
  • Financial data for Exchange Traded Funds (ETF) from Morningstar Direct.
  • U.S. Government Bond yield for 1-year constant maturity. From the U.S. Federal Reserve.
  • The inflation index is: All Items Consumer Price Index for All Urban Consumers (CPI-U), U.S. City Average. From the US Department of Labor, Bureau of Labor Statistics.

License (MIT)

These Python Notebooks and source-code are published under the MIT License which allows very broad use for both academic and commercial purposes.

You are very welcome to modify and use the source-code in your own project. Please keep a link to the original repository.

The financial data is not covered by the MIT license and may have limitations on commercial redistribution, etc.

About

Research in investment finance with Python Notebooks

License:MIT License


Languages

Language:Jupyter Notebook 99.6%Language:Python 0.4%