您的位置: 零点财经>股票知识>量化交易> 如何建立半自动股票交易系统

如何建立半自动股票交易系统

时间:2017-07-04 16:02:11  来源:量化交易  本篇文章有2585字,看完大约需要9分钟的时间

如何建立半自动股票交易系统

时间:2017-07-04 16:02:11  来源:量化交易

半自动交易系统中(如图5-1所示)一般用Excel或MATLAB等好用的软件生成指令。生成指令的程序通常就是回测程序,毕竟,所执行的量化交易策略就是回测的策略。当然,要记得更新输入的数据文件,以反映最新的数据。这项工作要么由能够直接进入网站检索所需数据的MATLAB完成,要么由一个独立的程序来完成,如前面提到的HQuote,在下面的例子中,MATLAB仅用作将这些数据转换为合适的格式,以便策略程序生成指令。

半自动交易系统

图5-1 半自动交易系统

若最新数据是前一天的收盘价,数据更新比较容易,若是当天最新成交价,就比较困难。如果所需数据是最新成交价,经纪商或数据提供商就必须提供一个能够自动更新Excel输入文件的动态数据交换(DDE)链接。绝大多数为交易员提供服务的经纪商,都会提供这种动态数据交换链接,如Interactive Brokers, Genesis Securities和高盛REDIPlus等。许多自营交易公司会使用其中一家经纪商来执行交易,因此,你可以获得这些经纪商提供的全部实时数据和指令输入技术。

动态数据交换链接可以直接导入Excel电子表格,自动将实时数据写入单元格内。

不同经纪商的动态数据交换链接的格式不尽相同,但看起来都跟这个差不多:

=accountid ︳LAST!IBM

其中,LAST表示最新价格,IBM是股票代码

可通过运行Excel宏(与表格关联的VB程序)或MATLAB程序来生成指令,它们可以检查表格中的信息和价格,运行交易算法,将指令写入另一个文本文件,文件每一行包含三项内容:股票代码、方向、数量。

例如:

(“IBM",“BUY",“100")

就可能是输出指令文件中的一行。有时,经纪商还需要其他信息,如当天有效或撤单前均有效。所有这些补充信息要写入指令文件的每一行。

在生成包含指令的文本义件后.就可以将指令文件上传给经纪商的组合交易器或差价交易器,以备传送。

组合交易器是可以向经纪商一次上传多只股票多个指令的应用程序。差价交易器是可以指定多对股票或证券及各对指令触发条件的应用程序。差价交易器在整个交易日中,能监控实时价格并检查是否满足触发条件。如果经纪商的动态数据交换链接允许传送指令,也可以运行一个Excel宏文件来扫描指令文件,并且可以将所有指令一次性传送到账户。

我的两个经纪商Interactive Brokers和REDIPIus,都有组合交易器和差价交易器,以及可以更新数据和传送指令的动态数据交换链接。(Interactive Brokers的差价交易器只能用于期货日历差价。股票差价可通过“通用组合”在某时刻指定股票配对来实现,不过期货和股票都有指令触发条件的持续监控。)

这里,介绍一下我是如何使用Interactive Brokers的组合交易器。每天开盘前,我运行一个MATLAB程序检索市场数据,运行交易算法,并将一组指令写入指令文件,指令文件往往超过1000行(相应地,超过1000个标签)。之后,我在交易页面启动组合交易器,并用组合交易器一次向账户上传包括所有指令的指令文件。有些指令可能在开盘时就被执行了,有些指令可能会在稍后被执行,有些可能没被执行。收盘前,我要点击按钮取消所有未执行的指令。最后,如果我想将所有头寸清仓,只需点击组合交易器里的另一个按钮生成相应的清仓指令即可。

我用REDIPlus的差价交易器来执行案例中的配对交易策略,因为可以在交易日的任何时候通过差价交易器下达指令,而无需等到收盘。同样,我在开盘前用MATLAB收集市场数据,运行配对交易算法,并写入所有配对股票的限价。(注意,这里的限价是对差价的限定,而不是单只股票。如果是限定单只股票,普通限价指令就能做到,不需要差价交易器。)之后,在已包含之前所选定配对的差价交易器中,我根据MATLAR的输出结果人工调整限价,其中交易器已经包含了我之前指定的所有配对股票。(实际上,这个步骤也可以自动完成:MATLAB可以把所有差价指令信息写入一个Excel文件,并上传到差价交易器。)点击另一个按钮就可以开始全天候监控股票价格和指令执行信息了。

我也会用REDIPIus的动态数据交换链接来传送另一个组合交易策略的指令。我先用MATLAB在每个Excel单元格里生成一个恰当的动态数据交换链接公式,这样每行标签下的数据就可以自动更新了。开盘后,我通过电子表格的宏检查每个数据标签并将其(连同电子表格中的其他指令信息)上传到REDIPIus的账户中。

一般来说,半自动交易系统适用于每天只需运行少数几次来生成一波或几波指令。即使经纪商的应用程序接口(API)提供用Excel VB宏传送指令的功能,要频繁运行程序来获取最新数据并生成一波又一波的指令,程序的速度会非常慢。这种情况,就必须建立全自动交易系统。

相关推荐

热门关键词

相关阅读

为您推荐

k线图
移动平均线
股票知识
MACD
老丁说股
股市炼金术
热点题材
KDJ指标
股市罗盘
股参会
读懂上市公司
成交量
牛股学堂
股票技术指标
股票大盘
分时图
股市名家
主力
涨停板复盘
视频教学
概念股
股票龙虎榜
股市要闻
缠中说禅
强势股
波段操作
股票盘口
短线炒股
股票趋势
涨停板
股票投资
长线炒股
个股新闻
新股要闻
行业资讯
主力研究
市场动向
股票问答
股票术语
个股点评
宏观经济
财务分析
热点专题
本周策略
炒股软件
上证早知道
每日一股
经济学术语
期货
港股要闻
外汇要闻
期货要闻
美股要闻
基金要闻
股票黑马
股票震荡市场
理财
炒股知识
散户炒股
外汇





















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































相关栏目推荐

栏目导航

网站首页
老丁说股
李大霄
严为民
股票问答
股票术语
视频教学
网站地图

copyright 2016-2018 零点财经保留所有权 鲁ICP备16025527号-1 免责声明:网站部分内容转载至网络,如有侵权请告知删除

联系QQ:253161086

零点财经保留所有权 鲁ICP备16025527号-1

免责声明:网站部分内容转载至网络,如有侵权请告知删除

联系QQ:253161086