22美赛C题交易策略怎么写?

论坛 期权论坛 期权     
期权匿名问答   2022-2-22 03:19   14314   0
22美赛C题基于LSTM神经网络的价格预测与量化交易策略的详细解析


关键词: LSTM神经网络 规划模型 量化交易 价格预测

一 问题重述

1.1问题背景
虚拟货币的兴起为投资者提供新的投资渠道。比特币是一种基于去中心化,采用点对点网络与共识主动性,开放原始码,以区块链作为底层技术的加密货币。从最初的无人问津到被世界认可,比特币的高收益的同时也带来的高风险。而黄金作为一般等价物,是资产配置中的常客。量化交易以专业的金融知识为基石,借助统计学与数学工具,用数量模型固化从数据中,利用电脑技术进行交易,得到超额的回报比。本题让我们站在一个投资者的视角,进行资产配置,体验作为操盘手的刺激与惊险。

C题高端成品论文代码数据及多种模型可以看看师兄这个文章,对大家应该是有很大辅助作用的:




1.2问题重述
开发一个模型,该模型仅根据该日之前的价格(up to today), 提供最佳每日交易策略。根据您的模型和策略,在2021年9月10日,最初的1000美元投资价值多少?
提供证据说明您的模型给出的是最佳策略。
确定该策略对交易成本的敏感程度。交易成本是如何影响策略和结果的?
以一份最多两页的备忘录将您的策略、模型和结果传达给交易者。

二 问题假设与符号说明
2.1问题假设
1.假设在第N天进行交易时, 知道直至第N天的黄金/比特币价格, 并以此价格买入, 从N+1天开始计算收益.
2.假设持有现金会按照活期固定年利率2%增长(此处可以修改).
3.假设黄金与比特币的交易费率在当天结算, 并且自第二天起产生收益.

三 模型建立与求解
整个交易策略被分为了两个部分, 第一部分为需要根据直到今日之前的黄金/比特币价格数据, 对未来三天的价格进行预测, 第二部分为根据预测结果, 决定今日的投资策略. 在第一部分中, 我们尝试使用基于LSTM神经网络的价格预测模型进行预测, 将过往的价格作为训练集进行训练, 并不断预测未来三天的价格. 在第二部分中, 我们尝试使用动态规划的思想,
3.2基于LSTM的价格预测模型
3.2.1价格预测问题分析
不论是对于国内外的经济金融研究学者还是业内的投资人士而言,对金融资产的价格预测问题始终是热门研究领域。在对股票价格这一金融时间序列的预测方法中,一般分为两种,一是基于统计学方法的金融时间序列预测模型,另一种是基于机器学习算法的金融时间序列预测模型。其中,在统计方法的类别中,有差分整合移动平均自回归模型(ARIMA)和广义自回归条件异方差模型(GARCH)最为被广泛接受,但这些方法的首要前提是对金融时间序列这一变量进行线性假设,但金融时间序列本质上是十分复杂的,金融时间序列产生于人们的经济、金融活动中,自然会有明显的扰动存在于数据当中,这便使得金融时间序列不满足线性性和平稳性的假设,传统的统计学方法在实际运用到金融市场中往往效果收获不到成效。而与此同时,机器学习算法在被广泛用于金融时间序列中被实践证明有较好的预测效果。其中, RNN在实际应用过程中存在长依赖的问题,而作为循环神经网络RNN的变体之一,LSTM有效地解决了RNN的长依赖问题,并在诸如图像识别、语音识别和时间序列问题上有良好的表现。所以, 综合上述考虑, 我们使用LSTM神经网络进行预测.

3.2.2数据预处理
实验数据的训练集使用美国每日黄金结算价格自2008 年 01 月 02 日到 2018 年 5 月 16 日共计 2290 天, 以及每日比特币结算价格自2013年04月28日至2018年8月14日的数据。然后使用题中所给2018年9月11日至2021年9月10日进行验证.
价格之间具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除价格之间的量纲影响,需要进行数据标准化处理,以解决数据之间的可比性。那么, 对于黄金与比特币的价格, 我们使用今日价格/昨日价格来代替今日价格进行后续的预测, 这样的操作可以使数据更加可观.







(这里可加入LSTM神经网络的其他介绍)


使用LSTM神经网络模型对训练集进行训练,参数设置如下:
1.输入序列步长((time step),该参数为LSTM神经网络模型区别于其他模型的参数,LSTM在进行训练数据输入时要求输入数据为价格,初始设置输入序列步长为3, 也就是循环单元的长度, 每次只预测之后三天的数据, 然后再利用所有的数据预测三天.
2.LSTM层神经元个数(lstm units),与其他神经网络模型类似,LSTM神经网络也需要对每个神经层的神经元个数进行定义。而在定义时要考虑到输入数据形状,并使LSTM层神经元个数比输入数据形状稍大一些,保证模型能够正常运行,但相比之下不能设置过大,否则对模型的性能造成影响。考虑到上述问题,因为我们输入的因子个数为1,所以初定义LSTM层神经元个数为20.
3.优化器(optimizer):优化器的目的是使损失(loss)函数最小化,在所有神经网络优化器中,adam是最为常用的优化器,因此初始设置优化器为adam,.
4.输入数据维数(input shape),因为题目规定, 只可以使用黄金价格/比特币价格进行投资预测,所以, 输入的数据维度直接是1维的.

3.2.4预测结果
依赖我们训练得到的模型,我们可以根据直至今日的数据来预测未来三天的数据,以便于我们根据预测的结果,调整投资组合.



(这里只是某天的预测结果而已, 每天的预测结果我们还在整理当中)

根据我们的预测结果, 预测未来三天的价格走势, 然后对每天进行重复操作, 并选取三天结果. 为了验证预测模型的准确性, 我们可以利用第N+1天的据测结果计算误差, 大致如下



我们可以看到, 黄金方面的预测误差大致在0.99(越靠近1代表越好), 比特币方面的误差在0.92, 所以, 预测效果是良好的.
3.3基于动态规划的量化交易策略
3.3.1动态规划问题分析
根据题意, 在当日, 我们拥有前日的所有数据, 现在希望能找到交易策略, 以保证之后的盈利. 明日, 又会将今日的数据加入历史数据, 再次向后进行预测.这样动态的过程, 是一个典型的动态规划过程, 我们通过之前的预测结果, 指定今日的调整策略, 然后进行递推, 直到最后一天.

3.3.2模型假设


完整论文实在太长了,师兄就放在这个文章里面啦:


要求:
一位交易员要求您开发一个模型,该模型仅使用迄今为止的每日价格来确定
交易员每天是否应该购买、持有或出售其投资组合中的资产。特别注意, 这边说到, 该模型仅使用迄今为止的每日价格, 虽然你可以从网络上爬到每天数据的均值, 最值, 或者交易量, 交易分额等数据, 但是在你的模型之中是不可以体现的, 你不 可以使用这些数据作为参数进行后面的规划. 最后呈现的一个结果应该是一个像基金一样, 何时买入何时卖出的一个结果图是最合适的。从 2016 年 9 月 11 日开始,您将从 1000 美元开始运作。从 2016 年 9 月 11 日到 2021 年 9 月 10 日共五年的交易期。在每个交易日,交易者将拥有一个由现金、黄金和比特币[C, G, B]分别以美元、美元/盎司和比特币为单位组成的投资组合。初始状态为[1000, 0, 0]。每笔交易(购买或出售)的交易成本为交易金额的 α%。假设αgold=1%和αbitcoin=2%。持有资产没有成本。可以看到, 这里给出了一个基础的假设, 在每个交易日,交易者将拥有一个 由现金、黄金和比特币[C, G, B]分别以美元、美元/盎司和比特币为单位组成的投 资组合。初始状态为[1000, 0, 0]。

对于规划类的问题, 这里就把未知量, 也就是决策变量给差不多规定好了, 当然可能这个决策变量还不够, 还需要新的量来做添加. 然后我们看到, 对于每个交易日, 我们都有一个这样的三元组, 这意味这什么? 一天推一天啊, 每天一个阶段, 每天一个结果, 这不是典型的动态规划思想嘛?请注意,比特币每天都可以交易,但黄金仅在开市日交易,定价数据文件LBMA-GOLD.csv 和 BCHAIN-MKPRU.csv 反映了这一点。你的模型应该考虑到这个交易时间的限制。 可以看到, 这里给了一个约束条件, 也就是在周末的时候, 需要保持上述三元组中的 G 是不变的. 好, 至此, 整个背景看下来, 这有一个非常丰富的金融背景, 是一个量化投资的这样一个过程, 非常典型的一个规划模型, 目标函数也很简单, 赚的最多就 可以了. 然后就是约束条件, 什么时候可以交易, 还有交易的金额等. 网上有很多关于量化投资的一个过程, 大家可以百度看到很多背景.

美赛最后一天啦,希望以上能帮助到大家顺利拿奖!原创不易,感谢支持
参与人数 1 活跃分 +10 收起 理由
Daniel.L + 10

查看全部评分

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:400157
帖子:80032
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP