後知恵を先知恵にする「ジェイコム株誤発注事件」
「言ったよね、ちゃんと確認しないとダメって」
トラブルが起きると、ドヤ顔で口撃してくる人がいる。原因が判明した後になって、「なぜ、その原因を前もって潰しておかなかったのか」と詰めてくる。
全てが分かった「後」なら、リスクを減らす方法も、トラブルを回避する方法も思いつく。だが、トラブルが起きる「前」に、その原因を知るのは難しい。
それにもかかわらず、後から得た「答え」でもって、当時の判断を責める。これを「後知恵」「事後孔明」という。
そういう口撃には、「ごめんなさい、予知能力がなくて」と返している。皮肉が理解できない人には、噛み砕いて「どこを確認しておくかを、後ではなく、予め知ってたら良かったですね」なんて説明する。
事象を原因と結果でつなぎ、因果によって説明しようとする限り、後知恵の罠から逃れることができないのかもしれぬ。
では、トラブルが起きた後になって、「こうしておけば良かった」と責任を問うのは、全て後知恵なのだろうか。
ジェイコム株誤発注事件の判決の核心は、まさにここだ。
異例中の異例の判決で、裁判官自身が、後知恵の罠について戒めているからだ。後からだったら何でも言える。だが、後から責任を問うとき、その判断となるものは何になるか。
事実として、確かに売買システムにバグがあった。だが裁判所は、後から判明したことから開発時の責任を問うことに慎重だった。一方で、目の前で膨らんでいく異常な数字を見ながら売買を止めなかったことには、重い責任を認めた。
同じ事件の中で、一方は「後から判明したことを使っている」として退けられ、もう一方は、同じく後から引かれた線でありながら、責任判断の根拠になった。
その違いはどこにあるのか。
■3行まとめ
3行でまとめる。
- 新規上場株で、1株61万円で売るはずが、1円で61万株で発注してしまった
- すぐ取消したがバグにより取消せず、出続ける異常値を知りながら取引所は売買を止めなかった
- 判決はバグについては重過失を否定して免責を認める一方、「午前9時35分00秒までに売買を止めなかった」ことを重過失として、約107億円の賠償を命じた
これ、バグに限らず、オペミス、デグレ、思考停止、イレギュラーな対応等が幾重にも絡み合い、「どうしてこうなった」としか言いようがない異様な事件だ。
十数分たらずの間に起きたことを、分秒刻みで整理する。アルファベットは取引所の株式総務グループの担当者。
9:27:56 |
証券会社の従業員が「1円・61万株」の売り注文を発注。端末の警告表示を認識したうえで、意味を確認せずEnterキーを2回押下 |
9:28ころ |
取引所が異常を検知。銘柄の異常注文抽出基準5000単位を超えていた |
9:29:21 |
証券会社が取消注文を入力 |
9:29:26 |
システムが「全数量約定済」と「内出来数量1822株」という論理的に矛盾する電文を発信 |
9:30ころ |
株式総務グループ4名が板画面を確認。発行済株式数1万4500株と公募株数を把握。E(リーダー)は「誤発注であればすぐに取り消される」と考えていた |
(この間) |
Mが「売買停止を考えざるを得ないのではないか」と発言。他のメンバーが「売買停止して他の市場参加者から取引の機会を奪うのはどうか」と応じる |
9:32〜33ころ |
Eが会議を中座して板を確認。経過を1分程度で聞き、「売買停止をするほかないとの考えに傾いた」 |
9:33:17〜9:35:40 |
証券会社が取消注文5回・変更注文2回を入力。いずれも実行されず |
9:33:25 |
約定株式数4万3535株。発行済株式数の3倍を超過 |
9:34ころ |
Mが「その場合に備えて」別室の売買監理グループへ向かう。Eも向かい、入口から人が集まっているのを確認したが、何らの依頼や発言もせずに戻る |
9:35:00 |
【裁判所認定:この時点までに売買停止が可能であった】 |
9:35:25 |
Kが「証券会社に状況確認をしたうえで要否を判断すべき」と考えて架電 |
9:36ころ |
証券会社が「取り消そうと思っても取消しが入らない状況」と伝える |
9:37:17まで |
証券会社自身の反対注文により、売り注文が板から消滅 |
9:37:25ころ |
Eが売買停止を通告しようと電話を代わるが、既に消滅を双方で確認。売買停止は最後まで実行されなかった |
■争点と裁判所の判断
証券会社の言い分としてはこうだ。
- 確かに「1円・61万株」というミスをしたが、システムのバグのせいで取り消しができなかった
- 取引所の権限で売買停止ができたはずだが、その体制が不備で時間がかかりすぎた
- バグの発見や修正も容易にできたはず
一方、取引所の主張はこうなる。
- 売買停止の影響は、市場全体になるため、簡単にはできない
- 制度やマニュアルに不備はなく、適切に対応した結果で、義務違反は無い
- バグの発見は容易ではない
対立構造をまとめると、こうなる。
- 「バグは見つけられたはず」vs.「発見は困難」
- 「すぐ売買停止にできたはず」vs.「軽々しく止めてはいけない」
先に「答え」すなわち判決をまとめる。
- バグについては債務不履行の責任があるが、「重過失」ではない
- 売買停止が遅れたことは「重過失」である
■なぜバグが「重過失」ではないのか
誤発注が取り消しできなかったのは、バグが原因だ。
バグ自体は、事件の5年以上前、2000年2月に、別件の不具合を直したときに作り込まれていた。
ある特殊な注文を取り消そうとすると、取消対象を見つけられず、処理が止まる不具合が発生していた。そこで、「すでに全て約定(売買が成立)している注文なら、検索せずに処理を終える」というルートが追加された。
だが、そのルートにバグがあった。「すでに全て約定している」かどうかの判断に、一時的に保存された情報を参照していたのだが、この参照先が消されてしまうと、まだ約定していない注文が残っていても、システムは「全数約定済み」と判断して、取消処理を終えてしまうのだ。
このバグは、テストを経てリリースされ、5年もの間、公になることはなかったが、「1円・61万株」の注文という、最悪のタイミングでもって取消不能を引き起こす。これは言い逃れのできない事実だ。
証券会社は、こうした取消不能を引き起こす条件で回帰テストや機能テストを行っていれば、容易に発見できたはずだと主張した。確かにその通りかもしれない。
だが、ここで契約が出てくる。「取引所に故意または重過失がある場合を除き賠償の責任を負わない」とある。いわゆる免責規定だ。だから争点は、「バグを作り込んだこと、5年間見つけられなかったことが重過失にあたるか」に絞られることになる。
裁判所は、バグが引き起こした重大性は認めつつも、「事故後なら再現条件を作れる」ことと、「事故前にその条件を思いつくのが容易だった」ことは別だとし、バグを重過失とはしなかった。
判決文としては珍しい一文がある。以下に引用する。
もっとも、現在においては本件バグの存在と本件不具合の発生条件が明らかになっているところ、その結果から本件バグの作込みの回避容易性等について議論する(いわゆる後知恵の)弊に陥ることがないように判断することが要請される。
■なぜ売買停止の遅れが「重過失」なのか
一方で、売買停止が遅れた……というか売買停止をしなかったことについては、重過失が認められた。
重過失というからには、重大な過失になる。
例えば、こんな感じ。
- 火災報知器が鳴り、煙と炎が見えた
- さらに、ビルの防災管理者も認識し、避難ルートもあった
- あとは、スイッチを押せば非常放送が流れ、避難誘導ができた
- だが、「もう少し様子を見よう」と何もしなかった
取引所にとって、売買停止せざるを得ない状況であることは、情報として伝わっていた。売買停止の規定や手順は存在しており、決裁者は出張中であるものの代行者が指名されていた。
|
ビル火災の場合 |
取引異常の場合 |
|
火災報知器が鳴り、煙と炎が見えた |
5000単位を超える異常注文を検知し、発行済株式数1万4500株や公募株数を確認した |
|
ビルの防災管理者も認識し、避難ルートもあった |
「市場の異常」や「システム障害」を理由とする売買停止の規定と手順があった |
|
スイッチを押せば非常放送が流れ、避難誘導ができた |
決裁後、売買監理グループ複数人の立会いの下、専用端末から止められる状態だった(1分程度) |
|
「もう少し様子を見よう」と何もしなかった |
「売買停止せざるを得ないのでは」という発言があったが、停止しなかった |
取引所の担当者は、何もしていなかったわけではない。証券会社への照会、売買停止の検討、停止操作に備えた人員の確認などを行っていた。
しかし、具体的に「売買を停止する」と決め、決裁を求めるところまでは進まなかった。裁判所が問題にしたのは、担当者が動かなかったことではなく、異常を止めるための行動を起動しなかったことである。
裁判所は、遅くとも9時33分30秒ごろには、市場で異常が発生していることを認識できたと判断した。そこから決裁→端末操作までに必要な約1分を考慮しても、9時35分には売買を停止できたとした。
しかし、証券会社自身が反対注文を出したことで、問題の売り注文は板から消滅した。取引所が売買停止を通告しようとしたときには、すでに停止対象となった異常注文は消えていたため、売買停止は実施されなかった。
裁判所が重過失としたのは、目の前で拡大していた異常を把握し、停止する権限と手順があり、短時間で実行できたにもかかわらず、遅くとも9時35分までに停止措置を講じなかったことである。
ここで、バグに対する判断との違いがはっきりする。
バグを「見つけられたはずだ」と言うためには、事故のあとで初めて分かったこと——バグの所在、失敗の機序、条件の重なり方——を使うしかない。そして使った瞬間、それは後知恵となる。
ところが売買停止のほうは、判断材料は全て当日にある。
「1円・61万株」という数量も、「発行済株式数1万4500株と公募数との差」が異常であることも、「約定した株式数が発行済株式数の3倍を超過」も、「停止に1分かかる」ことも、全て取引場に揃っていた。
裁判所は、当日その場所にあった情報だけで線を引いた。判決が、「板画面の情報から容易に認識することができた」といちいち断りを入れているのは、そのためである。
「9時35分00秒」という一線が、後から引かれたから、後知恵というわけではない。判決は必ず後から書かれるのだから。後知恵かどうかを決めるのは、その知恵の材料の日付になる。
■最悪のことが起きるなら、それは何か
以下は、私の考えとなる。
バグが顕在化して被害をもたらしたなら、それを見つける方法や、防ぐ対策は、容易に思いつくだろう。問題は、それが起きる前に見つけることだ。
今回のバグは、特殊な条件が何重にも重なった場合に顕在化するものだった。予知能力者でもない限り、見つけることは難しい。
だから、後知恵をそのまま判断基準にすることはできない。代わりに「後」から得られた情報の抽象度を上げて、教訓とする他ない。
ここでは、プレモーテム(事前検死)の手法が使える。
人の死の原因や状況を明らかにする「検死」は、あたりまえなのだが、人が死んだ「後」に行われるものだ。だが、「事前」とはどういう意味だろうか?
これはpost-mortem(検死)をもじった造語で、pre-mortem(事前検死)になる。プロジェクトが終わった後に振り返るのではなく、実施前に検証するのだ。
まだ始まってもいないのに、「プロジェクトは大失敗でした。なぜですか?」という問いを立て、失敗していないうちから失敗を想定して学ぼうとする手法である。メンバーは、プロジェクトに対し否定的だと受け止められることを恐れず、懸念していることをオープンに話し合うことができる。
「仕様変更が大量に出て、手戻りで品質が悪化するかも」とか、「コアメンバーの〇〇さんが休職して、プロジェクトが遅滞する」とか、縁起でもない話をする。荒唐無稽なやつから割と現実的なものまで出てくる。
もし上手くいかないことがあるとしたら、それはどんな理由だろう?
ヤバい順に考えてみよう
もちろん、それで全てが網羅されるわけではない。だが、少なくとも「何が最悪か」という観点で、できうる手立てを考えることはできる。現実的にできるかどうかは、その後に考えればいい。
2000年に対応した「特殊な注文を取り消そうとすると、処理が止まる不具合」の修正について、これを当てはめてみよう。
修正内容は、取り消しをするためのルートを設けることだから、ここで考えられる最悪のパターンは何か?という立ち位置で考える。だから、この試験観点のレビューをするときの良い質問はこうなる。
この修正が裏目に出るとしたら、最悪、何が起きますか?
裏目に出たときのパターンとしては、こんなものが集まってくるだろう。
- 取り消すべき注文を取り消せない
- 取り消してはいけない注文を取り消す
- 取消処理が停止し、後続処理を詰まらせる
- 取り消した結果の通知と実態が異なる
そして、「取り消すべき注文を取り消せない」というパターンが出たら、次に、
では、取消不能となるケースを、試験対象から外してもよいでしょうか?
この問いから、今回の状況まで思いつけたかは分からない。それでも、「元の不具合が直った」だけでレビューを終えず、修正が裏目に出る可能性を一度は吟味できる。
私たちに予知能力はない。だが、最悪の結末を仮定して、そこから現在へ逆算することはできる。
■平時に有事を考える
裁判所が引いた「9時35分00秒」という一線を、単なる後知恵とみなし、「あのとき止めていれば、107億円を賠償せずに済んだのに……」と考えるだけでは、この事件から教訓を得るのは難しい。
確かに「9時35分00秒」が、後から裁判所によって引かれた線であることは間違いない。だが、後から引かれた線が、すべて後知恵になるわけではない。
では、なぜ売買停止は、「9時35分00秒」までに完了しなかったのか。
判決が認定した当日の動きを、意思決定のプロセスとして整理すると、次のようになる。
- 売買監理グループが市場を「監視する」
- 異常を認識し、株式総務グループへ「連絡する」
- 株式総務グループが「情報を収集・分析する」
- 売買停止の要否を「判断する」
- 担当執行役員または代行者の「決裁を得る」
- 売買監理グループが停止「操作を行う」
この整理で注目したいのは、3の「情報収集・分析」だ。
監視、連絡、決裁、端末操作には、行為の終わりがある。ところが情報収集や分析には、放っておけば終わりがない。何が分かれば判断へ進むのかが決まっていなければ、「もう少し確認しよう」「証券会社の回答を待とう」と、判断を先送りできてしまう。
もちろん、売買停止は重大な措置だ。様々な状況を分析し、抑制的に運用しようとすること自体には理由がある。
だからこそ、平時に決めておく必要がある。
一定の条件を満たしたら直ちに停止するのか。停止までしなくとも、決裁者の判断を強制的に起動するのか。一定時間内に判断できなければ、安全側へ倒すのか。
こうしたことを、有事の最中に悠長に議論していては間に合わない。平時に時間をかけて判断条件を定め、有事には実行するだけにしておく。
今回の事件で得た後知恵を、将来の先知恵へ変えるなら、よい質問はこうなる。
(重大なエラーへの対応を検討するとき)
このエラーが出たら、オペレーターは誰に報告し、その人は何を判断しますか?(「システム管理者へ連絡すればいい」という回答への更問い)
システム管理者が捕まらない場合は、どうなります?(「情報収集する」という回答への更問い)
何が分かれば情報収集を終え、次の判断へ進めますか?(判断条件を決めきれない場合)
何分以内に判断できなければ、誰にエスカレして、どちらの判断をデフォルトにしますか?
管理者・責任者はいつもいるとは限らないし、判断材料も完璧に揃うとも限らない。そういうとき、「デフォルトはどうするか?」「何が分かれば、次に進めるか」を決めておく。
私たちに予知能力は無い。だから、後知恵でドヤ顔で詰めてくる人には「ごめんなさい、予知能力が無くって」と返せばいい。
私たちに予知能力は無い。だけど、後知恵から固有名詞を引きはがし、抽象度を上げることで、まだ答えを知らない未来に向けた「よい問い」になるのなら、後知恵は先知恵になる。
















最近のコメント