分类
投资基础

什么是量化交易?Quantitative Trading

量化交易,英文是 Quantitative Trading,简称 Quant,是金融投资机构经常会使用的一种交易方式,旨在短时间内进行大量数据分析,然后通过预编写的交易模型进行自动交易,提高交易效率,避免人为情绪对交易的影响。

随着计算机语言的普及,目前量化交易已渐渐在普通投资者中应用。华尔街70%~80%的交易都是通过量化交易完成的。 目前有些劵商,比如,盈透IBRK富途 moomoo 都提供的API,提供给用于进行自己的量化交易策略。

🚀 美国券商:盈透证劵 | 富途moomoo | 微牛证券 | 老虎证券 | 第一证券 | Robinhood证劵

什么是量化交易?

量化交易,英文是 Quantitative Trading,是一种基于量化分析 (Quantitative Analysis) 的交易方式。

对于普通金融投资者而言,判断是否该持有一只股票,什么时候持有?持有多少?什么时候抛售?抛售多少?这几个选择往往会决定投资成败。

普通投资者在做选择前,会去分析一些数据,包括目标公司的运营情况、财务情况、公司股价过去一段时间的表现等等,分析一堆数据后,根据自己的主观判断来选择,或者听从一些大师的指导,或者跟随市场的主流趋势。

如果一位投资者准备投资多个股票,他还要搜集该公司所在行业的情况等,需要分析的量就增加了,职业股民几乎大部分时间都是在搜集信息整理信息然后做出判断。

对于金融机构来说,要处理的信息量是普通股民的成千上万倍,要做出的判断更是需要排除大量干扰以找到最准确的时机点。

无论普通股民还是专业机构,投资这个过程总体上可以分成两个步骤:

  • 第一步骤,搜集整理既定信息,找出规律;
  • 第二步骤,根据数据制定出策略,对于股票走势判断;

第一步骤在于“烦”,信息量太大、太杂,您需要搜集上市公司的大量数据,包括公司基本面数据、股票交易数据等等;

第二部分在于“难”,在获得信息后,个人判断买卖多少会被个人情绪所左右。很多的投资者可能都曾懊悔过:当时太冲动了,冷静点就好。

随着信息技术的提升和计算机算力的发展,第一步骤的内容在不断简化,您可以轻松获取各类信息数据表、走势图,数据获取的时间范围也能达到很大的跨度。

至于第二部分,因为无法针对性的进行数据分析,所以通过计算机数据分析后给出的投资操作,也处于参考阶段。

到了现代,随着计算机语言的不断开发和简化,越来越多的人掌握计算机语言后,凭借自己的数学能力,构建适合自己的计算模型,经过回测验证模型具有适用性后,可以在极短的时间内进行目标对象数据分析,以及交易点决策,这一过程中,只有计算机的分析,没有人为情绪的干扰。

这一交易方式经过时间的验证,证明其有效,于是在很多大型金融机构中得以使用,金融机构可以在瞬息间完成大量交易,也就是现在所说的量化交易:

通过计算机语言,如C/C++、MATLAB、R 或 Python等编写针对性的交易模型,利用数字分析和数学运算来完成体量庞大的信息采集、数据分析、纯理性策略决断以及交易执行。

C++进行量化交易

目前从事执行量化交易工作的人员称为量化交易员(Quants),其工作主要是:

  • 策略识别:自行编写交易模型,或寻找现有策略,结合自身优势来决定策略的使用及交易频率
  • 策略回测:将目标策略应用到历史数据,通过模型运算来验证模型的计算结果是否与历史结果相符,如果相符则可以继续使用,并进行细节的调整,如果不相符则放弃该模型。
  • 执行系统:将验证成功的交易模型应用到实际交易中,完成自动量化交易,最大限度降低交易成本。
  • 风险管理:跟踪根据交易模型进行的量化交易,发现交易过程中可能存在的风险,及时进行风险管理。

量化交易的创始人

Jim Simons 是首位将计算机数学模型与金融投资结合的伟大投资者,他创立的 Renaissance Technologies(文艺复兴技术)对冲基金公司,是目前最成功的以量化交易为主的对冲基金公司。

Jim-Simons-量化交易

Jim Simons 以数学家、密码破解者的背景进入金融领域,主张将各种人为情绪因素排除在金融投资决策之外,使用成熟的计算机语言来判断市场行情并从中获取了惊人的收益。他认为计算机有自己的观点,在建立成熟成功的交易模型后,他会盲目地跟从计算机的结果,拒绝任何人为情绪来干扰计算机的运算判断结果。

自1982年创立其基于计算机量化交易的 Renaissance Technologies基金公司以来,短短30多年,Jim Simons凭借其量化交易系统,为自己积累了230亿美元的财富。

量化交易的优缺点

量化交易被大多数金融机构使用,目前也渐渐被许多个人投资者使用,同许多其他交易方式一样,它有自己的优缺点:

优点

可快速进行大量数据收集和分析,极大缩减目标选择的工作量。

当设定交易操作触发点后,交易可自动进行,减小了日常投资的工作量。

使用计算机数学模型来理性分析行情,判断操作方式,有效避免人为情绪的干扰。

缺点

单一的量化交易模型无法始终在动态市场中有效,需定期调整参数来适应市场的大环境变化。

量化交易平台有哪些?

量化交易的使用平台目前主要是各大金融机构、对冲基金等需要分析大量交易数据的平台。

也有越来越多的个人,在学会了计算机语言后自行编写交易程序,来进行更符合自身投资特色的金融交易。

可以编写量化交易的平台主要是目前几大计算机语言编写程序,如C/C++、MATLAB、或 Python语言编写平台。

学习量化交易的平台目前非常热门,通常会提供较完整的课程体系,从数学、逻辑、计算机语言以及金融学知识等几方面来培养高端量化交易员。

富途的量化交易 API介绍

富途不仅提供低廉的交易费用,支持在美国本土投资中国香港等地的金融领域,更是为投资者提供API技术,方便投资者进行更全面的投资。

富途 moomoo 最多送5支股票
富途moomoo开户

富途量化API称为Futu OpenAPI,主要由FutuOpenD和Futu API组成。

其中FutuOpenD是Futu API的网关程序,主要用于运行客户的本地电脑和云端服务器,并且负责将中转协议请求发送到富途后台,然后将处理后的数据返回到客户端。

Futu API 则是富途为几大主流计算机语言:Python、Java、C#、C++、JavaScript等封装的API SDK,以方便用户直接调用,简化用户自行开发投资程序难度,即使投资者使用的语言没有在上述之列,仍可以自行对接裸协议,来完成投资策略开发。

futu openapi frame

当用户需要使用Futu OpenAPI时,通常需要进行两步操作:

  1. 在本地或云客户端安装启动网关程序FutuOpenD,该程序将以自定义TCP协议的方式对外暴露客户端接口,来进行后续的数据传输,该协议接口与计算机编程语言无关。
  2. 下载Futu API,完成运行环境搭建,以方便后续快速调用预先封装的相应API SDK。

软件安装完成后,用户需要开立Futu OpenAPI账号,该账号设计2类账号:平台账号和交易业务账号。

  1. 平台账号是用户在富途注册的账号,该账号同时可以使用在富途牛牛和富途moomoo平台。
  2. 交易业务账号根据投资者进行投资的不同领域需要分别开立,比如:
  • 港股账户用于在香港市场进行证券投资
  • 美股账户用于在美国市场进行金融投资
  • A股通账户用于交易A股通市场的股票证券
  • 期货账户用于交易全球市场的期货产品,包括香港、美国、新加坡及日本等期货市场

接下来投资者就可以使用Futu OpenAPI,目前富途量化交易API主要提供两大功能:行情分析和交易执行。

  • 行情分析功能支持用户就香港、美国和A股市场的全部或特定金融产品品类进行行情数据收集和分析,数据类型包括实时报价、实时K线、实时摆盘、历史K线等。。
  • 交易执行功能支持用户在全球五大市场:中国香港、美国、A股、新加坡和日本进行涉及股票、期货、期权等的真实交易和模拟交易。

Futu OpenAPI作为市场上较成熟的量化交易API,它可以为用户提供:

  • 全平台运行:FutuOpenD 支持 Windows、MacOS、CentOS、Ubuntu等多系统安装运行。
  • 多语言编写:Futu OpenAPI支持 Python、Java、C#、C++、JavaScript 等主流语言
  • 稳定的运行环境:Futu OpenAPI提供稳定的技术构架,使用户可以顺利编写适合自己的交易模型,并进行回测、应用等。
  • 极速体验:无论代码运行程序还是实时交易,在网速允许的情况下可极速完成,下单最快只需0.0014秒,对于高频交易者来说非常适合。
  • 免费交易:用户在编写完自属的交易模型后,使用它进行交易无需支付额外附加费用。
  • 多品类投资:Futu OpenAPI支持运行香港、美国、A股、新加坡和日本区域的多品类产品实时交易和模拟交易。

如何搭建Python量化交易系统?

量化交易系统可通过多种计算机语言来编写,而Python作为当下最流行的计算机语言,其使用率在多种语言中位居第一。

Python是一种跨平台兼容的高级编程语言,开源环境拥有多个专有的专业库函数,比如:

  • Scipy、numpy、pandas、matplotlib、quantopian、Zipline、TA-Lib、Pybacktest等可快速开发无障碍量化交易策略。
  • Tensorflow、seaborn、scikit learn、Keras、plotly、stats可帮助交易模型进行更有效的数据挖掘和交易执行。
  • SpyderIDE优化了交易模型中的数据可视化,使财务分析变得更直观简易。
  • PyAlgoTrade作为Python独家算法交易库函数,专注于纸面交易、回溯测试、实时交易和技术分析,带来更高效的量化交易。
Python 量化交易

使用Python作为计算机语言来编写交易模型和所有量化交易模型制定过程一样,由策略识别、策略回测、执行系统和风险管理构成。

但Python的优点在于,在所有过程中,其计算机语言更易懂,逻辑排序更有条理性,并且提供多个独家库函数可直接调用。

  • 在策略识别阶段,可根据自身需要的交易特点来调用多个库函数,来编写更适合自己的交易策略。
  • 策略回测阶段,专业的库函数可进行更全面的数据回测,以获得更准确的回测结果,保证前期编写的交易模型更有效力。
  • 执行系统方面,因为语言逻辑的清晰性,使模型执行时出现BUG的概率大为降低,不错过任何投资获益点。
  • 风险管理过程中,因为语言清晰,所以很容易找到调整点,进行数据细微调整来控制必须的风险管理,而不影响整个交易模型的完整运行。

量化交易策略有哪些?

量化交易策略即是量化交易员根据交易风格特点,编写针对性的交易模型,收集整合所需信息,根据拟定的不同交易判断点来进行数据监控、决策执行。目前经市场验证,较为成功的量化交易策略有:

阿尔法对冲策略

投资者在市场交易中会面临系统性风险—Beta/β风险和非系统性风险—Alpha/α风险,通过对系统性风险进行度量,将其分离,来获取超额绝对收益,即阿尔法收益的策略称为阿尔法对冲策略。

参考:阿尔法对冲策略源代码

海龟交易策略

海龟策略是趋势跟随型量化交易策略,分别在入场条件、仓位控制、资金管理、止损止盈等各环节上设置参数,来进行自动化交易,该策略可以作为复杂交易策略的设计基础模板。

参考:海龟交易策略源码

多因子选股策略

多因子选股策略是通过找到某些和收益率相关的指标参数,根据该指标来构建股票组合,如果股票组合跑赢市场指数,则继续做多,同时做空期指,赚取阿尔法收益,如果跑输,则做多期指,做空当前股票组合,赚取反向阿尔法收益。是目前量化选股中的一个重要模型。

参考:多因子选股策略源码

双均线策略

双均线策略,基本思路是分别建立m天移动平均线,n天移动平均线,两条均线必定会产生交点。如果m>n,n天平均线“上穿越”m天均线点则为买入点,反之则为卖出点。该策略通过基于不同天数均线的交叉点,抓住股票的强势和弱势时刻,来进行自动化量化交易。

参考:双均线策略源码

跨品种套利策略

该策略的基本思路是利用两种不同种类,但相互关联的指数期货产品之间的差价进行交易,互相关联是指有相互替代性或受到同一供求因素影响,比如相关商品间套利或原料与成品间的套利。该策略对于市场而言,可以帮助发生扭曲的市场价格恢复正常水平,以及增加市场流动性。

参考:跨品种套利策略源码

跨期套利策略

与跨品质套利策略类似,跨期套利策略也是适用于期货的量化交易策略,跨期套利是通过在同一交易所进行同一指数、不同交割月的期货合约交易来套利获益。

参考:跨期套利策略源码

指数增强策略

该策略适用于指数型投资者,基金管理人通过使用该策略来保持自己推荐的投资组合中各项特征参数高于标的指数的回报水平,以保持自己良好的投资业绩。

参考:指数增强策略源码

网格交易策略

该策略是利用市场震荡来获利的一种主动型交易策略,其基本思路为利用投资标的在预设值的网格区间内反复震荡的价格差异中,反复进行加仓减仓操作,比如标对象价格突破网格时加仓,回到网格时减仓,以此来达到投资收益最大化。

参考:网格交易策略源码

行业轮动策略

该策略旨在根据不同行业不同品牌的强势时间,自动在不同行业间轮流切换以达到投资收益最大化。

参考:行业轮动策略源码

高频交易策略

高频交易策略可以帮助投资者在极短的市场变化中赚取收益,计算机可以根据设定的程序实时跟踪市场走势,自动在设定的价格差间进行买入或卖出操作,通过大量交易次数,从价格波动中赚取大量收益。

R-Breaker策略

R-Breaker 是一种日内交易策略,根据前一个交易日的收盘价、最高价和最低价数据,借助特定的数学模型,建立六个价位,从高到低分别为:突破买入价、观察卖出价、反转卖出价、反转买入价、观察买入价和突破卖出价,这六个价位即为当前交易的不同操作触发点,投资者可以通过调整模型中的参数来调节各价位间的差距,以更改自动操作触发条件。该策略被Future Thruth杂志评为最赚钱的策略之一。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Menu