Complete List of Libraries, Packages and Resources for Quants

Table of Contents

  1. Python
  2. R
  3. Matlab
  4. Julia
  5. Java
  6. JavaScript
  7. Haskell
  8. Scala
  9. Ruby
  10. Elixir/Erlang
  11. CSharp
  12. Frameworks 
  13. Reproducing Works [repositories that reproduce books and research papers]
  14. Free Software for Time Series Analysis

Python

Numerical Libraries & Data Structures

  • numpy – NumPy is the fundamental package for scientific computing with Python.
  • scipy – SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • pandas – pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
  • quantdsl – Domain specific language for quantitative analytics in finance and trading.
  • statistics – Builtin Python library for all basic statistical calculations.
  • sympy – SymPy is a Python library for symbolic mathematics.
  • pymc3 – Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano.

Financial Instruments and Pricing

  • PyQL – QuantLib’s Python port.
  • pyfin – Basic options pricing in Python. [ARCHIVED]
  • vollib – vollib is a python library for calculating option prices, implied volatility and greeks.
  • QuantPy – A framework for quantitative finance In python.
  • Finance-Python – Python tools for Finance.
  • ffn – A financial function library for Python.
  • pynance – PyNance is open-source software for retrieving, analysing and visualizing data from stock and derivatives markets.
  • tia – Toolkit for integration and analysis.
  • hasura/base-python-dash – Hasura quickstart to deploy Dash framework. Written on top of Flask, Plotly.js, and React.js, Dash is ideal for building data visualization apps with highly custom user interfaces in pure Python.
  • hasura/base-python-bokeh – Hasura quickstart to visualize data with bokeh library.
  • pysabr – SABR model Python implementation.

Indicators

  • pandas_talib – A Python Pandas implementation of technical analysis indicators.
  • Tulipy – Financial Technical Analysis Indicator Library (Python bindings for tulipindicators)

Trading & Backtesting

  • TA-Lib – perform technical analysis of financial market data.
  • trade – trade is a Python framework for the development of financial applications.
  • zipline – Pythonic algorithmic trading library.
  • QuantSoftware Toolkit – Python-based open source software framework designed to support portfolio construction and management.
  • quantitative – Quantitative finance, and backtesting library.
  • analyzer – Python framework for real-time financial and backtesting trading strategies.
  • bt – Flexible Backtesting for Python.
  • backtrader – Python Backtesting library for trading strategies.
  • pythalesians – Python library to backtest trading strategies, plot charts, seamlessly download market data, analyse market patterns etc.
  • pybacktest – Vectorized backtesting framework in Python / pandas, designed to make your backtesting easier.
  • pyalgotrade – Python Algorithmic Trading Library.
  • tradingWithPython – A collection of functions and classes for Quantitative trading.
  • pandas-ta – An easy to use Python 3 Pandas Extension with 80+Technical Analysis Indicators
  • ta – Technical Analysis Library using Pandas (Python)
  • algobroker – This is an execution engine for algo trading.
  • pysentosa – Python API for sentosa trading system.
  • finmarketpy – Python library for backtesting trading strategies and analyzing financial markets.
  • binary-martingale – Computer program to automatically trade binary options martingale style.
  • fooltrader – the project using big-data technology to provide an uniform way to analyze the whole market.
  • zvt – the project using sql,pandas to provide an uniform and extendable way to record data,computing factors,select securites, backtesting,realtime trading and it could show all of them in clearly charts in realtime.
  • pylivetrader – zipline-compatible live trading library.
  • pipeline-live – zipline’s pipeline capability with IEX for live trading.
  • zipline-extensions – Zipline extensions and adapters for QuantRocket.
  • moonshot – Vectorized backtester and trading engine for QuantRocket based on Pandas.
  • PyPortfolioOpt – Financial portfolio optimisation in python, including classical efficient frontier and advanced methods.
  • riskparity.py – fast and scalable design of risk parity portfolios with TensorFlow 2.0
  • mlfinlab – Implementations regarding “Advances in Financial Machine Learning” by Marcos Lopez de Prado. (Feature Engineering, Financial Data Structures, Meta-Labeling)
  • pyqstrat – A fast, extensible, transparent python library for backtesting quantitative strategies.
  • NowTrade – Python library for backtesting technical/mechanical strategies in the stock and currency markets.
  • pinkfish – A backtester and spreadsheet library for security analysis.
  • aat – Async Algorithmic Trading Engine
  • Backtesting.py – Backtest trading strategies in Python
  • catalyst – An Algorithmic Trading Library for Crypto-Assets in Python
  • quantstats – Portfolio analytics for quants, written in Python
  • qtpylib – QTPyLib, Pythonic Algorithmic Trading http://qtpylib.io
  • Quantdom – Python-based framework for backtesting trading strategies & analyzing financial markets [GUI]
  • freqtrade – Free, open source crypto trading bot

Risk Analysis

  • pyfolio – Portfolio and risk analytics in Python.
  • empyrical – Common financial risk and performance metrics.
  • fecon235 – Computational tools for financial economics include: Gaussian Mixture model of leptokurtotic risk, adaptive Boltzmann portfolios.
  • finance – Financial Risk Calculations. Optimized for ease of use through class construction and operator overload.
  • qfrm – Quantitative Financial Risk Management: awesome OOP tools for measuring, managing and visualizing risk of financial instruments and portfolios.
  • visualize-wealth – Portfolio construction and quantitative analysis.
  • VisualPortfolio – This tool is used to visualize the perfomance of a portfolio.

Factor Analysis

  • alphalens – Performance analysis of predictive alpha factors.

Time Series

  • ARCH – ARCH models in Python.
  • statsmodels – Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
  • dynts – Python package for timeseries analysis and manipulation.
  • PyFlux – Python library for timeseries modelling and inference (frequentist and Bayesian) on models.
  • tsfresh – Automatic extraction of relevant features from time series.
  • hasura/quandl-metabase – Hasura quickstart to visualize Quandl’s timeseries datasets with Metabase.

Calendars

Data Sources

  • findatapy – Python library to download market data via Bloomberg, Quandl, Yahoo etc.
  • googlefinance – Python module to get real-time stock data from Google Finance API.
  • yahoo-finance – Python module to get stock data from Yahoo! Finance.
  • pandas-datareader – Python module to get data from various sources (Google Finance, Yahoo Finance, FRED, OECD, Fama/French, World Bank, Eurostat…) into Pandas datastructures such as DataFrame, Panel with a caching mechanism.
  • pandas-finance – High level API for access to and analysis of financial data.
  • pyhoofinance – Rapidly queries Yahoo Finance for multiple tickers and returns typed data for analysis.
  • yfinanceapi – Finance API for Python.
  • yql-finance – yql-finance is simple and fast. API returns stock closing prices for current period of time and current stock ticker (i.e. APPL, GOOGL).
  • ystockquote – Retrieve stock quote data from Yahoo Finance.
  • wallstreet – Real time stock and option data.
  • stock_extractor – General Purpose Stock Extractors from Online Resources.
  • Stockex – Python wrapper for Yahoo! Finance API.
  • finsymbols – Obtains stock symbols and relating information for SP500, AMEX, NYSE, and NASDAQ.
  • FRB – Python Client for FRED® API.
  • inquisitor – Python Interface to Econdb.com API.
  • yfi – Yahoo! YQL library.
  • chinesestockapi – Python API to get Chinese stock price.
  • exchange – Get current exchange rate.
  • ticks – Simple command line tool to get stock ticker data.
  • pybbg – Python interface to Bloomberg COM APIs.
  • ccy – Python module for currencies.
  • tushare – A utility for crawling historical and Real-time Quotes data of China stocks.
  • jsm – Get the japanese stock market data.
  • cn_stock_src – Utility for retrieving basic China stock data from different sources.
  • coinmarketcap – Python API for coinmarketcap.
  • after-hours – Obtain pre market and after hours stock prices for a given symbol.
  • bronto-python – Bronto API Integration for Python.
  • pytdx – Python Interface for retrieving chinese stock realtime quote data from TongDaXin Nodes.
  • pdblp – A simple interface to integrate pandas and the Bloomberg Open API.
  • tiingo – Python interface for daily composite prices/OHLC/Volume + Real-time News Feeds, powered by the Tiingo Data Platform.
  • IEX – Python Interface for retrieving real-time and historical prices and equities data from The Investor’s Exchange.
  • alpaca-trade-api – Python interface for retrieving real-time and historical prices from Alpaca API as well as trade execution.
  • metatrader5 – API Connector to MetaTrader 5 Terminal
  • akshare – AkShare is an elegant and simple financial data interface library for Python, built for human beings! https://akshare.readthedocs.io
  • yahooquery – Python interface for retrieving data through unofficial Yahoo Finance API.

Excel Integration

  • xlwings – Make Excel fly with Python.
  • openpyxl – Read/Write Excel 2007 xlsx/xlsm files.
  • xlrd – Library for developers to extract data from Microsoft Excel spreadsheet files.
  • xlsxwriter – Write files in the Excel 2007+ XLSX file format.
  • xlwt – Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform.
  • DataNitro – DataNitro also offers full-featured Python-Excel integration, including UDFs. Trial downloads are available, but users must purchase a license.
  • xlloop – XLLoop is an open source framework for implementing Excel user-defined functions (UDFs) on a centralised server (a function server).
  • expy – The ExPy add-in allows easy use of Python directly from within an Microsoft Excel spreadsheet, both to execute arbitrary code and to define new Excel functions.
  • pyxll – PyXLL is an Excel add-in that enables you to extend Excel using nothing but Python code.

R

Numerical Libraries & Data Structures

  • xts – eXtensible Time Series: Provide for uniform handling of R’s different time-based data classes by extending zoo, maximizing native format information preservation and allowing for user level customization and extension, while simplifying cross-class interoperability.
  • data.table – Extension of data.frame: Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns and a fast file reader (fread). Offers a natural and flexible syntax, for faster development.
  • sparseEigen – Sparse pricipal component analysis.
  • TSdbi – Provides a common interface to time series databases.
  • tseries – Time Series Analysis and Computational Finance.
  • zoo – S3 Infrastructure for Regular and Irregular Time Series (Z’s Ordered Observations).
  • tis – Functions and S3 classes for time indexes and time indexed series, which are compatible with FAME frequencies.
  • tfplot – Utilities for simple manipulation and quick plotting of time series data.
  • tframe – A kernel of functions for programming time series methods in a way that is relatively independently of the representation of time.

Data Sources

  • IBrokers – Provides native R access to Interactive Brokers Trader Workstation API.
  • Rblpapi – An R Interface to ‘Bloomberg’ is provided via the ‘Blp API’.
  • Quandl – Get Financial Data Directly Into R.
  • Rbitcoin – Unified markets API interface (bitstamp, kraken, btce, bitmarket).
  • GetTDData – Downloads and aggregates data for Brazilian government issued bonds directly from the website of Tesouro Direto.
  • GetHFData – Downloads and aggregates high frequency trading data for Brazilian instruments directly from Bovespa ftp site.

Financial Instruments and Pricing

  • RQuantLib – RQuantLib connects GNU R with QuantLib.
  • quantmod – Quantitative Financial Modelling Framework.
  • Rmetrics – The premier open source software solution for teaching and training quantitative finance.
    • fAsianOptions – EBM and Asian Option Valuation.
    • fAssets – Analysing and Modelling Financial Assets.
    • fBasics – Markets and Basic Statistics.
    • fBonds – Bonds and Interest Rate Models.
    • fExoticOptions – Exotic Option Valuation.
    • fOptions – Pricing and Evaluating Basic Options.
    • fPortfolio – Portfolio Selection and Optimization.
  • portfolio – Analysing equity portfolios.
  • portfolioSim – Framework for simulating equity portfolio strategies.
  • sparseIndexTracking – Portfolio design to track an index.
  • covFactorModel – Covariance matrix estimation via factor models.
  • riskParityPortfolio – Blazingly fast design of risk parity portfolios.
  • sde – Simulation and Inference for Stochastic Differential Equations.
  • YieldCurve – Modelling and estimation of the yield curve.
  • SmithWilsonYieldCurve – Constructs a yield curve by the Smith-Wilson method from a table of LIBOR and SWAP rates.
  • ycinterextra – Yield curve or zero-coupon prices interpolation and extrapolation.
  • AmericanCallOpt – This package includes pricing function for selected American call options with underlying assets that generate payouts.
  • VarSwapPrice – Pricing a variance swap on an equity index.
  • RND – Risk Neutral Density Extraction Package.
  • LSMonteCarlo – American options pricing with Least Squares Monte Carlo method.
  • OptHedging – Estimation of value and hedging strategy of call and put options.
  • tvm – Time Value of Money Functions.
  • OptionPricing – Option Pricing with Efficient Simulation Algorithms.
  • credule – Credit Default Swap Functions.
  • derivmkts – Functions and R Code to Accompany Derivatives Markets.
  • FinCal – Package for time value of money calculation, time series analysis and computational finance.
  • r-quant – R code for quantitative analysis in finance.
  • options.studies – options trading studies functions for use with options.data package and shiny.

Trading

  • TA-Lib – perform technical analysis of financial market data.
  • backtest – Exploring Portfolio-Based Conjectures About Financial Instruments.
  • pa – Performance Attribution for Equity Portfolios.
  • TTR – Technical Trading Rules.
  • QuantTools – Enhanced Quantitative Trading Modelling.

Risk Analysis

Time Series

  • tseries – Time Series Analysis and Computational Finance.
  • zoo – S3 Infrastructure for Regular and Irregular Time Series (Z’s Ordered Observations).
  • xts – eXtensible Time Series.
  • fGarch – Rmetrics – Autoregressive Conditional Heteroskedastic Modelling.
  • timeSeries – Rmetrics – Financial Time Series Objects.
  • rugarch – Univariate GARCH Models.
  • rmgarch – Multivariate GARCH Models.
  • tidypredict – Run predictions inside the database https://tidypredict.netlify.com/.
  • tidyquant – Bringing financial analysis to the tidyverse.
  • timetk – A toolkit for working with time series in R.
  • tibbletime – Built on top of the tidyverse, tibbletime is an extension that allows for the creation of time aware tibbles through the setting of a time index.

Calendars

  • timeDate – Chronological and Calendar Objects
  • bizdays – Business days calculations and utilities

Matlab

FrameWorks

  • QUANTAXIS – Integrated Quantitative Toolbox with Matlab.

Julia

  • QuantLib.jl – Quantlib implementation in pure Julia.
  • FinancialMarkets.jl – Describe and model financial markets objects using Julia.
  • Ito.jl – A Julia package for quantitative finance.
  • TALib.jl – A Julia wrapper for TA-Lib.
  • Miletus.jl – A financial contract definition, modeling language, and valuation framework.
  • Temporal.jl – Flexible and efficient time series class & methods.
  • Indicators.jl – Financial market technical analysis & indicators on top of Temporal.
  • Strategems.jl – Quantitative systematic trading strategy development and backtesting.
  • TimeSeries.jl – Time series toolkit for Julia.
  • MarketTechnicals.jl – Technical analysis of financial time series on top of TimeSeries.
  • MarketData.jl – Time series market data.
  • TimeFrames.jl – A Julia library that defines TimeFrame (essentially for resampling TimeSeries).

Java

  • Strata – Modern open-source analytics and market risk library designed and written in Java.
  • JQuantLib – JQuantLib is a free, open-source, comprehensive framework for quantitative finance, written in 100% Java.
  • finmath.net – Java library with algorithms and methodologies related to mathematical finance.
  • quantcomponents – Free Java components for Quantitative Finance and Algorithmic Trading.
  • DRIP – Fixed Income, Asset Allocation, Transaction Cost Analysis, XVA Metrics Libraries.

JavaScript

Data Visualization

Haskell

  • quantfin – quant finance in pure haskell.
  • hqfl – Haskell Quantitative Finance Library.

Scala

  • QuantScale – Scala Quantitative Finance Library.
  • Scala Quant Scala library for working with stock data from IFTTT recipes or Google Finance.

Ruby

  • Jiji – Open Source Forex algorithmic trading framework using OANDA REST API.

Elixir/Erlang

  • Tai – Open Source composable, real time, market data and trade execution toolkit.
  • Workbench – From Idea to Execution – Manage your trading operation across a globally distributed cluster

Frameworks

CSharp

  • QuantConnect – Lean Engine is an open-source fully managed C# algorithmic trading engine built for desktop and cloud usage.

Reproducing Works

  • Derman Papers – Notebooks that replicate original quantitative finance papers from Emanuel Derman.
  • volatility-trading – A complete set of volatility estimators based on Euan Sinclair’s Volatility Trading.
  • quant – Quantitative Finance and Algorithmic Trading exhaust; mostly ipython notebooks based on Quantopian, Zipline, or Pandas.
  • fecon235 – Open source project for software tools in financial economics. Many jupyter notebook to verify theoretical ideas and practical methods interactively.
  • Quantitative-Notebooks – Educational notebooks on quantitative finance, algorithmic trading, financial modelling and investment strategy

Free Software