All Projects → SimFin → Simfin Tutorials

SimFin / Simfin Tutorials

Licence: other
Tutorials for SimFin - Simple financial data for Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Simfin Tutorials

Ipyplot
IPyPlot is a small python package offering fast and efficient plotting of images inside Python Notebooks. It's using IPython with HTML for faster, richer and more interactive way of displaying big numbers of images.
Stars: ✭ 152 (+1.33%)
Mutual labels:  jupyter-notebook, notebook
Fetching Financial Data
Fetching financial data for technical & fundamental analysis and algorithmic trading from a variety of python packages and sources.
Stars: ✭ 137 (-8.67%)
Mutual labels:  jupyter-notebook, financial-data
Simplestockanalysispython
Stock Analysis Tutorial in Python
Stars: ✭ 126 (-16%)
Mutual labels:  jupyter-notebook, financial-data
Learning notebook
利用python进行财务分析
Stars: ✭ 101 (-32.67%)
Mutual labels:  jupyter-notebook, finance
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+1145.33%)
Mutual labels:  jupyter-notebook, notebook
Prml
PRML algorithms implemented in Python
Stars: ✭ 10,206 (+6704%)
Mutual labels:  jupyter-notebook, notebook
Fastdoc
Create publication-quality books from Jupyter notebooks
Stars: ✭ 134 (-10.67%)
Mutual labels:  jupyter-notebook, notebook
Starcraft2 Replay Analysis
A jupyter notebook that provides analysis for StarCraft 2 replays
Stars: ✭ 90 (-40%)
Mutual labels:  jupyter-notebook, notebook
Finrl Library
FinRL: Financial Reinforcement Learning Framework. Please star. 🔥
Stars: ✭ 3,037 (+1924.67%)
Mutual labels:  jupyter-notebook, finance
Python For Data Science
A blog for data analytics using data science technologies
Stars: ✭ 139 (-7.33%)
Mutual labels:  jupyter-notebook, finance
Spark Py Notebooks
Apache Spark & Python (pySpark) tutorials for Big Data Analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 1,338 (+792%)
Mutual labels:  jupyter-notebook, notebook
Sec Edgar Downloader
Download SEC filings from the EDGAR database using Python
Stars: ✭ 146 (-2.67%)
Mutual labels:  finance, financial-data
Python Thenotheoryguide
Jupyter NoteBooks to get you boosted with the basics of python with hands-on-practice.
Stars: ✭ 95 (-36.67%)
Mutual labels:  jupyter-notebook, notebook
Spark R Notebooks
R on Apache Spark (SparkR) tutorials for Big Data analysis and Machine Learning as IPython / Jupyter notebooks
Stars: ✭ 109 (-27.33%)
Mutual labels:  jupyter-notebook, notebook
Satellite imagery python
Sample sample scripts and notebooks on processing satellite imagery
Stars: ✭ 93 (-38%)
Mutual labels:  jupyter-notebook, notebook
Ipyexperiments
jupyter/ipython experiment containers for GPU and general RAM re-use
Stars: ✭ 128 (-14.67%)
Mutual labels:  jupyter-notebook, notebook
Nbconflux
nbconflux converts Jupyter Notebooks to Atlassian Confluence pages
Stars: ✭ 82 (-45.33%)
Mutual labels:  jupyter-notebook, notebook
Jupytemplate
Templates for jupyter notebooks
Stars: ✭ 85 (-43.33%)
Mutual labels:  jupyter-notebook, notebook
Image classifier
CNN image classifier implemented in Keras Notebook 🖼️.
Stars: ✭ 139 (-7.33%)
Mutual labels:  jupyter-notebook, notebook
Face generator
DCGAN face generator 🧑.
Stars: ✭ 146 (-2.67%)
Mutual labels:  jupyter-notebook, notebook

SimFin Tutorials

Original repository on GitHub

Introduction

SimFin is a database with financial data such as Income Statements, Balance Sheets and Cash Flow Statements, along with a simple Python API for downloading and using the data. These tutorials show how to use the SimFin API and data.

Videos

There is a video on YouTube with an overview of these tutorials, and another video on how to backtest and optimize a stock-screener based on Tutorial 7.

Tutorials

  1. Basics (Notebook) (Google Colab)
  2. Resampling (Notebook) (Google Colab)
  3. Growth & Returns (Notebook) (Google Colab)
  4. Signals (Notebook) (Google Colab)
  5. Data Hubs (Notebook) (Google Colab)
  6. Performance Tips (Notebook) (Google Colab)
  7. Stock Screener (Notebook) (Google Colab)
  8. Statistical Analysis (Notebook) (Google Colab)
  9. Machine Learning (Notebook) (Google Colab)
  10. Neural Networks (Notebook) (Google Colab)

There is also a collection of small recipes (Notebook) (Google Colab)

Downloading

If you want to run these tutorials on your own computer, then it is 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/simfin/simfin-tutorials.git

This creates the directory simfin-tutorials 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.

Installation

If you want to run these tutorials on your own computer, then it is best to use a virtual environment when installing the required packages, so you can easily delete the environment again. You write the following in a Linux terminal:

virtualenv simfin-env

Or you can use Anaconda instead of a virtualenv:

conda create --name simfin-env python=3

Then you switch to the virtual environment and install the required packages.

source activate simfin-env
pip install -r requirements.txt

When you are done working on the project you can deactivate the virtualenv:

source deactivate

How To Run

Once you have installed the required Python packages in a virtual environment, you run the following command from the simfin-tutorials directory to view and edit the Notebooks:

source activate simfin-env
jupyter notebook

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 tutorials listed above. You can view the Notebook on Colab but in order to run it you need to login using your Google account.

All the required Python packages should already be installed on Google Colab, except for simfin which you can install by executing the following command at the top of the Notebook:

!pip install simfin

If that is insufficient, then you can clone this entire GitHub repository to your Google Colab account, and execute the following commands at the top of the Notebook, to install all requirements:

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

# Install the required Python packages.
!pip install -r requirements.txt

Note that you will need to run this every time you login to Google Colab.

Testing

All the Notebooks can be run automatically and tested for errors. This is particularly useful for developers who are making changes to the simfin package, because it complements the unit-tests and data-tests with more realistic use-cases.

First you need to install nbval:

pip install nbval

Then you can execute all the Notebooks and test them for errors by running the following command from the directory where the Notebooks are located:

pytest --nbval-lax -v

Note that this will only test for errors and exceptions. It will not test whether the new output matches the old output found in the Notebooks, because the datasets are continually updated.

License (MIT)

This is published under the MIT License which allows very broad use for both academic and commercial purposes.

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

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].