/awesome-quant

A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)

awesome-quant

A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)

Languages

##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

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

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

Risk Analysis

  • pyfolio - Portfolio and risk analytics in Python
  • qrisk - Common financial risk and performance metrics
  • 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

Calendars

Data Sources

  • 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-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

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.

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
  • 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

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

Risk Analysis

Time Series

Calendars

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

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

Haskell

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

Scala

Frameworks

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.