その言語はMLFi(Modeling Language for Finance)。デリバティブなど複雑な金融商品を記述するためのプログラミング言語です。開発元のLexiFi社のページによると,Camlを拡張した関数型言語だそうです。
LexiFi: Structured Product Pricing and Processing
日本語の解説は以下の文書が分かりやすいです。
関数型言語による金融アプリケーション(PDFファイル)
この文書によるとMLFiは金融商品を簡潔に書くために作られたものらしいです。デリバティブのような複雑な金融商品は仕様書(目論見書?)も煩雑になりがちだけど,関数型言語を使えば幾つかの部品の組み合わせで表現できますよー,ということをMLFiの開発者たちは考えて実践したそうです。
実際,15個のコンビネータを定義してそれを組み合わせることで取り扱ってたデリバティブ商品はすべて書くことが出来たそうです(上記文書参照)。
MLFiはプログラミング言語なので,コンパイラによって意味的なチェックも出来ます。具体的にどう便利なのかは良く分からないけど,開発段階では金融商品の「バグ」も検出しやすくなるんでしょうか。
しっかし関数型言語って汎用性が高いっすねー。MLFiはLexiFi社の商品なので無料で試すことは出来ないけど,自分でも何かの金融商品を書いてみたいな。
もしMLFiのフリー版が出来たら,オープンソースで開発される金融商品も出てくるんじゃないでしょうか? 金融商品の開発って言ったら,バリバリに数学を使いこなす金融工学の専門家がやってるイメージだけど,オープンソース化されたらコードを読むことでノウハウが共有されて面白い金融商品もいっぱい出てくるかもしれない。
プログラマーが家を買うときは,住宅ローンを自分でプログラミングして銀行にホストしてもらったりしたら面白いな。さらにそれを銀行が別のお客さんに売ったら開発者にも収益が入るようにしたりして。
さらに詳しい情報はLexiFiサイトの以下のページが良いと思います。いろいろ文書がそろってます。
LexiFi: Resources
- Describing, Manipulating and Pricing Financial Contracts: The MLFi Language.(PDF) MLFiのプレゼン資料でコードの実例を挙げて説明しています。ただ自分は金融工学を良く知らないので難しいっす。"Contract Management Theory(契約管理理論?)"って何?
- The Risk Awards 2001 - Software Product of the Year - MLFi(PDF) Risk Magazineという雑誌の賞を受賞したときの記事で,MLFiが開発された経緯とかが書いてあります。あと開発者のJean-Marc Eberさんの顔写真あり(ナイスガイ)。
- Composing Contracts: An Adventure in Financial Engineering.(PDF) 関数型言語関係の雑誌へ出した論文? 15個のコンビネータについてHaskellで解説しています。この時点ではHaskellだけど,いつの間にかベース言語がCamlに替わった模様。開発者のEberさんがフランス人だからCaml贔屓なのかなぁ。
あんまり関係ないけど記念リンク。祝・伊藤博士!
ガウス賞:伊藤清京大名誉教授が受賞 金融工学確立を評価-話題:MSN毎日インタラクティブ
【追記:2011.03.04】
isologue - by 磯崎哲也事務所: オープンな法体系(SF小説風)
面白い思考実験
0 件のコメント:
コメントを投稿