前言
目前,国内针对股票的量化系统中,比如金字塔、掘金等,其策略在运行时都是针对某一个或者一些已预先定义的股票,没办法实现全市场动态筛选股票。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, 留言系统定制或者私募合作。
网友评论