一、第 4 章 创建交易业务
1.1 业务结构的选择问题
- 零售交易和自营交易各自的优缺点;
- 在选择一家零售经纪商或自营交易公司时应该考虑的问题有:佣金比率、是否提供所谓的“暗池”流动性、可交易品种的范围、是否提供应用程序接口、是否提供仿真交易账户、要了解清楚自营交易公司的声誉和财务状况等。无论选择哪种经纪商,都要确保交易账户和系统满足以下特征:
① 相对较低的佣金;
② 可交易金融工具、品种广泛;
③ 有足够深度的流动资金池;
④ 有获取实时数据和传送交易指令的 API。
1.2 交易员的操作环境和设备
为满足交易业务,需要逐步的升级交易设备,包括:
① 一台双核或四核电脑;
② 高速网络:cable、DSL、T1 等;
③ 防中断电源;
④ 实时数据和新闻来源;
⑤ 服务器托管
二、第 5 章 交易执行系统
作者在第 5 章 中主要讨论了:1. 如何建立自动化交易系统;2. 交易成本以及预测业绩与回测的偏差最小化方法。
2.1 自动化交易系统
自动化交易系统是基于策略自动生成指令并将其传送给经纪账户的软件,其工作流程大致为:获取最新市场数据→ 运作交易算法生成指令 → 传送指令给经纪商 → 经纪商执行指令。自动化交易系统的优点是:1. 保证与回测的策略完全一致;2. 不需要手工操作,所以可以同时运行多个策略;3. 可迅速传送指令。自动化交易系统又分为“半自动交易系统”和“全自动交易系统”,2 者的区别有:
① 半自动交易系统,交易员仍然需要向组合交易器或价差交易器手动上传包含指令详细信息的文本文件,并在恰当的时间手动点击按钮传送指令。(流程:历史数据文件 → 交易平台,如MATLAB → 生成指令文件 → 经纪商的组合交易器 → 你的经纪账户)适用于每天只需运行少数几次来生成一波或多波指令。
- 交易组合器:是指可以向经纪商一次上传多只股票多个指令的应用程序;
- 差价交易器:是指可以指定多对股票或证券及各对指令触发条件的应用程序。差价交易器可在整个交易日中监控实时价格并检查是否满足触发条件。
② 全自动交易系统,程序能够在整个交易日自动下载数据并传送指令,基本只需在程序启动和终止时做手动操作。(流程:实时数据接收 → 你的 c++ 程序 → 经纪商的应用程序接口 API → 你的经纪商账户)适用于高频交易。
2.2 最小化交易成本
介绍了一些在交易执行过程中能降低交易成本的方法:
① 可以避免交易低价股票,交易低价股票一方面会增加总佣金成本(对于一定资金,需要买入或卖出更多数量的股票),另一方面会有相对较高的买卖差价,进而增加总流动成本。
② 为减小市场冲击成本,可根据股票的流动性来限制指令规模。衡量流动性的常用指标是:平均日交易量,经验规则是:单个指令的股数不宜超过平均日交易量的 1% 。
③ 根据股票的市值来决定指令规模。大盘股与小盘股的权重比例不宜超过 10 倍,股票的资本权重因与其市值的四次方根成正比。
④ 将大额指令拆分为许多小额指令,并分开执行。但这种方法会加大滑价,不太适合指令规模通常不是很大的零售交易员。
2.3 用仿真交易测试交易系统
使用仿真交易测试交易系统有很多好处:
① 有助于发现策略和执行程序中的软件漏洞;
② 发现前视偏差或数据迁就偏差;
③ 发现操作困难,进而规范操作流程;
④ 更真实的估计交易成本;
⑤ 获得有关盈亏波动、资本使用、投资组合规模、交易频率的重要直觉。
2.4 实际业绩偏离预期的原因
若出现实际业绩与预期收益相差很大的情况,可以先做如下的简单诊断:
① 自动交易系统软件是否有漏洞?
② 自动交易系统生成的交易与回测程序生成的交易是否匹配?
③ 执行成本是不是远高于预期?
④ 是否交易了流动性差的股票从而导致了市场冲击?
此外,还可以考虑是否存在数据迁就偏差(可通过查看减少策略中的规则或参数是否带来回测业绩显著的下跌来做验证)或是策略发生了状态转换。