认识量化交易2

一、交易策略设计 1. 策略原理阐述

数字资产的交易策略,大致分为以下几类:

在策略的设计阶段,我们需要明确该策略属于哪种类型,并且要对该类型的策略有一个基本认识。 套利型策略和做市策略,其本意不是靠持有头寸而盈利,而是靠快速反复地买卖,保持头寸基本不变(有对冲的情况下头寸基本为0)的情况下,赚取可靠的小额利润,打败交易手续费和冲击成本,积少成多,最终成为稳定盈利型的策略。这类策略的收益曲线不会出现大幅波动,回撤较小。

趋势型策略,需要对海量的历史数据进行统计分析,结合一些操盘经验,设计出统计上大概率盈利的模型,用来指导投资操作。这类策略的操作频率不会太高(一般在4小时以上),收益有一定的不确定性,但是一旦抓住优质盈利区间,收益一般都非常可观。这类策略需要严格按照计划来交易,每个操作都要做好相应的止盈止损,头寸也需要做好相应的控制。在确定到达优质盈利区间之前,少放些头寸,一旦确认进入优质盈利区间,可以慢慢放大头寸。

一些图形化的辅助工具,可以帮我们理清头绪。比如下面是一个三角套利策略原理图:

在原理图中,我们要清晰地定义好策略的初始化状态、启动条件、资金和资产的流转顺序以及预期达到的目标。原理图越简单越好,一些琐碎的边界异常处理、精度取舍、系统监控等细节,无需在原理图中体现。 2. 实际操作中的策略调整

原理图做好了,接下来就是对其进行细节的深挖。具体包括:

(1)交易成本的调整:需要考虑买卖盘价差、滑点、手续费等因素,对策略的启动条件、资金及资产操作额度进行调整

(2)交易数量的调整:需要结合市场深度、账户资金及资产的余额、头寸限制及交易平台规则,对交易数量进行调整

比如上面这个三角套利策略,做完上述调整后,策略的启动条件从(P3 < P2/P1 )变为:

只有当公允价(P2/P1)和市场价(P3)的价差比例大于所有市场的费率总和再加上滑点总和时,才启动该策略。

3. 策略流程设计

策略调整好后,开始设计具体的流程,具体包括:

(1)分配初始资金及资产,设定风险参数

(2)设定策略轮询机制。比如是简单while loop轮询,还是按照固定时间间隔进行轮询(比如每4小时执行一次操作)

(3)设定策略主体执行逻辑。比如在情况1下,执行什么逻辑,在情况2下,执行什么逻辑,默认情况下,执行什么逻辑。

(4)设定与策略主体相关的其他逻辑。比如有的策略需要对冲,则需要设计对冲部分的启动条件和相关逻辑;有的策略需要进行资金及资产的划转,则需要设计该部分的启动条件和逻辑。

二、策略系统监控与异常处理

1. 盈亏监控

(1)设定盈亏计算方式。有的策略完全以法币作为盈亏计算单位,有的策略分开计算法币和数字资产。如果数字资产来自于借贷,则法币和数字资产分开算比较合适,否则,推荐用法币来计算。

(2)设定盈亏处理方式。亏损到达一定比例,如何操作?盈利到达一定比例,如何操作?

2. 头寸监控

(1)设定净头寸计算方式。一般来讲,就是以期末的资产数量减去期初的资产数量,得到净头寸。

(2)设定净头寸处理方式:净头寸超过一定比例,如何操作?

3. 心跳监控

策略运行过程中,应该要不断向外释放心跳信号,让外部知道策略是不是发生了异常。监控最近一次心跳的时间跟当前时间的间隔,如果超时,报警提示,必要时,停止并检查策略。

4. 系统运行状态监控

策略是一个多进程系统,包括主进程、对冲进程、行情进程、账户进程、统计进程、通知进程。需要有一个单独的监控进程,对系统所有进程进行状态监控,发现异常,则报警提示,必要时,停止并检查策略。

5. 人工干预

策略在运行过程中,如果发现异常,必要时需要进行人工干预。具体包括:

(1)手动停止策略 (2)手动对冲 (3)手动划转资金及资产 (4)手动调整风险参数及其他策略参 (5)手动重启策略

三、策略回测与模拟

1. 回测

量化系统投入实际使用之前,人们会希望提前测试策略效果。这个期间往往涉及代码的改动和参数的调整。最常见的做法是将历史数据输入量化系统,让量化系统根据既定的交易逻辑进行操作,观察和分析交易结果,找到问题所在,调整量化系统,然后以此循环,直到效果达到预期为止。该过程在业界被称为回测。回测是量化工作者常见的工作内容之一。

2. 模拟

将量化系统行情接口接入实时行情,但是账户和下单接口用本地模拟的手段来实现,不去真实市场交易,这样,即避免了亏损风险,又得到了策略在真实行情下的近似表现,该过程就是策略的模拟运行过程。模拟运行能够提前发现策略实际运行过程中的问题,避免损失。

四、策略上线与维护

1. 上线资产分布规划

上线策略之前,需要对账户中放置的资产和资金进行规划,不同策略有不同的方案。以前面第二篇文章《如何快速实现自己的数字资产交易想法(2)》的三角套利策略为例,相应设置可以参考下面的方案:

在BTC/CNY市场放入如下资产:

BTC:1个BTC

CNY:2万元

在LTC/CNY市场放入如下资产:

LTC:100个LTC

CNY:2万元

在LTC/BTC市场放入如下资产:

LTC:100个LTC

BTC:1个BTC

2. 启动策略的条件

一般来讲,启动策略之前,要做下列检查:

(1)市场急剧波动的情况下,不适合仓促启动策略。等后市稍稍明朗下来,再启动策略。
(2)不明确策略基本原理的情况下,不要启动策略。
(3)监控措施和流程不完善的情况下,不要启动策略。
(4)之前的盈亏结算没有理清的情况下,不要启动策略。

3.策略上线之后,需要根据运行情况进行持续优化升级,确保以下异常能够被处理:

(1)平台API超时或者无法访问。
(2)策略运行环境和平台之间的网络连接出现异常。
(3)策略运行环境的磁盘空间不足, CPU利用率过高、内存不足导致的异常。

原文地址:https://www.cnblogs.com/impw/p/14841394.html