数値解析ソフト「MATLAB」を手掛けるMathWorks Japanは7月6日、海外の金融業界でのMATLAB事例を紹介するプライベートセミナー「Computational Finance Conference 2016」を東京で開催した。背景には、アルゴリズム取引や機械学習によるモデル生成の自動化など、金融業界において数値解析の需要が高まっているという状況がある。
MATLABは、金融業や製造業を中心とした各業界で使われている数値解析ソフトだ。M言語と呼ぶ、数値解析に特化したインタプリタ型(対話型)の言語を実行できる。統合開発環境(IDE)であり、MATLABの画面上での開発と実行に加えて、開発した数値解析アプリケーションを実行形式ファイルなどの形で配布して実行することも可能だ。
MATLABの画面例。数値解析モデルを素早く開発できるとしている
解析対象データを取り込むためのデータベース接続機構や、各種の数値解析ライブラリ、データを可視化する機能などの周辺ツール群も多数揃えている。数値モデルの生成を自動化する機械学習用のライブラリもある。全85製品で構成しており、業界やユーザーごとに必要なツールを組み合わせて利用できる。
解析データの取り込みや、開発したアプリケーションの配布、各種の数値解析ライブラリなどを取り揃える。MATLABは全85製品で構成する
MATLAB上では基本的に、M言語を記述することによって、数値モデルや数値解析アプリケーションを開発する。機械学習を用いたモデルの自動生成といったケースでは、マウスによるGUI操作によっても、M言語のソースコードを自動生成できる。生成したコードの編集も可能だ。
機械学習で成果を上げた事例が、英国のAberdeen Asset Managementだ。教師あり学習(Supervised Learning)のやり方で株売買のタイミングのパターンを学習させてモデルを生成した。導入効果として、40兆円の取引のうち1%(4000億円)の改善が見られたという。
Excelよりも高速に動作、GPUやクラスタによる並列処理も可能
米MathWorks、金融業界担当マネージャー、Dan Owen博士
「M言語は数値解析を高速に実行できる」と、米MathWorksで金融業界担当マネージャーを務めるDan Owen博士はアピールする。インタープリタ言語だが、ジャストインタイムコンパイラを備えており、コンパイル済みのバイナリコードを実行できる。
金融の現場では、Excel/VBAが数値解析に使われているケースが多い。MATLABは、Excel/VBAよりも高速に実行できる。比較のために同社が作ったモンテカルロシミュレーションのサンプルアプリケーションでは、10万回計算させた場合、MATLABはExcel/VBAの96倍高速に処理できた。
MATLAB上での数値解析や、配布したアプリケーションの実行に際しては、並列処理によって高速化を図ることも可能だ。米NVIDIAのGPU(Graphics Processing Unit)を使って高速化できるほか、PCクラスタを組んで分散処理させることができる。先述した英国のAberdeen Asset Managementも、Microsoft Azure上で並列処理させることで、24時間かかっていた処理を3時間に短縮している。