什么是交易策略?
交易策略是根据用于制定交易决策的预定义规则在市场上进行买卖的方法。交易策略包括经过深思熟虑的投资和交易计划,其中指定了投资目标、风险承受能力、时间范围和税务影响。想法和最佳实践需要经过研究和采用,然后才能坚持。交易规划包括制定购买或出售股票、债券、ETF 或其他投资的方法,并可能扩展到更复杂的交易,例如期权或期货。进行交易意味着与经纪商或经纪自营商合作,确定和管理交易成本,包括点差、佣金和费用。一旦执行,交易头寸就会受到监控和管理,包括根据需要调整或关闭它们。衡量风险和回报以及交易对投资组合的影响。交易的长期税收结果是一个主要因素,可能包括资本收益或税收损失收获策略,以抵消收益和损失。
现在我们已经了解了问题的基础知识,我们需要了解该技术。
深度强化学习(DRL)
强化学习(RL)是指在特定情况下采取适当的行动来最大化奖励。它被各种软件和机器用来寻找在特定情况下应采取的最佳行为或路径。强化学习与监督学习不同,因为在监督学习中,训练数据带有答案键,因此模型是用正确答案本身进行训练的,而在强化学习中,没有答案,但强化代理决定做什么执行给定的任务。在缺乏训练数据集的情况下,它必然会从经验中学习。RL 是指面向目标的算法,即寻求通过一系列步骤实现复杂目标或最大化奖励的算法,例如在 Atari 游戏中获得最高分。
符合这种方法的元素是状态、奖励函数、动作和代理交互的环境。
什么是 DRL?与 RL 有什么区别?
深度强化学习本质上是深度神经网络和强化学习的结合。在这种情况下,我们谈论一种称为 Q-Learning 的特殊类型。
在 Q-Learning 中,通常使用搜索表来存储表示每个状态和动作的位置(Q 表)。该表使我们能够知道根据状态必须采取的操作才能获得最高奖励。当状态非常复杂并且表增长到无法计算的大小时,上述问题很快就会成为问题。在 DRL 的情况下,神经元模型被用作状态的泛化器,从而允许它们被压缩在更小的实体中,从而使模型收敛得更快。
金融市场的一些特征可以通过 DRL 来处理,例如:
- 市场需要完美处理大量连续数据
- 智能体的行为可能会导致其他机器学习机制无法衡量的长期后果
- 代理商的行为也会对当前市场状况产生短期影响,从而使环境变得高度不可预测
由于深度强化学习的一些主要优势,交易被干扰的可能性看起来很有希望:
- 它建立在现有的算法交易模型之上
- 自学过程适应不断变化的市场环境
- 在高密度环境中带来更多功率和效率
训练数据集
用于培训代理的数据为我们提供了市场信息以及与资产有关的新闻或文章。
在市场数据中,我们可以找到开盘价、收盘价、交易量、资产名称等。
在新闻数据之间,我们有新闻的创建日期、标题和感觉。
2007年至2018年的训练市场数据集中有4,072,956个样本和16个特征。
方法
状态
我们需要为代理、状态、操作和奖励函数定义必要的元素。
对于状态的定义,我们可以结合数据集提供给我们的信息。我说的是市场信息和新闻信息。我们提取最能描述我们的问题的特征(至少一种可能的配置),例如开盘价、收盘价等。完整的状态如下所述。
- 市场资讯
- 开盘价
- 收盘价
- 交易量
- 资产代码
- 新闻资讯
- 标头
- 作者
- 其针对的受众
- 尺寸
- 新闻情绪
- 新闻中提到的资产
请注意,我们假设只有谈论特定资产的新闻才会影响该资产的行为。但这并不总是正确的,有可能新闻提到资产“x”,但它会影响资产“y”。
行动
我们的代理可能采取的行动很容易看出,代理必须在“买入”、“持有”和“卖出”三个选项之间做出决定。
报酬
它被定义为资产当前价值减去上一步资产价值之间的差额。
伪代码描述如下。
解决方案架构描述
神经网络的架构非常简单。输入是由市场数据和新闻数据结合形成的。新闻数据采用文本格式,以便能够为我们需要通过嵌入的模型提供数据。该模型的输出是一个由三个神经元组成的层,每个神经元对应于可用的动作。
执行
OpenAI Gym 是一个用于开发和比较强化学习算法的工具包。它支持教学代理的所有内容,从步行到玩乒乓球或弹球等游戏。它不对代理的结构做出任何假设,并且与任何数值计算库(例如 TensorFlow)兼容。
该实现是使用 OpenAI Gym 和 Tensorflow 作为核心组件在 python 中完成的。
OpenAI Gym 用于定义代理收回奖励的环境以及执行操作后的下一个状态。
用于定义神经模型和相应训练阶段的 Tensorflow。