请在Chrome、Firefox等现代浏览器浏览本站。

全自动量化交易是怎样练成的?【量化Day10】-牛吧云播

课程实战 牛吧云播 评论

全自动量化交易是股市生存的重要选项,它基于大数据,从大量的历史数据当中发现大概率成功的事件,它可以避免情绪对操盘的影响,能有助于你进入高手的行列。那么初次接触全自动量化交易的时候,我相信大家会感觉到有些困难,那么这是正常的。

大家知道在前面九集当中,我们系统地阐述了整个量化交易的理念以及选股的理念以及风险控制的方法。那么到这个时候你已经掌握了人工量化交易的方法,那么一旦掌握这种方法,我相信你的操盘的水平已经超过大多数人。但是还有一个问题没有解决,那就是人的情绪的问题。人在操盘的时候,他总是有情绪的,那么这种情绪很可能造成你操盘失败。

 点击下图可免费试听课程↓

1.jpg

一、基于大数据  与最新科技保持同步

 

那么有谁可以做到完全没有情绪,这需要靠机器。所以今天第十集我们就告诉各位,全自动的量化交易就是由机器来执行买入和卖出。我们称之为全自动量化交易。全自动量化交易是股市生存的重要选项,它基于大数据,从大量的历史数据当中发现大概率成功的事件,它可以避免情绪对操盘的影响,能有助于你进入高手的行列。那么初次接触全自动量化交易的时候,我相信大家会感觉到有些困难,那么这是正常的。在课程结尾的时候,我们会告诉各位,如何轻松地化解这些困难。

 1.jpg

那么同时我们要说明两点:第一点,我们所有的策略一定使用模拟盘进行测试,为什么要使用模拟盘测试?因为没有任何一个人可以一次就能够把策略写得完美,所以必须使用模拟盘测试,这是第一点。那么第二点,我们在视频当中给大家演示的也是采用的模拟盘,所以这大家必须要注意,一定要经过模拟盘测试,没有问题以后才能进行正式的实盘交易。

 

量化交易系统分为两个部分,一个部分是策略的开发与回测,另一部分是策略的执行。那么策略开发这一部分我们快速的过一下就好了,策略的开发与回撤通常使用大智慧的平台,还有通达信的平台,另外也有一些其他的平台,那么其它的平台我们这里不做详细的探讨。

 

这个截图是大智慧写策略的一个平台,或者叫一个开发的平台。那么这一个是通达性写策略的平台。那么接下来我们重点讲第二部分量化交易的逻辑,它是怎么执行的?

 

二、须先使用模拟盘测试完善策略

 

我们看到量化交易的策略执行分为四个部分,第一部分是行情软件,行情软件,包括大智慧通达信都属于行情软件,那么通过行情软件我可以获得行情的数据。那么第二部分是交易软件交易软件,就是券商给到我们开户的这样一个软件,我们可以从当中获得账户的数据,可以通过交易软件获得交易的数据,同时取得交易登录的资格。那么接下来一部分是动态链接库,动态链接库,它能够把行情软件和交易软件之间的数据串联起来。

 

第四个部分执行加这一部分,他会把前面三个模块的数据做一个总体的控制,通过逻辑控制以后,它会产生一个交易指令,那么交易指令他会指挥交易软件进行买入或者卖出,这四个模块它需要连接,那么这个连接就需要一个数据交换的媒介,那么这个媒介事实上它是一个内存地址,所有的数据在内存地址当中进行交换,所以它是非常重要的一个模块。好,我们简单的看一下交易指令是什么样子的,比方说这一个案例是大智慧买入的指令,他表示要买入5万块钱的股票,以什么价格买入?就是代理应否51就是以卖五的价格买入,为什么以卖五的价格去挂单,因为卖五的价格它相对比较高,容易瞬间成交,避免不成交的现象。下面是通达信,一个交易指令,他也是买入5万块钱的股票,它的意思是一样的,只是表达的方式不一样,执行的最后结果也是一样的。接下来我们来具体看一看他在实践当中是怎么使用的,首先涉及到安装的问题,那么执行价该怎么安装它是非常简单,我这边有个例子,打开这个文件夹,这里面有一堆的文件,那我们只需要把这些文件做简单的拷贝就可以了。

 1.jpg

接下来是对动态链接库的安装,我们把它复制到通达信的行情软件的目录当中,找到T002这个目录,然后再找到dell目录,然后把它复制进去。我本身已经有了,我这边做一个演示,它现在提示我不能操作,所以我不用复制进去。好,我们现在看到动态链接库的文件已经复制进来了,那么有动态链接库文件以后,他就可以跟执行家做数据交换了。接下来我们再打开通达信的软件,我们来看看最后的自动买入卖出是怎么实现的。首先我们打开一个股票池,这里有一个测试的股票池,我们已经把它写好了,我们看一下它的代码,首先看一下买入的代码。

 

一个策略的执行它会包括几个部分,第一个是软件本身的控制,一个是资金的管理,另外一个是仓位的控制,还有一个时间的控制,最后是交易的策略,策略完了以后是一个执行买入,我们来一项项的看。首先我们一项项的看,第一行是关闭买入,有的时候我们只希望买一次,不想重复的买入,所以要关闭重复买入。那么用这条指令就可以达到目的。第二条和第三条,我们控制的是买入和卖出的间隔,这里我们控制的是五秒钟进行一次,就是说第一次买完了以后,第二次再买,至少要间隔五秒钟,这是人为的控制,我们可以把它缩小,也可以把它放大。

 

那么再看第二部分资金管理作为策略来讲,资金管理是非常重要的,通过执行家里边内部自己开发的函数,可以取到总资产,股票的市值可用资金。通过这些资金量的变化,我们来控制我们的仓位。有这个资金函数了以后,我们来看仓位是怎么控制的,首先是买入金额,我们这里举例是买入4000块钱,第二买入品种数我们买入五个就是只买五只股票的意思,接下来是品种数的控制。那么这样一个函数它小于买入品种数,他最终的意思就是说我只能买五只股票在下面,一个是仓位的控制,它表达的意思说我仓位最多保持半仓操作,超过半仓以后它就不会再买入了,那么这是仓位控制的部分,接下来是时间控制的部分,有的时候我们为了控制风险希望在2点半以后才买入,那么如果说2点半以后买入,我们就用from open小于210式来表示,我这里写的是240,之所以写成240主要是因为我这里要做演示,实际上这个地方你可以自己去修改,接下来一部分就是买入的策略,我们买入策略写得非常简单,仅仅做示范实际上的买入策略可能非常复杂,有几百行代码都不稀奇的,第一个条件很简单,就是现在的价格大于5日均线的价格,那么第二个条件是5日均线上穿10日均线,就是这么两个简单的条件,符合这两个条件,同时品种数在五个以内又是半仓的情况下,我们就执行买入这一条就是执行买入的函数!

 

执行买入的函数它有几个参数,首先我们看通达性DL4这是通达信的一个格式,四表示我们绑定的是4号函数,如果我们绑定的是三的话,改成三就可以了,这里是四,这里的一代表的是买入的意思。C乘1.003代表我要买入的价格,C是当前的价格,当前的价格乘以1.003就会比现在的价格要稍微高一点,那么这样以后我下单就能够瞬间成交,不用等待很久。第三个参数就是买入的金额,买入的金额我们可以自己去设定,也可以通过计算的方式去得到一个买入的金额,根据自己的情况去做。

 1.jpg

接下来第四个参数是四春图控,然后里面的一个数字叫做扣的扣的代表股票的代码,那么后面一个很关键买入条件,我们刚才看到要满足很多的条件以后,我整个买入的条件才是成立的,如果满足了买入条件以后,买入条件它是一个逻辑值,就是一如果不满足条件的时候,买入条件的逻辑值是零,如果是零的话,这条语句是不会被执行的,所以通过这里我们就能够控制这支股票我到底要不要买入。这是买入部分的代码。接下来我们看卖出部分的代码,卖出我们写的很简单,赚五个点以后就卖出,那么赚五个点以后就卖出,怎么样去实现?首先看第一行,我要取得它的成本价,就是取得它的成本价,取得成本价以后C除以成本价大于1:05表示我赚了五个点,那么赚了五个点以后卖出的条件他就符合了。接下来就是一个执行卖出的函数,三代表按数量卖出的C是当时的价格C乘以0.997,它就比现价稍微低一点点,比现价稍微低一点点的目的就是做价格优化,让你挂单以后能够快速的成交,就是这样一个目的。这个一百指的是卖出一百股,后面的四箴图控实际上就是传递的一个股票代码,把股票代码传递进来以后,然后再乘以一个逻辑值,这个逻辑值就是卖出条件,当达到前面赚五个点的条件的时候,它才会执行卖出,乌如果达不到的话,这条语句是不会被执行的,那么这样整个股票池代码的运作方式就把它说完了。

 

三、模拟盘原理功能演示

 

接下来我们看看他是具体怎么运行的。首先我们要打开一个模拟的交易软件,这是一个模拟交易软件,里面已经有很多的股票是我前面已经买好了。好,接下来我们打开执行家,直接点确定。执行加在启动过程中,它会把你持仓的情况,持仓的数量成本价格资本状况等等录入到执行价当中。现在已经录入了。接下来我们看一下界面,界面里面有几个矿,第一个日卖次数就是控制你当天允许买几次的,假设我们当天允许买五次,我这里就填五总买次数,就是你打开这个软件很可能很多天不关它,那我可以填个50。

 

如果你每天买五次的话,那么十天内他可以满足你的要求,卖出来,我可以填个五也可以填个五。那么每天买入的次数和每天卖出的次数我可以用手工在这里改,也可以用代码来控制。接下来我们看有一个选项叫做非交易时间段测试,如果说是非交易时段就需要把这个选项选中,下面是一个关闭行情轮巡这个是什么意思?行情轮巡视用于做T加零时候用的行情轮巡的速度非常快是毫秒级的,当做T加零的时候对速度有要求,所以才会选这个选项,我现在不需要我就把它关掉。接下来两个关键,第一个是启动自动买入,一个是启动自动卖出,把这两个点了以后它可以实现自动买入或者是自动卖出,那么下面还有三个按钮可重复买入,如果需要可重复买入,我就把它点上可以通过手工去更改,也可以通过代码控制还有一个开买延迟开满延迟指的什么意思指的是股票开盘20秒钟以后我才进行买入,之所以这样设置是因为股票刚刚开盘的时候价格波动比较大,有的股民希望开这一段,所以要把这个选项选上,开卖延迟是同样的道理,如果有这个需求的时候把它选上,那这里我们先不选。

 

好,接下来我们再回到股票池,接下来我们来看他是怎么样去执行的,我们运行股票池。它已经开始买了。这第一支股票。现在买第二只,第三只。这是第四只。第五只。我们看到买到第五支的时候它就已经停止了,那为什么会停止?因为我们这边设定的是日买次数为五,接下来我们再来看一看卖出是怎么样执行的?卖出首先要持仓的情况下我才会卖出。我们看这股票池当中没有我持仓的股票,因为演示的关系我手工把它添加进去,我们先看看持仓的股票,另外持仓的股票里面要赚五个点以上,我才选中它。

 1.jpg

比方说韩建河山,那么这支股票赚了21个点,那么这个就满足赚五个点的条件,我们把这支股票添加进去,手工添加。实际上是自动执行的,因为这里是演示要手工去添加。我现在已经把韩建河山添加进去了,接下来我们运行股票池看是怎么样一个效果。我们看到韩建河山它已经迈出了,因为我们设定的每次只卖一百股,那么这里只有一百股,他卖了一百股以后就没有东西可卖了,所以接下来他不会再进行任何动作的执行了,这是做掩饰的。实际在运行当中股票池是可以设置刷新时间的,比方说我可以设置为30秒钟刷新一次,一分钟刷新一次,每刷新一次所有的代码就会执行一次周而复始的运行,就形成了执行家的全自动交易。

 

现在就介绍到这里。好,各位朋友,当你看完的全自动量化交易的简介以后,你会发现这是非常有难度的,那么有难度的事情该怎样解决?首先我们会接下来拍摄全自动量化交易的课程,从零开始一步一步的教会大家,那么这个难度会大幅度的下降。另外新邮量化直播室已经开通了实时的沟通互动,那么有任何全自动量化交易的问题,我们可以在线沟通。我想通过这两个措施以后,90%的人都可以掌握全自动量化交易。目前全自动量化交易体系的课程正在拍摄当中,即将为你开启一个全新的量化交易模式,敬请期待!