文华财经被封杀,发明者量化是最佳替代方案

文华财经被封杀,发明者量化是最佳替代方案

文华财经作为国内占有率最高的期货交易和程序化交易的软件,这两年风波不断,先是随身行手机APP收费引起轩然大波,最近又有多家期货公司发布公告,通知其客户自1月17日夜盘开始将无法使用此软件进行登录、查询、交易等功能。包括华安期货、海通期货、招商期货、中信期货、光大期货、瑞达期货、南华期货、申银万国期货、浙商期货、东兴期货等。不乏头部期货公司。

封杀的理由是落实穿透式监管要求,认为文华财经交易软件(包括文华赢顺、文华随身行、文华赢智等)暂不符合监管要求。看穿式监管自2019年6月开始强制实施以来,已经过去半年,文华财经今天才被认为有问题,显然不仅仅是监管的需要,再加上多家期货公司同时声明,文华财经的麻烦不简单。

由于有免费的CTP接口,国内期货程序化交易目前比较普遍,很多人都尝试过在文华财经、金字塔之类的软件上回测和编写实盘策略。

期货程序化交易有很多优点:程序会按照设计自动执行,不受任何其它因素干扰,设计正确的请假下不会出错。借助于程序,交易速度更快,远远超过人工下单的速度。节省人工成本,一个策略可以部署多个机器人,特别当前期货存在夜盘的情况下,耗费非常大的人力成本。可以说,从事期货交易,每个人都应该学习程序化。

使用文华财经程序化交易的缺陷

  1. 无法满足监管需求,有可能被封杀。辛苦学习编写的策略可能突然无法运行,这种损失显然无法接受。
  2. 价格太贵,文华程序化交易软件8C套餐基本配置7800元/年/账号。
  3. 电脑配置要求高,需要 win10/win8的64位操作系统,8G内存,以及四线程CPU。
  4. 使用独特“麦语言”,小语法大函数,积木式的轻松编程环境,非常适合编写趋势策略。但由于其语言简单、语法支持不全 ,反而造成了一些困难,无法自由实现自己的想法。

用文华完成入门后,但会限制了用户更进一步的提升。很多人使用这些软件很多年,还停留在麦语言的层次,不得不说是一种悲哀。本文将介绍给你更强大的工具——FMZ发明者量化,能够部分替代文华财经。

FMZ量化简介

FMZ发明者量化平台(原BotVS)是专业的量化社区,创建于2014年。在这里你可以学习、编写、分享、买卖量化策略,在线回测和使用模拟盘模拟交易,运行、公开、围观实盘机器人。支持商品期货与易盛外盘期货, 也支持几乎所有的常用的数字货币交易所。

FMZ适用于量化交易初学者,即使无基础也可以快速入门,平台功能强大灵活,也可以能满足进阶需要。平台支持使用Javascript、Python、C++等完整的高级语言,也支持可视化语言和My语言(99%兼容文华财经麦语言,并支持与高级语言混合编程,极大扩展了功能)实现策略。

如何文华财经如何无缝对接到FMZ量化

1.复制麦语言代码:如果策略没有参数可以直接复制代码,如果参数较多可以在策略编辑界面导出zip压缩包,解压后即可得到后缀为XTRD的策略文件。


2.打开FMZ网站(要先登录)策略库页面,点击新建策略按钮,把刚才的策略导入,可以看到参数也能完美导入。

3.起一个策略名字,点击最下方的“创建策略”按钮,即可创建。在自己的策略库里就可以看到了。

4.点击策略再进入编辑带代码界面,点击最上方的模拟回测分页,就可以回测了,注意平台选择商品期货,点击麦语言交易类库可以设置合约等选项。回测设置选项非常多,具体可以看教程了解。

5.FMZ官方也移植了很多文华财经麦语言策略,在策略广场可以找到,可以直接复制。

策略广场

6.策略可以直接实盘运行,但不妨先添加个模拟交易所,具体参考:

CTP商品期货SimNow模拟盘配置(教学贴) - 发明者量化

7.发明者量化现在与国泰君安期货郑州营业部进行深度战略合作,凡是发明者量化的用户,开户的时候提“发明者量化用户”,将自动成为他们的VIP。要实盘运行策略不妨考虑一下。

发明者量化 商品期货合作单位开户流程

注意:具体实盘运行机器人还有一些简单的设置,这里就不一一介绍了,可参考平台的具体使用教程。fmz.com/bbs-topic/4145 。另外FMZ对麦语言不是100%兼容,但偶尔的例外也只需做少量修改。

FMZ量化平台的强大之处

能无缝对接麦语言只是平台的一个额外福利,FMZ量化平台本身也有独特之处,可以说在市场是独一无二的。平台架构特殊:具体执行机器人程序可以独立部署在自己电脑或服务器上,FMZ网站用于控制机器人、编写策略等。因此管理十分方便,可以随时随地在浏览器(包括手机)上登陆管理,并且在网页上实现下单。

1.一个机器人多账户多合约交易

文华财经一个机器人只能控制一个合约,这无疑为账户管理和策略管理带来了不必要的麻烦,FMZ框架可以在一个机器人内操作多个账户,同时操作多个合约,机器人页面也可以由自己完全控制。图是一个多品种海龟的例子。具体源码和详细注释:fmz.com/bbs-topic/744

2.突破交易所tick限制

在FMZ的策略模型下,你很容易就能操作N家不同期货公司的账户,并把他们的行情融合处理,以最快的速度下单。一般情况下,最多可以从期货公司服务器上得到两个Tick/秒, 但通过把多个期货公司的数据融合,以MA801为例,我们可以拿到最多一秒6次不重复的Tick,可以用来做高频交易。这是目前交易软件和其它框架都不能实现的功能。

3.一切由自己操作的自由

自己挂单之类的只是基础,你可以自由控制一切,如何开仓,如何平仓。有一部分期货品种平今仓的手续费较贵,你可以选择锁仓。类似这样的操作,使用编程语言易如反掌。那些为了方便的程序化软件在实现这些特殊的需求时,反而变得笨重繁琐。

4.可编写事件驱动型策略

CTP期货行情和订单是推送机制的,如果要实现高频交易,需要在接收到行情、接受到订单更新时立即做出反应,策略需要写为事件驱动形式。FMZ量化平台可以轻松实现这种机制,为高频交易铺好了路。

def on_tick(symbol, ticker):
    Log("symbol:", symbol, "update")
    Log("ticker:", ticker)              # 数据结构 : https://www.fmz.com/api#ticker

def on_order(order):
    Log("order update", order)

def main():
    # wait connect trade server
    while not exchange.IO("status"):
        Sleep(10)
    # switch push mode
    exchange.IO("mode", 0)
    # subscribe instrument
    _C(exchange.SetContractType, "MA001")
    while True:
        e = exchange.IO("wait")
        if e:
            if e.Event == "tick":
                on_tick(e['Symbol'], e['Ticker'])
            elif e.Event == "order":
                on_order(e['Order'])

总结

引用多次说过的一段话:

”重要的一点,要在实践中学习。没有必要所有的事情都搞明白才去写自己的策略。大致看一下Python或者Javascript最基础的语法,策略有一些思路,就可以动手写量化策略程序。遇到的问题百度、看文档,几乎能找解答。从零开始程序化交易,最难的是行动的第一步。可能很多人考虑过开始学习量化交易,但90%的人都没有写出一行代码,跑过一次程序。“

如果你想要学习量化或者讨厌传统期货量化交易软件给你的限制,现在就开始学习吧。

编辑于 2020-01-13 22:38