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 自身有一个定时启动机制,按照用户设定的频率,不断重复上面的工作流程。

2010 - 2015 WWW.ATSXL.COM COPYRIGHT NOTICE