作者:老余捞鱼
原创不易,转载请标明出处及原作者。
写在前面的话:
本研究旨在找到可靠且盈利的模型,基于公开历史数据预测加密资产价格的未来走势。可用于预测区块链资产价格的趋势方向,并将其应用于交易策略中。研究发现技术分析工具可通过大数据集识别模式,提高价格趋势预测的准确性。
一、摘要
算法交易利用计算机程序确定的一组规则执行订单,适用于高波动性市场,如加密货币市场。研究旨在找到可靠且盈利的模型,基于公开历史数据预测加密资产价格的未来走势。首先开发新的标记方案,将问题映射为机器学习分类问题,然后在牛市、熊市和横盘市场上对三种主要加密货币进行广泛回测。最后分析每个特征对分类输出的贡献。
二、简介
金融交易系统使用交易算法来识别和利用利润机会,而加密货币交易的研究和活动在近年来迅速增长。本文提出了一种基于神经网络的加密货币交易策略,该策略使用单个数据集来学习通用价格模式,并在大量历史数据上进行评估。加密货币市场具有独特的特征,需要新的研究方法。技术分析可以应用于加密货币市场,因为市场效率低下,存在机会。
数字交易所和特别是加密货币交易所的低费用和免费交易API降低了算法交易的进入门槛。然而,使用算法交易可能会削弱人类行为。交易费用可以低至每笔交易的0.1%。
本文介绍了一种基于多层感知器(MLP)的交易算法,该算法将市场分为三类:买入、持有和卖出。该算法通过特征提取和标记预处理价格和交易量时间序列,并在MLP上进行训练和测试。该算法在不同市场周期下的表现得到了验证,并在长期和短期实际情况下进行了模拟测试,取得了良好的投资回报率。
三、数据集
数据集包括价格和交易量时间序列数据,提取特征包括蜡烛图模式、金融指标、移动平均线等。标记数据集时通常采用价格回归或价格方向预测的方法。
3.1 数据收集
本数据集包含402种加密资产的数据集,数据采集自一家流行的加密货币交易平台,采用OHLC+成交量格式,时间间隔为4小时。数据集中的所有加密货币都与美元稳定币USDT配对。经过特征提取,得到了150万个样本。
3.2 特征提取
作者选择了一些简单的指标,如波林格区间、RSI、ULTOSC、收盘价百分比变动、Z-Score、EMA crossovers,以便让神经网络发现有用的模式。此外,还考虑了一些时间信息和EMA交叉。总的特征向量包括36个条目。
3.3 标注算法
使用三个不同的标签进行分类,以增强分类过程的准确性。定义了时间窗口和单个交易操作的回报。回报是在开仓价格和平仓价格之间的收益或损失。
标签算法有两个参数𝛼和𝛽,用于设置返回值的阈值,以预测价格变化。算法首先更新收盘价的指数移动平均值,然后计算收益率并根据阈值判断买入、卖出或持有信号。如果收益率过小或过大,则将标签设为持有。
四、模型
4.1 多层感知机
MLP包括输入层、两个隐藏层和一个具有三个节点的分类输出层。根据通用逼近定理和最小神经元数原则,选择了具有128、64和32个节点的层。通过逐步增加隐藏层神经元数量,选择了在训练集上略微过拟合但在测试集上准确率最高的神经元数量。避免了使用dropout层或权重正则化来处理过拟合问题。
4.2 窗口大小、𝛼和𝛽参数
阈值𝛼和𝛽是根据整个数据集中价格的开盘-收盘百分比变化进行统计分析得出的,𝛼设定为第85百分位数,𝛽设定为第99.7百分位数。为了平衡数据集,对占比约70%的Hold类进行了随机欠采样。通过网格搜索,找到了前后窗口大小的最佳组合,训练和测试模型多次并取平均结果,最终选择了前五个准确率最高的窗口大小组合。
4.3 与其他模型比较
作者尝试了XGBoost、Logit和SGDLinear等模型,并使用了One-vs-Rest策略来比较二元分类器和三元分类器的性能。结果表明,MLP和XGBoost的性能优于线性模型,其中MLP表现最好。作者选择了MLP作为最终的分类器模型。
五、回测
使用MLP进行算法交易策略设计和训练的过程,选出前五个准确率最高的前向和后向窗口大小组合。然而,通过简单的交易策略计算利润后,这五个模型的排名发生了变化,因此利润成为了评估算法交易策略的重要指标。为了评估算法交易策略的性能,本文介绍了回测方法,该方法使用历史数据模拟真实交易情景,并使用利润作为模型好坏的度量标准。回测方法不会同时开多个相同资产的多头或空头仓位,所有仓位在模拟期结束时关闭并计算利润。
通过模拟算法,选择了一个具有最大回报的模型,并在比特币、以太坊和Algorand的数据上进行了回测。结果表明,该模型具有良好的泛化性能,能够适用于不同的加密货币。在实际交易中,该模型的回报率较高,尤其是在以太坊的长期回测中表现最佳。同时,本文还介绍了一种基于正则表达式的交易策略描述方法,并实现了一个保护性止损机制。
短期回测显示了基于滞后指标的策略在市场崩盘时的行为,MLP模型相对于虚拟模型对TerraLuna崩盘进行了平滑处理。FTX崩盘也呈现了类似的行为。MLP分类器的输出主要受滞后指标的影响。
六、与近期方法比较
比较价格预测和交易策略的方法是复杂的,需要在实验设置中保持一些不变量。为了比较不同方法的模型,需要使用共享数据来评估模型,使用相同的指标。在金融方面,回测需要使用共同的数据期间作为评估集。模型是交易策略的组成部分,但最终决策取决于交易策略。获取信息以重现测试通常很困难,因为源代码缺失。
本文与五篇相关论文进行了比较,这些论文都使用了2类标签和1分钟、1、4和24小时的时间框架,涵盖了不同的时间段。数据源都是OHLC+V,还包括Twitter、Blockchain和其他金融指数。我们选择了它们的最佳准确性进行比较,并在表格中总结了结果。我们还与其中两篇论文进行了回测比较,结果显示我们的策略表现良好。其中一篇论文使用了技术指标和移动平均线作为特征,使用了不同的神经网络进行预测。另一篇论文使用了5种经典模型进行预测,并进行了回测。我们的系统交易频率较低,但在侧向市场和短期上涨市场中表现良好。
研究使用神经网络和决策树模型预测比特币价格走势,数据包括推特情绪、区块链交易和多种商品和指数的分钟级价格。最佳模型为LSTM,在60分钟时间框架内准确率最高。回测显示115%的ROI,但考虑到0.3%的手续费会导致亏损。高频交易策略执行2852笔交易,可能导致258%的亏损。
Akyildirim等人(2021)预测了12种最受欢迎的加密货币(BTC,BCH,DSH EOS,ETC,ETH,IOT,LTC,OMG,XMR,XRP,ZEC)的价格方向,数据跨度为2017年8月10日至2018年6月23日。特征由OHLC + V和纯交易数据计算,并使用技术指标,移动平均线和不同时间间隔的对数收益率进行转换。标签由Sigmoid(Close-Open)计算。平均精度为1H时间框架,与测试集上的最佳精度(低方差)接近。
Cavalli&Amoretti(2021)预测比特币的价格方向。数据跨度为2013年4月28日至2020年2月15日。特征集使用市场价格,Twitter情绪和区块链数据。采用1D卷积神经网络模型。在两个不同的回测中进行,第一个从2020年2月到10月(看涨),第二个从2020年2月到3月(短期下跌)。在第一个回测中,性能值与Akyildirim等人(2021)相似。在第二个回测中,该系统没有考虑佣金费用,亏损28%,而我们的系统考虑了佣金费用,亏损4.4%。
七、特征重要性
机器学习模型的可解释性/可解释性领域旨在通过将输入映射到输出来理解模型预测结果的行为。SHAP是解释任何黑盒ML模型输出的一种方法,通过计算特征重要性归因来解决归因问题。SHAP值可用于局部解释每个特定输入的模型。特征重要性可以通过计算每个特征的SHAP绝对值的平均值来推断。技术指标、移动平均线交叉和时间信息是前十个最有价值的特征,而蜡烛图模式相对无效。
八、总结
本文介绍了一种基于大数据集和智能标注的简单预测模型,用于预测区块链资产价格的趋势方向,并将其应用于交易策略中。研究发现,技术分析工具可以通过大数据集识别模式,提高价格趋势预测的准确性。同时,通过回测过程,证明技术分析方法可以提供比随机交易或简单“买入持有”方法更好的统计优势。研究还发现,技术指标、移动平均线交叉和时间信息是最有价值的特征,蜡烛图模式的有效性相对较低。未来的研究可以探索多时间框架价格行动分析的新信息,并将其与现有的大数据集、标注算法、最佳特征和神经网络相结合。此外,还可以将交易系统应用于不同的金融市场,如外汇、个股、股指、商品和差价合约。需要注意的是,差价合约具有杠杆衍生品的特点,风险较高。
论文地址:https://www.sciencedirect.com/science/article/pii/S0957417423023084
本文内容仅仅是技术探讨和学习,并不构成任何投资建议。
转发请注明原作者和出处。