Complete List of Libraries, Packages and Resources for Quants
Table of Contents
- Python
- R
- Matlab
- Julia
- Java
- JavaScript
- Haskell
- Scala
- Ruby
- Elixir/Erlang
- CSharp
- Frameworks
- Reproducing Works [repositories that reproduce books and research papers]
- 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
- trading_calendars – Stock Exchange Trading Calendars.
- bizdays – Business days calculations and utilities.
- pandas_market_calendars – Exchange calendars to use with pandas for trading applications.
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
- PerformanceAnalytics – Econometric tools for performance and 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
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
- QUANTAXIS_Webkit an awesome visualization center based on quantaxis.
Haskell
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
- QuantLib – The QuantLib project is aimed at providing a comprehensive software framework for quantitative finance.
- JQuantLib – Java port.
- RQuantLib – R port.
- QuantLibAddin – Excel support.
- QuantLibXL – Excel support.
- QLNet – .Net port.
- PyQL – Python port.
- QuantLib.jl – Julia port.
- TA-Lib – perform technical analysis of financial market data.
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