文章 "交易中的神经网络:层次化双塔变换器(Hidformer)"

 

新文章 交易中的神经网络:层次化双塔变换器(Hidformer)已发布:

我们邀请您来领略层次化双塔变换器(Hidmer)框架,其专为时间序列预测和数据分析而开发。框架作者提出了若干变换器架构改进方案,其成果提高了预测准确性、并降低了计算资源消耗。

具备捕捉数据时态结构、并识别隐藏形态能力的神经网络模型,在金融预测中变得尤为重要。然而,传统神经网络方式面临诸多局限,即高计算复杂性、以及结果解释性不足。由此,近年来基于注意力机制的架构越来越受到研究人员的关注,在于它们能提供更准确的时间序列和财务数据分析。

基于变换器架构及其修订版模型获得了最广泛的欢迎。修订版之一,在论文《Hidformer:股票价格预测中的变压器式神经网络》中阐述,称为 Hidformer。该模型专为时间序列分析而设计,专注于依靠优化注意力机制,高效识别长期依赖关系,以及适应金融数据特性来提升预测准确性。Hidformer 的主要优势在于能够参考复杂的时态关系,这在股票市场分析中尤为重要,其中资产价格依赖于众多因素。


作者:Dmitriy Gizlyk

 
您能告诉我如何用这个神经网络获得一组趋势吗?

据我所知,这是它的特点之一

"首先分析时间特征,确定时间尺度上的趋势和模式"。


 

你好,德米特里、

根据 OnTesterDeinit(),代码应在测试模式下(即在 StrategyTester 中)保存 NN 文件。

//+------------------------------------------------------------------+
//| TesterDeinit 函数|
//+------------------------------------------------------------------+
void OnTesterDeinit()
  {
//---
   int total = ArraySize(Buffer);
   printf("total %d", MathMin(total, MaxReplayBuffer));
   Print("Saving...");
   SaveTotalBase();
   Print("Saved");
  }
//+------------------------------------------------------------------+

但这并没有发生。而且 OnTesterDeinit() 似乎也没有被调用。因为我没有看到任何打印 语句。

这是因为 MQL5 的更新吗?或者为什么您的代码不再保存文件?

 
Andreas Alois Aigner 打印 语句。

这是因为 MQL5 的更新吗?或者为什么您的代码不再保存文件?

亲爱的 Andreas

OnTesterDeinit 只在优化模式下运行。请参阅https://www.mql5.com/en/docs/event_handlers/ontesterdeinit。
我们不在测试器中保存模型,因为该 EA 不研究它们。有必要检查之前研究过的模型的有效性。

致以最崇高的敬意,
Dmitriy。

Documentation on MQL5: Event Handling / OnTesterDeinit
Documentation on MQL5: Event Handling / OnTesterDeinit
  • www.mql5.com
The function is called in EAs when the TesterDeinit event occurs after EA optimization. Return Value No return value Note The TesterDeinit event is...