データサイエンスとML(第34回):時系列分解、株式市場を核心にまで分解
ノイズが多く、予測が難しいデータで溢れる世界では、意味のあるパターンを特定するのは困難です。この記事では、データをトレンド、季節パターン、ノイズといった主要な要素に分解する強力な分析手法「季節分解」について解説します。こうしてデータを分解することで、隠れた洞察を見つけ、より明確で解釈しやすい情報を得ることが可能になります。
MQL5取引ツールキット(第8回):コードベースにHistory Manager EX5ライブラリを実装して使用する方法
MetaTrader 5口座の取引履歴を処理するために、MQL5ソースコード内で「History Manager EX5」ライブラリを簡単にインポートして活用する方法を、本連載の最終回となるこの記事で解説します。MQL5ではシンプルな1行の関数呼び出しで、取引データの管理や分析を効率的におこなうことが可能です。さらに、取引履歴の分析スクリプトを複数作成する方法や、実用的なユースケースとして、価格ベースのエキスパートアドバイザー(EA)の開発方法についても学んでいきます。このEAは、価格データとHistory Manager EX5ライブラリを活用し、過去のクローズ済み取引に基づいて取引判断をおこない、取引量の調整やリカバリーストラテジーの実装をおこないます。
プライスアクション分析ツールキットの開発(第17回):TrendLoom EAツール
プライスアクションを観察し、取引をおこなう立場から言うと、複数の時間枠でトレンドが確認された場合、その方向にトレンドが継続することがよくあります。ただし、トレンドがどれくらい続くかは一定ではなく、ポジションを長期で保有するのか、それともスキャルピングのような短期取引をおこなうのかといったトレーダーのスタイルによって異なります。トレンド確認に使用する時間枠の選択は非常に重要な役割を果たします。以下の記事では、ワンクリックや定期的な更新によって、複数の時間足にわたる全体的なトレンドを自動で分析できる便利なシステムを紹介しています。ぜひご覧ください。
プライスアクション分析ツールキットの開発(第16回):クォーターズ理論の紹介(II) - Intrusion Detector EA
前回の記事では、「Quarters Drawer」というシンプルなスクリプトを紹介しました。このツールを基盤として、今回はさらに一歩進め、これらのクォーターを監視し、市場がどのように反応するかを見極めるためのモニター型エキスパートアドバイザー(EA)を作成します。本記事では、ゾーン検出ツールの開発プロセスについて紹介します。
知っておくべきMQL5ウィザードのテクニック(第56回):ビル・ウィリアムズフラクタル
ビル・ウィリアムズによるフラクタルは、最初にチャート上で目にしたときには見落とされがちな強力なインジケーターです。一見するとチャートが煩雑に見え、鋭さに欠けるように思えるかもしれません。この記事では、このインジケーターの覆いを取り払い、そのさまざまなパターンがどのように機能するのかを、MQL5ウィザードで組み上げたエキスパートアドバイザー(EA)によるフォワードウォークテストを通じて検証していきます。
外国為替平均回帰戦略のためのカルマンフィルター
カルマンフィルターは、価格変動のノイズを除去して金融時系列の真の状態を推定するために、アルゴリズム取引で用いられる再帰的なアルゴリズムです。新しい市場データに基づいて予測を動的に更新するため、平均回帰のような適応型戦略において非常に有用です。本記事ではまず、カルマンフィルターの計算方法と実装について紹介します。次に、このフィルターをクラシックな平均回帰型の外国為替(FX)戦略に適用する例を示します。最後に、異なる通貨ペアにおいてカルマンフィルターと移動平均を比較し、さまざまな統計分析をおこないます。
知っておくべきMQL5ウィザードのテクニック(第55回):PER付きSAC
強化学習において、リプレイバッファは特にDQNやSACのようなオフポリシーアルゴリズムにおいて重要な役割を果たします。これにより、メモリバッファのサンプリング処理が注目されます。たとえばSACのデフォルト設定では、このバッファからランダムにサンプルを取得しますが、Prioritized Experience Replay (PER)を用いることで、TDスコア(時間差分誤差)に基づいてサンプリングを調整することができます。本稿では、強化学習の意義を改めて確認し、いつものように交差検証ではなく、この仮説だけを検証する、ウィザードで組み立てたエキスパートアドバイザー(EA)を用いて考察します。
プライスアクション分析ツールキットの開発(第13回):RSIセンチネルツール
プライスアクションは、ダイバージェンスを特定することで効果的に分析することができます。RSI(相対力指数)などのテクニカル指標は、その確認シグナルとして重要な役割を果たします。本記事では、自動化されたRSIダイバージェンス分析によって、トレンドの継続や反転をどのように識別できるかを解説し、市場心理を読み解く上で理解を深める手助けをします。
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)モジュール化
本ディスカッションでは、MQL5プログラムをより小さく扱いやすいモジュールに分割する一歩を踏み出します。これらのモジュール化されたコンポーネントをメインプログラムに統合することで、構造が整理され保守性が向上します。この手法によりメインプログラムの構造が簡素化されるだけでなく、各コンポーネントを他のエキスパートアドバイザー(EA)やインジケーター開発にも再利用可能にします。モジュール設計を採用することで、将来的な機能拡張の基盤を確立し、私たちのプロジェクトだけでなく広く開発者コミュニティにも貢献できるものとなります。
知っておくべきMQL5ウィザードのテクニック(第54回):SACとテンソルのハイブリッドによる強化学習
Soft Actor Critic (SAC)は、以前の記事で紹介した強化学習アルゴリズムです。その際には、効率的にネットワークを学習させる手法としてPythonやONNXの活用についても触れました。今回は、このアルゴリズムを改めて取り上げ、Pythonでよく使われるテンソルや計算グラフを活用することを目的としています。
プライスアクション分析ツールキットの開発(第12回):External Flow (III)トレンドマップ
市場の流れは、ブル(買い手)とベア(売り手)の力関係によって決まります。市場が反応する特定の水準には、そうした力が作用しています。中でも、フィボナッチとVWAPの水準は、市場の動きに強い影響を与える傾向があります。この記事では、VWAPとフィボナッチ水準に基づいたシグナル生成の戦略を一緒に探っていきましょう。
エキスパートアドバイザーの堅牢性テスト
戦略開発には、多くの複雑な要素が含まれていますが、これらの多くは初心者トレーダーには十分に伝えられていません。その結果、私自身を含め多くのトレーダーが、こうした教訓を痛みを伴う経験を通じて学ぶことになりました。この記事では、MQL5で戦略を開発する際に初心者トレーダーが直面しがちな一般的な落とし穴について、私の観察に基づいて解説します。EAの信頼性を見極め、簡単に実践できる方法で自作EAの堅牢性を検証するための、さまざまなヒントやコツ、具体例を紹介します。本記事の目的は、読者がEA購入時の詐欺を回避し、自身の戦略開発での失敗を未然に防げるよう支援することです。
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)
このディスカッションでは、大規模なコードベースを扱う際に直面する課題について掘り下げます。MQL5におけるコード構成のベストプラクティスを紹介し、取引管理パネルのソースコードの可読性と拡張性を向上させるための実践的なアプローチを実装します。また、他の開発者がアルゴリズム開発で活用できる再利用可能なコードコンポーネントの開発も目指しています。ぜひ最後までお読みいただき、ご意見をお寄せください。
プライスアクション分析ツールキットの開発(第11回):Heikin Ashi Signal EA
MQL5は、ユーザーの好みに合わせてカスタマイズ可能な自動売買システムを開発するための無限の可能性を提供します。複雑な数値計算も実行できることをご存知でしょうか。この記事では、自動売買戦略として日本の平均足手法を紹介します。
トレンドフォロー戦略のためのLSTMによるトレンド予測
長・短期記憶(LSTM: Long Short-Term Memory)は、長期的な依存関係を捉える能力に優れ、勾配消失問題にも対処できる、時系列データ処理に特化した再帰型ニューラルネットワーク(RNN: Recurrent Neural Network)の一種です。本記事では、LSTMを活用して将来のトレンドを予測し、トレンドフォロー型戦略のパフォーマンスを向上させる方法について解説します。内容は、主要な概念と開発の背景の紹介、MetaTrader 5からのデータ取得、そのデータを用いたPythonでのモデル学習、学習済みモデルのMQL5への統合、そして統計的なバックテストに基づく結果の分析と今後の展望までを含みます。
データサイエンスとML(第33回):MQL5におけるPandas DataFrame、ML使用のためのデータ収集が簡単に
機械学習モデルを使用する際は、学習・検証・テストに使用するデータの一貫性を確保することが重要です。この記事では、MQL5の外部(多くの学習がおこなわれる環境)とMQL5内部の両方で同じデータを利用できるようにするため、MQL5で独自のPandasライブラリを作成します。
プライスアクション分析ツールキットの開発(第10回):External Flow (II) VWAP
私たちの総合ガイドで、VWAPの力を完全にマスターしましょう。MQL5とPythonを活用して、VWAP分析を取引戦略に統合する方法を学びます。市場に対する洞察を最大限に活かし、より良い取引判断を下せるようになりましょう。
アンサンブル学習におけるゲーティングメカニズム
この記事では、アンサンブルモデルの検討をさらに進め、「ゲート」という概念に注目し、モデル出力を組み合わせることで予測精度や汎化性能の向上にどのように役立つかを解説します。
MQL5とMetaTrader 5のインジケーターの再定義
MQL5でインジケーター情報を収集する革新的なアプローチにより、開発者がカスタム入力をインジケーターに渡して即座に計算をおこなえるようになり、より柔軟で効率的なデータ分析が可能になります。この方法は、従来の制約を超えてインジケーターで処理される情報に対する制御性を高めるため、アルゴリズム取引において特に有用です。
プライスアクション分析ツールキットの開発(第9回):External Flow
本稿では、高度な分析手法として外部ライブラリを活用する、新たなアプローチを紹介します。pandasのようなライブラリは、複雑なデータを処理・解釈するための強力なツールを提供し、トレーダーが市場の動向についてより深い洞察を得られるようにします。このようなテクノロジーを統合することで、生のデータと実用的な戦略との間にあるギャップを埋めることができます。この革新的なアプローチの基盤を築き、テクノロジーと取引の専門知識を融合させる可能性を引き出すために、ぜひご一緒に取り組んでいきましょう。
MQL5取引ツールキット(第7回):直近でキャンセルされた予約注文に関する関数で履歴管理EX5ライブラリを拡張
直近でキャンセルされた予約注文を処理する関数に焦点を当て、History Manager EX5ライブラリの最終モジュールの作成を完了する方法を学習します。これにより、MQL5を使用してキャンセルされた予約注文に関連する重要な詳細を効率的に取得して保存するためのツールが提供されます。
MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合
この記事では、Pythonと連携したMQL5の実装について解説し、ブローカー関連の操作を自動化する方法を紹介します。VPS上にホストされて継続的に稼働するエキスパートアドバイザー(EA)が、あなたに代わって取引を実行すると想像してください。ある時点で、EAによる資金管理機能が非常に重要になります。具体的には、取引口座への残高補充や出金などの操作を含みます。本稿では、これらの機能の利点と実際の実装例を紹介し、資金管理を取引戦略にシームレスに統合する方法をお伝えします。どうぞご期待ください。
トレンドフォロー型ボラティリティ予測のための隠れマルコフモデル
隠れマルコフモデル(HMM)は、観測可能な価格変動を分析することで、市場の潜在的な状態を特定する強力な統計手法です。取引においては、市場レジームの変化をモデル化・予測することで、ボラティリティの予測精度を高め、トレンドフォロー戦略の構築に役立ちます。本記事では、HMMをボラティリティのフィルターとして活用し、トレンドフォロー戦略を開発するための一連の手順を紹介します。
MQL5取引ツールキット(第6回):直近で約定された予約注文に関する関数で履歴管理EX5ライブラリを拡張
EX5モジュールで、直近で約定された予約注文のデータをシームレスに取得・格納するエクスポート可能な関数を作成する方法を学びます。このステップバイステップの包括的なガイドでは、直近で約定された予約注文の重要なプロパティ(注文タイプ、発注時間、約定時間、約定タイプなど)を取得するための専用かつ機能別の関数群を開発することで、履歴管理EX5ライブラリをさらに強化していきます。これらのプロパティは、予約注文の取引履歴を効果的に管理・分析するうえで重要な情報です。
人工生態系ベースの最適化(AEO)アルゴリズム
この記事では、初期の解候補集団を生成し、適応的な更新戦略を適用することで、生態系構成要素間の相互作用を模倣するメタヒューリスティック手法、人工エコシステムベース最適化(AEO: Artificial Ecosystem-based Optimization)アルゴリズムについて検討します。AEOの動作過程として、消費フェーズや分解フェーズ、さらに多様なエージェント行動戦略など、各段階を詳細に説明します。あわせて、本アルゴリズムの特徴と利点についても紹介します。
リプレイシステムの開発(第69回):正しい時間を知る(II)
今日は、iSpread機能がなぜ必要なのかについて考察します。同時に、ティックが1つも存在しない状況で、システムがどのようにバーの残り時間を通知するのかについても理解を深めていきます。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
従来の機械学習手法を使用した為替レートの予測:ロジットモデルとプロビットモデル
この記事では、為替レートの予測を目的とした取引用EAの構築を試みます。アルゴリズムは、ロジスティック回帰およびプロビット回帰といった古典的な分類モデルに基づいています。取引シグナルのフィルターとして、尤度比検定が用いられます。
リプレイシステムの開発(第68回):正しい時間を知る(I)
今日は、流動性が低い時間帯に、マウスポインタを使ってバーの残り時間を確認できるようにする作業を引き続き進めていきます。一見すると簡単そうに思えますが、実際にはこの作業には多くの困難が伴います。いくつかの障害を乗り越える必要があるため、このサブシリーズの最初のパートをしっかりと理解しておくことが、今後の内容を理解する上で非常に重要です。
経済予測:Pythonの可能性を探る
世界銀行の経済データは、将来の動向を予測するためにどのように活用できるのでしょうか。そして、AIモデルと経済学を組み合わせることで、どのようなことが可能になるのでしょうか。
MetaTrader 5を使用してPythonでカスタム通貨ペアパターンを見つける
外国為替市場には繰り返しパターンや規則性が存在するのでしょうか。私は、PythonとMetaTrader 5を使って独自のパターン分析システムを構築することに決めました。これは、外国為替市場を攻略するための、数学とプログラミングの一種の融合です。
MetaTrader 5を使用したPythonの高頻度裁定取引システム
この記事では、ブローカーの観点から見て合法であり、外国為替市場において数千もの合成価格を生成・分析し、利益を上げるために取引をおこなう裁定取引システムの構築方法について解説します。
雲モデル最適化(ACMO):実践編
この記事では、ACMO(Atmospheric Cloud Model Optimization:雲モデル最適化)アルゴリズムの実装について、さらに詳しく掘り下げていきます。特に、低気圧領域への雲の移動および水滴の初期化と雲間での分布を含む降雨シミュレーションという2つの重要な側面に焦点を当てます。また、雲の状態を管理し、環境との相互作用を適切に保つために重要な役割を果たす他の手法についても紹介します。
リプレイシステムの開発(第67回):コントロールインジケーターの改良
この記事では、コードを少し手直しすることで、どのような改善が得られるかを見ていきます。今回の改良は、コードの簡素化を図り、MQL5ライブラリの呼び出しをより活用し、そして何よりも、将来的に開発する可能性のある他のプロジェクトでも、より安定して安全かつ使いやすくなることを目的としています。
リプレイシステムの開発(第66回)サービスの再生(VII)
この記事では、チャート上に新しいバーがいつ表示されるかを判断するための、最初のソリューションを実装します。このソリューションは、さまざまな状況に応用可能です。その仕組みを理解することで、いくつかの重要なポイントを把握する助けとなるでしょう。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
雲モデル最適化(ACMO):理論
この記事は、最適化問題を解決するために雲の挙動をシミュレートするメタヒューリスティックな雲モデル最適化(ACMO: Atmosphere Clouds Model Optimization)アルゴリズムについて解説します。このアルゴリズムは、雲の生成、移動、拡散といった自然現象の原理を用いて、解空間内の「気象条件」に適応します。この記事では、ACMOの気象的なシミュレーションが、複雑な可能性空間の中でどのようにして最適解を導き出すかを明らかにし、「空」の準備、雲の生成、雲の移動、そして雨の集約といった各ステップを詳しく説明します。
リプレイシステムの開発(第65回)サービスの再生(VI)
この記事では、リプレイ/シミュレーションアプリケーションと併用する際に発生するマウスポインタの問題について、その実装と解決方法を解説します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
リスク管理への定量的なアプローチ:PythonとMetaTrader 5を使用してVaRモデルを適用し、多通貨ポートフォリオを最適化する
この記事では、複数通貨ポートフォリオの最適化におけるバリュー・アット・リスク(VaR: Value at Risk)モデルの可能性について探ります。PythonのパワーとMetaTrader 5の機能を活用し、効率的な資本配分とポジション管理のためにVaR分析をどのように実装するかを紹介します。理論的な基礎から実践的な実装まで、アルゴリズム取引における最も堅牢なリスク計算手法の一つであるVaRの応用に関するあらゆる側面を取り上げています。
PythonとMQL5における局所的特徴量選択の適用
この記事では、Narges Armanfardらの論文「Local Feature Selection for Data Classification」で提案された特徴量選択アルゴリズムを紹介します。このアルゴリズムはPythonで実装されており、MetaTrader 5アプリケーションに統合可能なバイナリ分類モデルの構築に使用されます。
リプレイシステムの開発(第64回):サービスの再生(V)
この記事では、コード内の2つのエラーを修正する方法について説明します。ただし、初心者プログラマーの皆さんに、物事が必ずしも期待どおりに進むとは限らないことを理解してもらえるよう、できるだけわかりやすく解説したいと思います。いずれにせよ、これは学びの機会です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。ここで紹介する内容は教育目的のみに限定されており、提示された概念を探求すること以外の目的でこのアプリケーションを最終的な文書と見なすべきではありません。
リプレイシステムの開発(第63回):サービスの再生(IV)
この記事では、1分足のティックシミュレーションに関する問題を最終的に解決し、実際のティックと共存できるようにします。これにより、将来的なトラブルを回避することが可能になります。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。