程序化交易基础概念浅析(一)
大到量化、程序化、高频交易、套利交易、主观投资这些基本的概念,小到网格交易、条件单、T+0、ETF套利、期现套利、算法拆单交易、打板策略等具体的投资方式。如果没有接触过这些,很容易混淆。
一、程序化
程序化交易:
指通过既定程序或特定软件,自动生成或执行交易指令的交易行为。通过程序化交易,使得软件下单代替了人工委托。
在这次监管及沪深交易所给出的程序化相关业务通知中对程序化交易的定义为:
指通过计算机程序自动生成或者下达交易指令在本所进行证券交易的行为,包括按照设定的策略自动选择特定的证券和时机进行交易的量化交易,或者按照设定的算法自动执行交易指令的算法交易以及其他符合程序化交易特征的行为。
沪深交易所认为交易符合以下条件之一的,应当履行报告义务:
(1)下单自动化程度高:证券代码、买卖方向、委托数量、委托价格等指令的核心要素以及指令的下达时间均由计算机自动决定的程序化交易投资者。
(2)申报速率快:1天出现10次以上1秒钟内10笔以上申报(含撤单申报)的程序化交易投资者。
(3)交易股票只数多、换手率高:最近30个交易日日均交易沪市股票不少于50只,且最近30个交易日年化换手率在30倍以上的程序化交易投资者。
(4)使用自主研发或其他定制软件的程序化交易投资者。
(5)交易所认定的其他需要报告的情形。
使用会员为客户提供的带有一定自动化功能的客户端软件进行交易的,且不符合上述条件的投资者,无需进行报告。
不管我们使用那种投资交易方式,我们始终在解决两个核心问题:选股、择时(什么时候如何交易)。
通过上面的基本概念可以看出程序化交易是相对人工交易而言,最大的特点就是:由计算机来自动生成订单并完成交易。
其中上述沪深交易所表述的一条“使用会员为客户提供的带有一定自动化功能的客户端软件进行交易的,且不符合上述条件的投资者,无需进行报告。”。
比如证券公司针对机构用户或证券公司认定高净值的合格投资者提供的QMT和Ptrade两个主流的PC交易客户端中,就包括了:网格交易、条件单、套利交易(ETF、可转债、期现)等自动化交易功能,这一类功能主要是用户通过可视化界面人工操作方式,预先设置一些规则,在条件触发后,由软件生成订单并由系统自动报单完成交易,按照上面的定义可以看出完全符合:程序化交易定义。
同时,QMT和Ptrade等“专业投资工具”均提供了用户可以以python、Java,C++等代码方式来编写一段“代码”来完成自己的交易,这样的方式相比软件提供的“标准的人工操作界面”的功能,可以更加灵活的实现一些个人的交易思路,这里的代码我们常称为“策略”,比如要实现一个简单的策略:1)如果上一时间点价格高出五天平均价1%,则全仓买入;2)如果上一时间点价格低于五天平均价,则空仓卖出,则在Ptrade的代码示例如下:
def initialize(context): g.security = 600570.SS set_universe(g.security) def handle_data(context, data): security = g.security sid = g.security # 取得过去五天的历史价格 df = get_history(5, 1d, close, security, fq=None, include=False) # 取得过去五天的平均价格 average_price = round(df[close][-5:].mean(), 3) # 取得上一时间点价格 current_price = data[sid][close] # 取得当前的现金 cash = context.portfolio.cash # 如果上一时间点价格高出五天平均价1%, 则全仓买入 if current_price > 1.01*average_price: # 用所有 cash 买入股票 order_value(g.security, cash) log.info(buy %s % g.security) # 如果上一时间点价格低于五天平均价, 则空仓卖出 elif current_price < average_price and get_position(security).amount > 0: # 卖出所有股票,使这只股票的最终持有量为0 order_target(g.security, 0) log.info(sell %s % g.security)
由此可见,证券公司提供的PC交易端中提供了不同层面的“程序化”交易工具,丰富了投资者的交易方式,以前这些交易方式大多数可能是机构投资者独有,比如ETF套利、期现套利之前都是证券公司自营的主要投资方向,但随着技术的普及化以及日益增长的投资者交易诉求,这些机构化的投资工具都可以“降位”给符合条件的个人使用,使用这些能不能赚到钱先不展开,因为片面的说,从投资交易角度,比如抢涨停,假设全市场都是用同质化的标准软件,那交易必然会趋同,赚钱效应就会大大降低。在沪深交易所的表述也特别强调到了这点,如果使用这些标准的工具不需要报告,但如果符合了申报速率高、交易频率高、换手高,或者说即使人工操作或使用以上简单代码触发了:每秒300笔或每天20000笔的监控阀值,也需要报告。
除了PC交易终端软件外,证券公司已将上述的“高级投资工具”集成在了各自的移动交易APP终端,进一步惠普散户。比如这次量化风波中,被散户抨击最多的:T0为例,很多证券公司在APP端都提供了,只要符合条件就可申请使用,而且这里最大的点,如果是同一个证券公司的同一个T0策略,那么散户使用的T0策略和机构使用的策略逻辑是一样的。因为目前市场上卡方科技、非凸科技、跃然科技、启能达等第3方的算法交易软件供应商,一般都会提供标准的:T0策略,如果某证券公司采购了其中某家的T0策略,那不管是机构客户使用PB客户端,还是散户使用移动APP终端,使用的T0策略背后,都是同一个“服务器”。除非是有的机构针对具体的产品策略进行了合作定制。

以某券商APP客户端的T0策略推广为例:
开通条件
1、适当性要求(强匹配):客户的风险承受能力为C4及以上(或专业投资者),投资期限涵盖0~1年,拟投资品种为“权益类”;
2、资产要求:权限开通近20日的日均资产为50万或以上;(授权时单票要求20W市值以上)
T0如何开通
已经实现了客户权限开通的线上化,整个线上开通流程包含交易席位转换、极速交易柜台开通等多个步骤。操作流程:智远一户通APP交易页-智远T0
风险提示
市场有风险,投资需谨慎。智远T0策略交易功能的服务仅针对风险承受能力C4级别及以上投资者。使用智远T0策略交易功能不代表任何形式的收益保证,不作为任何本金不受损失的承诺,招商证券不确保任何投资者获得盈利或本金不受损失。在投资者使用本功能时,投资者需自主作出投资决策并独立承担投资风险。在智远T0策略交易功能使用中可能出现一系列风险,详情参见智远T0策略功能风险揭示书及使用协议。
智远T0策略
智远T0策略交易功能是招商证券策略交易及金融工程团队与外部优秀策略商联合研发的算法型工具。算法底层部署于大型超算环境,使用深度学习(Deep Learning)技术及遗传算法(Genetic Algorithm)等生成交易策略,辅助投资者进行交易。
1)智远T0可支持哪些标的
智远T0目前可支持沪深A股、场内ETF两个品种的交易,支持的T0策略标的数量逾2400只,个股波动性越大,换手率越高,通常来说越适合使用智远T0策略功能。因此,智远T0也会定期复盘A股所有股票,将适合的标的纳入可做T0股票池。特别说明:纳入可做T0策略的服票池,不作为股票推荐意见。
2)智远T0功能运作机制
智远T0策略功能将依托投资者的证券底仓及部分冗余资金,根据投资者的参数设置情况,通过T0策略算法执行,辅助投资者进行交易的策略服务工具。T0算法将根据历史行情的统计学规律,通过抓取日内波动价差的方式力争辅助投资者尽量降低持仓成本,争取超额收益。
3)智远T0策略算法特色
为尽可能的降低策略风险,增厚策略收益,智远T0策略算法除了会争取个股的超额收益外,还会考虑到个股间的价格变动,而为投资者争取组合收益。即:总账户日内超额收益=单票收益之和+组合收益。根据策略算法框架,智远T0策略同时交易的个股数量越多,组合收益更为稳定,策略总体绩效表现更优。
#举个例子#
比如李某持有XX股票10万股,通过T+0交易当天全部仓位,买价为18.35元,卖价为18.75元,买卖差价0.40元,交易成本为18.55*0.0016=0.03元(主要包括:手续费万三双向收费,印花税千一),扣除交易成本每股收益0.37元,10万股共收益37000元,收盘时李某仍然持有10万股,但是账户上多了37000元现金资产。相反如果李某不进行任何操作,那么账户当天是没有任何现金收益的。
4)智远T0收费方式
在您进行T0策略交易时,我们默认收取万3.1的佣金费率,但如果您已经加入了“财管计划”,目前可以享受万2.3的费率优惠政策。(发生其他交易时,沿用原佣金费率不变)
综上所述,如果我们把上面的程序化交易狭义的定义为“由计算机产生的自动化交易”,并且从证券公司提供的标准的PC交易终端或移动APP端具有“程序化”特征的软件功能来看,核心解决的是交易执行层面的问题,而不会提供具体的选股或者是交易逻辑。比如对于网格交易来说,具体针对那个证券标的设置网格交易条件以及涨跌幅具体的阀值、具体的交易价格和委托数量,软件是不提供的。

二、量化交易
先看基本概念:
量化交易(Quantitative Trading)类属一种投资方法。是指借助现代统计学和数学的方法,利用计算机技术来进行交易的证券投资方式。量化交易从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,用数量模型验证及固化这些规律和策略,然后严格执行已固化的策略来指导投资,以求获得可以持续的、稳定且高于平均收益的超额回报。简单来说,量化交易就是干了两件事情:1)建立数学模型;2)根据数学模型,在合适的时间点买入或者卖出。
从广义上讲,量化投资(Quantitative Investment)是一种以历史数据为基础、 以模型为核心、以程序化交易为工具的投资方法:
以历史数据为基础:一般来讲数据点及结构化数据越多则越有利于建模。如果历史上没有发生过或仅发生过几次,很难找到合适的数据来训练,基于过往总结出的“规律”则在这个阶段不一定有效;
以模型为核心:不管是早期以金融逻辑为基础的线性模型,还是后来更多采用的机器学习、深度学习模型,万变不离其宗——本质上都是以数据为基础建立模型;
以程序化交易为工具:“程序化交易”是一个工具,不管是主观投资还是量化投资,不管机构投资者还是个人投资者,大家都可以根据自身情况去评估和使用该工具。
和上述程序化交易狭义定义来说,量化交易我们可以理解最大区别是在:选股和交易执行都是由计算机完成了。
同样,我们从沪深交易本次程序化报告的通知也能看出对量化交易的一些信息:
若投资者开展量化交易,请填写主策略类型、辅策略类型。若非量化交易无需填写。其中,“主策略类型”填写该账户主要使用的交易策略,为必选项,且只能从以下选项中选择1项;“辅策略类型”非必选项,仅当该账户在主策略外同时使用其他策略开展交易时填写,辅策略类型最多选择2项,不同辅策略类型请用“;”(英文分号)分隔。
(1)指数增强策略。指构建与对标指数具有相似特征持仓结构,通过主动管理获取相对于指数超额收益的策略。该策略基本不开展对冲交易。
(2)市场中性策略。指同时构建多头和空头头寸以对冲市场风险的策略。该策略使用股指期货、股指期权等对冲市场风险。
(3)多空灵活策略。指根据市场情况灵活调整多头和空头比例的策略。该策略主要根据管理人的自主判断调整对冲方式和对冲头寸,对冲方式包括股指期货、股指期权、融券卖空、场外衍生品等。
(4)量化多头策略。指通过上市公司财务数据、宏观经济等基本面指标,或者股价波动、成交量、换手率等技术指标,灵活选股并进行投资决策的策略。
(5)管理期货策略CTA。指在期货市场使用,依据模型的买卖信号进行投资决策的策略。
(6)参与新股发行策略。指利用持有股票,参与新股首次公开发行的投资策略。
(7)量化套利策略。指利用一个或多个市场存在的价格差异,或市场价格与理论价格存在差异获利的策略。
(8)日内回转策略。指在同一个交易日内,对同一标的进行反向交易,获取日内波动价差的策略。
(9)其他策略。请填写“其他”。
提到量化交易,一般都是由券商自营、期货公司及资本子公司自营、公募基金、私募机构等机构从事的。当然也有一些个人认为自己是在做量化交易,但和机构相比,肯定是局限的。因为要完成一个量化交易的全过程,所需的数据、模型、风控、交易执行、柜台接入都需要很大的资金投入和配备的专业人才团队来做。以某百亿量化为例,一直主打“五环多核”的模式:

整个研发流程分成:因子、AI、优化、风控、交易5个环节,其中:
1)因子环节负责挖掘和生成因子;
2)AI环节就对因子进行复权生成信号;
3)优化环节对信号进行复权生成策略;
4)风控环节根据策略部分结果,以及所投资范围、组合模型生成最终的目标持仓;
5)交易环节进行拆单算法并报盘到证券公司的交易柜台,有证券交易柜台下达到交易所。
结合上面沪深交易所给出的量化策略类型来说,不管是哪一类的策略实现,大多数机构投资者都不会利用QMT和Ptrade这样的标准软件工具来做,一般都需要从各个环节建设一个完整的量化投资团队以及配套的全业务流程的自研软件系统,才可能保证量化产品的收益。
#海滨:程序化交易基础概念浅析(二)
问答宝 - 全球领先中文问答互动平台
全部 0条评论