A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)
Languages
Python
R
Matlab
Julia
Java
JavaScript
Haskell
Scala
Ruby
CSharp
Frameworks - frameworks that support different languages
Reproducing Works - repositories that reproduce books and papers results or implement examples
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
PyQL - QuantLib's Python port
pyfin - Basic options pricing in Python
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
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_talib - A Python Pandas implementation of technical analysis indicators
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
Risk Analysis
pyfolio - Portfolio and risk analytics in Python
qrisk - 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
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
tradingcalendar - Stock Exchange Trading Calendar
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 https://developer.yahoo.com/yql/console/ python API. 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 Inquirim.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.
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.
TSdbi - Provides a common interface to time series databases.
tseries - Time Series Analysis and Computational Finance.
its - Irregular time series.
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
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
stockPortfolio - Build stock models and analyze stock portfolios
financial - Time value of money, cash flows and other financial functions.
sde - Simulation and Inference for Stochastic Differential Equations
termstrc - Zero-coupon Yield Curve Estimation
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
opefimor - Option Pricing and Estimation of Financial Models in R
maRketSim - Market simulator for R
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
binary_options - predicting stock direction for binary option trading
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
Calendars
RQuantLib
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
JQuantLib - JQuantLib is a free, open-source, comprehensive framework for quantitative finance, written in 100% Java.
finmat.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_Visualziation an awesome visualization center based on quantaxis
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.
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.