首页 百科 Python 量化交易工具都有哪些 你应该知道的21个Python量化交易工具

Python 量化交易工具都有哪些 你应该知道的21个Python量化交易工具

技术可用性的迅速增加使个人交易者也能够系统地和算法地进行交易。 下面将与大家分享2022年Python量化交易使用最广泛的21个交易平台和框架、券商、数据提供者和其他有用的交易库。这些交易库适合构建个人完整的量化分析和交易系统。

一、云交易平台

  对于大多数人来说,开始进行算法交易的最佳方式是使用在线交易平台。这些平台提供了自动化交易所需要的基础设施和管道,因此在云交易平台上可以专注于研究。
  1. QuantConnect

今年,由于 Quantopian 社区迁移到 QuantConnect ,已经很出色的 QuantConnect 从第二名上升到了第一名。QuantConnect 是一家基础设施公司。他们的目标是成为交易平台的 Linux。QuantConnect 使交易者能够在免费数据上测试他们的策略,然后为托管系统支付月费以进行实时交易。

QuantConnect 优点

成熟可靠

优秀的学习资源和社区

广泛的市场和另类数据集

QuantConnect 缺点

多个相关的策略执行不够快

相当抽象,因此代码学习很难应用到其他平台。

QuantConnect 教程

QuantConnect Tutorials (https://github.com/QuantConnect/Tutorials)

Step by Step Algorithmic Trading Guide with QuantConnect

(https://www.youtube.com/watch?v=9wm8e7w6qN4)

  1. QuantRocket
    由于其 Moonshot 平台的不断改进,QuantRocket 今年从第 3 位升至第 2 位。QuantRocket 是一个基于 Python 的平台,用于研究、回测和运行自动化的量化交易策略。通过Interactive Brokers (IB),它提供数据收集工具、多个数据供应商、一个研究环境、多个回测器以及实时和纸质交易。它还包括调度、通知和维护工具,让你的策略完全自动化运行。

QuantRocket 使用 Docker 安装,可以安装在本地或云端。

QuantRocket 优点:

具有内置数据馈送、调度和监控的集成实时交易平台

支持国际市场和日内交易。

QuantRocket 缺点:

不支付订阅费,不得进行纸面交易或实时交易。

回测研究不像其他一些选择那样灵活。

安装和使用视频:

Installation (quantrocket.com)

  1. Tradologics
    Tradologics 是该领域的新进入者,由于其创新的 AWS 风格方法为算法交易者提供了急需的灵活性,因此今年排名第二。Tradologics 是一个基于云的交易平台,由 yfinance 的创建者 Ran Aroussi 创立,其架构是异步和基于事件的——这意味着数据在可用和相关时被推送给你。你可以将 Tradologics 视为算法交易者的乐高。就像乐高一样,你可以选择构建适合特定需求的交易系统所需的部件。所有组件都具有多对多的关系,使你能够做一些以前在线交易平台无法做到的事情。

Tradologics 优点

灵活方便

现收现付模式可降低成本。

Tradologics 缺点

仍处于测试阶段,有时可能会令人困惑

期望的某些功能还没有

Tradologics 平台演示

Tradologics platform demo – YouTube

Tradologics CLI – Guides

二、本地交易框架

   在使用在线平台多年后,你可能会渴望更多的灵活性。例如,我需要一个本地框架来使用人工智能来管理我的算法交易策略组合。
  1. Backtrader
    Backtrader是 Python 用于算法交易的瑞士军刀,再次位居2022 年本地化交易框架榜首。Backtrader 是一个功能丰富的 Python 框架,用于回测和交易。Backtrader 旨在简单,并允许编写可重复使用的交易策略、指标和分析器,而不是花费时间构建基础设施。

Backtrader优点:

非常干净的“pythonic”代码,不会妨碍您

支持回测和实时交易,实现策略开发到部署的平稳过渡。

非常适合新手交易者和 Python 新手。

Backtrader缺点:

使用大量数据集时可能会出现问题

擅长一切,但除了简单之外,什么都不擅长

Backtrader 和交易策略入门

Welcome – Backtrader

  1. Lean
    Lean 在今年排名第二,但它正在追赶 backtrader,QuantConnect 及其开源交易引擎很有可能在明年占据榜首。QuantConnect 的 LEAN 是一个开源算法交易引擎,旨在轻松进行策略研究、回测和实时交易。Lean 与标准数据提供商集成,经纪商快速部署算法交易策略。

LEAN Engine 的核心是用 C# 编写的,但它可以在 Linux、Mac 和 Windows 操作系统上运行。它支持 Python 3.6、C# 或 F# 算法。Lean 推动了基于网络的算法交易平台 QuantConnect。

Lean优点:

快速并支持多种编程语言进行策略开发

支持回测和实时交易

对 Quantconnect 的改进改进了精益,反之亦然

Lean缺点:

回报分析有待改进

由于核心平台是用 C# 编程的,因此 Python 开发人员可能会发现学习起来更具挑战性

Linux 上的 .NET 并不总是能完美运行。

Lean视频

GitHub – QuantConnect/Lean: Lean Algorithmic Trading Engine by QuantConnect (Python, C#)

Overview of Algorithmic Trading with the LEAN CLI – YouTube

  1. VectorBT
    VectorBT 和 VectorBT Pro(付费)是列表中的新成员,排名第三。看到 2022 年的进展会很有趣。VectorBT Pro 使用数据科学方法进行算法回测。它需要一种极快的矢量化方法来帮助交易者了解市场现象。PRO 版本扩展了标准 vectorbt 库,具有令人印象深刻的新功能和声音增强功能。

VectorBT 优点:

许多内置功能和指标

矢量化方法可以进行有趣的策略分析

VectorBT 缺点:

本机不支持实时交易

必须付费才能获得 Pro 增强功能

如何安装 VectorBT

Installation – vectorbt PRO

Basic RSI strategy – vectorbt PRO

三、执行经纪人-交易商

  除非你进行交易,否则你无法赚钱。这是我一路上找到的最好的算法交易经纪人。
  1. Interactive Brokers
    Interactive Brokers 在全职交易者中排名第一,仅仅是因为其产品的深度和可靠性——尽管 API 有很多不足之处。

Interactive Brokers 为交易者、投资者和机构提供在线交易和账户解决方案——先进的技术、低佣金和融资利率,以及通过单一在线经纪账户进行全球访问。Interactive Brokers 散户系统和算法交易者使用的主要经纪商,多个交易平台都建立了Interactive Brokers 的实时交易连接器。

Interactive Brokers 优点:

经营超过 41 年的稳定、公开交易的经纪商

Interactive Brokers 现在提供 Python API

Interactive Brokers 缺点:

零售系统和算法交易员仅占 IBKR 客户群的一小部分,并且传统上没有被优先考虑

API 有很多遗留问题

API介绍:

IBKR Trading API Solutions | Interactive Brokers LLC

  1. Tradier
    Tradier 由于其易用性、深度和可靠性排在第 2 位,是API 经纪商的首选。

Tradier 是由开发人员为开发人员创建的。它是一家基于云的金融服务提供商和经纪 API 公司,提供一套创新的完全托管的 API 和模块,越来越多的提供商利用这些 API 和模块寻求创造创新的交易和投资体验。

Tradier优点:

API优先的公司

适用于应用程序和业务用户的可靠 API

包括期权交易

Tradier缺点:

杂费

没有现金管理账户

Tradier开发者文档

tbi_fee_schedule-01262022.pdf (d2ronhuflgo4cz.cloudfront.net)

  1. Alpaca
    由于缺乏选择,Alpaca 排在第 3 位,但我认为两者都是 API 优先的顶级经纪商。Alpaca 成立于 2015 年,最初是一家纯技术公司,为非结构化数据、最初的可视数据以及最终的时间序列数据构建数据库解决方案。在看到对实时交易 API 的需求不断增长后,他们创建了 Alpaca Securities,这是一家 API 优先的经纪交易商。

Alpaca优点:

API 优先的经纪业务

专为算法交易者设计,成本最低

低费用

Alpaca缺点:

不是全方位服务的经纪人

一些用户抱怨 API 的可靠性

教程:

Getting Started (Alpaca Securities LLC) – Getting Started with Alpaca – Alpaca Community Forum

GitHub – alpacahq/alpaca-trade-api-python: Python client for Alpaca’s trade APIn API

四、数据提供者

   如果不使用在线平台或在本地进行回测,你将需要数据——而且需要大量数据。以下是我使用过的最好的数据提供者。虽然下面没有列出,但许多经纪公司开始以相对便宜的价格提供这项服务。

免费股票和加密货币数据:

yfinance Python Tutorial (2022) – Analyzing Alpha

Get Historical Crypto Data (Free & Paid) – Analyzing Alpha

  1. Polygon.io
    由于它的可靠性,我已经使用 Polygon 多年。今天,它占据了第一名,因为他们现在提供两年的免费数据,涵盖股票、外汇和加密货币数据。

Polygon 的使命是通过民主化访问世界金融数据来帮助开发人员构建金融科技的未来。他们提供 20 多年的股票数据以及广泛的外汇和加密数据。数据是准确的,API 是可靠的,除了获取所有历史记录可能会很痛苦之外,我对它们没有任何负面影响。尽管如此,我还是在下面的附加信息中创建了一个关于这样做的教程。

Polygon 优点:

股票、外汇和加密市场数据

现在免费提供两年的细粒度数据

极其可靠的 API。

Polygon 缺点:

获取所有历史数据需要工作

订阅定价比其他选择贵。

如何获取历史 Polygon.io 数据

Get Historical Price Data from Polygon.io – Analyzing Alpha

  1. Intrinio
    Intrinio 虽然出色,但由于价格上涨和免费数据不可用,今年下降了一位。Intrinio 的使命是让财务数据变得负担得起且易于访问。Intrinio API 通过整个投资范围内的 200 多个财务数据馈送提供实时和历史股票价格报价、公司财务等。

Intrinio 优点:

设计精良且易于使用的 API

一组多样化的财务数据馈送。

Intrinio 缺点:

批量 CSV 下载和 API 访问需要不同的购买

价格上涨了

如何使用 Intrinio 导入库存数据

Intrinio Python API: Get Stock Data – Analyzing Alpha

How to Create an Equities Database – Analyzing Alpha

  1. Nasdaq Data Link
    Quandl 现在是 Nasdaq Data Link,由于 Shardar 数据库,它仍然是我的基本股票数据的首选。

Nasdaq Data Link 是金融、经济和 [替代数据集/替代数据] 的主要来源,为投资专业人士提供服务。Quandl 的平台被超过 400,000 人使用,其中包括来自世界顶级对冲基金、资产管理公司和投资银行的分析师。

Nasdaq Data Link 优点:

归纳斯达克所有,拥有悠久的成功历史

拥有超过 400,000 名用户,包括顶级对冲基金、资产管理公司和投资银行

Nasdaq Data Link 缺点:

不像其他选择那样实惠。

纳斯达克数据链接 API 教程

Nasdaq Data Link Python API Guide – Analyzing Alpha

GitHub – quandl/quandl-python

  1. Norgate Data
    Norgate Data 在最佳数据提供商中排名第四。如果你正在寻找可靠的 EOD 数据,他们是一家坚如磐石的公司。Norgate Data 提供“日终”金融市场数据的更新(它不提供实时报价、延迟报价或日内“报价”数据)。

他们专门研究美国和澳大利亚股市的数据。他们最近还添加了加拿大股票数据。数据也可用于选定的世界期货和外汇汇率。该服务仅在订阅的基础上提供(历史数据不能作为“独立”项目提供)。为股票市场订阅提供的历史数据范围取决于订阅级别。

Norgate Data 优点:

EOD 定价数据的巨大价值

幸存者无偏差数据。

Norgate Data 缺点:

定价数据仅限于 EOD

Norgate Data 数据概览

Norgate Data – Overview

Norgate Data – Data Content Tables

五、量化交易常用库

   Python 生态系统充满了出色的算法交易工具。这些没有特定的顺序,因为你可以全部使用它们。Python金融量化公众号对相关库也发过不少应用推文。
  1. Pandas
    Pandas 是一个开源的、BSD 许可的库,为 Python 编程语言提供高性能、易于使用的数据结构和数据分析工具。Pandas 成立于对冲基金 AQR,专为处理数字表格和时间序列数据而设计。

感兴趣的?你可以在下面查看我的 Pandas 教程:

Python for Finance: An Easy Introduction – Analyzing Alpha

Data Manipulation with Python using Pandas – Analyzing Alpha

  1. Numpy

NumPy 是使用 Python 进行科学计算的基础包。它包含 N 维数组对象、复杂的(广播)函数、用于集成 C/C++ 和 Fortran 代码的工具、有用的线性代数、傅里叶变换和随机数功能。

NumPy 也可以用作通用数据的高效多维容器。可以定义任意数据类型。这使得 NumPy 可以无缝、快速地与各种数据库集成。

3. Pyfolio

Pyfolio 是由 Quantopian 开发的用于金融投资组合性能和风险分析的 Python 库。它适用于 Zipline 开源回测库。

4. Alphalens

Alphalens 是一个 Python 库,用于预测 (alpha) 股票因子的性能分析。Quantopian 生产 Alphalens,它与 Zipline 开源回测库配合得很好。

5. SciPy

SciPy(发音为“Sigh Pie”)是一个基于 Python 的数学、科学和工程开源软件生态系统。SciPy 包含用于优化、线性代数、积分、插值、特殊函数、FFT、信号和图像处理、ODE 求解器以及科学和工程中常见的其他任务的模块。

6. Tensorflow

Tensorflow 是一个免费的开源软件库,用于跨各种任务的数据流和可微分编程。它是一个符号数学库,也用于神经网络等机器学习应用。它用于 Google 的研究和生产。‍ Tensflor 提供了多个抽象级别,因此您可以根据需要选择合适的抽象级别。使用 Tensorflow 或高级 Keras API 构建和训练模型。

  1. Keras

Keras 是用 Python 编写的高级神经网络 API,能够在 TensorFlow、CNTK 或 Theano 之上运行。它的开发重点是实现快速实验。以尽可能少的延迟从想法到结果是做好研究的关键。

  1. PyTorch

Pytorch 是一个基于 Torch 库的开源机器学习库,用于计算机视觉和自然语言处理应用。Facebook 的人工智能研究小组主要开发它。它是在修改后的 BSD 许可下发布的免费开源软件。

  1. QuantLib

QuantLib 项目旨在为量化金融提供一个全面的软件框架。QuantLib 是一个用于建模、交易和风险管理的免费/开源库。

10. TA-Lib

TA-Lib 被需要对金融市场数据进行技术分析的交易软件开发人员广泛使用。

  1. SymPy

SymPy 是一个用于符号数学的 Python 库。它旨在成为一个功能齐全的计算机代数系统(CAS),同时保持代码尽可能简单,易于理解和易于扩展。SymPy 完全用 Python 编写。

  1. PyMC3

PyMC3 允许您使用直观的语法写下模型来描述数据生成过程。使用基于梯度的 MCMC 算法(如用于快速近似推理的 NUTS、ADVI)拟合您的模型——包括用于扩展到大型数据集的 minibatch-ADVI——或用于构建贝叶斯非参数模型的高斯过程。


关于作者: 我C你们

起码打十个

热门文章

发表评论

您的电子邮箱地址不会被公开。