借助Sagemaker和Essentia促进交易模型
建立准确的模型需要大量时间,资源和技术能力。最大的挑战?您几乎永远都不知道最终会使用哪种模型或功能组合。
像许多其他人一样,我不得不花大量的时间为特定算法准备数据,然后为该算法开发所有代码和处理,只是发现它不能很好地训练我的数据或我没有正确的功能。在为金融货币市场创建一致且有利可图的交易模型的任务下,我努力寻找合适的模型和功能平衡,直到发现Sagemaker / Essentia渠道。
探索管道
我发现对管道有用的是,我的许多工作要么是为我完成的,要么是可以快速实施的。Sagemaker提供了示例脚本和现成的算法,可在Essentia处理实际的数据准备和功能增强时快速对我的数据进行机器学习/
深度学习。
该流水线的两个部分都可以在多个EC2实例之间完全扩展,并且我能够训练模型并非常快速地使用新功能重新开始运行。这很有帮助,因为我可以尝试无数种功能组合,并且需要检测许多不同的易失性模式。
特征工程与模型选择
从我通过各种
机器学习方法并使用PivotBillions和R探索创建的初始模型开始,我使用Essentia设置了数据以包含10年数据的多个特征。然后,我让Essentia增强了数据,以包含原始模型中每个信号的每个功能的100分钟历史记录。
在Sagemaker上探索了一些算法之后,我最终决定使用XG Boost算法,因为它能够拾取大量功能子集之间的许多交互。这似乎很有帮助,因为它可以查看我的功能,并通过查看功能历史记录来研究许多较小的交互作用。
超参数调整和结果
我的第一次训练显示训练/验证指标有所改善,但并没有转化为更平稳或更大的利润。因此,我利用了Sagemakers的“超参数调整”功能来为我的财务数据选择更好的XG Boost参数。几次运行后,它很快从搜索中返回性能最佳的超级参数。通过在XG Boost算法中使用这些参数并在保留集上进行测试,我能够获得更加平滑的模型,并且获得了更高的盈利能力。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!