量化软件下载:赫兹量化中降低维
1. 理解降维问题
每天、每时、每刻,在人类生活的各个领域都会提供大量信息。 随着当今世界信息技术的不断普及,人们试图保存和处理尽可能多的信息。 然而,对大量信息进行整理需要海量数据存储。 甚至,需要大量的计算资源来处理这些信息。 解决这个问题的可能方案之一是以更简洁的形式记录所提供的信息。 更有甚者,如果压缩表单保留了完整的数据上下文,则处理其的所需资源会更少。
例如,当我们处理 200*200 像素图像的形态识别时,每个像素都以颜色格式写入,占用 4 个字节内存。 每个像素均可用 1650 万种颜色之一来表示,这种能力对于这个问题来说有点过分。 在大多数情况下,如果我们把颜色层次降低到 16 或 32 色,模型性能不会受到影响。 在这种情况下,我们仅用 1 个字节来写入每个像素的颜色码。 当然,我们编写颜色矩阵会需要一次性开销,64 字节供 16 种颜色,而 128 字节供 32 种颜色。 将我们所有图像的大小缩小 4 倍,所要付出的代价并不太大。 实际上,这样的问题可用我们已知的数据聚类方法来解决。 不过,这也许并非最有效的方式。
降维技术的另一个应用领域是数据可视化。 例如,您有描述某些系统状态的数据,由 10 个参数表示。 您需要找到一种方式来把这些数据可视化。 2D 和 3D 图像对于人类感知是最优选。 那好,您可以创建若干个含有 2-3 个参数不同变化的截面。 但这不能提供系统状态的完整画面。 在大多数情况下,不同截面中的不同状态将融合到一个点。 但这些也许就是不同的状态。
因此,我们需要找到这样一种算法,帮助我们将所有系统状态从 10 个参数转换为二维或三维空间。 此外,算法应在划分系统状态的同时,保持系统状态的相对位置。 当然,它丢失的信息应该尽可能地少。
您也许会想:“这一切都很有趣,但交易的实际作用是什么?”,我们从终端中看看。 它提供了多少种指标? 好吧,其中许多可能都具有一定的数据相关性。 但它们当中的每一个都提供了至少一个从不同角度描述市场状况的参考值。 并且,如果我们将其乘以正在交易的金融产品数量会怎样? 甚至,指标和所分析时间帧的不同变化可以无限提升描述当前市场状态的参数量级。
当然,我们不会纠缠于把所有金融产品和所有可能的指标套用一个模型。 但无论如何,在搜索最合适的组合时,我们可以用到其中的许多组合。 这将令模型复杂化,并增加其训练时间。 因此,在维持最大信息的同时,降低初始数据的维度,我们既降低了模型训练成本,又缩减了制定决策的时间。 因此,对市场行为的反应可如闪电般的迅捷。 因此,交易将以最佳价格执行。
请注意,降维算法始终仅用于数据预处理。 这是因为它们只返回源数据的压缩形式。 随后数据被保存,或用于进一步处理。 这可以包括数据可视化,或由某些其它模型进行处理。
因此,为了构建一个交易系统,我们可用最小所需信息来描述当前市场状态,并采用一种降维算法对其进行压缩。 我们所应期望的是,减少处理流程,如此来消除一些噪声和相关数据。 然后,我们把降低的数据输入到我们的交易决策模型当中。
我希望这个思路是清晰的。 为了实现降维算法,我建议采用最流行之一的主成分分析法。 该算法已在解决各种问题方面证明了自己,并且可以在新数据上复现。 这能够减少传入数据,并将其传输到决策模型当中,从而生成实时交易决策。