全市场股票量化交易

前言

目前,国内针对股票的量化系统中,比如金字塔、掘金等,其策略在运行时都是针对某一个或者一些已预先定义的股票,没办法实现全市场动态筛选股票。multicharts系统中的sanner也只是在一批股票中选,性能比较低下。即使万得或者东方财富的choice系统,不仅费用昂贵,还不好用。找来找去,最后发现通达信股票池这一神器,零费用完成了全市场动态筛选股票,量化交易。

顺便再吹一下通达信,目前大多股民使用的免费炒股软件如同花顺、东方财富、大智慧等,只有通达信有股票池功能,也只有通达信支持加载dll公式扩展(就是可以通过公式函数调用第三方用c++写的公式。)

好了,下面开始说如何实现我们的系统。一图值万言,先上整个系统的架构图。 

现在来看看各个组件是如何实现的。

一、通达信

去官方网站下载通达信金融终端, 免费版也可以用,其中专业版以上可以在公式中使用资金流函数,本人是比较喜欢的,实战效果也满意。下载并安装完成后,点击进去通达信功能菜单下的策略股票池即进入股票池功能。在这里,笔者就不详细说明如何使用股票池功能了,迟点有时间再专门写一篇文章介绍。在股票池这里设置好我们的公式筛选目标股票,再在最后一步通过引用dll公式扩展函数发出信号到外面。下图就是我目前使用的股票池,截图是今天运行一天的效果。

二、通达信dll公式扩展

进去官方网站下载通达信DLL函数编程规范, 里面有例子和文档说明编写。这里使用的是c++语言,笔者根据自己的需求修改了里面的例子,部分代码如下,

2号函数买入股票、3号函数卖出股票,4号函数查询股票的可卖数量,5号函数查询当前盈亏。可卖数量大于0才能卖股票,当前盈亏用于在公式中止盈止损。完成编译dll后,就可以在通达信公式管理器中绑定dll函数。 下面是买入固定金额的例子。

其实在这dll函数里面就可以通过windows api操作证券委托软件买卖股票,或者通过其它接口买卖。但笔者对c++不是很熟识,而且c++编程比较麻烦、在这个dll不方便做界面监控,所以我这个dll函数主要功能是通过socket将函数中转出去。

三、交易信号处理软件

笔者熟识c#语言,使用c#开发一个桌面软件,通过socket服务器接收通达信公式发过来的信号,再通过windows api操作证券委托软件买卖股票。前两天有新闻说券商今年会对私募开放量化接口,那对于私募来说就可以连接券商系统直接下单,速度和稳定性都会提高。对于大多散户来说,短期内还是只能使用上面的方法。我的软件现在可以同时操作多个委托端下单,也支持将信号发布出去,分布式多台机下单。

结语

这一整套系统,成本非常低,但却做到了很多私募都没能做到的功能,动态筛选股票,自动买卖操作。有一定经验的股民,只要设置好你自己的买卖公式,就可以达到大型私募一样的操盘水平。需要本套系统定制开发的,可以联系本人QQ:113226, 微信:RobotKwan, 留言系统定制或者私募合作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,942评论 0 27
  • 胆大心细,不怕问题,稳! 遇到问题只能靠自己时,并发出的力量是很强大的。 故障的产生: 应该是电脑被我踢了...
    哈森森阅读 22,954评论 0 1
  • 1.C和C++的区别?C++的特性?面向对象编程的好处? 答:c++在c的基础上增添类,C是一个结构化语言,它的重...
    杰伦哎呦哎呦阅读 9,803评论 0 45
  • 文图/文贝 岛村临海畔,旭日耀霞光。 潮起云波涌,金滩幻彩装。 北岐,是福建省霞浦县松港街道辖下的沿海渔村,濒临福...
    文贝阅读 1,142评论 28 43
  • 已经好久没有因为一部电视剧哭到眼睛肿起来了。 《我亲爱的朋友们》讲的是一群年纪大,心态好的老年人的故事。她们的故事...
    沉音c阅读 1,494评论 1 1