基于不同编程语言的量化框架与其Github仓库¶
本列表由LLMQuant社区整理, 个精心整理、极其优秀的量化(定量金融)相关库、包及资源列表, 只供学习交流使用, 版权归原作者所有。
语言¶
- Python - 最流行的量化金融语言,拥有丰富的数据分析、机器学习库和金融工具包
- R - 统计分析的首选语言,在金融建模和风险分析方面有独特优势
- Matlab - 在金融工程和数值计算领域广泛使用,尤其适合矩阵运算
- Julia - 专为高性能数值计算设计的新兴语言,在量化金融中逐渐流行
- Java - 企业级应用的标准选择,适合构建大规模交易系统
- JavaScript - 主要用于金融数据可视化和Web端交易界面开发
- Haskell - 函数式编程语言,在复杂金融产品建模方面具有优势
- Scala - 结合了面向对象和函数式编程,适合构建高并发交易系统
- Ruby - 以简洁著称,主要用于快速开发原型和小型交易系统
- Elixir/Erlang - 在构建容错和分布式交易系统方面表现出色
- Golang - 以高性能和并发特性著称,适合开发高频交易系统
- CPP - 最适合开发低延迟交易系统的语言,广泛应用于高频交易
- CSharp - 微软技术栈的首选,在Windows平台上开发量化交易系统的理想选择
- Rust - 新一代系统编程语言,在保证性能的同时提供内存安全保证
- Frameworks - 跨语言的量化金融框架,提供完整的交易和分析解决方案
- 再现研究成果、培训与书籍 - 学习资源和经典研究的代码实现
选择建议¶
- 入门学习
- Python:最佳入门选择,学习资源丰富,生态系统完善
-
R:适合想专注于统计分析和风险建模的学习者
-
专业开发
- C++:追求极致性能的高频交易系统
- Java:企业级交易平台开发
-
Golang:现代高并发交易系统
-
特定场景
- Julia:需要高性能数值计算
- JavaScript:开发Web交易界面
-
Rust:需要兼顾性能和安全性
-
研究导向
- Python/R:数据分析和策略研究
- Matlab:金融工程研究
- Julia:算法优化研究
技术栈趋势¶
- Python生态持续主导量化金融领域
- Julia在高性能计算领域崭露头角
- Rust在系统级开发中逐渐替代C++
- Go语言在微服务架构中应用增多
Python¶
数值库与数据结构¶
- numpy - NumPy 是 Python 科学计算的基础包。
- scipy - SciPy(发音类似"Sigh Pie")是基于 Python 的开源数学、科学和工程生态系统。
- pandas - pandas 是一个开源的、BSD 许可的库,为 Python 提供高性能、易于使用的数据结构和数据分析工具。
- polars - Polars 是一个用于操作结构化数据的超快 DataFrame 库。
- quantdsl - 面向金融和交易的定量分析领域专用语言。
- statistics - Python 内置的基础统计计算库。
- sympy - SymPy 是一个 Python 符号数学库。
- pymc3 - Python 中的概率编程:基于 Theano 的贝叶斯建模和概率机器学习。
- modelx - 将电子表格重新想象为与 pandas 互操作的基于公式的对象。
- ArcticDB - 面向时间序列和报价数据的高性能数据存储。
金融工具与定价¶
- OpenBB Terminal - 人人可用的投资研究终端。
- Fincept Terminal - 基于高级数据与 AI 的金融资产研究终端。
- PyQL - QuantLib 的 Python 移植版本。
- pyfin - Python 中的基础期权定价。存档项目
- vollib - 计算期权价格、隐含波动率和希腊值的 Python 库。
- QuantPy - Python 中的定量金融框架。
- Finance-Python - Python 金融工具集。
- ffn - 金融函数库。
- pynance - 轻量级 Python 库,用于装配和分析金融数据。
- tia - 集成与分析的工具包。
- hasura/base-python-dash - Hasura 快速启动,用于部署 Dash 框架。Dash 基于 Flask、Plotly.js 和 React.js,非常适用于在纯 Python 中构建数据可视化应用。
- hasura/base-python-bokeh - Hasura 快速启动,用 bokeh 库可视化数据。
- pysabr - SABR 模型的 Python 实现。
- FinancePy - 专注于定价和风险管理金融衍生品(包括固定收益、股票、外汇和信用衍生品)的 Python 库。
- gs-quant - 高盛提供的定量金融 Python 工具箱。
- willowtree - 对衍生品定价使用柳树格 lattice 的 Python 实现。
- financial-engineering - 以 Python 进行金融工程项目的蒙特卡洛方法应用。
- optlib - 一款期权定价的 Python 库。
- tf-quant-finance - 基于 TensorFlow 的高性能量化金融库。
- Q-Fin - 针对数学金融的 Python 库。
- Quantsbin - 用于定价与绘制香草期权价格、希腊值等分析的工具集。
- finoptions - 完整实现 R 包 fOptions 以及部分 fExoticOptions 的 Python 库,定价各类期权。
- pypme - PME(Public Market Equivalent)的计算工具。
- AbsBox - Python 库,用于模拟资产支持证券(ABS)和抵押贷款支持证券(MBS)等结构化产品的现金流。
- Intrinsic-Value-Calculator - 基于贴现现金流(DCF)分析的股票内在价值计算器。
- Kelly-Criterion - 使用 Kelly 公式进行投资组合头寸规模控制的 Python 实现。
- rateslib - 用于定价债券、国债期货,以及诸如 IRS、跨货币和外汇互换等衍生品的固定收益库。
- fypy - 用于研究和开发的香草及奇异期权定价库。关注在 Black-Scholes 之外的模型定价,以及市场数据的校准。
指标¶
- pandas_talib - 基于 Pandas 实现的技术分析指标。
- finta - 常见金融技术分析指标的 Pandas 实现。
- Tulipy - 金融技术分析指标库(为 tulipindicators 提供 Python 封装)。
- lppls - 针对 Log-Periodic Power Law Singularity (LPPLS) 模型的 Python 拟合模块。
- talipp - 针对 Python 的增量式技术分析指标库。
- streaming_indicators - 用于在流数据上计算技术分析指标的 Python 库。
交易与回测¶
- skfolio - 基于 scikit-learn 的投资组合优化 Python 库,提供统一接口与兼容 sklearn 的工具来构建、调参和交叉验证投资组合模型。
- Investing algorithm framework - 用于开发、回测和部署自动化交易算法的框架。
- QSTrader - QSTrader 回测仿真引擎。
- Blankly - 完整集成回测、模拟交易及实时部署。
- TA-Lib - TA-Lib (http://ta-lib.org/) 的 Python 封装。
- zipline - Pythonic 的算法交易库。
- zipline-reloaded - Zipline 的衍生版本,一个 Pythonic 算法交易库。
- QuantSoftware Toolkit - 基于 Python 的开源软件框架,用于支持投资组合构建和管理。
- quantitative - 定量金融和回测库。
- analyzer - 面向实时金融和回测交易策略的 Python 框架。
- bt - 灵活的 Python 回测库。
- backtrader - Python 交易策略回测库。
- pythalesians - Python 库,用于回测交易策略、绘制图表、无缝下载市场数据、分析市场模式等。
- pybacktest - 基于 Python / pandas 的向量化回测框架,使回测更简单。
- pyalgotrade - Python 算法交易库。
- basana - 基于 Python 异步与事件驱动的算法交易框架,专注于加密货币。
- tradingWithPython - 一组用于量化交易的函数和类集合。
- Pandas TA - 拥有 115+ 指标的简易 Python 3 Pandas 扩展,用于构建自定义策略。
- ta - 使用 Pandas 的技术分析库 (Python)。
- algobroker - 一个执行引擎,用于算法交易。
- pysentosa - sentosa 交易系统的 Python API。
- finmarketpy - 用于回测交易策略和分析金融市场的 Python 库。
- binary-martingale - 自动二元期权交易的马丁格尔策略计算机程序。
- fooltrader - 使用大数据技术统一分析整个市场的项目。
- zvt - 使用 SQL、pandas 提供统一可扩展的方式来记录数据、计算因子、选股、回测、实时交易,并可实时清晰地可视化所有流程。
- pylivetrader - 兼容 zipline 的实时交易库。
- pipeline-live - 使用 IEX 数据进行实时交易的 zipline pipeline 功能。
- zipline-extensions - Zipline 在 QuantRocket 环境下的扩展与适配。
- moonshot - 基于 Pandas 的向量化回测与交易引擎,适配 QuantRocket。
- PyPortfolioOpt - Python 中的投资组合优化,包括传统有效前沿法与高级方法。
- Eiten - Tradytics 出品的开源工具包,包含各种投资组合算法(如最小方差组合、最大 Sharpe 比率组合、遗传算法组合等)。
- riskparity.py - 使用 TensorFlow 2.0 的快速、可扩展风险平价投资组合设计。
- mlfinlab - 实现 Marcos Lopez de Prado 所著《Advances in Financial Machine Learning》中的相关技术(特征工程、金融数据结构、元标签)。
- pyqstrat - 快速、可扩展、透明的 Python 定量策略回测库。
- NowTrade - 股票和外汇市场上用于回测技术/机械策略的 Python 库。
- pinkfish - 一个回测和电子表格库,用于证券分析。
- aat - 异步算法交易引擎。
- Backtesting.py - 使用 Python 回测交易策略。
- catalyst - 面向加密资产的 Python 算法交易库。
- quantstats - 面向量化研究的投资组合分析库(Python)。
- qtpylib - Pythonic 算法交易库 http://qtpylib.io。
- Quantdom - 基于 Python 的回测交易策略与市场分析框架 [带 GUI :neckbeard:]。
- freqtrade - 免费、开源的加密货币交易机器人。
- algorithmic-trading-with-python - 《Algorithmic Trading with Python》中的示例与资源。
- DeepDow - 使用深度学习进行投资组合优化。
- Qlib - 微软推出的面向 AI 的量化投资平台。涵盖数据处理、模型训练、回测等全流程,并支持 alpha 寻找、风险建模、投资组合优化、订单执行。
- machine-learning-for-trading - 《Machine Learning for Algorithmic Trading》相关代码与资源。
- AlphaPy - 自动化机器学习 [AutoML] 库,支持 Python、scikit-learn、Keras、XGBoost、LightGBM 和 CatBoost。
- jesse - 先进的加密货币交易机器人,采用 Python 编写。
- rqalpha - 可扩展、可替换的 Python 算法回测 & 交易框架,支持多种金融产品。
- FinRL-Library - 面向量化金融的深度强化学习库。NeurIPS 2020。
- bulbea - 基于深度学习的 Python 库,用于股票市场预测与建模。
- ib_nope - 基于 IBKR TWS 的 NOPE 策略自动化交易系统。
- OctoBot - 开源加密货币交易机器人,支持高频、套利、技术分析和社交化交易,并提供高级 Web 界面。
- bta-lib - 基于 Pandas 的技术分析库,用于回测与量化分析。
- Stock-Prediction-Models - 集成多种机器学习与深度学习的股票预测模型,并包含交易机器人和模拟。
- TuneTA - 通过距离相关度度量(distance correlation)来优化技术指标,与用户定义的目标特征(如次日收益)对齐。
- AutoTrader - 基于 Python 的自动化交易系统开发平台,包括回测、优化和实盘交易。
- fast-trade - 专注回测可移植性和性能的交易策略回测库。
- qf-lib - 提供高质量工具用于定量金融分析,涵盖交易策略、回测等功能。
- tda-api - 用于获取美股实时/历史行情及下单交易的 TDAmeritrade Python 客户端。
- vectorbt - 用于回测、算法交易与研究的强大工具包。
- Lean - QuantConnect 出品的开源 .NET/Mono/Python 算法交易引擎。
- fast-trade - 低代码回测库,基于 pandas 与技术指标。
- pysystemtrade - Robert Carver 开源的回测交易引擎,实现了其在《Systematic Trading》一书中阐述的策略框架,并在其博客上进一步拓展。
- pytrendseries - 检测时间序列趋势、回撤、固定窗口最大回撤及"水下"时间。
- PyLOB - Python 编写的高性能订单簿(Limit Order Book)。
- PyBroker - 将机器学习用于算法交易的 Python 框架。
- OctoBot Script - 一个创建加密货币策略的量化框架,支持回测、优化和实盘交易。
- hftbacktest - 高频交易与做市策略回测工具,可处理限价单、队列位置及延迟,使用逐笔交易与订单簿完整数据。
- vnpy - VeighNa 基于 Python 的开源量化交易系统开发框架。
- Intelligent Trading Bot - 基于机器学习和特征工程的自动交易信号生成与执行。
- fastquant - 只需三行代码即可在 Python 中轻松回测投资策略。
- nautilus_trader - 高性能事件驱动的回测与实盘算法交易平台。
- YABTE - Yet Another (Python) BackTesting Engine。
- Trading Strategy - TradingStrategy.ai 是一个去中心化金融 (DeFi) 研究、回测、实盘交易及投资管理框架。
- Hikyuu - 基于 Python/C++ 的开源高性能量化框架,提供完整的交易系统组件,便于组合和复用。
风险分析¶
- QuantLibRisks - 基于 QuantLib 的快速风险计算。
- XAD - 自动微分 (AAD) 库。
- pyfolio - 投资组合与风险分析。
- empyrical - 常见的金融风险与表现指标。
- fecon235 - 金融经济学方面的计算工具,包括混合高斯模型、Boltzmann 自适应投资组合等。
- finance - 金融风险计算,着重通过类与运算符重载提升易用性。
- qfrm - 定量金融风险管理:面向金融工具和投资组合的 OOP 风险测量、管理与可视化工具。
- visualize-wealth - 投资组合构建与定量分析。
- VisualPortfolio - 用于可视化投资组合表现的工具。
- universal-portfolios - 在线投资组合选择算法的集合。
- FinQuant - 投资组合管理、分析与优化的工具。
- Empyrial - 投资组合风险和表现分析,以及收益预测。
- risktools - 为原油和成品油交易场景提供风险工具,部分实现 R 的 PerformanceAnalytics。
- Riskfolio-Lib - Python 投资组合优化和量化资产配置库。
- empyrical-reloaded - 常见金融风险与表现指标的重制版(fork 自 empyrical)。
- pyfolio-reloaded - 投资组合与风险分析的重制版(fork 自 pyfolio)。
- fortitudo.tech - 使用 CVaR(条件风险价值)和熵池进行投资组合优化与压力测试的工具。
因子分析¶
- alphalens - 预测 alpha 因子的表现分析。
- alphalens-reloaded - 预测 (alpha) 股票因子的表现分析衍生版本。
- Spectre - GPU 加速的因子分析库与回测工具。
情感分析¶
- Asset News Sentiment Analyzer - 使用 GPT 模型进行金融资产和证券的新闻情感分析与报告生成。
量化研究环境¶
- Jupyter Quant - 一个 Docker 化的 Jupyter 量化研究环境,预装了 statsmodels、pymc、arch、py_vollib、zipline-reloaded、PyPortfolioOpt 等工具。
时间序列¶
- ARCH - Python 中的 ARCH 模型。
- statsmodels - Python 模块,用于数据探索、统计模型估计和统计检验。
- dynts - 时间序列分析与操作的 Python 包。
- PyFlux - 针对时序模型和推断(包括频率派与贝叶斯)的 Python 库。
- tsfresh - 自动从时间序列中提取相关特征。
- hasura/quandl-metabase - Hasura 快速启动项目,用 Metabase 可视化 Quandl 的时序数据集。
- Facebook Prophet - 针对具有多重季节性且线性或非线性增长的时间序列数据进行高质量预测的工具。
- tsmoothie - 矢量化的时间序列平滑和离群值检测 Python 库。
- pmdarima - 一个统计库,提供类似 R 语言 auto.arima 函数的 Python 版本。
- gluon-ts - 用于概率时间序列建模的 Python 工具。
- functime - 大规模时间序列机器学习库,基于 Polars 支持并行特征提取与面板数据的预测。
日历¶
- exchange_calendars - 证券交易所交易日历集合。
- bizdays - 工作日(交易日)计算与工具集。
- pandas_market_calendars - 与 pandas 集成的交易所日历,适用于量化交易应用。
数据源¶
- yfinance - Yahoo! Finance 市场数据下载器(比 Pandas Datareader 更快)。
- findatapy - 通过 Bloomberg、Quandl、Yahoo 等来源下载市场数据的 Python 库。
- googlefinance - 从 Google Finance API 获取实时股票数据的 Python 模块。
- yahoo-finance - 从 Yahoo! Finance 获取股票数据的 Python 模块。
- pandas-datareader - 将诸多数据源(Google/Yahoo/FRED/OECD/Fama-French/World Bank/Eurostat 等)的数据读入 Pandas 数据结构,并带有缓存机制。
- pandas-finance - 金融数据访问和分析的高级 API。
- pyhoofinance - 快速批量查询 Yahoo Finance 多只股票数据,并返回类型化数据以供分析。
- yfinanceapi - Yahoo! Finance API 的 Python 封装。
- yql-finance - 利用 YQL(Yahoo Query Language)快速获取股票收盘价。
- ystockquote - 从 Yahoo Finance 获取股票报价数据。
- wallstreet - 实时股票与期权数据。
- stock_extractor - 通用股票数据提取工具。
- Stockex - Yahoo! Finance API 的 Python 封装。
- finsymbols - 获取标普500、AMEX、NYSE、NASDAQ 的股票符号及相关信息。
- FRB - FRED® API 的 Python 客户端。
- inquisitor - 访问 Econdb.com API 的 Python 接口。
- yfi - YQL(Yahoo! Query Language)库。
- chinesestockapi - 获取中国股票价格数据的 Python API。
- exchange - 获取当前汇率。
- ticks - 命令行方式获取股票数据的小工具。
- pybbg - Bloomberg COM API 的 Python 接口。
- ccy - 货币相关 Python 模块。
- tushare - 获取中国股票历史和实时行情数据的工具。
- jsm - 获取日本股票市场数据。
- cn_stock_src - 从不同源获取中国股票基础数据的工具。
- coinmarketcap - CoinMarketCap 的 Python API。
- after-hours - 获取股票盘前盘后价格。
- bronto-python - Bronto API 的 Python 封装。
- pytdx - 通达信行情服务器的 Python 接口,用于获取中国股票实时行情。
- pdblp - 将 pandas 与 Bloomberg Open API 集成的简单接口。
- tiingo - 访问 Tiingo 数据平台(包括日线价格、实时新闻)的 Python 封装。
- iexfinance - 从 IEX 获取实时和历史股票及其他金融数据的 Python 接口。
- pyEX - 针对 IEX 的 Python 接口,提供对 pandas 的支持,并可获取流式数据、收费数据、财经数据以及技术指标。
- alpaca-trade-api - 从 Alpaca API 获取实时/历史价格数据以及执行交易的 Python 接口。
- metatrader5 - MetaTrader 5 终端的 API 连接器。
- akshare - AkShare 是一个优雅且简单的金融数据接口库,面向 Python 爱好者 https://akshare.readthedocs.io。
- yahooquery - 非官方的 Yahoo Finance Python 接口。
- investpy - 从 Investing.com 获取金融数据的 Python 工具!https://investpy.readthedocs.io/
- yliveticker - 通过 Yahoo Finance websocket 获取实时市场数据流。
- bbgbridge - 方便使用的 Bloomberg Desktop API Python 封装。
- alpha_vantage - Alpha Vantage API 的 Python 封装,用于获取金融数据。
- FinanceDataReader - 开源金融数据读取器,支持美国、韩国、日本、中国、越南等市场。
- pystlouisfed - 圣路易斯联邦储备银行 API(FRED、ALFRED、GeoFRED、FRASER)的 Python 客户端。
- python-bcb - 巴西央行 web 服务的 Python 接口。
- market-prices - 利用 exchange-calendars 的信息生成有意义的 OHLCV 数据集。
- tardis-python - Tardis.dev 高频加密货币市场数据的 Python 封装。
- lake-api - Crypto Lake 高频加密货币市场数据的 Python 封装。
- tessa - 用于快速获取金融资产价格(基于 yfinance 和 pycoingecko)并包含搜索和 Symbol 类。
- pandaSDMX - 实现 SDMX 2.1(ISO 17369:2013)的 Python 库,用于统计数据和元数据交换,广泛用于国家统计局、央行和国际组织。
- cif - Python 包,包含若干综合指标(composite indicators),可整合多个经济指标之间的多维关系。
- finagg - 提供多个免费金融 API 的 Python 实现,以及将历史数据聚合到 SQL 数据库的工具,还支持将聚合数据转化为适合分析或 AI/ML 的特征。
- FinanceDatabase - 一个含有 300,000+ 证券符号的数据库,包括股票、ETF、基金、指数、货币、加密货币和货币市场。
- Trading Strategy - 下载去中心化交易所和借贷协议(DeFi)的价格数据。
- datamule-python - 一个处理 SEC 数据的工具包,结合了 datamule 的端点。
Excel 集成¶
- xlwings - 让 Excel 与 Python 融合。
- openpyxl - 读写 Excel 2007 xlsx/xlsm 文件。
- xlrd - 用于从 Excel 文件中提取数据的 Python 库。
- xlsxwriter - 以 Excel 2007+ XLSX 格式写入文件。
- xlwt - 用于创建与 MS Excel 97/2000/XP/2003 XLS 文件兼容的电子表格。
- DataNitro - DataNitro 提供完整的 Python-Excel 集成功能,包括自定义函数(UDFs)。可下载试用,但需购买许可证。
- xlloop - 用于在集中式服务器(函数服务器)上实现 Excel 自定义函数(UDFs)的开源框架。
- expy - 允许在 Excel 电子表格中直接执行 Python 代码并定义新的 Excel 函数的插件。
- pyxll - 一个 Excel 插件,只需 Python 代码即可扩展 Excel 功能。
可视化¶
- D-Tale - 针对 pandas DataFrame 和 xarray Dataset 的可视化分析工具。
- mplfinance - 基于 matplotlib 的金融数据可视化与分析工具。
- finplot - 高性能、易用的金融可视化工具。
- finvizfinance - Finviz 数据分析的 Python 库。
- market-analy - 使用 market-prices 与 bqplot 进行交互式图表分析。
- QuantInvestStrats - Quantitative Investment Strategies (QIS) 的 Python 分析库,可用于金融数据可视化与回测报告。
R¶
数值库与数据结构¶
- xts - eXtensible Time Series:为 R 中的不同时间序列类提供统一的处理方式。
- data.table - data.frame 的扩展,能够对大规模数据进行快速聚合、快速有序连接,以及无需拷贝地对列进行增改删操作等。
- sparseEigen - 稀疏主成分分析。
- TSdbi - 提供对时间序列数据库的通用接口。
- tseries - 时间序列分析与计算金融。
- zoo - S3 结构的规则与不规则时间序列 (Z's Ordered Observations)。
- tis - 用于时间索引与时间索引序列的函数和 S3 类,兼容 FAME 频率。
- tfplot - 快速处理与绘制时间序列数据的工具。
- tframe - 用于时间序列方法编程的核心函数,可与各种时间序列表示形式相对独立。
数据源¶
- IBrokers - 通过 R 访问 Interactive Brokers TWS API。
- Rblpapi - R 接口,用于访问 Bloomberg API。
- Quandl - 将金融数据直接导入 R。
- Rbitcoin - 统一的加密货币交易所 API 接口(bitstamp、kraken、btce、bitmarket 等)。
- GetTDData - 从 Tesouro Direto 网站下载并聚合巴西政府债券数据。
- GetHFData - 从 Bovespa FTP 下载并聚合巴西金融产品的高频交易数据。
- Reddit WallstreetBets API - 通过 API 获取每天 r/wallstreetbets 论坛中最热门的 50 只股票及其情绪。
- td - 访问 twelvedata API,获取股票及(数字与常规)货币数据。
- rbcb - R 接口,用于访问巴西央行 web 服务。
- rb3 - 下载、解析巴西交易所(B3)数据的一系列函数。
- simfinapi - 使 R 中的数据轻松访问 SimFin。
- tidyfinance - 将原始金融数据转换为整洁(tidy)格式,包含日期转换、规模因子等,便于后续研究。
金融工具与定价¶
- RQuantLib - RQuantLib 将 GNU R 与 QuantLib 库相连接。
- quantmod - 定量金融建模框架。
- Rmetrics - Rmetrics 是定量金融教学与培训的领先开源解决方案。
- fAsianOptions - EBM 与亚洲期权估值。
- fAssets - 金融资产分析与建模。
- fBasics - 市场与基础统计。
- fBonds - 债券与利率模型。
- fExoticOptions - 奇异期权估值。
- fOptions - 基础期权定价与评估。
- fPortfolio - 投资组合选择与优化。
- portfolio - 股票投资组合分析。
- sparseIndexTracking - 跟踪指数的投资组合设计。
- covFactorModel - 通过因子模型估计协方差矩阵。
- riskParityPortfolio - 超快风险平价投资组合设计。
- sde - 随机微分方程的模拟与推断。
- YieldCurve - 利率曲线的建模与估计。
- SmithWilsonYieldCurve - 使用 Smith-Wilson 方法从 LIBOR 和 SWAP 利率构建收益曲线。
- ycinterextra - 对收益率曲线或零息债价格进行插值与外推。
- AmericanCallOpt - 针对产生红利的标的资产进行美式看涨期权定价。
- VarSwapPrice - 波动率互换(方差互换)的定价。
- RND - 以风险中性方式提取风险分布的工具包。
- LSMonteCarlo - 用最小二乘蒙特卡洛估计美式期权。
- OptHedging - 看涨/看跌期权的价值和对冲策略估计。
- tvm - 时间价值函数。
- OptionPricing - 期权定价与高效仿真算法。
- credule - 信用违约掉期(CDS)的相关函数。
- derivmkts - 《Derivatives Markets》相关函数和示例 R 代码。
- FinCal - 时间价值计算、时间序列分析与计算金融函数库。
- r-quant - R 中进行定量金融分析的示例代码。
- options.studies - 与
options.data
包和 shiny 一起使用的期权交易研究函数。 - PortfolioAnalytics - 投资组合分析与数值优化方法。
- fmbasics - 金融市场的基础构件。
- R-fixedincome - 针对固定收益产品的 R 工具。
交易¶
- backtest - 针对基于投资组合的假设进行探索。
- pa - 股票投资组合业绩归因。
- TTR - 技术交易规则。
- QuantTools - 增强的定量交易建模工具。
- blotter - 用于定义交易产品、交易、投资组合和账户的事务框架,支持多资产、多货币投资组合和模拟。
回测¶
- quantstrat - 面向交易系统构建和模拟的事务框架,支持多资产、多货币投资组合。
风险分析¶
- PerformanceAnalytics - 用于投资组合和风险分析的计量经济学工具。
因子分析¶
- FactorAnalytics - 针对主流三大类因子模型(基本面因子、时间序列因子、统计因子),以及组合构建、优化和风险管理的工具包。
- Expected Returns - 用 R 语言实现《Expected Returns》(Antti Ilmanen 著)中讨论的各种投资组合方法及复制示例。
时间序列¶
- tseries - 时间序列分析与计算金融。
- fGarch - Rmetrics 中的自回归条件异方差模型。
- timeSeries - Rmetrics 中的金融时间序列对象。
- rugarch - 单变量 GARCH 模型。
- rmgarch - 多变量 GARCH 模型。
- tidypredict - 在数据库内运行预测 https://tidypredict.netlify.com/。
- tidyquant - 将金融分析引入 tidyverse。
- timetk - R 中进行时间序列分析的工具包。
- tibbletime - 基于 tidyverse 的时间索引扩展,让 tibble 具有时间感知功能。
- matrixprofile - 基于矩阵剖面结构和算法的时间序列数据挖掘库。
- garchmodels - 针对 GARCH 模型的 parsnip 后端实现。
日历¶
Matlab¶
框架¶
- QUANTAXIS - Matlab 版集成量化工具箱。
- PROJ_Option_Pricing_Matlab - 量化期权定价(奇异/香草):障碍期权、亚洲期权、欧式/美式期权、巴黎期权、回望期权、Cliquet、方差互换、Swing、远期启动期权、阶梯期权、Fader 期权等。
Julia¶
- Lucky.jl - 纯 Julia 实现的模块化、异步交易引擎。
- QuantLib.jl - QuantLib 在 Julia 中的实现。
- Ito.jl - Julia 语言中的定量金融包。
- TALib.jl - TA-Lib 的 Julia 封装。
- IncTA.jl - Julia 增量技术分析指标。
- Miletus.jl - 一种金融合约定义、建模语言及定价框架。
- Temporal.jl - 灵活且高效的时间序列类与方法。
- Indicators.jl - 基于 Temporal 的金融市场技术分析与指标库。
- Strategems.jl - 定量系统化交易策略开发与回测。
- TimeSeries.jl - Julia 的时间序列工具包。
- MarketTechnicals.jl - 基于 TimeSeries 的金融时间序列技术分析。
- MarketData.jl - 金融市场时间序列数据。
- TimeFrames.jl - Julia 库,用于在 TimeSeries 上进行重采样。
- DataFrames.jl - Julia 中的内存表格数据结构。
- TSFrames.jl - 基于 DataFrames.jl 处理时间序列数据。
Java¶
- Strata - 由 OpenGamma 编写的现代开源分析与市场风险库。
- JQuantLib - 100% Java 编写的免费开源定量金融框架,移植自 QuantLib。
- finmath.net - 与数学金融相关的 Java 库及算法。
- quantcomponents - 面向定量金融与算法交易的免费 Java 组件。
- DRIP - Fixed Income、资产配置、交易成本分析、XVA 度量库。
- ta4j - 技术分析的 Java 库。
JavaScript¶
- finance.js - 常见财务计算的 JavaScript 库。
- portfolio-allocation - 一个用于构建多资产投资组合(如债券、大宗商品、加密货币、外汇、ETF、股票等)的 JavaScript 库。
- Ghostfolio - 帮助跟踪股票、ETF 或加密货币等金融资产,并据此进行数据驱动的投资决策的财富管理软件。
- IndicatorTS - 在 TypeScript 中提供多种股票技术分析指标、策略以及回测框架。
- chart-patterns - 市场轮廓、成交量轮廓、叠加买卖不平衡和高成交量节点指标的技术分析库。
- orderflow - 订单流交易聚合器,用于从交易所 websocket 构建脚印 K 线。
- ccxt - 一个 JavaScript / Python / PHP 加密货币交易 API,支持 100+ 比特币/山寨币交易所。
- PENDAX - 针对 FTX、FTXUS、OKX、Bybit 等交易所的数据与交易 API 及 Websocket 的 JavaScript SDK。
数据可视化¶
- QUANTAXIS_Webkit - 基于 QUANTAXIS 的可视化中心。
Haskell¶
Scala¶
- QuantScale - Scala 定量金融库。
- Scala Quant - 用于处理 IFTTT 或 Google Finance 股票数据的 Scala 库。
Ruby¶
- Jiji - 使用 OANDA REST API 的开源外汇算法交易框架。
Elixir/Erlang¶
- Tai - 一个开源、可组合的实时市场数据与交易执行工具集。
- Workbench - 从想法到执行——在分布式集群上管理交易业务。
- Prop - 一个开放且有主见的交易平台,使用熟悉的开源库与工具进行策略研究、执行和运营。
Golang¶
- Kelp - 开源的 Golang 算法加密交易机器人,可在中心化交易所和 Stellar DEX 上运行(支持命令行与桌面 GUI)。
- marketstore - 面向金融时序数据的 DataFrame 服务器。
- IndicatorGo - Golang 模块,提供各种股票技术分析指标、策略和回测框架。
CPP¶
- QuantLib - QuantLib 项目旨在提供一个全面的定量金融软件框架。
- QuantLibRisks - 使用 QuantLib 进行 C++ 快速风险计算。
- XAD - 自动微分 (AAD) 库。
- TradeFrame - C++17 交易框架/库(含示例),可测试期权交易自动化策略,内含 Option Greeks/IV 计算库。
- Hikyuu - 基于 C++/Python 的开源高性能量化框架,用于快速分析与回测,包含完整的交易系统组件可复用。
Frameworks¶
- QuantLib - 一个全面的定量金融软件框架。
- QuantLibRisks - Python 与 C++ 中的基于 QuantLib 的快速风险计算。
- XAD - Python 与 C++ 的自动微分(AAD)库。
- JQuantLib - Java 移植版本。
- RQuantLib - R 封装。
- QuantLibAddin - Excel 支持。
- QuantLibXL - Excel 支持。
- QLNet - .NET 移植版本。
- PyQL - Python 移植版本。
- QuantLib.jl - Julia 移植版本。
-
QuantLib-Python Documentation - QuantLib Python 绑定的文档。
-
TA-Lib - 对金融市场数据进行技术分析。
- ta-lib-python
- ta-lib
- Portfolio Optimizer - 基于 Web API 的投资组合分析与优化服务。
- XAD:针对 Python 与 C++ 的自动微分(AAD)库
CSharp¶
- QuantConnect - Lean Engine 是一个开源的 C# 算法交易引擎,适用于桌面或云环境。
- StockSharp - 算法交易与量化交易开源平台,可开发涵盖股票、外汇、加密货币和期权的交易机器人。
- TDAmeritrade.DotNetCore - 免费开源的 .NET 客户端,用于集成 TD Ameritrade API 并开发自定义交易解决方案。
Rust¶
- QuantMath - 面向风险中性定价与风险管理的金融数学库。
- Barter - 用于构建事件驱动式实时交易和回测系统的开源 Rust 框架。
- LFEST - 模拟永续合约交易所,可以对你的策略进行模拟交易。
- TradeAggregation - 使用信息驱动规则将交易聚合到自定义周期 K 线或其他形态中。
- SlidingFeatures - 链式树形滑动窗口,用于信号处理和技术分析。
- RustQuant - 用 Rust 编写的量化金融库。
- finalytics - Rust 库,用于金融数据分析。