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 – Built-in 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, analyzing 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, analyze 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 sqlpandas 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 optimization 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 performance 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 data structures 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 real-time 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 centralized 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 principal 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 – Analyzing 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 – Analyzing 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