开篇:润墨网以专业的文秘视角,为您筛选了一篇FIXatdl技术简述范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:介绍fixatdl技术起源,简述FIXatdl的定义、工作机制,概述FIXatdl的关键概念,通过应用实例展示FIXatdl的应用方式,总结FIXatdl的特点。
关键词:FIX;FIXatdl;算法交易;算法策略;界面控制
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-7711-04
FIXatdl Technology Introduction
ZHANG Yong-li
(Beijing RootNet Technology Co.,Ltd.Beijing 100036, China)
Abstract: Introduced FIXatdl origination, explained its definition, work mechanism and key conceptions, revealed the application mode with an example, finally summarized the characteristics.
Key words: FIX; FIXatdl; algorithmic trading; algorithmic strategy; GUI control
算法交易产生于20世纪70年代的美国,它的实质是使用计算机进行证券的自动交易,以降低大额交易的交易成本,提高投资收益。从2004开始至今是算法交易的快速发展期,其动力一方面来自通信标准。与传统市场的限价订单相比,算法交易需要的通信参数要多很多。买方交易员所使用的交易系统必须能够适应与日俱增的新型算法指令。新型复杂算法需要花费巨大的研发及其它费用,例如基础设施、系统研发与集成、市场推广等。卖方需要做的是让新型算法电子指令直达买方交易员,并且让后者无需每次都再修改系统就能直接下单交易。
FIX协议组织是一家非营利易协会,专门免费为电子证券交易设立的公开的通信标准。其会员包括几乎所有的大中型经纪商、货币市场银行、机构投资者及共同基金等。此机构在证券交易领域的标准设定方面占有垄断地位。在2006-2007年,几家会员联合了描述算法交易指令类型的XML标准草案。这个标准被称作FIX算法交易定义语言(FIXatdl)。该语言使得新型算法的开发变得方便快捷。
1 FIXatdl定义与工作机制
FIXatdl是一种完全兼容FIX4.0系列协议、FIX5.0系列协议的标记语言,是FIX Algorithmic Trading Definition Language的简称。它使用XML来描述和定义一个算法订单的FIX接口,包括算法订单的参数、参数之间的依赖关系、交易策略界面布局以及验证用户输入的值合法性等。
FIXatdl中一个算法订单的接口描述由以下几个部分组成:
1)Parameters:策略参数定义;
2)Screen Layout:供策略参数的录入界面,支持参数录入时界面控件的事件逻辑控制;
3)Validation rules:定义策略参数的合法性校验;
4)FIX tags:定义每个策略参数对应的FIX 标签。
FIXatdl的工作机制是:使用时,卖方生成一个FIXatdl的XML文件,该文件描述了可以使用的策略算法、策略参数、与FIX标签的映射关系、合法性规则、界面样式等。买方使用其OMS程序来解析卖方提供的FIXatdl XML文件,并进行动态地渲染出策略界面,包括界面布局、窗体中的控件、各控件的默认值,并且可以为控件设定触发事件、校验机制。交易员选择不同的策略时,可以平滑的实现界面的重新渲染,产生新的策略参数界面。交易员直接使用此界面进行策略参数的输入并创建策略,OMS根据XML文件中定义的策略参数与FIX标签的对应关系,将整个策略包装成一条标准的FIX消息报文,然后发送给卖方。这使得买方的OMS无需针对卖方每次的新算法策略进行接口部分的变更或定制化开发。
FIXatdl关键概念
FIXatdl文档元素
FIXatdl提供了一组XML元素用于创建FIXatdl文档,而且在一个FIXatdl文档中可以定义多个策略信息,每个被定义的策略都有自己保证唯一的策略名称。基本FIXatdl文档结构如下:
… strategy definition …
……
… strategy definition …
每个策略定义(strategy definition)中又包括多个描述标签,如下:
< Strategy >
…
…
其中,用于定义策略参数;用于定义校验规则;用于定义策略界面布局和控件布局;
2 参数描述
FIXatdl使用元素来定义参数,必要的属性包括:
1)name - 参数名称
2)xsi:type - 参数类型
3)fixTag - FIX标签
一个参数定义样例,如下:
xsi:type="Percentage_t"
fixTag="7641"
minValue="0.01"
maxValue="0.75"/>
参数名称是“VolTarget”,是一个百分比类型参数“Percentage_t”,对应的FIX标签为7641。
3 界面布局与控件
为了使一个策略参数在OMS的界面上得到正确地渲染,必须能正确地显示策略参数对应的GUI控件< lay:Control>。通过使用Layout组件可以描述策略参数对应的GUI控件,也可以对GUI控件的界面布局进行描述。这种布局是通过在容器面板中对控件进行描述来实现的。
一个< lay:Control>元素包括:
1)ID - 控件编号
2)xsi:type - 控件类型
3)label - 控件显示名称
4)parameterRef - 控件对应参数名称
下面的例子定义了2个参数,其中每一个参数都指定了一个XML GUI控件
ID="StartTimeClock"
label="Start Time"
parameterRef="EffectiveTime"/>
ID="VolSpinner"
label="Target (1-75%)"
parameterRef="VolTarget"/>
OMS在实施渲染时,根据FIXatdl文件确定需要创建哪些控件的实例以及他们的位置布局。对于上述的参数,渲染的例子见前面图1。
4 校验规则
对于在GUI控件输入的参数值,可以通过XML文件的合法性校验规则来检验是否为正确的输入值。合法性校验规则通过 元素来定义。每条规则包括可以包括多个 元素定义的布尔表达式,以及一个错误提示信息,在布尔表达式为真时,会显示提示信息。一个元素的例子如下:
这里我们定义了StartTime和EndTime两个日期参数,如果前者不小于后者,则弹出错误信息的对话框。
5 流程控制规则
标准的FIX标签之间往往存在相互关联的联系,相应的规则往往在算法交易订单的XML规范文件中定义。FIXATDL的流控规则(flow sub-schema)提供了对这类规则进行表达的一种标准化方式。这些规则控制参数的可用性、允许/失效,隐藏和显示等。
当有参数的值发生改变的时候,这些规则将被检验。作为结果,一些参数可能被隐藏、置无效。这些改变参数行为的规则由一个布尔表达式构成,如果为真将导致可视化状态的改变。下例的 即为这样的布尔表达式。
其中,AlphaMode和Alpha为定义的两个参数定义的规则为,如果AlphaMode为Annual或Daily,则参数Alpha有效,如果AlphaMode为Continuous,则Alpha失效。
使用流控规则,OMS就可以基于标准FIX标签/字段的值来判断是否需要改变参数控件的可视化状态。
应用实例
下面是一个将FIXatdl应用在实际场景中的案例。图2展示了一个算法策略的创建界面,该界面完全是基于FIX atdl进行渲染和展示出来的界面。我们通过一个VWAP(交易量加权平均价格策略)加以说明。
在传统交易平台中,对于这样一个交易策略,除了在服务器端构建对应的算法策略实现,还要在客户端进行相应的修改,以便客户端可以支持相应的算法策略的创建。随着算法的日益增多,每增加一个新算法:服务器端构建、客户端UI构建、联调测试、开发过程中接口沟通,都是一项费时费力、低效率的事情。
而通过在算法交易平台中加入对FIX atdl的支持,服务器端在增加一个新策略的同时,通过FIX atdl.xml的方式对策略接口参数、参数边界值、策略参数UI布局以及UI控件检查控制逻辑的定义;然后将这个FIX atdl.xml给客户端,各客户端仅仅需要做的就是渲染并加载这个策略定义描述文件即可,如上图中:我们先从策略类型中选择“被动”策略,再在从策略中选择“VWAP”,然后客户端界面将自动加载FIX atdl.xml中对应的策略描述信息,显示出与该策略相关的参数内容及界面控件布局。策略创建成功时,将通过标准的FIX协议将策略参数发送给算法服务器。
6 结论
FIXatdl通过一个XML Schema来实现定义算法策略的标准化语言,最大的好处是减轻了多个供应商之间进行系统整合的时间和财务成本,并降低了系统整合的技术难度。
FIXatdl的技术优势主要体现在以下2个方面:
1)与FIX通讯协议完全兼容。
2)与平台无关、与程序语言无关。正如WEB浏览器能够阅读一个标准的 HTML 页面一样,买方系统可以通过解读FIXatdl XML文件,为买方用户提供新策略的使用界面。
相应地,对算法交易各方来说主要的应用价值可大致概括为:
从卖方算法提供商角度的角度:
3)新策略算法给用户的周期变得更快,减少了与买方之间因算法变更带来的协调工作;
4)相对于算法研发的成本,通过FIXatdl快速的将新算法接口推向市场将带来更多的投资回报;
5)这种算法接口模式的存在,实际上推动了DSA(direct strategy access)的产品化和产业化,其价值和意义不可低估。
从OMS/EMS供应商的角度:
6)用更少的时间和成本去支持更多的算法策略接口;
7)明显降低了因支持策略算法的变更而带来的程序重构影响;
8)更快的获取新的算法交易策略,更加有效的应对不断发生变化的市场环境。
参考文献:
[1] FPL.FIXatdl-1.1 Specification[ER/OL].[2010-03-01].
[2] FPL.FIX4.2 Specification[ER/OL].[2001-05-01].