作者都是各自领域经过审查的专家,并撰写他们有经验的主题. 我们所有的内容都经过同行评审,并由同一领域的Toptal专家验证.
在过去的几年里,深度神经网络变得非常流行. 这个计算机科学的新兴领域是围绕生物神经网络的概念创建的, 如今,深度学习已经成为一个流行词.
深度学习科学家和工程师试图用数学方法描述生物神经系统的各种模式. 深度学习系统已被应用于各种问题: 计算机视觉、语音识别、自然语言处理、机器翻译等等. 有趣和令人兴奋的是,在某些任务中,深度学习的表现超过了人类专家. 今天,我们来看看金融领域的深度学习.
深度学习的一个更有吸引力的应用是对冲基金. 对冲基金是投资基金, 从投资者那里筹集资金并进行管理的金融机构. 他们通常使用时间序列数据并尝试做出一些预测. 有一种特殊类型的深度学习架构适合于时间序列分析: 递归神经网络或者更具体地说,是一种特殊类型的循环神经网络: 长短期记忆(LSTM)网络.
lstm能够从时间序列数据中捕获最重要的特征并对其依赖性进行建模. 本文提出了一个股票价格预测模型,作为对冲基金如何使用这种系统的一个说明性案例研究. PyTorch 框架,用Python编写,用于训练模型,设计实验,并绘制结果.
我们将从一些深度学习基础知识开始,然后再转到现实世界的例子:
金融行业最具挑战性和最令人兴奋的任务之一就是预测 股票价格有涨有跌 在未来. Today, 我们意识到深度学习算法非常擅长解决复杂的任务, 因此,有必要尝试一下深度学习系统,看看它们是否能成功地解决预测未来价格的问题.
作为一个概念, 人工神经网络已经存在很长时间了, 但硬件还不够好,无法进行快速的深度学习实验. 十年前,英伟达帮助革新了深度学习网络, 因为它开始为通用计算提供非常快速的图形处理单元(gpu) Tesla-series产品. 而不是阴影多边形在游戏和专业设计应用程序, 高度并行化的gpu也可以计算其他数据, 在很多情况下, 它们比cpu优越得多.
有很多 很少有科学论文 关于在金融领域使用深度学习, 但金融科技公司对深度学习专家的需求非常强劲, 因为他们显然认识到它的潜力. 本文将通过概述金融数据如何用于构建深度学习系统,帮助解释为什么金融领域的深度学习越来越受欢迎. 一种特殊类型的递归神经网络 LSTM网络-也会出现. 我们将概述如何使用递归神经网络解决与金融相关的任务.
本文还提供了一个关于对冲基金如何使用此类系统的说明性案例研究, 通过实验呈现. 我们还将考虑如何改进深度学习系统,以及对冲基金如何招聘人才来构建这些系统, i.e.深度学习人才需要具备什么样的背景.
在我们讨论这个问题的技术方面之前, 我们需要解释对冲基金的独特之处. 那么,什么是对冲基金?
对冲基金是一种投资基金——一种从投资者那里筹集资金并进行短期和长期投资的金融机构, 或者是不同的金融产品. 它通常以有限合伙或有限责任公司的形式成立. 对冲基金的目标是实现回报最大化. 回报是指对冲基金净值在特定时期内的收益或损失. 人们普遍认为,当承担更大的风险时, 更高回报和损失的可能性更大.
以达到良好的回报, 对冲基金依靠各种类型的投资策略, 试图利用市场的低效来赚钱. 由于普通投资基金所不允许的各种投资策略, 对冲基金不注册为基金, i.e.在美国,它们通常不像其他基金那样受国家监管. 他们不需要公布自己的投资策略和经营业绩, 这可能会使它们变得相当危险. 有些对冲基金的收益高于市场平均水平,但也有一些是亏损的. 其中一些带来了永久性的结果,而一些对冲基金的结果是可变的.
通过投资对冲基金,投资者增加了基金的净值. 不过,并不是任何人都可以投资对冲基金. 对冲基金的目标客户是少数富有的投资者. 通常,想要参与对冲基金的人需要获得认证. 这意味着它们在金融监管法律方面必须具有特殊地位. 对于谁能拥有这种特殊地位,各国是有区别的. 通常, 投资者的净资产必须很高——不仅是个人投资者, 但银行和大公司也可以在对冲基金中运作. 该认证旨在只允许具有重要投资知识的个人参加, 从而保护小而缺乏经验的投资者免受风险.
本文考虑了美国的监管框架, 因为美国拥有全球最发达的金融市场. 因此,在美国,“合格投资者”一词的定义是 美国证券交易委员会(SEC)条例D第501条.
根据这一规定,合格投资者可以:
对冲基金经理管理对冲基金. 对冲基金经理必须找到一种创造竞争优势的方法才能成功.e.,以创造相对于竞争对手的优势,以及创造更大价值的能力. 这是一个非常有吸引力的职业选择, 因为如果一个人擅长管理基金,它可以非常有利可图.
在另一边, 如果很多对冲基金经理的决策被证明是错误的, 他们将得不到报酬,并将获得负面声誉. 最好的对冲基金经理是所有行业中收入最高的职业之一. 对冲基金经理从他们为投资者赚取的回报中获得一定比例的分成, 除了管理费. 这种补偿方式使得对冲基金经理为了获得更大的回报而更积极地投资, 但另一方面, 这也导致了投资者风险的增加.
第一只对冲基金出现于1949年, 由前作家和社会学家阿尔弗雷德·温斯洛·琼斯创立. 那是在1948年,当时他正在为《欧博体育app下载》杂志撰写一篇有关当前投资趋势的文章.
他设法管理这笔钱,而且非常成功. 他利用他的投资创新筹集资金,这种创新现在被广泛称为多/空股票. 这种策略在对冲基金中仍然非常流行. 股票可以买(买:做多)或卖(卖:做空).
当股票价格处于低位时,预期股票价格将会走高, 一旦股价达到最高点,买进(做多)并卖出(做空)是合乎逻辑的, 这正是阿尔弗雷德·温斯洛·琼斯的创新之处——在预期会升值的股票上做多,在预期会下跌的股票上做空.
财务数据属于时间序列数据. 时间序列是按时间索引的一系列数据点. 通常, 时间序列是一个连续的序列, 等间隔的时间点:离散时间数据的序列. 时间序列的例子是海洋潮汐的高度, 太阳黑子数, 以及道琼斯工业平均指数的每日收盘价.
这里的历史数据是过去的时间序列数据. 这是预测未来价格最重要、最有价值的部分之一. 网上有一些公开的数据集, 但通常, 这些数据不包含很多特征——通常是1天间隔的数据, 1小时间隔数据, 或者1分钟间隔数据.
具有更丰富的特征和更短的时间间隔的数据集通常是不可公开获得的,并且可能非常昂贵. 较小的间隔意味着在固定的时间段内有更多的时间序列数据——一年有365天(或366天), 所以最多有365(或366)个数据点可用. 每天都有24小时, 一年内有8个,760 (or 8,784)每小时数据点可用, 每天都有86个,400分钟, 一年就有525个,600 (or 527,040分钟数据点可用.
有了更多数据, 更多信息请访问, 有了更多的信息, 我们有可能对下一段时期会发生什么做出更好的结论——假设, 当然, 数据包含一个足够好的特征,可以很好地概括. 2007-2008年的股价数据, 在全球金融危机最严重的时候, 是否有偏见,可能与现在的价格预测无关. 用更小的时间间隔, 由于在固定的时间间隔内有大量的数据点,因此预测接下来会发生什么更容易. 如果我们有固定的每纳秒的所有数据点,就更容易预测下一纳秒会发生什么 n
一年的间隔时间比明年股票市场会发生什么更重要 n
数据点为每年固定 n
年的间隔.
然而, 这并不意味着, 假设一系列快速的短期预测是正确的, 长期预测也应该是正确的. 每个预测都会引入误差和, 通过链接多个预测, 长期预测最终将包含大量的错误,并且将是无用的. 下面是一个从雅虎财经网上抓取的b谷歌股票的1天间隔数据的例子.
数据集中只有几列:Date, Open, High, Low, 和Close-respectively, 证券在交易所开盘时首次交易的价格, 证券在给定交易日内达到的最高价格, 在给定交易日中达到的最低价格, 以及当天证券交易的最终价格.
通常, 在这样的数据集中还有两个列——调整后的关闭和音量, 但它们在这里无关紧要. 调整后收盘价是指对适用的拆分和股息分配进行调整后的收盘价, 而成交量是指在一段时间内市场上交易的股票数量.
你可以看到一些日期被遗漏了. 这些是股票交易所不工作的日子,通常是在周末和节假日. 为了演示我们的深度学习算法, 缺少的天数用之前的可用价格进行补充. 例如,2010-01-16、2010-01-17、2010-01-18的收盘价都是288.126007,因为这是2010-01-15的数字. 对于我们的算法来说,数据没有间隙是很重要的,这样我们就不会混淆它. 深度学习算法可以在周末和假期的时候从这里学习.g., 它将在5个工作日后得知, 从最后一个工作天起,必须有两天的固定价格.
这是自2010-01-04以来b谷歌的股价变动图表. 请注意,仅使用交易日来绘制图表.
深度学习是机器学习的一部分,它基于学习数据表示. 机器学习检查的算法的功能不是编程的,而是从数据中学习的. 它本质上是一种人工智能的方法.
深度学习已经被应用到各个领域:计算机视觉, 语音识别, 自然语言处理, 机器翻译——在其中一些任务中, 它已经取得了优于人类的性能.
深度神经网络是深度学习的核心. 深度神经网络最简单、最基本的例子是前馈神经网络. 下面是一个简单的前馈神经网络的图像. 它由输入层、输出层和隐藏层组成.
隐藏层是输入层和输出层之间的所有层. 如果一个神经网络有一个以上的隐藏层,我们就说它是深度的. 每一层都由不同数量的神经元组成. 这个基本前馈神经网络中的层被称为线性层——线性层中的神经元只将1-D(或2-D,如果数据通过网络批量发送)输入的值与适当的权重相乘, 将乘积相加, 并将最终结果作为1-D或2-D输出.
在前馈网络中,通常采用激活函数引入非线性,使网络的建模更加复杂, 非线性问题. 在前馈网络中,数据从输入层流向输出层,没有回圈. 神经元之间的连接是加权的. 需要调整权重,以便神经网络对给定的输入返回正确的输出. 前馈网络将数据从输入空间映射到输出空间. 隐藏层从前一层的特征中提取重要的和更抽象的特征.
一般的深度学习管道与机器学习管道相同,由以下步骤组成:
训练神经网络实际上意味着通过结合随机梯度下降的反向传播算法最小化损失函数来调整神经元对之间的权值. 除了通过学习过程确定的权重, 深度学习算法通常需要设置超参数——这些参数不是学习到的,而是在学习之前固定的. 超参数是层数, 神经元层数, 层的类型, 神经元的类型, 权重初始化.
There are hardware restrictions in the setting of hyperparameters; currently it is not physically possible to set a trillion of neurons on a single GPU. The second problem for exhaustive hyperparameter search is combinatorial explosion; it is not possible to search through all possible combinations of hyperparameters because it would take infinite time. 正因为如此, 超参数是随机设置的,或者使用一些在科学论文中描述的启发式和众所周知的例子——本文稍后将展示用于金融数据分析的超参数之一是循环神经元的使用, 科学家和工程师已经证明,它们可以很好地处理时间序列数据. 通常, 查看给定问题的超参数是否好最好的方法是通过实验.
训练的目的是使神经网络拟合训练数据. 两种模型验证, 每个训练步骤后做什么, 模型测试, 哪一个是在整个培训过程后完成的, 来看看模型是否可以很好地推广. 泛化意味着神经网络可以对新的、看不见的数据做出很好的预测.
有两个与模型选择相关的重要术语: 过度拟合 and underfitting. 如果一个神经网络的训练数据太复杂,如果它有太多的参数(太多的层), 和/或层中有太多的神经元)-神经网络可能会过度拟合数据. 它可以很好地适应训练数据,因为它有足够的能力来拟合所有的数据, 但是在验证集和测试集上的性能很差.
如果神经网络对于它所训练的数据过于简单, 神经网络可以对数据进行欠拟合. 在这种情况下, 神经网络的训练性能较差, 验证, 而测试集,因为它的能力不够好,不足以拟合训练数据和泛化. 在下图中,这些术语以图形方式进行了解释. 蓝线表示由神经网络建模的内容. 第一幅图显示了神经网络参数较少时的情况, 不足以拟合训练数据和泛化. 第二张图显示了存在最优参数数量且神经网络可以很好地泛化未知数据的情况, 第三张图显示了当神经网络的参数数量过大时,神经网络可以很好地拟合来自训练集的所有数据, 但它在验证集和测试集上的性能很差.
神经网络的一个更复杂的版本是循环神经网络. 在循环神经网络中, 数据可以向任何方向流动, 与前馈神经网络相反. 它们可以很好地学习时间序列依赖关系. 一般递归神经网络的架构如下图所示.
下图是一个循环神经元. 这需要 X_{t}
,时间点 t
,作为输入并返回 h_{t}
,隐藏状态在时间 t
,作为输出. 隐藏的输出被传播回神经元. 循环神经元可以展开,就像在同一张图片的右侧所示. X_{t_0}
在某个时间点 t_{0}
, X_{t_1}
在时间范围内 t_{1}
, and X_{t}
在时间范围内 t
. 使用输入获得的输出 X_{t_0}
, X_{t_1}
, …, X_{t_n}
按时间段划分 t_{0}
, t_{1}
, …, t_{n}
是所谓的隐藏输出: h_ {t_0}
, h_ {t_1}
, …, h_{t_n}
分别.
最好的递归神经网络架构之一是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
. 我们选取了5个连续5天的收盘价(见上表的开/高/低/收盘数据), 假设, 2010-01-04和2010-01-08, i.e., [[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}
is 298.61
.
Note: lstm的个数也可以少到只有一个——设置lstm的个数是一个超参数, 哪一个通常是经验发现的, 尽管我们可以使用一些启发式方法. 如果数据不是那么复杂的话, 我们使用不太复杂的架构,因此模型不会过度拟合数据. 如果数据很复杂,我们使用一个复杂的模型,这样模型就不会欠拟合数据.
在培训阶段, 收盘价与实际价格正在进行比较, 使用反向传播算法和梯度下降优化算法(或其具体形式之一)最小化预测收盘价和真实价格之间的差异, 在这个博客中, 通过改变神经网络的权重,使用了所谓的“亚当”版本的梯度下降优化算法.
经过培训和测试, 在未来, 用户只需要给神经网络输入数据,它就会返回预测的价格(希望如此), 一个非常接近未来真实价格的价格).
这里还有一件事要提一下, usually, 成批的数据通过网络发送, 在训练和测试阶段, 使网络在一次传递中计算多个输出.
下面是本博客用于实验的一个架构图. 它由两个堆叠的lstm和一个线性层组成.
试着用 算法交易 简单的策略, 如下:如果算法预测第二天价格会上涨, 然后买 n
(n = 1
在本例中,持有一家公司的股票(做多),否则卖出该公司的所有股票(做空)。. 投资组合的初始价值(现金和股票的总价值)设为10万美元. 每次做多或做空都会买入 n
分别购买公司的股票(在本例中为b谷歌)或出售公司的所有股票. 一开始,系统拥有某公司的0股股份.
记住,这是一个非常基本和简单的例子, 不适合在现实世界中使用, 更多的R&需要做更多的工作来调整模型,使其在实践中运行良好. Some things are neglected here that should be considered in a real-world scenario; for example, 交易费用不包含在模型中. 假设系统可以在每天的同一时间进行交易, 假设每一天, 即使是在周末或假期, 是一个交易日.
对于测试,使用回测方法. 回溯测试方法使用历史数据来重建过去可能发生的交易,使用与所开发的策略定义的规则. 数据集被分成两部分——第一部分是训练集(过去),第二部分是测试集(未来)。. 模型在训练集和上进行训练, 训练后, 我们在数据集的第二部分上模拟未来,看看经过训练的模型在没有经过训练的情况下未来会有什么表现.
评估交易策略的指标是夏普比率(其年化版本), 假设一年中所有的日子都是交易日, 一年有365天: √365 *意味着(收益)/性病(回报))
,其中返回定义为 P_ {t}/ P_ {t-1} -1
, and p_{t}
价格是固定的吗 t
. 夏普比率显示了收益与额外风险之间的比率, 所以夏普比率越高越好. 通常,比率大于1是投资者可以接受的,2是非常好的,3是非常好的.
每天只收收盘价, 从雅虎财经数据集中提取了100亿美元的历史价格, 是作为一个特性使用的吗. 更多的功能会有所帮助, 但这超出了本博客的范围,以测试数据集的其他特征(Open, High, 低)很重要. 表中未包含的其他一些特性也可能有所帮助,例如, 某一时刻的新闻或某一天的重要事件的情绪. 然而, 有时很难做出对神经网络输入有用的数据表示,并将它们与现有特征结合起来. 例如, 很容易扩展特征向量,加入一个代表新闻情绪或特朗普推特情绪的数字(-1
非常消极, 0
中性的, +1
非常积极,等等.), 但要把特定的事件驱动时刻(比如苏伊士运河上的海盗)放在一起就不那么容易了, 德克萨斯州炼油厂的炸弹)的特征向量,因为, 对于每一个特定的时刻, 我们需要在特征向量中添加一个额外的元素 1
如果事件发生了或者 0
否则,这将导致所有可能的时刻有无限数量的元素.
对于更困难的数据, 我们可以定义一些类别, 每一刻, 确定它属于哪个类别. 我们还可以从其他公司的股票中添加特征,让系统学习不同公司股价之间的相关性. Also, 有一种专门用于计算机视觉的神经网络——卷积神经网络——将其与循环层结合起来,看看视觉特征如何与一些公司的价格相关联,这将是很有趣的. 也许我们可以使用摄像机从拥挤的火车站采集的数据作为特征,并将其附加到神经网络上,看看神经网络所看到的是否与某些公司的股票价格相关——即使在那个平庸而荒谬的例子中,也可能存在一些隐藏的知识.
下图显示了平均训练损失是如何随着时间的推移而减少的, 这意味着神经网络有足够的能力来拟合训练数据. 重要的是,数据需要规范化,这样深度学习算法才能收敛.
下图显示了平均测试损耗是如何随时间减少的, 这意味着神经网络有能力对看不见的数据进行泛化.
The algorithm is greedy; if it predicted that the price will go up the next day, 然后算法立即购买 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}]
等等. 这里的问题是,我们引入了一个预测误差,随着每一步的增加而增加,最终以非常糟糕的长期结果告终, 如下图所示. 开始时的预测遵循基本真理下降的趋势,然后停滞不前,随着时间的推移变得越来越糟.
一个非常简单的深度学习分析是对b谷歌的股价进行的, 但它可以整合几乎任何一组财务数据, 前提是数据量足够大且质量良好. 数据必须具有辨别性,并且必须很好地描述和表示问题.
如果它在广泛的测试中起作用并且推广得很好, 这个系统可以让对冲基金经理利用深度学习和依赖算法交易策略来推测一家公司股票的未来价格.
对冲基金经理可以向系统提供一定数额的资金,让系统每天自动进行交易. 然而,让自动交易算法在没有任何监督的情况下进行交易将是非常糟糕的. 对冲基金经理应该具备一些深度学习技能,或者雇佣一些具备必要技能的人来监督系统,并确定系统何时失去了泛化和良好交易的能力.
如果系统失去了泛化的能力, 然后有必要从头开始重新训练它并再次测试它(可能通过引入更多判别特征或新知识-使用模型首次训练时不存在的过去的新数据)。.
有时, 对于深度学习系统来说,这些数据还不够好,无法很好地训练和泛化, 在这种情况下, an 资深深度学习工程师 应该能够发现并纠正这种情况吗. 建立一个深度学习交易系统, 你需要对冲基金数据科学家, 机器学习/深度学习专家(包括科学家和工程师), R&熟悉机器学习/深度学习等的D工程师. 无论他们熟悉机器学习应用的哪一部分, 无论是计算机视觉还是语音识别, 经验丰富的专业人士将能够把他们的经验运用到金融领域. 从根本上说, 无论应用程序或行业如何,深度学习都具有相同的基础, 对于有经验的人来说,从一个主题切换到另一个主题应该很容易.
我们提出的系统是非常基础的,要在现实世界中应用,更R&为了增加收益,应该做D. 该系统的可能改进在于制定更好的交易策略. 为培训收集更多的数据(通常非常昂贵)将有所帮助. 两点之间的时间间隔越小越好. 改进还可以体现在使用更多的特性(例如.g., 与数据集中的每个点对应的新闻情绪或重要事件, 尽管很难为神经网络编码)和广泛的网格搜索超参数和RNN架构发现.
Also, 需要更多的计算能力(必须有强大的gpu)来进行大量的并行实验和处理大量的数据, 前提是收集了大量的数据.
引用:
作者附言: 我要感谢Ivan Čapalija和Matej Paradžik关于金融深度学习的建设性对话和建议, 是什么帮助我写了这篇博客.
对冲基金从投资者那里筹集资金,进行短期和长期投资, 或者在不同的金融产品中实现利润最大化. 对冲基金依靠各种类型的投资策略, 试图利用市场的低效来赚钱.
算法交易是一种使用计算机自动获利的方法,使用从机器学习模型或手写规则中推断出来的规则.
深度学习是机器学习的一部分,用于学习数据表示. 金融就是理财. 金融领域的深度学习是深度学习技术在金融领域的应用.
世界级的文章,每周发一次.
世界级的文章,每周发一次.