NTT DATA

DATA INSIGHT

NTTデータの「知見」と「先見」を社会へ届けるメディア

絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トピックで探す
background-image-careers
2014年3月27日技術ブログ

アルゴリズムトレードの基礎技術

アルゴリズム・トレードの技術は、近年のコンピューターの高性能化・低価格化に伴って、急速に普及し、発展しています。今回はアルゴリズム・トレードシステム構築における共通的な基礎技術について解説します。

データ分析とモデリング

アルゴリズム・トレードの多くは、その取引市場の何らかの統計的な特徴を利用しています。そのため、システムの構築は、まず過去の取引データの統計分析から始まります。

分析の手法に画一的なものはなく、市場の特性や取引の目的、入手可能なデータなどによって、適切な分析アプローチを選ぶ必要があります。一般的な統計モデリングや時系列解析のほか、最近では機械学習の手法もよく使用されます。

取引データの分析で得られた結果を受けて、適切な取引戦略をモデル化して、取引アルゴリズムを設計します。アルゴリズムを複雑なものにすれば取引戦略の表現力は上がりますが、後述する過学習が発生しやすくなります。取引アルゴリズムは、本質をできるだけシンプルに定式化した堅牢なモデルであることが求められます。

最適化

作成した取引アルゴリズムのパラメーターを最適化します。最適化には過去の取引データの一部を学習期間として使用します。

一般的な最適化の手法としては、例えば数理計画法などが知られています参考1。しかし取引アルゴリズムの場合は、評価関数が解析的な関数にはならず、一般的な最適化手法が使えないことがほとんどです。

そのため、取引アルゴリズムの最適化には発見的な探索法がよく使われます。NTTデータ・フィナンシャル・ソリューションズ(以下、当社)では主に遺伝的アルゴリズムを用いています。遺伝的アルゴリズムによるパラメーター探索では、厳密な最適解が発見できる保証はありませんが、「現実的に妥当な解」を比較的少ない計算量で発見することができます。

評価

取引アルゴリズムを学習期間にて最適化した後は、学習期間の外で動作させて、その成績を検証します。これをウォークフォワード分析と言います。ウォークフォワード分析の成績が想定の許容範囲を外れるときは、最適化がオーバーフィッティング(過学習)したと考えられ(図1)、パラメーターもしくはアルゴリズムの見直しが必要です。

【図】

図1:オーバーフィッティング(過学習)のイメージ
複雑なモデルの方が学習期間の成績を良くすることができるが、学習期間外で不安定になりやすい

ウォークフォワード分析の成績が想定外に悪い場合はもちろんですが、想定外に良い場合も、見直しが必要です。そのようなアルゴリズムは設計者の意図した通りには機能しておらず、したがってリスクが管理できないためです。取引アルゴリズムは単なる過去データへのフィッティングではなく、理論と検証に基づいたリスク管理能力を持つことが非常に重要です。

1例として、当社が開発した取引アルゴリズムを紹介します(図2)参考2

【図】

図2:FX(外国為替証拠金取引)システム向けに導入した取引アルゴリズム

FXディーリングシステムは、ユーザーからの売買注文(図中左)を受けて、為替の銀行間取引市場(図中右)にカバー取引するシステムです。そこに当社が開発したアルゴリズムを導入しました。お客様からの売買注文量を統計的に予測して、市場リスクを抑えつつ収益期待値が大きくなるようなポジションを判断し、システムに売買指示を出しています。

お問い合わせ