数字货币资产日内价格跳跃预测

NewBloc 发布在 链圈子 海盗号 43308

1. 介绍:

众所周知,数字货币资产具有波动率大且价格波动迅猛等特点,常常表现为某个数字货币在短时间内发生价格跳跃,5分钟内价格震幅甚至高达5%以上。这种价格的短时间跳跃,会对中长周期数字货币量化交易以及做市等策略带来相当大的风险。相反,如果能在价格跳跃产生之前或者产生初期成功预测,形成及时的止盈止损以及交易策略,会极大的提升策略本身的风险把控能力以及收益。

一般来说,数字货币的价格波动主要与特定事件、市场新闻或者大量套利对冲活动有关,通常会在不易察觉的前提情况下瞬间发生跳跃,这使得在到监测到预测特征之前进行跳跃预测非常具有挑战性。要设计跳跃预测的机制,必须能够准确地监测具有显著统计特性的价格跳跃。目前,大多数跳跃识别方法都是针对低频数据而设计的,但低频数据只能识别一天之内是否存在跳跃,无法预测数字货币这种短时的价格波动。为了解决这个问题,我们需要通过对高频交易数据进行特征发掘,通过对这些特征的学习,希望能够在价格跳跃之前发现某些特征所产生的异常移动,从而能够较精准的预测数字货币的价格跳跃。

2. 数据准备

选取Bitfinex交易所的BTC/USD为研究标的,基础数据为BTC的5分钟K线逐笔成交数据,以及20档盘口数据。虽然逐笔数据以及盘口数据可以保留更多信息,但有可能会引起较明显的市场微观结构噪声,对价格跳跃的监测带来偏差,所以需要对这些高频数据进行整理,去除极值,形成5分钟分辨率下的逐笔成交指标和盘口指标。具体数据如下:

(1)       买卖盘能量比:取每分种内20档买卖盘的(买单数*买单挂单价格) /(卖单量*卖单挂单价格),然后取移动平均;

(2)       主动买卖成交比:取每分种内主动买量/主动卖量,然后取移动平均;

(3)       分钟线数据:每5分钟的开盘价,最高价,最低价,收盘价,交易量。

3. 跳跃检测

一般数字货币交易所的数字货币是7*24交易的,因此我们可以认为我们研究的交易标的在时间维度上是连续的,不存在第二天开盘后价格突变的问题。为了方便研究,这里选取格林尼治时间的0点到23点59分59秒为一个交易日。将每个交易日分成5分钟间隔,检测每个时间间隔内的价格跳跃。这里令rt,i 为第t个交易日的第i个时间间隔的收益率,

为第t天的积分波动率

则跳跃检测指标可定义为:

4. 特征生成

通过对分钟线数据,买卖盘能量比,主动买卖成交比等基础数据进行技术分析,生成一系列技术类特征数据。这里使用到的技术分析有均线分析,MACD分析,K线形态分析,反转分析等等,这里不再赘述。

5. 类别平衡技术

我们知道,即使数字货币资产的波动率较大,但出现价格跳跃的频次也不是很高,因此并不满足二分类问题的正负类别相对均衡的假设。如果使用传统的分类器对跳跃进行学习,则极容易出现分类器的划分结果是几乎检测不到价格跳跃,因为这样,分类器的准确率会非常高,但对于实际应用没有任何意义。解决这种类别不平衡问题的方法一般有:采样、调整代价权重或移动阈值等。

代价权重调整、阈值移动、欠采样、过采样、随机欠采样、随机过采样、聚类、Bagging集成、Boosting集成

我们这里采用合成少数族群(SMOTE)的方法,其思想是创建人工数据以添加到少数群体类别中。具体技术是:利用KNN技术,对于少数类样本a, 随机选择一个最近邻的样本b, 然后从a与b的连线上随机选取一个点c作为新的少数类样本。

6. 模型训练及测试:

我们通过SVM,ANN以及随机森林三种机器学习方法来构建模型,训练集选取2017年1月1日到2019年9月30日,并经过SMOTE进行类平衡处理,测试集选取2019年10月1日至2020年2月29日的数据。可以得到如下的测试结果:

7. 结论:

价格跳跃在数字货币市场上虽然是小概率事件,但其对日常策略所带来的影响不可忽视,甚至可以成为一个独立的量化策略,并获取较高收益。采用SMOTE方法能够解决样本类别不平衡的问题,将价格跳跃转变成一个分类问题,这样就可以通过机器学习模型能够较好的对价格跳跃进行预测。

 

注释:

1. 积分波动率:也称累积波动率,它是一组波动率数据在样本区间上的积分。

2. 代价权重调整:通过对不同类别分类错误的目标添加不同权重的代价,即惩罚函数,使得不同类别的加权损失值近似,这样模型才能更好的拟合数据集。

3. 阈值移动:根据实际情况调整划分类别的阈值,进而增加某一类的权重 ,以达到解决类别不平衡的目的。

4. 欠采样:丢弃大量数据,进而增加某一类的权重。

5. 过采样:重复正比例数据,进而增加某一类的权重。

6. 随机欠采样:随机的去丢弃数据,实现类别之间相对平衡。

7. 随机过采样:随机重复正比例数据,实现类别之间相对平衡。

8. 聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异

9. Bagging集成:bootstrap aggregating(自举汇聚法) 的简称,是一个通过组合多个模型来减少泛化误差的技术。其原理是单独训练数个不同的模型,然后让多个模型在测试集的输出上投票

10. Boosting集成:该方法通常考虑的同质弱学习器。它以一种高度自适应的方法顺序地学习这些弱学习器(每个基础模型都依赖于前面的模型),并按照某种确定性的策略将它们组合起来。

11. KNN:K最近邻(kNN,k-NearestNeighbor)分类算法,所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。KNN通过测量不同特征值之间的距离进行分类。

12. SVM:支持向量机(support vector machines)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,其学习策略为间隔最大化,可形式化为一个求解凸二次规划的问题。

13. ANN:人工神经网络,由大量的处理单元(神经元) 互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟。

14. 随机森林:随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,它的基本单元是决策树。

本文链接:https://www.8btc.com/media/588140
转载请注明文章出处

文章标签: 加密货币
评论
登录 账号发表你的看法,还没有账号?立即免费 注册