个性化阅读
专注于IT技术分析

对冲基金深度学习交易简介

本文概述

在过去的几年中, 深度神经网络已经变得非常流行。这个新兴的计算机科学领域是围绕生物神经网络的概念而创建的, 而如今, 深度学习已成为流行语。

深度学习科学家和工程师试图用数学方法描述生物神经系统的各种模式。深度学习系统已应用于各种问题:计算机视觉, 语音识别, 自然语言处理, 机器翻译等。有趣和令人兴奋的是, 在某些任务中, 深度学习的表现优于人类专家。今天, 我们将研究金融领域的深度学习。

深度学习最吸引人的应用之一是对冲基金。对冲基金是投资基金, 是从投资者那里筹集资金并对其进行管理的金融组织。他们通常使用时间序列数据并尝试做出一些预测。有一种适用于时间序列分析的特殊类型的深度学习架构:递归神经网络(RNN), 或者更具体地说, 一种特殊类型的递归神经网络:长短期记忆(LSTM)网络。

LSTM能够从时间序列数据中捕获最重要的特征并对其依赖关系进行建模。提出了股票价格预测模型, 作为对冲基金如何使用此类系统的说明性案例研究。用Python编写的PyTorch框架用于训练模型, 设计实验并绘制结果。

在继续介绍实际示例之前, 我们将从一些深度学习基础知识开始:

  • 引入深度学习作为一个抽象概念。
  • 介绍RNN(或更具体地说, 是LSTM)以及如何将其用于为时间序列数据建模。
  • 使读者熟悉适合深度学习的金融数据。
  • 说明一个实际的对冲基金如何使用深度学习来预测股价。
  • 最后, 针对新的和现有的对冲基金如何使用/利用深度学习来提高其绩效提供可行的建议。

介绍深度学习交易的案例

金融行业最具挑战性和令人振奋的任务之一就是预测未来股价会涨还是跌。今天, 我们意识到深度学习算法非常擅长解决复杂的任务, 因此值得尝试使用深度学习系统, 看看它们是否可以成功解决预测未来价格的问题。

从概念上讲, 人工神经网络已经存在很长时间了, 但是硬件还不够好, 无法进行深度学习的快速实验。十年前, 英伟达(Nvidia)开始为特斯拉系列产品中的通用计算提供非常快速的图形处理单元(GPU), 从而为深度学习网络带来了革命性变革。高度并行化的GPU可以计算其他数据, 而不是在游戏和专业设计应用程序中遮挡多边形, 并且在许多情况下, 它们远远优于CPU。

关于在金融中使用深度学习的科学论文很少, 但是金融科技公司对深度学习专家的需求强劲, 因为他们显然认识到了其潜力。本文将通过概述如何在构建深度学习系统中使用金融数据来解释金融深度学习为何变得越来越受欢迎。还将介绍一种特殊类型的递归神经网络LSTM网络。我们将概述如何使用递归神经网络解决与财务相关的任务。

本文还通过实验演示了有关对冲基金如何使用此类系统的说明性案例研究。我们还将考虑如何改善深度学习系统以及对冲基金如何才能聘请人才来建立这些系统, 即深度学习人才需要具备什么样的背景。

是什么使对冲基金与众不同

在继续研究问题的技术方面之前, 我们需要解释一下使对冲基金独特的原因。那么, 什么是对冲基金?

对冲基金是一种投资基金, 是一个从投资者那里筹集资金并将其投入短期和长期投资或不同金融产品的金融组织。它通常由有限合伙制或有限责任公司组成。对冲基金的目标是最大化回报。回报是对冲基金在特定时期内的净值的损益。人们普遍认为, 承担更多风险时, 存在更大的潜在更高的收益和损失。

为了获得良好的回报, 对冲基金依靠各种类型的投资策略, 试图通过利用市场效率低下来赚钱。由于普通投资基金所不允许的各种投资策略, 对冲基金没有注册为基金, 也就是说, 对冲基金通常不像其他基金一样由国家监管。他们不需要发布投资策略和业务成果, 这会使他们冒险。一些对冲基金的收益高于市场平均水平, 但其中一些却亏损。其中一些带来了永久的结果, 而一些对冲基金的结果却是可变的。

通过投资对冲基金, 投资者可以增加该基金的净资产。不过, 并非所有人都能投资对冲基金。对冲基金是为少数富裕的投资者准备的。通常, 那些想参加对冲基金的人需要获得认可。这意味着它们在金融监管法律方面必须具有特殊地位。对于谁可以拥有特殊身份, 每个国家都有区别。通常, 投资者的资产净值必须很高-不仅是个人, 银行和大公司也可以在对冲基金中运作。该认证旨在仅允许具有丰富投资知识的个人参与, 从而保护经验不足的小投资者。

本文考虑了美国的监管框架, 因为美国拥有全球最发达的金融市场。因此, 在美利坚合众国, “合格投资者”一词在美国证券交易委员会(SEC)D法规第501条中定义。

根据该法规, 合格的投资者可以是:

  • 银行业务
  • 私人企业发展公司
  • 组织机构
  • 正在发售或出售的证券发行人的董事, 执行官和普通合伙人
  • 个人净资产或与该人配偶共同的净资产超过1, 000, 000美元的自然人
  • 最近两个年度中的每个年度个人收入超过200, 000美元或与该人的配偶共同年度中的收入超过300, 000美元的自然人, 并且有合理的期望在当年达到相同收入水平的自然人
  • 总资产超过$ 5, 000, 000的信托
  • 所有股权所有者均为认可投资者的实体

对冲基金经理管理对冲基金。对冲基金经理必须找到一种方法来创造竞争优势以取得成功, 即与竞争对手相比具有优势, 并具有创造更大价值的能力。这可能是一个非常诱人的职业选择, 因为如果个人擅长管理基金, 这将是非常有利可图的。

另一方面, 如果许多对冲基金经理的决定被证明是错误的, 他们将不会获得报酬, 并将获得负面声誉。最好的对冲基金经理是所有行业中收入最高的职业之一。对冲基金经理除管理费外, 还从投资者那里获得一定比例的回报。这种补偿方式使对冲基金经理们更加积极地投资以获得更大的回报, 但另一方面, 这也导致了投资者风险的增加。

对冲基金简史

第一个对冲基金出现在1949年, 由前作家和社会学家阿尔弗雷德·温斯洛·琼斯(Alfred Winslow Jones)建立。早在1948年, 他就撰写了一篇有关《财富》当前投资趋势的文章。

他试图管理这笔钱, 并且非常成功。他利用自己的投资创新筹集了资金, 这种创新现在被广泛称为多头/空头股票。该策略在对冲基金中仍然很受欢迎。可以购买(买入:多头)或出售(卖出:空头)股票。

当股票的价格较低并且可以预期股票的价格会上涨时, 逻辑上买入(多头)股票并在其达到最高价格峰值时卖出(空头)是合乎逻辑的, 并且这正是阿尔弗雷德·温斯洛·琼斯(Alfred Winslow Jones)所做的创新的关键所在–在预期升值的股票上持有多头头寸, 而预期下降的股票上则持有空头头寸。

财务数据和数据集

财务数据属于时间序列数据。时间序列是按时间索引的一系列数据点。通常, 时间序列是在连续的, 等间隔的时间点获取的序列:一系列离散时间数据。时间序列的示例包括海潮高度, 黑子数和道琼斯工业平均指数的每日收盘价。

在这种情况下, 历史数据是过去的时间序列数据。它是推测未来价格的最重要和最有价值的部分之一。在线上有一些公开可用的数据集, 但是通常, 这些数据没有很多功能-通常是1天间隔数据, 1小时间隔数据或1分钟间隔数据。

具有更丰富功能且时间间隔更短的数据集通常无法公开获得, 并且获取起来可能非常昂贵。较小的时间间隔意味着在固定时间段内有更多时间序列数据-一年中有365(或366)天, 因此最多有365(或366)个数据点可用。每天有24小时, 因此一年中有每小时8, 760(或8, 784)小时数据点可用, 每天有86, 400分钟, 因此一年中有525, 600(或527, 040)分钟数据点可用。

有了更多的数据, 就可以获得更多的信息, 有了更多的信息, 就可以对下一个时间段内将要发生的事情做出更好的结论-当然, 假设数据具有足够好的特征可以很好地概括。在全球金融危机最严重的时候, 2007-2008年的股价数据是有偏差的, 可能与这些天的价格预测无关。使用较小的时间间隔, 由于固定间隔中有大量数据点, 因此更容易预测接下来将发生什么。如果我们拥有一个固定的n年间隔中每纳秒的所有数据点, 则比起明年我们拥有每年n个数据点的明年股市中的情况, 要容易预测下一个纳秒的情况。固定的n年间隔。

但是, 这并不意味着假设一系列快速的短期预测是正确的, 那么长期预测也应该是正确的。每个预测都会引入错误, 并且通过链接多个预测, 长期预测最终将包含大量错误, 并且将毫无用处。以下是从Yahoo Finance在线抓取的Google股票的1天间隔数据示例。

Google股票上用于算法交易的金融数据的时间序列

数据集中只有几列:日期, 开盘价, 最高价, 最低价和收盘价–分别是指证券在交易所开放时首次交易的价格, 即证券在给定交易日所达到的最高价格。 , 在给定交易日达到的最低价格以及该天交易证券的最终价格。

通常, 此类数据集中还有两列-调整后的收盘价和交易量, 但此处与它们无关。调整后的收盘价是对适用的拆分和股利分配进行调整后的收盘价, 而交易量是给定时间内在市场上交易的股票数量。

你会看到某些日期丢失了。这些日子通常在周末和节假日期间, 证券交易所不工作。为了我们的深度学习算法演示的目的, 在缺失的日子中增加了以前可用的价格。例如, 2010年1月16日, 2010年1月17日, 2010年1月18日的收盘价均为288.126007, 因为这就是2010年1月15日的价格。对于我们的算法而言, 重要的是数据之间应无间隙, 因此请不要混淆它。深度学习算法可以在周末和节假日从这里学习, 例如, 它将学习到在五个工作日之后, 必须有两天的价格是最后一个工作日的价格。

一段时间内Google股价走势的直观表示

这是Google 2010年1月4日以来的股价走势图。请注意, 仅使用交易日来绘制图形。

什么是深度学习?

深度学习是机器学习的一部分, 它基于学习数据表示。机器学习检查算法, 这些算法的功能尚未编程, 但可以从数据中学习。从本质上讲, 它是人工智能的一种方法。

深度学习已应用于各个领域:计算机视觉, 语音识别, 自然语言处理, 机器翻译, 在某些任务中, 它已取得了超越人类的性能。

深度神经网络是深度学习的核心。深度神经网络最简单, 最基本的示例是前馈神经网络。下面是一个简单的前馈神经网络的图像。它由输入和输出层以及隐藏层组成。

简单前馈神经网络的示意图,其中输入和输出以及学习层表示为节点

隐藏层是输入和输出层之间的所有层。我们说, 如果神经网络具有多个隐藏层, 则它是深层的。每层由各种数量的神经元组成。这个基本前馈神经网络中的层称为线性层-线性层中的神经元仅将一维(如果数据是通过网络批量发送, 则将二维值)输入乘以适当的权重, 将乘积加在一起, 给出最终结果作为一维或二维输出。

激活函数通常用于前馈网络中以引入非线性, 因此网络可以对更复杂的非线性问题进行建模。在前馈网络中, 数据从输入层流到输出层而不会环回。神经元之间的连接被加权。需要调整权重, 以便神经网络为给定的输入返回正确的输出。前馈网络将数据从输入空间映射到输出空间。隐藏层从上一层的特征中提取重要且更抽象的特征。

通用深度学习管道与机器学习管道相同, 并且包含以下步骤:

  1. 数据采集​​。数据分为三部分-训练数据, 验证数据和测试数据。
  2. 使用训练数据在多个”时期”(每个由多个迭代组成)中训练DNN, 并在每个时期之后使用验证数据进行验证。
  3. 在训练课程和验证序列之后测试模型(具有固定参数的神经网络的一个实例)。

训练神经网络实际上意味着使用反向传播算法与随机梯度下降相结合, 通过使损失函数最小化来调整神经对对之间的权重。除了通过学习过程确定的权重之外, 深度学习算法通常需要设置超参数, 即在学习之前未学习但已固定的参数。超参数是层数, 层中神经元的数量, 层的类型, 神经元的类型和权重初始化。

超参数的设置存在硬件限制;目前, 在单个GPU上设置一万亿个神经元在物理上是不可能的。穷举性超参数搜索的第二个问题是组合爆炸。无法搜索超参数的所有可能组合, 因为这将花费无限时间。因此, 超参数是随机设置的, 或者使用科学论文中描述的一些启发式方法和众所周知的示例进行设置-正如科学家和工程师所说, 此博客文章稍后显示的用于财务数据分析的超参数之一是循环神经元的使用。证明它们可以很好地处理时间序列数据。通常, 查看给定问题的超参数是否良好的最佳方法是通过实验。

训练的重点是使神经网络适合训练数据。在每个训练步骤之后进行模型验证, 以及在整个训练过程之后进行模型测试, 以查看模型是否可以很好地推广。泛化意味着神经网络可以对看不见的新数据做出良好的预测。

与模型选择相关的两个重要术语:过拟合和欠拟合。如果神经网络的数据过于复杂(如果其参数太多(层太多, 和/或层中神经元太多)), 则神经网络可能会过拟合数据。它具有足够的能力来适应所有数据, 因此可以很好地适应训练数据, 但是验证和测试集的性能很差。

如果神经网络在训练数据方面过于简单, 则神经网络可能会欠拟合数据。在那种情况下, 神经网络在训练, 验证和测试集上的性能很差, 因为它的能力不足以适合训练数据并进行概括。在下面的图像中, 以图形方式说明了这些术语。蓝线表示由神经网络建模的内容。第一张图片显示了神经网络参数很少, 不足以拟合训练数据并进行概括的情况。第二幅图像显示了存在最佳参数数量的情况, 并且神经网络可以很好地泛化看不见的数据;第三幅图像显示了当神经网络的参数数量太大且神经网络可以完美地显示时的情况。拟合训练集中的所有数据, 但在验证和测试集中的性能较差。

欠拟合,最佳和过度拟合场景的图形表示

递归神经网络

神经网络的一个更复杂的版本是递归神经网络。与前馈神经网络相反, 在递归神经网络中, 数据可以沿任何方向流动。他们可以很好地学习时间序列依赖性。下图显示了通用递归神经网络的体系结构。

通用rnn架构的图形表示

下图显示了一个复发神经元。它以时间点t的X_ {t}作为输入, 并返回时间t的隐藏状态h_ {t}作为输出。隐藏的输出将传播回神经元。可以在右侧的同一幅图像上显示复发神经元。 X_ {t_0}是时间段t_ {0}中的点, X_ {t_1}是时间段t_ {1}中的, 而X_ {t}是时间段t中的。在时间段t_ {0}, t_ {1}, …, t_ {n}中使用输入X_ {t_0}, X_ {t_1}, …, X_ {t_n}获得的输出就是所谓的隐藏输出:h_ {t_0} , h_ {t_1}, …, h_ {t_n}。

递归神经元I / O结构的视觉图示

最好的递归神经网络架构之一是LSTM架构。 LSTM如下所示:

lstm架构的可视化

LSTM具有与通用递归神经网络相同的通用结构, 但是递归神经元的结构稍有不同, 结构更为复杂。从上图可以看出, 在一个LSTM单元中进行了大量计算。在本文的上下文中, 可以将LSTM单元视为一个黑匣子, 但是对于更好奇的读者而言, 这篇很棒的博客文章解释了LSTM内部的计算以及更多内容。

让我们将神经网络的输入称为”特征向量”。它是一个n维向量, 其元素具有以下特征:f_ {0}, f_ {1}, f_ {2}…, f_ {n}。

\vv{X} = [f_{0}, f_{1}, f_{2}, …, f_{n}]

现在, 让我们解释一下如何将递归神经网络应用于与财务相关的任务。递归神经网络的输入是[X_ {t_0}, X_ {t_1}, X_ {t_2}, …, X_ {t_n}]。假设n =5。我们假设在2010年1月4日至2010年1月8日之间连续五天(请参见上面的具有开/高/低/收盘数据的表格)五次Google关闭股价, 即[[311.35], [309.98], [302.16], [295.13], [299.06]]。在此示例中, 特征向量是一维的。时间序列由五个这样的特征向量组成。循环神经网络的输出是隐藏特征[h_ {t_0}, h_ {t_1}, h_ {t_2}, …, h_ {t_n}]。这些功能比输入功能[X_ {t_0}, X_ {t_1}, X_ {t_2}, …, X_ {t_n}]更为抽象-LSTM应该学习输入功能的重要部分并将其投影到隐藏的特征空间。这些隐藏的抽象特征可以在下一个LSTM单元中传播, 这将提供下一组隐藏的更多抽象特征, 然后可以再次将其传播到下一个LSTM, 依此类推。在一系列LSTM序列之后, 神经网络的最后组成部分是线性层(在上一节中说明的简单前馈网络的构建部分), 该层将从最后一个LSTM到一维空间中的点的隐藏特征映射, 并且该点是网络的最终输出-时间段X_ {t + 1}中的预计收盘价。在此示例中, X_ {t + 1}的基本事实为298.61。

注意:也可以只有一个LSTM-设置LSTM的数量是一个超参数, 通常可以凭经验找到, 尽管我们可以使用一些启发式方法。如果数据不是那么复杂, 我们将使用不太复杂的体系结构, 因此模型不会过度拟合数据。如果数据是复杂的, 我们将使用复杂的模型, 因此该模型不会拟合数据。

在训练阶段, 将预测的收盘价与地面真实价格进行比较, 并使用反向传播算法和梯度下降优化算法(或其中一种形式, 在这种情况下, 将实盘价格和地面真实价格之间的差异最小化)通过更改神经网络的权重, 使用了所谓的”梯度下降优化算法”的”亚当”版本。

经过培训和测试后, 将来, 用户只需将输入数据提供给神经网络, 它就会返回预测价格(并且希望该价格非常接近将来的地面真实价格)。

这里要提到的另一件事是, 通常都是在测试阶段的训练中, 通过网络发送一批数据, 以便网络仅一次计算多个输出。

以下是此博客中用于实验的架构图。它由两个堆叠的LSTM和一个线性层组成。

上述架构的视觉表示

对冲基金算法实验

尝试使用简单的算法交易策略, 如下所示:如果算法预测价格将在第二天上涨, 则买入n(在此示例中为n = 1)公司(多头)股票, 否则卖出a的所有股票。公司(简称)。投资组合的初始价值(现金和股票的总价值)设置为100, 000美元。每个多头或空头动作将分别购买公司的n股股票(在此示例中为Google)或出售公司的所有股票。最初, 系统拥有给定公司的0股股票。

始终记住, 这是一个非常基本且简单的示例, 并不打算在现实世界中使用, 因为需要更多的研发工作来调整模型以使其在实践中正常工作。这里忽略了一些在实际情况下应该考虑的事情;例如, 交易费用未包含在模型中。假设系统可以每天精确地在同一时间进行交易, 并且假设每天(即使是周末或假日)都是交易日。

为了进行测试, 使用了回测方法。回测方法使用历史数据来重构过去使用制定的策略定义的规则进行的交易。数据集分为两部分-第一部分是训练集(过去), 第二部分是测试集(未来)。该模型是在训练集上训练的, 训练后, 我们在数据集的第二部分上模拟了未来, 以查看训练后的模型在未进行训练的情况下的表现。

评估交易策略的指标是夏普比率(夏普比率(假设一年中的所有天都是交易日, 并且该年有365天:sqrt(365)*平均(回报)/ std(回报))), 其中收益定义为p_ {t} / p_ {t-1}-1, p_ {t}是时间段t中的价格。夏普比率显示了收益与所产生的额外风险之间的比率, 因此最好设置较大的夏普比率。通常, 投资者可以接受大于1的比率, 非常好2, 非常好3。

功能仅使用Yahoo Finance数据集中Google历史价格的每日收盘价。更多功能将有所帮助, 但是测试该数据集中的哪些其他功能(开放, 高, 低)很重要, 这不在本博客的讨论范围之内。表格中未包含的其他一些功能也可能会有所帮助, 例如, 特定时间的新闻情绪或特定日期的重要事件。但是, 有时很难做出对神经网络输入有用的数据表示并将它们与现有功能结合起来。例如, 很容易扩展特征向量, 并在每个给定时间段内放置一个代表新闻情绪或特朗普的推特情绪的数字(-1非常否定, 0中性, + 1非常肯定等), 但并非如此在特征向量中放置特定事件驱动的矩(苏伊士运河中的海盗, 德克萨斯州的一家炼油厂的炸弹)非常容易, 因为对于每个特定的时刻, 我们需要在特征向量中添加一个附加元素, 以将事件发生或否则为0, 这将在所有可能的时刻导致无限数量的元素。

对于更困难的数据, 我们可以定义一些类别, 并在每时每刻确定它属于哪个类别。我们还可以为系统添加其他公司股票的功能, 以了解不同公司股价之间的相关性。此外, 还有一种专门用于计算机视觉的神经网络-卷积神经网络-与递归层结合并查看视觉功能与某些公司的价格如何相关将很有趣。也许我们可以将拥挤的火车站的摄像头馈送功能用作特征并将该馈送附加到神经网络, 并查看神经网络看到的内容是否与某些公司的股价相关联, 即使在那方面也可能存在一些隐性知识平庸而荒谬的例子。

下图显示了平均训练损耗如何随时间减少, 这意味着神经网络具有足够的能力来拟合训练数据。重要的是要对数据进行规范化, 以便深度学习算法可以收敛。

深度学习交易图显示一段时间内的平均损失

下图显示了平均测试损失如何随时间减少, 这意味着神经网络具有对未见数据进行概括的能力。

深度学习交易图显示一段时间内的平均测试损失

该算法是贪婪的。如果它预测价格会在第二天上涨, 则该算法立即购买n = 1股公司的股票(如果投资组合中有足够的现金), 否则将出售公司的所有股票(如果有的话) )。投资期限是固定的, 需要300天。 300天后, 所有股票均被出售。经过一些训练后, 对看不见的数据进行的模拟如下所示。它显示了每天通过多头/空头(或不采取任何措施)行动, 投资组合价值如何随时间增加。

深度学习财务图显示未见数据的模拟

上面的模拟的夏普比是1.48。 300天后的最终投资组合价值为$ 100, 263.79。如果我们仅在第一天买入股票, 而在300天后卖出, 则投资组合的价值将为99, 988.41美元。

下面显示的情况是, 神经网络训练不足, 并且在固定的300天后出现亏损。

神经网络交易结果

夏普比率为-0.94。 300天后的最终投资组合价值为$ 99, 868.36。

这是一个有趣的示例-上面的算法很贪心, 仅预测第二天的价格, 仅根据该预测采取行动。可以链接多个预测并在未来的接下来几个步骤中预测价格。例如, 使用[X_ground_truth_ {t0}, X_ground_truth_ {t1}, X_ground_truth_ {t2}, X_ground_truth_ {t3}, X_ground_truth_ {t4}]的第一个输入, 而第一个输出是[X_predicted_ {t5}], 我们可以输入预测的神经网络, 因此下一个输入为[X_ground_truth_ {t1}, X_ground_truth_ {t2}, X_ground_truth_ {t3}, X_ground_truth_ {t4}, X_predicted_ {t5}], 输出为[X_predicted_ {t6}]。那里的下一个输入是[X_ground_truth_ {t2}, X_ground_truth_ {t3}, X_ground_truth_ {t4}, X_predicted_ {t5}, X_predicted_ {t6}], 其结果为[X_predicted_ {t7}], 依此类推。这里的问题是, 我们引入了一个预测误差, 该误差会随着每个新步骤的增加而增加, 最终最终会产生非常差的长期结果, 如下图所示。最初的预测遵循基本事实下降趋势, 然后停滞并随着时间的推移变得越来越差。

该图显示了累积预测与股票价值的基本事实的对比

Google股价进行了非常简单的深度学习分析, 但是只要数据量足够大且质量良好, 它就可以合并几乎任何财务数据集。数据必须具有区别性, 并且必须很好地描述和表示问题。

包起来

如果它能在广泛的测试中很好地发挥作用和推广, 那么该系统可以使对冲基金经理使用深度学习并依靠算法交易策略来推测公司股票的未来价格。

对冲基金经理可以给系统每天自动交易的金额。但是, 让自动交易算法在没有任何监督的情况下进行交易将非常糟糕。对冲基金经理应具有一定的深度学习技能, 或雇用具有必要技能的人员来监督系统并确定系统何时失去了概括和良好交易的能力。

如果系统失去了泛化能力, 则有必要从一开始就对其进行重新培训, 然后再次进行测试(也许是通过引入更多判别性功能或新知识-使用过去模型所没有的新数据)。首先接受培训)。

有时, 数据根本不足以使深度学习系统得到很好的训练和推广, 在这种情况下, 经验丰富的深度学习工程师应该能够发现并纠正这种情况。要构建深度学习交易系统, 你需要对冲基金数据科学家, 机器学习/深度学习专家(包括科学家和工程师), 熟悉机器学习/深度学习的研发工程师等。无论机器学习应用的哪一部分他们很熟悉, 无论是计算机视觉还是语音识别, 经验丰富的专业人员都将能够在金融领域充分利用他们的经验。从根本上讲, 深度学习具有相同的基础, 无论其应用或行业如何, 对于有经验的人来说, 从主题切换到主题应该很容易。

我们介绍的系统非常基础, 要在现实世界中应用, 应进行更多的研发以增加回报。该系统的可能改进可能在于开发更好的交易策略。收集更多的数据进行培训通常会非常昂贵, 这将非常有帮助。两点之间的时间间隔越小越好。使用更多功能(例如新闻情感或与数据集中每个点相对应的重要事件, 尽管很难为神经网络编写代码)的改进也可能浮出水面, 并为超参数和RNN体系结构发现进行了广泛的网格搜索。

同样, 如果需要收集大量数据, 则需要更多的计算能力(必须有强大的GPU)才能并行进行大量的广泛实验并处理大量数据。

参考文献:

  • https://www.srcmini02.com/community/tutorials/finance-python-trading
  • http://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • https://en.wikipedia.org
  • https://www.investopedia.com/
  • https://finance.yahoo.com/
  • http://pytorch.org/

作者注:我要感谢IvanČapalija和MatejParadžik关于金融深度学习的建设性对话和建议, 这些对我撰写此博客有所帮助。

赞(0)
未经允许不得转载:srcmini » 对冲基金深度学习交易简介

评论 抢沙发

评论前必须登录!