一、常见的十大量化投资策略
01、海龟交易策略
海龟交易策略是一套非常完整的趋势跟随型的自动化交易策略。这个复杂的策略在入场条件、仓位控制、资金管理、止损止盈等各个环节,都进行了详细的设计,这基本上可以作为复杂交易策略设计和开发的模板。
02、阿尔法策略
阿尔法的概念来自于二十世纪中叶,经过学者的统计,当时约75%的股票型基金经理构建的投资组合无法跑赢根据市值大小构建的简单组合或是指数,属于传统的基本面分析策略。
在期指市场上做空,在股票市场上构建拟合300指数的成份股,赚取其中的价差,这种被动型的套利就是贝塔套利。
03、多因子选股
多因子模型是量化选股中最重要的一类模型,基本思想是找到某些和收益率最相关的指标,并根据该指标,构建一个股票组合,期望该组合在未来的一段时间跑赢或跑输指数。如果跑赢,则可以做多该组合,同时做空期指,赚取正向阿尔法收益;如果是跑输,则可以组多期指,融券做空该组合,赚取反向阿尔法收益。多因子模型的关键是找到因子与收益率之间的关联性。
04、双均线策略
双均线策略,通过建立m天移动平均线,n天移动平均线,则两条均线必有交点。若m>n,n天平均线“上穿越”m天均线则为买入点,反之为卖出点。该策略基于不同天数均线的交叉点,抓住股票的强势和弱势时刻,进行交易。
双均线策略中,如果两根均线的周期接近,比如5日线,10日线,这种非常容易缠绕,不停的产生买点卖点,会有大量的无效交易,交易费用很高。如果两根均线的周期差距较大,比如5日线,60日线,这种交易周期很长,趋势性已经不明显了,趋势转变以后很长时间才会出现买卖点。也就是说可能会造成很大的亏损。所以两个参数选择的很重要,趋势性越强的品种,均线策略越有效。
05、行业轮动
行业轮动是利用市场趋势获利的一种主动交易策略其本质是利用不同投资品种强势时间的错位对行业品种进行切换以达到投资收益最大化的目的。
06、跨品种套利
跨品种套利指的是利用两种不同的、但相关联的指数期货产品之间的价差进行交易。这两种指数之间具有相互替代性或受同一供求因素制约。跨品种套利的交易形式是同时买进和卖出相同交割月份但不同种类的股指期货合约。主要有相关商品间套利和原料与成品之间套利。
跨品种套利的主要作用一是帮助扭曲的市场价格回复到正常水平;二是增强市场的流动性。
07、指数增强
增强型指数投资由于不同基金管理人描述其指数增强型产品的投资目的不尽相同,增强型指数投资并无统一模式,唯一共同点在于他们都希望能够提供高于标的指数回报水平的投资业绩。为使指数化投资名副其实,基金经理试图尽可能保持标的指数的各种特征。
08、网格交易
网格交易是利用市场震荡行情获利的一种主动交易策略,其本质是利用投资标的在一段震荡行情中价格在网格区间内的反复运动以进行加仓减仓的 *** 作以达到投资收益最大化的目的。通俗点讲就是根据建立不同数量,不同大小的网格,在突破网格的时候建仓,回归网格的时候减仓,力求能够捕捉到价格的震荡变化趋势,达到盈利的目的。
09、跨期套利
跨期套利是套利交易中最普遍的一种,是股指期货的跨期套利(Calendar Spread Arbitrage)即为在同一交易所进行同一指数、但不同交割月份的套利活动。
10、高频交易策略
高频交易是指从那些人们无法利用的极为短暂的市场变化中寻求获利的计算机化交易,比如,某种证券买入价和卖出价差价的微小变化,或者某只股票在不同交易所之间的微小价差。这种交易的速度如此之快,以至于有些交易机构将自己的“服务器群组”安置到了离交易所的计算机很近的地方,以缩短交易指令通过光缆以光速旅行的距离。(该策略源码模板暂无)
个人当然可以做量化,毕竟一般个人都是要上班或者有其它的工作,全职做交易有些不切实际。我是比较推荐白天好好工作,晚上回家学习研究量化和策略研究,这样有好的模型放到云服务器上运行就可以了。
但是交易都有风险,既然来做交易,就要用亏损的心理准备,量化策略适用于历史行情,未来不一定持续有效。最好是在有一定交易造诣的基础上,用程序化软件做一些辅助工作。比如盘前做好计划,盘中让软件去执行,这样也不耽误正常的工作。
对于有充足时间做全职交易的,也能研究一下量化交易。量化投资具备其他的投资没有的特点,一键出策略,不用学太多技巧,雷尔量化系统优势有以下几点:
⒈不会受情绪的影响,比如说今天你跟女朋友吵架了心情很糟糕,那可能会影响你对市场的判断,如果这时候一顿 *** 作猛如虎,结果常常是亏的一塌糊涂,而量化交易是计算机程序自动执行,它不会受情绪的影响。
⒉无需休息随时捕捉套利机会,传统交易方式是人工进行 *** 作而人是需要休息的,如果睡觉的时候出现了套利机会你也就没有办法抓住,量化交易则没有这个问题,使用计算机程序它可以24小时不间断的运行。
⒊依据大数据智能作出判断,量化交易可以结合大数据机器学习等先进的工具对数据进行分析做出科学的判断,再也不是根据五行八卦星象星座来进行投资。
⒋可以高频执行,程序全自动高频运作交易速度与比人类手工 *** 作相比简直是马车和高铁的区别,顶尖的量化交易团队们甚至为了拼交易速度会把服务器设在交易所旁边呢,为的就是分秒必争不错失任何机会。
QPS、TPS、PV、UV、GMV、IP、RPS等各种名词,外行看起来很牛X,
Queries Per Second,每秒查询数。每秒能够响应的查询次数。
QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是最大吞吐能力。
Transactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。
TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。
例如,访问一个 Index 页面会请求服务器 3 次,包括一次 html,一次 css,一次 js,那么访问这一个页面就会产生一个“T”,产生三个“Q”。
page view即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。
根据这个特性,刷网站的 PV 就很好刷了。
与 PV 相关的还有 RV ,即重复访问者数量(repeat visitors)。
访问数(Unique Visitor)指独立访客访问数,统计1天内访问某站点的用户数(以 cookie 为依据),一台电脑终端为一个访客。
Internet Protocol独立 IP 数,是指 1 天内多少个独立的 IP 浏览了页面,即统计不同的 IP 浏览用户数量。同一 IP 不管访问了几个页面,独立 IP 数均为 1;不同的 IP 浏览页面,计数会加 1。IP 是基于用户广域网 IP 地址来区分不同的访问者的,所以,多个用户(多个局域网 IP)在同一个路由器(同一个广域网 IP)内上网,可能被记录为一个独立 IP 访问者。如果用户不断更换 IP,则有可能被多次统计。
Gross Merchandise Volume 的简称。只要是订单,不管消费者是否付款、卖家是否发货、是否退货,都可放进 GMV 。
代表吞吐率,即 Requests Per Second 的缩写。吞吐率是服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。
某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。
先说结论:部署的方式取决于需求
需求一:简单的demo演示,只要看看效果的,像是学校里面的demo展示这种
caffe、tf、pytorch等框架随便选一个,切到test模式,拿python跑一跑就好,顺手写个简单的GUI展示结果
高级一点,可以用CPython包一层接口,然后用C++工程去调用
需求二:要放到服务器上去跑,但一不要求吞吐二不要求时延的那种,说白了还是有点玩玩的意思
caffe、tf、pytorch等框架随便选一个,按照官方的部署教程,老老实实用C++部署,例如pytorch模型用工具导到libtorch下跑(官方有教程,很简单)
这种还是没有脱离框架,有很多为训练方便保留的特性没有去除,性能并不是最优的;
另外,这些框架要么CPU,要么NVIDIA GPU,对硬件平台有要求,不灵活;还有,框架是真心大,占内存(tf还占显存),占磁盘
需求三:放到服务器上跑,要求吞吐和时延(重点是吞吐)
这种应用在互联网企业居多,一般是互联网产品的后端AI计算,例如人脸验证、语音服务、应用了深度学习的智能推荐等。由于一般是大规模部署,这时不仅仅要考虑吞吐和时延,还要考虑功耗和成本。所以除了软件外,硬件也会下功夫,比如使用推理专用的NVIDIA P4、寒武纪MLU100等。这些推理卡比桌面级显卡功耗低,单位能耗下计算效率更高,且硬件结构更适合高吞吐量的情况软件上,一般都不会直接上深度学习框架。对于NVIDIA的产品,一般都会使用TensorRT来加速(我记得NVIDIA好像还有TensorRT inference server什么的,名字记不清了,反正是不仅可以加速前传,还顺手帮忙调度了)。TensorRT用了CUDA、CUDNN,而且还有图优化、fp16、int8量化等。反正用NVIDIA的一套硬软件就对了
需求四:放在NVIDIA嵌入式平台上跑,注重时延
比如PX2、TX2、Xavier等,参考上面(用全家桶就对了),也就是贵一点嘛
需求五:放在其他嵌入式平台上跑,注重时延
硬件方面,要根据模型计算量和时延要求,结合成本和功耗要求,选合适的嵌入式平台。比如模型计算量大的,可能就要选择带GPU的SoC,用opencl/opengl/vulkan编程;也可以试试NPU,不过现在NPU支持的算子不多,一些自定义Op多的网络可能部署不上去对于小模型,或者帧率要求不高的,可能用CPU就够了,不过一般需要做点优化(剪枝、量化、SIMD、汇编、Winograd等)顺带一提,在手机上部署深度学习模型也可以归在此列,只不过硬件没得选,用户用什么手机你就得部署在什么手机上23333。为老旧手机部署才是最为头疼的上述部署和优化的软件工作,在一些移动端开源框架都有人做掉了,一般拿来改改就可以用了,性能都不错。
需求六:上述部署方案不满足我的需求
比如开源移动端框架速度不够——自己写一套。比如像商汤、旷世、Momenta都有自己的前传框架,性能应该都比开源框架好。只不过自己写一套比较费时费力,且如果没有经验的话,很有可能费半天劲写不好
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)