用户指南

ATSXL是 …

ATSXL 是一个微软 Excel 电子表格的插件(Microsoft Excel Add-in),它通过利用微软 Excel 强大而高效的计算引擎,赋予用户最大限度的灵活性去实现:

  1. 快速下单

  2. 管理订单及头寸;

  3. 自动化交易策略。

ATS 是 Automated Trading System(自动化交易系统)或者 Automated Trading Strategy(自动化交易策略)的英文缩写。XL 则是微软 Excel 的缩写。

这里的有些文档也将其称为 ATSXL 插件


功能简介

用户使用 ATSXL 能够轻松地实现很多本来以传统的方法需要花费大量时间,大量编程,甚至都还不太容易实现的功能:

  • 交易:用户可以选择多个交易商,比如Interactive Brokers (IB/TWS API), Dukascopy (JForex API), MB Trading (Navigator API), MetaTrader (MT4 Bridge),甚至是以最小的编程代价去使用其他交易商的交易接口。

    借助 ATSXL,用户不会被限定在某个交易商的平台上面,因为用户的交易策略对交易商及其交易平台的依赖程度非常低。

    说明:目前只发布了针对 Interactive Brokers (IB/TWS API) 的接口,其他接口将陆续发布。

  • 快速下单:用户可以选中多个订单,然后按一次按钮即可将订单开始发送到交易服务器,也可以快捷地修改或取消多个订单。

    这极大的帮助了那些进行手工交易的用户获得计算机所具备的高速和准确的优势。

  • 使用任何软件或平台:在分析和回测阶段,用户可以使用比如 AmiBroker, eSignal, MultiCharts, NinjaTrader, OpenQuant, QuantDeveloper, TradeStation, 甚至是使用任何编程语言自行开发的应用平台。

    注意,用户在这个阶段并没有直接使用 ATSXL 。但这却是使用 ATSXL 的一个关键好处,即,用户在分析和回测阶段可以使用任意的软件或方法,把重点放在想法和策略上面,毕竟这才是成功交易的关键。

  • 自动化交易策略:在 Excel 强大和高效的计算引擎的基础上可以使用公式(formula),依赖关系(dependency),数据透视(pivot table),大量现成的第三方 Excel 插件,甚至 VBA 编程。

    用户的策略可以是简单的均线交叉,也可以复杂到基于规则,基于统计模型,事件驱动,或者其他任何用户能想到的方法。

  • 量化交易过程中的任何一个环节:可以使用 Excel, MATLAB, R, 或其他数量分析环境和计算库。

    信号过滤,头寸计算,风险控制,策略执行流程控制,甚至决策分析等等,这些都是能够有效使用数量化方法的例子。

  • 运行交易策略:可以是自动或半自动模式,或者是使用快速下单的手工交易模式。

    根据用户的交易风格和交易策略,以非常大的灵活性去实现和运行一个交易系统。

  • 自动化交易策略:可以运行在家里(普通电脑),也可以部署到远程计算中心(专用服务器或虚拟专用服务器VPS),或者部署到云计算平台(例如 Amazon EC2)。

    在远程计算中心运行自动或半自动的交易系统能获得诸多好处,比如冗余的电源接入,服务器级别的硬件,和高质量的网络连接。用户能从几乎任何地方远程访问和控制其交易系统。

  • 监测交易动态和交易策略的运行:使用一个第三方的专用日志监测软件,确保一些关键交易信息,订单状态,或任何需要监测的事件能够通过声音,短信,邮件的方式及时通知用户。

    当然,用户也自己选择其他软件,或使用自己开发的程序或脚本来监测 ATSXL 生成的日志文件,只要能满足自己的监测要求即可。

安装与配置

请参考 快速入门指南 里面的详细步骤以安装和配置 ATSXL 及其所需要的 Excel 电子表格文件。

配置微软 Excel

用户需要正确地配置微软 Excel 才能使用 ATSXL。请参考这里的 详细步骤


ATSXL 如何实现自动化交易

从总体上看,ATSXL 通过不断重复下面三个步骤实现其主要功能:

  • 将信息(或信号)从一个外部文件读入到 MSG 工作表;

    用户可以使用几乎任何一种技术分析软件(或数量分析平台)生成这些信息(或信号)。
  • Excel 里面的四个工作表(CFG, MSG, CORE, Ordres)保存实时变化的数据,状态和其他信息;

    其中最关键的交易策略(或交易计划)被部署在 CORE 工作表上面。
  • 保存在 Ordres 工作表上面的交易订单被发送出去;

    不同交易商的交易接口可以在这里被集成。

用户使用 ATSXL 的过程中需要经常涉及这四个 Excel 工作表,它们的名字显示在 Excel 工作区的下方,分别是 CFGMSGCOREBasic Orders(针对 IB TWS) 。

下面对每个工作表做简要描述,然后用一个简化的例子描述其工作流程,并展示这些工作表如何交互。

XL2003_Four_Tabs.png


CFG 工作表保存配置信息

CFG 工作表 上面包含了几乎所有 ATSXL 插件的配置信息。这些配置信息在 ATSXL 插件被装入 Excel 的时候将被读取。绝大部分配置信息可以在运行的时候被修改,然后再次读入。

XL2003_CFG_Tab.png

MSG 工作表保存消息(或信号)

MSG 工作表 将保存从一个外部文件读取的消息(或信号),这个文件类似于一个消息传输的管道,其他软件可以向这个文件写入消息(或信号)。比如,Amibroker 扫描 (Exploration) 可用于生成和更新这个信号文件。很显然,在这里用户可以使用其他任何软件。

对于 MSG 工作表的详细描述,和这个用户保存信息(或信号)的文件的格式,请参看 ATSXL MSG 工作表

XL2003_MSG_Tab.png

Orders 工作表保存订单(及其状态)

Orders 工作表 保存所有可以发送到交易商服务器端的订单,并保存来自交易服务器端的最新订单状态。对于 twsATSXL 电子表格文件而言,此工作表的名字为 Basic Orders

Orders 工作表 上面每一个保存着交易订单的 Excel 行也称作 订单行。(免费版本只能管理最多50个订单行,详细信息请参考 版本及许可协议

这里实际上还有另外一个工作表可以和 Orders 工作表 配合使用,以此为订单行提供更多的控制方法和灵活性。通过使用此工作表,用户可以为不同订单行预选定义不同的头寸大小,甚至根据某些条件或算法动态地计算某个订单的头寸。对于 twsATSXL 电子表格文件而言,此工作表的名字为 TwsOrdCtrl

XL2003_TWS_BasicOrd_Tab.png

CORE 工作表保存交易策略(及计划)

CORE 工作表 是这几个工作表中最重要的的一个,因为用户的交易策略将存放在此。

下面详细列举了交易策略是如何在 CORE 工作表 上表述的:

  • 一个 交易策略 由一组(或多组)交易计划组成。
    例如,对于一个交易品种,有一组交易计划负责建立并管理多头头寸,另外一组计划则负责建立并管理空头头寸。
  • 每一个 交易计划 由 CORE 工作表上的一些 Excel 行构成。
    而每一个 Excel 行 则进一步由条件(Condition)和操作(Action)构成。
  • 每一个 交易计划 可以根据 Excel 行上定义的条件(Condition)被激活或关闭。
    这里的条件(Condition)可以是 CORE 工作表 上面的一个值,或者另外一个工作表上的值,或者是某个复杂公式的结果,等等;
  • 每一个被激活的 交易计划 进而决定将执行某个操作(Action)。
    操作(Acition)可以根据条件不同而变化,也可能存在多个操作。
    这里的操作(Action)可以有很多种,比如创建/修改订单,取消订单,生成订单状态信号,甚至关闭另外一个交易计划,等等;

通过 CORE 工作表 上面提供的功能和灵活性,用户将可以创建简单的策略或者很复杂的策略。

注意:

下图中的很多蓝色和红色的注释是示例文件中为方便用户熟悉这个工作表上的很多功能和设置而添加的。用户熟悉之后可以自行删除。蓝色为一般性的技巧。红色为比较重要的技巧或设置。

XL2003_CORE_Tab_zh.png

一个简化的典型例子

下面是一个经过适当简化,但是很典型的工作流程:

ATSXL 首先从外部文件读入信号,然后把这些信号写到 MSG 工作表上面。

然后 ATSXL 开始从 CORE 工作表 上面读取一个策略的交易计划。如上所述,这些交易计划以很多 Excel 行的形式保存,每个行由条件(Condition)和操作(Action)所构成。ATSXL 会从 MSG 工作表 上把最新的信号更新到所匹配的交易计划上,如果一个交易计划被确认是激活的, ATSXL 将会执行交易计划所定义的操作(Action),比如创建新/修改订单,取消订单,生成订单状态信号,清除 Excel 某个区域内的值,等等操作。

对于一个交易品种,ATSXL 会处理该品种所定义的所有交易计划,直到全部完成。

ATSXL 同时也会接收来自交易服务器端关于交易订单的各种信息,并更新到 Orders 工作表 上面。这些交易订单的更新信息可以进一步用来控制存放在 CORE 工作表 上面的一些交易计划。比如,一个订单被成交之后,关于取消此订单的交易计划应该被关闭。如果用户的交易策略里面有控制其对应的止损订单的交易计划,则此交易计划应该被激活。

ATSXL 自身有一个定时启动机制,按照用户设定的频率,不断重复上面的工作流程。


与 ATSXL 配合使用的 Excel 工作表

下面这些 Excel 工作表将与 ATSXL 密切配合在一起使用。请参考下面为每个工作表提供的详细文档:

CFG 工作表

MSG 工作表

INFO 工作表

CORE 工作表

IB TWS Basic Orders 工作表

IB TWS TwsOrdCtrl 工作表

LOG 工作表


附录 A: 运行环境要求

ATSXL 最初被设计以使用尽量少的资源而能够部署到远程服务器中运行,比如,ATSXL 能够在只配置有512兆内存,单核处理器的 Windows Server 2003环境中运行。当然,ATSXL 也能运行在家用计算机环境中。


硬件和操作系统

ATSXL 能够运行在大多数微软 Windows 操作系统及其所依赖的硬件环境中:

  • 任何能运行微软 Windows 操作系统的X86硬件系统或者虚拟服务器;
  • 最少512兆内存(这里主要是指部署到远程服务器和虚拟服务器时的要求);
  • 主流的微软 Windows 操作系统,比如家用版从 Windows XP (SP3) 到 Windows 7,或者服务器版从 Windows Server 2003到 Windows Server 2012;

软件环境

用户需要安装以下软件和运行环境才能使用 ATSXL:

  • Microsoft .NET Framework 2.0 或更新版本(比如3.0或3.5);

    注意:不能使用 .Net 4.0 Framework 或之后版本。
  • Microsoft Excel 2003, or 2007, or 2010 (32位版本);

    详细信息请参考: 配置微软 Excel
  • 为 ATSXL 提供市场信号或者交易信号的软件,比如 Amibroker, MetaTrader 4 (MT4);
  • 交易商平台软件及其交易接口,比如 Interactive Broker(IB) TWS
  • 用于监测 ATSXL 日志文件的软件或脚本,比如 Corner Bowl Log Manager;

附录 B: 版本及使用许可协议

ATSXL 免费版

在不涉及商业性用途和不涉及非个人用途的前提下,用户可以免费使用该版本。

当免费版运行于自动模式下时,只能处理一个交易品种不超过50行的订单行。运行于人工模式下则没有这些限制。

注意,这里所指的订单行是指位于一个特定的 Excel 工作表上的那些能被交易策略控制的行,而不是指用户能新建,修改和撤销的交易订单数量。用户能使用免费版进行不限数量的交易

根据 ATSXL 免费版的使用许可协议和以上限制,用户在下列情况不能使用 ATSXL 免费版,而应该使用 ATSXL 专业版:

  • 用户使用 ATSXL 为商业实体或其他人,而非为自己进行交易;
  • 用户使用 ATSXL 进行交易,并涉及使用其他人的资金;
  • 用户作为独立交易者,需要交易更多的品种,或者觉得交易策略的运行速度已经不能满足要求;


请用户参考 ATSXL 免费版使用许可协议 详细了解其中条款和条件。


ATSXL 专业版

专业版能够管理更多交易品种和操作更多的订单行。更重要的是,专业版即使在管理更多交易品种,管理更多订单和头寸,并运行更复杂的策略的同时也比免费版运行得快很多

专业版目前仅限于私用,尚未公开发布,且发布的时间暂不确定。



附录 C: 快速入门指南

这里的快速入门指南以详细的步骤指导用户设置和使用 ATSXL。

在开始之前,建议用户先看下面关于 ATSXLtwsATSXL 之间的区别,以避免把两者混淆在一起。


关于ATSXL 和 twsATSXL 的区别

ATSXL 是指一个微软 Excel 电子表格插件(Microsoft Excel Add-in),用于快速下单,管理订单和头寸,并可实现交易策略自动化。

这里很多文档有时候也将其称之为 ATSXL 插件

twsATSXL 则是一个微软 Excel 电子表格文件,例如 twsATSXL.xls 这个文件,它是以 Interactive Brokers (IB) 官方公布的交易编程接口示例文件 TwsActiveX.xls 为基础,并增加了一些工作表以使用 ATSXL 插件。这个文件的名称可以根据需要改变,比如 twsATSXL_trend_following_v1.xls, twsATSXL_breakout_v1.xls, 等等。

这里很多文档有时候就将这些 Excel 电子表格文件 简称为 twsATSXL


通过 MetaTrader 4 (MT4) 控制 IB TWS 订单和头寸 (初级)

本入门指南指导用户使用 twsATSXL 连接 MetaTrader 4 (MT4) 和 IB TWS 的交易接口,MT4 生成的信号将能够控制 IB TWS 里面的订单和头寸。

本指南将指导用户自动化一个只涉及进场,出场信号的“简单”策略。此外,虽然这些信号是在 MT4 软件中通过 MA(简单均线)和 Bollinger Band(布林通道)这两个技术分析指标生成,但实际上也可以用其他技术分析指标,算法,甚至是 MT4 之外的其他软件生成。

手工交易或快速下单?如果用户大部分情况下是手工交易,这个快速入门指南仍然提供相关的步骤直到使用 twsATSXL 进行手工交易那一步。至此,用户应该能够使用 twsATSXL 进行快速下单。

(详细内容...)


通过 AmiBroker 控制 IB TWS 订单和头寸 (初级)

本快速入门指南指导用户使用 twsATSXL 来连接 AmiBroker 和 IB TWS 的交易接口,AmiBroker 生成的信号将能够控制 IB TWS 里面的订单和头寸。

本指南将指导用户自动化一个涉及进场,出场,追踪止损信号的“简单”策略。稍有编程经验的用户就知道以其他方法自动化这个策略将需要大量的编程!此外,这些信号虽然是在 AmiBroker 软件中通过 GMMA(顾比均线)和 Bollinger Band(布林通道)这两个技术指标生成,但实际上也可以用其他技术指标,算法,甚至是 AmiBroker 之外的其他软件生成。

手工交易或快速下单?如果用户大部分情况下是手工交易,这个快速入门指南仍然提供相关的步骤直到 使用 twsATSXL 进行手工交易 那一步。至此,用户应该能够使用 twsATSXL 进行快速下单。

(详细内容...)


通过 AmiBroker 控制 IB TWS 订单和头寸 (中级)

当用户完成上面初级入门指南之后,本指南将继续展示一些 ATSXL 的稍复杂的功能,比如同时管理多个不同价位的订单和头寸,按照不同条件管理多个移动止损订单。我们将继续使用之前由 AmiBroker 软件中使用顾比均线和布林通道这两个技术指标生成的信号,如前所述,这些信号实际上也可以用其他技术指标,算法,甚至除 AmiBroker 之外的其他软件生成。

最棒的一点是,用户在继续开发更复杂的交易策略时不再需要写代码,因为 ATSXL 将能够自动化这个策略,并相应地管理订单和头寸。这是使用 ATSXL 的最显著的好处之一。

(详细内容将逐步添加…)


2010 - 2015 WWW.ATSXL.COM COPYRIGHT NOTICE