向后工作
从您可以使用的交易界面倒推注 1,对于每个交易所交易基金 (ETF) 或另一类的其他可交易商品,您需要两件事情。
系统可以为每个 ETF 提供这样的输出结构注 2(当然取决于您和您的银行主要货币系统可用的交易界面)。
为什么每个 ETF 不只有一个数字?
为什么单一的正、零或负交易量不太可能是最佳架构选择,存在一些确凿的理由。
- 持有和交易 1.0 个货币单位的差额不等于交易 1.0 和 2.0 个货币单位的差额。从数学上讲,盈利能力与交易金额的关系并不平滑,甚至可能不连续。
- 当您将三元输出实现为两个二进制输出 {buy, sell} 时,针对布尔表达式(买入和卖出)进行训练可能会提高您的初始性能,并可能会提高您的持续性能注 3。
需要考虑的实际交易限制
因为您在流动账户中可以购买的资产是有限的,所以您需要训练防止破坏银行或使用 NN 输出强加规则或基于收益和损失概率的公式之后的阶段。这种财务限制使您的问题变得混乱,因为有几种方法可以确保您不会破产(从您的交易操作中获得足够的资金响应)。
优化更深层次的架构
让我们首先假设您使用概率演算来生成一个封闭形式(公式),用于根据您设计的 NN 架构的预测进行交易。然后,NN 输出可能是代表每个 ETF 结果分布的连续值。预测几乎总是取决于投资期限。
在这样的架构中,NN 输出激活方案将是一个连续函数(不一定是线性的),产生类似注 4的东西。
- 一天内的平均预期增量值
- 一天预期的标准偏差
- 四个星期的平均预期增量
- 两周预期的标准偏差
- 两年的平均预期增量
- 两年预期的标准偏差
任何本质上不处理概率的投资组合的 NN 优化都是无稽之谈。为获得最大收益而进行优化会带来很大的风险。优化最小风险可能会导致损失。用人类学的术语来说,优化的目标必须是对胜利的渴望和对失败的恐惧之间的某种平衡。
均值和标准差是明显的起始选择,而传统的短期、中期和长期投资类别在时间域开始也是合理的注 5。
纯神经网络
现在让我们假设您将微积分替换为另一个训练有素的 NN 方案以最大化投资组合总资产注 6。这种替代 NN 方案还必须将您的可用流动资产数量以及上述概率预测作为输入。您还必须进行培训以确保买卖的汇总不会破坏您的银行,确保您的流动资产账户永远不会低于零。
交易量激活应该是一个连续函数,但不一定是线性的,也可能不是 tanh,因为该函数的渐近线会适得其反,除非它与您的可用流动资产成正比,通过在您的架构中聚合您的选项来进行训练。但是,这并不是最佳选择,因为您可能会在一分钟后找到更好的交易来使用这些资产。
奇数根(第三根或第五根或两者都带有系数),当与训练一起使用以不破坏银行并最大化投资组合增长率时,由于概率和聚合,将在早期层产生更好的学习环境流动资产限制的现实。
笔记
注 1 - 最好是安全的 RESTful API,但实验可以使用 Web 浏览器,您可以使用https://github.com/SeleniumHQ/selenium或https://github.com/watir/watir控制 HTTPS 事务。
注 2 — 输入可以是公司数量、投资公司提供的风险评级、空头期权、开始日期和一系列事件,每个事件都包含固定点数和此类标志。
注 3 — {1, 0} 的二进制输出向量 {buy, sell} 值导致买入。{0, 1} 的值导致卖出。值 {0, 0} 被忽略,{1, 1} 可能会触发另一个训练操作来纠正这个非法输出,这很可能表明上一轮训练已经过时了。如果 NN 是可重入的(强化的),则反馈向量可以包含此异常标志或在反馈源的聚合中对其进行加权。总之,三元方案有望提高训练速度和结果准确性。更重要的是,它为持续优化打开了额外的选项。
注 4 — Delta 是价格上涨或亏损、股息以及持有和交易费用的汇总,因为这是与投资组合盈利能力相关的适当指标。
注 5 — 为中长期预测选择了 4 周和 2 年,因此三个持续时间之间的时间比率为 26.09 和 28。常见的选择在时间上是有偏差的。如果选择 1 天、1 周和 1 年,则比率将为 7.0 和 52.18。如果选择了 1 天、1 个月和 1 年,它们将是 30.44 和 12。
注 6——不要假设即使是训练有素的神经网络在交易盈利能力架构的最后阶段也能胜过从概率演算中正确推导出的公式。