2010年5月30日日曜日

証券のアナパタ

証券の仕事をする事になりそうなので、ちょっと準備。

以下、アナリシス・パターンから関連するものを抜粋。

Contract 取引契約 (9.1)
単純な Contract モデルから、ロング/ショートの扱いに着目したいくつかのバリエーションまで解説

Portfolio ポートフォリオ (9.2)
Contract の集合としての最も単純な Portfolio モデルから始めて、Contract Selector、Portfolio Filter を用いた発展型まで解説

Quote 呼び値 (9.3)
bid と offer の二つの属性からなる Quote について解説

Scenario シナリオ (9.4)
Quote に Timepoint を関連付けた原始的なモデルから始めて、ある時点の Quote の集合を表す Scenario モデルの単純な版を経て、Sourcing や Fomula まで含めた発展形のモデルまで解説

Forward Contracts 先物取引 (10.1)
Contract に Tenor を付加したモデルで先物取引を表現

Options オプション取引 (10.2)
Contract のサブタイプとしての Option モデル。Long/Short、Call/Putの扱い方など。

Product 加工商品 (10.3)
Options の合成を、Straddleを例にして解説


その他、以下のような関連箇所もある。
  • 「Subtype State Machines(10.4)」では、デリバティブの動的な面を、ステートマシンを用いて解説している。
  • 「Parallel Application and Domain Hierarchies(10.5)」では、アーキテクチャ面について、Layerd Structure に関連づけて説明。
  • また11章では、パッケージ分けしたドメインモデル(DDDで言うモジュール)を扱うための各種技法を紹介。


アナリシス・パターンを最初に読んだのは2000年頃なのでもう10年も前になる。ある程度証券の知識を得た今読み返すと、当初感じた難解さがそれほど感じられない。

最近 Domain-Driven Development(DDD)についても調べているけど、Layered Architecture などを中心にアナパタからの影響が多くみられる。ただし DDD はドメインモデルのパターンではなく、モデルを抽出する過程に着目したプラクティスという性質がむしろ大きい。

設計のパターンの場合は、ある課題の解としてパターンを「適用する」というか「当てはめる」といったような使い方になるけど、アナパタはモデリングの出発点・たたき台として使うのが良いのだと思う。