8月1日の寄付
2012年8月1日米国東部時間午前9時30分、ニューヨーク証券取引所の寄付の鐘はいつもどおりに鳴りました。数秒のうちに、コンソリデーテッド・テープにはNYSE上場の取引が活発な154銘柄への注文が流れ始め、1分も経たないうちにそれらの注文は奇妙な動きを示し始めました。コンソリデーテッド・テープと、指定マーケットメイカーのブースで作業するスペシャリストの画面上で、同じパターンが該当銘柄で繰り返されました — 買い気配が消化され、売り気配が叩かれ、ほぼ瞬時にもう一段高い水準に別の買い気配が現れ、また次が、また次が現れるというパターンです。これらの注文は単一のブローカー・ディーラー識別コード、NITE から発信されていました。米国最大の個人向け株式マーケットメイカーであるナイト・キャピタル・アメリカズの銘柄コードです。
2012年8月1日朝のナイトは、米国上場株式の個人向け注文フローのおよそ15から17パーセントをルーティングしていました。TDアメリトレード、スコットトレード、E*TRADE、そして大半の地方のディスカウント・ブローカーの裏で動くホールセール取引相手でした。SMARS — Smart Market Access Routing System — は、親注文をどこに置くか、どの子注文を発射するか、部分約定が返ってきたときにどう振る舞うかを決定する本番のパイプラインでした。SMARS はニュージャージーのナイトのデータセンターにある8台の本番サーバー上にホストされていました。8月1日朝、そのうち7台は前週リリースされた、NYSEの新しいリテール流動性プログラムを支えるためのデプロイメントを実行していました。残る1台はそうではありませんでした (US Securities and Exchange Commission, 2013)。
その朝のナイト・キャピタル・グループ株の値動きは、技術的失敗のほぼ純粋な記録です。他に株価を動かすものは何もありませんでした。会社はその日の取引を約10.33ドルで始め、その日を約6.94ドルで終え、ゴールドマン・サックスへのポジション解消が帳簿に反映され事前開示された翌日を約2.58ドルで終えました。8月末までに株価は救済資金の希薄化を織り込み、2.50ドル未満で安定しました。その値動きの形状は、どの社内メモよりも、市場が水曜日の朝の45分間に起きた出来事をどう評価したかを示しています。
パワー・ペグとフラグビットの静かな用途変更
直接の技術的原因は、2003年以降本番環境で使用されていなかったソフトウェア・ルーチンに由来する名前で呼ばれました。その名前はパワー・ペグ(Power Peg)です。ドットコム崩壊の直後に書かれた当初のパワー・ペグの機能は、親注文に参加することでした — 一連の子注文を、注文の他の子の価格と連動して動く価格で市場に「ペグ(peg)」し、ルーティング・ロジックの管理されたテストとして自己に対して約定を生成するというものでした。パワー・ペグには2つの際立った特徴がありました。第一に、設計上このルーチンは累積完了数量を無視しました。約定して戻ってきた子注文は、親の残り目標数量を減らしませんでした。第二に、パワー・ペグは注文構成内の単一のフラグビットによってゲートされており、当初は社内文書でテストハーネス用の「累積数量フラグ(cumulative quantity flag)」と表記されたパラメータの値でした (Patterson, 2012)。
2003年に該当するフラグは実取引から退役しました。しかしパワー・ペグのコードは削除されませんでした。SMARS のコードベース内に休眠中のテスト用足場として残されました。2005年にそのフラグビットは用途変更されました。新しい機能 — 「RLPRetail」ルーティング・オプション — が同じフラグ値に割り当てられたのは、パワー・ペグが二度と呼び出されることはなく、基底の足場は剪定されているという前提に基づいていました。このようなフラグビットの用途変更は、火曜午後の納期圧力下では合理的に見え、7年後の水曜朝には致命的に見える判断です。
2012年7月下旬、ナイトは8月1日に本稼働予定だったNYSEのリテール流動性プログラムを処理するためのSMARS のリリースを準備しました。RLPは小さな市場構造の革新でした — リテール表示の注文がNYSEの場外ホールセール・マーケットメイカーだけでなくNYSE内部のサブペニーの価格改善と相互作用することを許可しました — しかしナイトはSMARS のルーティング・テーブルと注文タグ付けロジックを更新する必要がありました。リリースは、シニア技術者が水曜日7月25日から火曜日7月31日までに8台のSMARS サーバーすべてに手動でインストールするための単一のデプロイメントにまとめられました。デプロイメント後の自動検証はありませんでした。ホストごとのインストールに2人目のエンジニアの承認は必要ありませんでした。リリースノートは、新コードが累積数量フラグの解釈方法を変更することにより、パワー・ペグがまだ存在する場合にそれを目覚めさせるという事実を別途明記していませんでした。
45分間
下の表の時系列の詳細は、2013年のSEC によるナイト・キャピタル・アメリカズに対する和解命令、FINRA の調査ファイル、および2012年下半期にブローカー・ディーラーの技術コミュニティに出回った事後検証の記述から再構築しています。時刻は2012年8月1日の米国東部夏時間です。
| 時刻 | 出来事 | 累計損失推定 |
|---|---|---|
| 04:30 | 寄付前:ナイトの技術者が本番環境で新しいRLPルーティングコードを有効化。8台目のSMARS サーバーは未更新で2003年のパワー・ペグ・ルーチンを保持 | — |
| 09:30:00 | 市場開始。SMARS がRLP適格NYSE 154銘柄のライブ親注文の受信を開始。7台のサーバーは正常に処理。8台目は用途変更されたフラグを休眠中のパワー・ペグ・ルーチンへの合図として解釈 | $0 |
| 09:31 | 8台目のサーバーが残り数量を減らさずにメモリ上の親に対して子注文を発射開始。該当銘柄の出来高が急増。コンソリデーテッド・テープに毎秒約8,000件の注文が流入開始 | 約1,000万ドル |
| 09:34 | 社内のP&L 画面が Wizzard Software(WZE)、Reaktor(RKR)、その他の中型工業株で異常に積み上がるロング・ポジションを表示。トレーディング・デスクの担当者がオペレーション・コントロール・センターへエスカレーション | 約3,000万ドル |
| 09:45 | シニア・リスク・マネジメントへの最初の確認済みエスカレーション。エンジニアが状況の確認を開始するが、どのSMARS サーバーが発信源か特定不能 | 約1.1億ドル |
| 09:48 | NYSE-LIFFE のスペシャリストがナイトに電話し、注文フローが意図的なものか確認。市場構造チームが取引所にレートリミットを要請するが運用上のハンドシェイクを完了できず | 約1.35億ドル |
| 09:55 | ナイトのエンジニアリングが是正を試行:新しいRLPコードを8台目のサーバーに再デプロイしてパワー・ペグを上書き。一貫性維持を目的としたデプロイメント・スクリプトが、逆にバグのある状態を他の7台に伝播させ問題を拡大 | 約1.8億ドル |
| 10:00 | 注文フローが最高速度で継続。NYSEがナイトの幹部に電話し対応を要求。リスク担当者がSMARS の市場データ購読の手動停止を要請開始 | 約2.6億ドル |
| 10:10 | ナイトはSMARS への市場データの停止を手動で決定。気配更新がなくなることでルーティング・エンジンが古い気配に対して新規注文を発射するのを停止 | 約3.65億ドル |
| 10:15 | 最後の子注文が完了。SMARSがオフライン化。ポジション台帳は80銘柄で約35億ドルのロング、74銘柄で31.5億ドルのショート、合計でおよそ70億ドルの想定元本ベースの意図しないエクスポージャーを、約400万件の約定で抱える | 実現約4.15億ドル + オープン評価 |
45分間でナイトは、マーケットメイキングの帳簿を持たないマーケットメイカーになっていました — 取引はビッド・オファーの捕捉ではなく、マッチしない積み上げでした。翌日にゴールドマン・サックスが全ポジションを解消したときに実現した損失は、税引前で約4億4,000万ドルでした (Patterson, 2012; Lewis, 2014)。
その後の全ての説明によれば、その時間帯のナイト社内の経験は明晰な危機管理ではありませんでした。ジャージー・シティのトレーディング・フロアは騒がしく、ますます混乱していきました。そのフロアにいたあるナイトの幹部は後に ウォール・ストリート・ジャーナル に対して、SMARS チームの最初の直感は自分たちが攻撃を受けているというものだった — サービス拒否攻撃か悪意ある注文注入だ — と語り、バグを伝播させた再デプロイメントは、8台目のサーバーのパワー・ペグ・ルーチンが発信源だと誰もまだ理解していない状態で行われました。後始末が傷をさらに広げました。
取引相手はゴールドマン・サックスでした
8月1日の取引終了時点でナイトは、絶対値でおよそ70億ドル相当のポジション台帳を抱えており、時価評価損は既に数億ドル後半に達していました。同社の規制資本 — SEC とFINRA の純資本規則に基づく — は約3億6,500万ドルでした。ナイトは書類上、そしておそらく実態としても、そのセッションの終了前に支払不能でした。強制的な規制によるワインドダウンから同社を守っていた唯一のものは、少数の幹部の外側ではポジションの全容を誰も知らなかったという事実でした。膝の手術から回復中だったコネチカットの自宅で、ナイトのCEOであるトーマス・ジョイス(Thomas Joyce)は午前11時頃に電話でその規模を伝えられました。彼はその日の午後にジャージー・シティへ戻りました (Patterson, 2012)。
ジョイスの最初の電話は、規制当局でも救済資金提供者でもなく、ゴールドマン・サックスの株式デスクへのものでした。ゴールドマンは数時間以内に、合意したヘアカットで翌朝にナイトの台帳から全ポジションを引き取ることに同意しました。その取り決めは、ナイトを断片化した取引会場での強制清算から救いました — 事件で既に乱れていた154銘柄での清算は、ゴールドマンが受け入れた水準を大きく下回る約定を生んでいたでしょう。4億4,000万ドルの実現損失は、ゴールドマンが課したヘアカットを反映しています。その単一の取引相手の取り決めがなければ、8月2日に報告された損失額は実質的にもっと大きく、ナイトは公の規制不全の状態で2回目の取引セッションに入っていたでしょう。

SECがちょうど書き上げたばかりの規則
ナイトの失敗は、SECが2010年に最終確定し、2011年にようやく完全に発効し、2012年にかけて段階的に施行された規則に違反しました。規則15c3-5 — 市場アクセス規則(Market Access Rule) — は、取引所または代替取引システムへのアクセスを提供するすべてのブローカー・ディーラーに対し、当該アクセスの財務的、規制上、運用上のリスクを管理するのに十分な取引前リスク管理および監督手続きを維持することを求めるものでした。この規則は誤発注に対する管理を明示的に想定していました。これは2010年5月のフラッシュ・クラッシュへの直接的な対応として書かれており、フラッシュ・クラッシュの記述で追跡した構造改革の規制面での対をなすものでした。ナイトのデプロイメント体制 — 手動で、文書化されておらず、自動検証も2人目の署名もないもの — はその基準を満たしていませんでした (US Securities and Exchange Commission, 2013)。
2013年10月16日のSEC の執行命令、リリース番号70694は、規則15c3-5に基づき提起された初めての措置でした。同命令は、ナイトがソフトウェア・デプロイメントを案内する書面手続きを欠き、本番に近い環境で新しいRLPコードの十分なテストを行わず、コンソリデーテッド・テープに到達する前に誤発注を検知する自動プロセスを持たず、アルゴリズムが異常な動作を示したときにエンジニアリング職員がシニア・リスク・マネジメントに関与するための文書化されたエスカレーション手続きを持っていなかったため、規則に違反したと認定しました。当時KCG ホールディングスとして運営していたナイトは、認定事実を認めも否定もせずに1,200万ドルの制裁金を支払いました。命令は短く — 13ページ — ですが、十分な取引前リスク管理の枠組みが含むべき内容の分類について異例なほど直接的です (US Securities and Exchange Commission, 2013)。
同年公表された自動化取引に関するCFTC-SEC の別途の共同諮問は、その教訓を資産クラスや取引会場をまたいで一般化しました。変更管理、ソースコードのバージョン管理、デプロイメント承認、自動化された本番環境検証、そして不調の兆候で送信注文フローを停止できる「キル・スイッチ」の設計とテストに関する期待を設定しました (CFTC-SEC Joint Advisory Committee, 2013)。この諮問は規則としての効力は持ちませんでしたが、その後FINRA の検査チームがブローカー・ディーラーのテクノロジー・ガバナンスを評価する際の基準となりました。
15億ドルの会社を週末で再資本化した方法
2012年8月2日の取引終了までに、ナイトの株は事件前の価値の約75パーセントを失っていました。時価総額は2セッションでおよそ15億ドルから約2億9,000万ドルに下落しました。4億4,000万ドルの実現損失額は規制資本より大きくなっていました。再資本化なしでは、ナイトは数日以内にクリアリング・ハウスのマージン・コールに応じられなくなる状況でした。8月3日の朝から週末を通じて、戦略的投資家と競合各社のコンソーシアムが緊急の資本調達を交渉しました (Lewis, 2014)。
取引は2012年8月6日にクローズしました。ナイトは、ジェフリーズ、ブラックストーン、ゲトコ、スティフェル、TDアメリトレード、およびスティーブンス・インクの小口参加で構成されるグループに、4億ドルの転換優先株を発行しました。転換条件は既存株主を約73パーセント希薄化させました。新たな転換株保有者は取締役会の代表権と支配への明確な道筋を有しました。シカゴ拠点の高頻度取引会社で、ホールセール・マーケットメイキングにおいてナイトの競合でもあったゲトコの投資は、戦略的に最も意味の重いものでした。3か月以内にゲトコはナイトとの合併を発表し、2013年7月に完了してKCG ホールディングスが誕生しました。KCG は2017年4月まで運営され、同じくHFT 出身のヴァーチュ・フィナンシャルが14億ドルの現金でKCG を買収し、2012年8月1日のデプロイメントが動かした企業の弧が完結しました。
業界がその後に築いたもの
手続き上の教訓は急速に広がりました。ナイト事件から12か月以内に、主要なブローカー・ディーラー各社はソフトウェア・リリース・プロセスを再構築しました。デプロイ前の自動検証 — 全ての本番ホストの実行構成を期待されるマニフェストと比較する点検 — が標準となりました。多くのブローカー・ディーラーは、単一のトリガーでFIX エンジン・レベルで送信注文フローを停止できる、文書化されたキル・スイッチ手続きを確立し、四半期ごとに監査するようにしました。複数の会社が、2人目のエンジニアの署名なしには単一の技術者が本番にコードをロールアウトできないようにデプロイメント権限を分離しました。これは、決済バックオフィスで長らく要求されてきたが、それまでフロントオフィス・エンジニアリングでは部分的に欠けていたフォーアイズ原則を反映する取り決めです。
取引所は会員企業レベルの誤発注管理を追加し、2010年のフラッシュ・クラッシュの余波で構築された証券ごとのリミットアップ・リミットダウンの枠組みを補完しました。FINRA は、アルゴリズム取引システムの設計、本番コードのインベントリ維持、アルゴリズム開発ライフサイクルの年次独立レビューの要件、そして本番コードへの変更を正式な監督事象として文書化することを扱う技術監督ガイダンスを公表しました。監査人はブローカー・ディーラーの財務および運用検査にコード・デプロイメント・ガバナンスを含めるようになりました。
会社間の対応は不均一でした。2014年のSEC 検査官のスタッフ・レビューは、検査されたブローカー・ディーラーのうちおそらく60パーセントが規則と整合する文書化されたリリース手続きを実装していたことを示しました。電子マーケットメイキングを積極的に行うホールセール会社は曲線の先を行き、大きな高頻度取引のエクスポージャーを持たない機関ブローカレッジは後れを取りました。ナイトの一件が触媒となった監督アーキテクチャは引き続き洗練されており、ナイトの余波を貫いた政策の幾筋かは、LIBORスキャンダル、ベアリングス銀行の崩壊、そしてより広い運用リスクの教訓を持つ2008年金融危機の構造的な叙述にも姿を現します。
市場構造の診断としての45分
ナイト・キャピタルの事件を読み解く最も示唆的な方法は、Reg-NMS 以後の米国株式市場に意図せず実施されたストレステストとして見ることです。そのテストの結果は重いものでした。コンソリデーテッド・テープは400万件の意図しない注文を運用上の障害なく吸収しました。取引所のマッチング・エンジンはクラッシュしませんでした。クリアリング・インフラはすべての取引を清算しました。決済プロセスはT+3で異議なく完了しました。市場構造は会場およびインフラの層では堅牢であり、それは同じ年の別の朝であれば安心材料として読まれたかもしれない形でした。
その構造が吸収しなかったのは、単一の会員会社の注文生成ロジックの失敗です。アーキテクチャは、市場アクセス提供者が自らが意図しない注文を送らない責任を負うという前提の上に構築されていました。単一の会社でその前提が崩れると、残りのアーキテクチャは、そこから生じた注文を約定に至る前に捕まえる固有の仕組みを持ちませんでした。取引所はNITE 注文を見て、買い気配・売り気配の規則に照らして検証し、マッチングしました。暴走するアルゴリズムを検知できるブローカー・ディーラーとマッチング・エンジンの間の第2のフィルターは存在しませんでした — ブローカー・ディーラー自身の取引前管理のみであり、ナイトはそれを維持できませんでした。そのギャップが構造的な教訓であり、それが規則15c3-5 が閉じるよう設計されたギャップでした。
タイミングには小さな皮肉があります。ナイトの事件の45分間は、SEC の市場アクセス規則が対処するために書かれた2010年5月のフラッシュ・クラッシュの所要時間とほぼ正確に一致していました。その規則は2012年8月1日の朝には施行されていました。ナイトはまだそれに準拠していませんでした。
トーマス・ジョイスは8月3日に ウォール・ストリート・ジャーナル に公式に説明を行いました。「ソフトウェアの問題の結果として比較的大きな損失を出しました」と彼は語りました。彼はパワー・ペグを名指ししませんでした。彼は決して名指ししなかったのです。会社のその後の届出は、その事件を「NYSE 上場銘柄に対する特定の注文ルーティングに影響を与えた技術的問題」と表現しました。この表現は運用上の事実を捉えるものの、ルーチンを名指しはしません。2013年のSEC 命令は、2003年から、8年後に誰かが正しいフラグビットを反転させるのを待っていた休眠コードを名前で特定した最初の公開文書です。
Historical records 私たちの方法論について.