一、目前期货程序化现状
由于有免费的CTP接口,期货程序化交易目前比较普遍,很多人都尝试过在文华财经、金字塔之类的软件上回测和编写实盘策略。
期货程序化交易有很多优点:程序会按照设计自动执行,不受任何其它因素干扰,设计正确的请假下不会出错。借助于程序,交易速度更快,远远超过人工下单的速度。节省人工成本,一个策略可以部署多个机器人,特别当前期货存在夜盘的情况下,耗费非常大的人力成本。可以说,从事期货交易,每个人都应该学习程序化
二、国内期货程序化交易软件评价:
1,文华财经
中国本土专业期货程序化软件,国内使用任务高。推出“麦语言”,小语法大函数,积木式的轻松编程环境,适合编写简单的趋势策略。但价格太贵。甚至手动下单也要收费,为0.2元/手。文华程序化交易软件8C套餐基本配置7800元/年/账号。
2,TB交易开拓者
是国内用户仅次于文华财经的。由于其语言借鉴可国外程序交易软件,在编写策略方面略胜于文华财经,在交易稳定性方面则略有不如。缺点是交易费用太高,按成交量计费,每手交易都按交易所手续费的25%收取,对于成交频率较高的策略十分不友好。
3,金字塔决策交易系统
金字塔是一款集程序化交易、看盘分析为一体的全功能综合软件:支持图标程序化交易、后台程序化交易、高频交易、趋势线程序化交易等多种自动交易模式。公式模型编写及操作兼容国内主流分析软件支持板块指数、套利、多账户交易及动态止赢止损。设计不太符合国内用户习惯;软件所用语法比较难学;用户较小,没有太多的示例代码。
三、期货程序化软件的限制:
使用程序化软件可以快速的写一些简单的趋势策略,并进行回测。但由于其语言简陋、语法支持不全 ,再会编程的人看来,反而造成了困难,无法自由实现自己的想法。以文华财经自带的麦语言为例,甚至不支持挂单交易,也缺乏必要的控制语句和数据结构。用这些软件完成入门后,反而限制了用户更进一步的提升,很多人使用这些软件很多年,居然没有任何进步,不能不说是一种悲哀。如果你熟悉程序化软件或者打算入门,现阶段学习一门正规的编程语言才是最重要的。
四、编程语言以及CTP框架的选择:
编程语言推荐Python和Javascript,主要原因是解释性语言,方便新人上手。Python有很多完善的科学计算、深度学习、统计、金融的包,如果有这方面的需求,学习Python无疑最佳。Javascript性能强大,更容易学习,也值得推荐。其实,当你掌握一门语言后,学习另一门语言也不会花费太多时间,特别是对于编写策略,使用不同语言并无太大的区别,也很容易在两者语言之间转换。
CTP的底层是C++,对于新手比较困难,可以选择已经封装好的框架直接使用,如很流行的VNPY已经FMZ量化框架(官网www.fmz.com)等,这里推荐FMZ量化,优点有:网页控制(甚至能网页下单),支持回测模拟以及实盘,用户多社区活跃、入门教程和范例很多,方便自学入门,收费极低,约合1元/天。
五、使用编程语言的强大之处:
1.一个机器人多账户多合约交易
文华财经一个机器人只能控制一个合约,这无疑为账户管理和策略管理带来了不必要的麻烦,FMZ框架可以在一个机器人内交易多个账户,同时操作多个合约,机器人页面也可以有自己完全控制。图是一个多品种海龟的例子。
2.突破交易所tick限制
在FMZ的策略模型下,你很容易就能操作N家不同期货公司的账户,并把他们的行情融合处理,以最快的速度下单,
正常情况下,我们最多可以从期货公司拿到两个Tick每秒, 但通过融合行情的技术,以MA801为例,我们可以拿到最多一秒6次不重复的Tick,可以用来做高频交易。这是目前任何交易软件和其它框架都不能实现的功能。
具体帖子:https://www.fmz.com/bbs-topic/1184
3.一切由自己操作的自由
自己挂单之类的只是基础,你可以自由控制一切,如何开仓,如何平仓。有一部分期货品种平今仓的手续费较贵,你可以选择锁仓。类似这样的操作,使用编程语言易如反掌。那些为了方便的程序化软件在实现这些特殊的需求时,反而变的笨重繁琐。
六、总结
引用我在比特币价格近期新高,该学习量化交易了的一段话:
”重要的一点,要在实践中学习。没有必要所有的事情都搞明白才去写自己的策略。大致看一下Python或者Javascript最基础的语法,策略有一些思路,就可以动手写量化策略程序。遇到的问题百度、看文档,几乎能找解答。从零开始程序化交易,最难的是行动的第一步。可能很多人考虑过开始学习量化交易,但90%的人都没有写出一行代码,跑过一次程序。“
如果你想要学习量化或者讨厌软件给你的限制,现在就开始学习吧。
网友评论