記事「MQL5で自己最適化エキスパートアドバイザーを構築する(第10回):行列分解」についてのディスカッション

 

新しい記事「MQL5で自己最適化エキスパートアドバイザーを構築する(第10回):行列分解」はパブリッシュされました:

行列分解は、データの特性を理解するために用いられる数学的手法です。行と列で整理された大規模な市場データに行列分解を適用することで、市場のパターンや特性を明らかにすることができます。行列分解は非常に強力なツールであり、本記事ではMetaTrader 5のターミナル内でMQL5 APIを活用し、市場データをより深く分析する方法を紹介します。

行列分解は、大きな行列をより小さく単純な行列の積に分解する数学的手法です。これらの手法には多くの利点がありますが、利点の説明に入る前に、まず行列分解が生まれた背景を理解しましょう。

日常生活の中には、文化を超えて共通する経験があります。たとえば、子どもに話しかけ、その子どもが親をどのように描写するかを聞くことで、その親の性格や行動の傾向を推測できることに、多くの読者は馴染みがあるでしょう。その描写から、子どもが直接説明していない状況で親がどのように行動するかを推測することもできます。同様に、行列分解は大きな行列を「子行列」に分解します。これらの子行列は、それぞれ元の行列の異なる側面を表しており、構造を理解する手助けとなります。子どもの視点が親の本質を明らかにするように、これらの小さな行列は分析対象の市場に関する深い洞察を提供します。

行列分解の結果は、前述した線形モデルに対して数値的に安定した解をもたらすことがよくあります。本記事では、OpenBLAS(Basic Linear Algebra Subprogramsの略)という数値計算ライブラリも紹介します。 OpenBLASはBLASライブラリのオープンソースフォークで、現代の計算アーキテクチャ上で効率的に動作するよう再設計されています。BLASはもともとFortranと手書きアセンブリコードで作られました。 


作者: Gamuchirai Zororo Ndawana