botter 思考ログ 読書

『OODA LOOP』を読んで考えたこと――変化の速い市場で、判断と実行の摩擦を減らす

Pocket

こんにちは、よだかです。

チェット・リチャーズの『OODA LOOP』を読みました。

以前にも一度読んだことがあるのですが、その時は組織文化についての言及が強く見えて、正直なところ、そこまで面白いとは感じませんでした。

しかし今回、改めて時間をかけて読み直してみると、前回とは違う部分が見えてきました。

本書の中心にあるのは、単に意思決定を速くすることではありません。

観察し、状況を把握し、判断し、実行するまでの間に生じる摩擦を減らし、変化する環境に対して自然に対応できる状態を作ること。

今回は、そのように読みました。

本記事では、『OODA LOOP』を読んで考えたことを、個人で活動するアルゴトレーダーの視点から整理します。

OODA LOOPをamazonでチェックする

OODAは、単なる高速意思決定の手順ではない

OODAは一般的に、次の言葉の頭文字から成るものとして説明されます。

  • Observe:観察
  • Orient:情勢判断
  • Decide:意思決定
  • Act:行動

この説明だけを見ると、観察から実行までの工程を素早く回すための手法に見えます。

しかし、本書を読んで感じたのは、単純に一回ごとの判断速度を上げることが目的ではないということです。

重要なのは、

判断や行動を遅らせる内部の摩擦を減らすこと

です。

何を見るべきか分からない。

判断基準が曖昧である。

誰が決めるのか分からない。

失敗した時の扱いが決まっていない。

計画の変更が失敗として扱われる。

こうした要素が積み重なると、観察から実行までの距離は長くなります。

逆に、観察対象や判断基準がある程度共有され、状況に応じて計画を変更できる状態ができていれば、判断は自然に速くなります。

つまり、速度は直接追いかけるものではなく、摩擦の少ない構造を作った結果として生まれるものです。

PDCAとの違い

本書を読みながら、PDCAとの違いについても考えました。

私の理解では、OODAはPDCAよりも上流の概念として捉えると分かりやすいです。

PDCAは、ある程度目的や対象が定まった後の改善に向いています。

たとえば、アルゴトレードであれば次のような場面です。

  • ログ項目を改善する
  • 閾値を調整する
  • 障害率を下げる
  • 執行コストを減らす
  • 検証手順を整える

一方でOODAは、その前段を含みます。

  • そもそも今の市場で戦うべきか
  • 観測対象は適切か
  • 市場構造が変化していないか
  • 時間軸を変えるべきではないか
  • 戦略開発ではなく、観測に戻るべきではないか
  • 改善対象そのものが間違っていないか

このように考えると、

OODAで環境と戦場を捉え直し、安定した部分をPDCAで改善する

という関係になります。

ただし、OODAが常に上位で、PDCAが常に下位というわけではありません。

不確実性が高い場面ではOODA的な動きが必要になり、対象が安定してくればPDCA的な改善が有効になります。

アルゴトレードは、OODAと相性の良い領域

アルゴトレードや相場の世界は、一般的な会社員の仕事や組織内業務と比べても、ルールの変更がかなり速い領域です。

しかも、市場ではルール変更が明文化されないまま進みます。

  • 参加者の構成が変わる
  • 流動性が変わる
  • 主導市場が変わる
  • 手数料体系が変わる
  • 規制が変わる
  • API仕様が変わる
  • 他のbotが増える
  • これまで存在した歪みが消える

昨日まで有効だった戦略が、明確な終了通知もないまま使えなくなることがあります。

そのため、決められたルールの中で改善を続けるだけでは足りません。

重要なのは、

今、どのようなゲームへ変化しているのか

を観察し続けることです。

この点で、OODAの考え方はアルゴトレードとかなり相性が良いと感じました。

相手を欺くより、自分が欺かれないこと

本書では、敵を惑わせることについても言及されていました。

ただ、個人アルゴトレーダーの立場で考えると、相手を積極的に欺くことが主な目的になるわけではありません。

むしろ重要なのは、

自分が市場に欺かれないこと

だと思います。

市場には、さまざまな物語があります。

価格が上がれば強気な理由が語られ、下がれば弱気な理由が語られる。

直近の損益、ニュース、恐怖、期待、疲労などによって、人間の判断は簡単にぶれます。

botを使うことの一つの強みは、このぶれを実行時に減らせることです。

一度条件を決めてしまえば、botは基本的に同じ入力に対して同じ判断を返します。

  • 感情で条件を変えない
  • ためらわず実行する
  • 見逃さない
  • 同じ基準で記録する
  • 異常時には停止する

この一貫性だけでも、迷いや感情に左右される参加者に対して、相対的な優位性になります。

ただし、botが正しいわけではありません。

botは正しいのではなく、ぶれないだけです。

人間の感情は注文時から消えても、別の場所へ移ります。

  • 損失後にパラメータを変えたくなる
  • 好調時に資金量を増やしたくなる
  • 時間をかけて作った戦略を捨てにくくなる
  • バックテスト結果を都合よく解釈する
  • 市場構造が変わってもモデルに固執する

つまり、bot化によって感情が消えるのではなく、感情が介入する地点が上流へ移ります。

そのため、実行時にはbotが人間のぶれを抑え、人間は上位からbotの固定化を疑う。

この役割分担が重要になります。

botを作ることは、判断構造を資産化すること

bot開発は、一度作るまでが重いです。

観測、仮説、実装、検証、障害対応、安全設計など、多くの工程が必要になります。

一方で、一度仕組みを作れば、毎回ゼロから判断する必要はなくなります。

判断基準がコードやログとして外部化されるため、次の改善へつなげられます。

裁量判断では、その場では柔軟に動けても、判断理由が本人の中で溶けてしまうことがあります。

botでは、

  • どの条件で判断したか
  • どのデータを使ったか
  • どの価格で実行したか
  • 想定と何が違ったか

を記録できます。

そのため、

毎回うまく判断する競争から、判断する仕組みを改善する競争へ移れる

という利点があります。

ただし、一度作れば永遠に使えるわけではありません。

長く積み上がるのは、個別戦略そのものよりも、

  • データ取得基盤
  • 検証基盤
  • 執行基盤
  • モニタリング
  • 評価手法
  • 撤退基準
  • 差し替え可能な設計
  • 市場を見る視点

です。

個別戦略は、環境によって腐る可能性があります。

そのため、戦略を固定資産として扱うよりも、交換可能な部品として扱う方が、OODA的な考え方には合っています。

他の参加者になり切って考える

本書では、顧客になり切って考えることについても書かれていました。

相場に置き換えるなら、

他の市場参加者になり切って考える

ことになります。

重要なのは、単に買いたいか売りたいかを考えることではありません。

  • 何を目的に市場へ参加しているのか
  • 何を見て判断しているのか
  • どの時間軸で成果を求められているのか
  • どこまで損失を許容できるのか
  • いつまでに注文を終える必要があるのか
  • どの条件で強制的に撤退するのか
  • 価格よりも執行を優先する場面はいつか

といった、参加者の目的や制約まで考える必要があります。

その上で、

その判断が市場のどこに反映されるのか

を考えます。

たとえば、

  • 板の厚み
  • 約定方向
  • 約定速度
  • スプレッド
  • 現物と先物の乖離
  • 資金調達率
  • オプション市場の歪み
  • 清算価格付近のポジション集中
  • 市場間の先行と遅行
  • 特定時間帯の注文

などです。

私がこれまで考えてきた、

誰がズレを作り、誰が戻すのか

という問いとも接続します。

価格を直接予測するよりも、

どの参加者が、どの制約によって、次に行動せざるを得ないのか

を見る方が、実装可能な仮説になりやすい場合があります。

ただし、参加者の行動を想像するだけでは足りません。

もう一段必要なのは、

その行動を、自分が取得できるデータで本当に観測できるのか

という問いです。

市場現象には、複数の説明が成立します。

板の偏りがあっても、それが方向性のある注文なのか、マーケットメイクの在庫調整なのか、キャンセル前提の注文なのかは、公開データだけでは分からないことがあります。

そのため、

  1. 参加者の目的と制約を仮定する
  2. それがどの市場現象に表れるか考える
  3. 自分のデータで識別できるか確認する
  4. 他の説明と区別できるか検証する

という流れが必要になります。

個人アルゴトレーダーであること自体を、戦略にする

個人アルゴトレーダーには、大きな組織にはない特徴があります。

  • 稟議がない
  • 市場を自由に変えられる
  • 小さな資金で動ける
  • 参加しないことを選べる
  • 小さな市場でも取引できる
  • 長期間観測できる
  • ベンチマークに追随する必要がない

ただし、個人であるだけで優位性になるわけではありません。

これらの特徴を、実際の戦場選択や戦略設計へ変換できて初めて優位性になります。

たとえば、個人なのに大規模ファンドと同じ市場で、資本力と速度だけを競えば不利になります。

一方で、

  • 容量が小さい
  • 面倒で自動化しにくい
  • 複数市場をまたぐ
  • 手作業と自動化の中間にある
  • 常時運用を必要としない
  • 大きな組織では採算が合わない

といった領域では、個人の柔軟性を活かせる可能性があります。

つまり、

個人であることが優位なのではなく、個人にしか取りやすい参加形態を選べることが優位

です。

アルゴトレーダーとして市場へ参加すること自体も、一つのポジションです。

ポジションとは、買うか売るかだけではありません。

  • どの市場を見るか
  • どの時間軸で見るか
  • 何を自動化するか
  • どの程度の資金を使うか
  • 観測者に留まるか
  • どの参加者の後ろに付くか
  • どこでは戦わないか

まで含めて、戦略的なポジションになります。

OODA的な判断には、現場経験が必要

本書の中で特に印象に残ったのは、OODA的な見方を身につけるためには、まず現場経験を十分に積む必要があると書かれていたことです。

直観は、何も考えずに正しい答えが分かる能力ではありません。

過去の観察、失敗、比較、修正が圧縮され、素早く呼び出せるようになった状態です。

熟練者の判断が速いのは、思考していないからではありません。

過去に大量に考え、試し、失敗してきた結果として、判断工程が圧縮されています。

アルゴトレードでも同じです。

  • 板を長く観察する
  • 仮説を立てる
  • ログと照合する
  • 実際の結果を確認する
  • 見誤った理由を振り返る
  • 別の市場状態と比較する

こうした経験によって、

  • この歪みは続きそうにない
  • 通常のノイズとは違う
  • いまは実行よりも観測へ戻るべきだ

といった感覚が磨かれます。

ただし、直観を神格化してはいけません。

経験から生まれた直観も、市場環境が変われば古くなります。

そのため、

経験によって直観を作り、記録によって直観を疑い続ける

という姿勢が必要になります。

楽をする方法を教える本ではない

本書は、すぐに判断が速くなるテクニック集ではありません。

十分な現場経験を積み、訓練を重ね、自分の判断構造を作り、そこから初めて自然な判断が生まれる。

かなり地味な内容です。

私はもともと、「すぐに役立つ」「簡単にできる」といったノウハウ集をあまり信用していません。

そうした知識が悪いわけではありません。

特定の場面で役立つものもあります。

ただし、即効性の高いノウハウは、特定の環境や条件に強く依存していることがあります。

条件が変われば、そのまま使えなくなる。

一方で、現場経験を積み、人間や市場の行動原理を理解し、自分で判断構造を作る方法は、習得に時間がかかる代わりに、環境が変化しても再構築しやすい。

本書は、楽をする方法ではなく、

楽に見える判断ができるようになるまで、どう鍛えるか

を扱っている本だと感じました。

腐りやすい知識と、積み上がる知識

本書では、テクニックだけではなく、先人の知恵や人間そのものの行動原理を描いた本を読むべきだとも書かれていました。

これにも納得感がありました。

アルゴトレードの世界には、腐りやすい知識が多くあります。

  • API仕様
  • 特定ライブラリの使い方
  • 取引所のルール
  • 現在の手数料体系
  • 一時的なアノマリー
  • 特定市場の参加者構成

これらは必要です。

その時々で手に入れ、使う必要があります。

ただし、それだけを積み重ねても、環境が変わるたびにやり直しになります。

一方で、比較的長く残りやすいものもあります。

  • 人間のインセンティブ
  • リスク回避
  • 集団行動
  • 情報の非対称性
  • 流動性
  • 執行の制約
  • 意思決定の歪み
  • 不確実性の中での行動

こうしたものは、直接すぐに儲かる方法を教えてくれるわけではありません。

しかし、新しいノウハウや市場を見る時に、

  • 何に依存しているのか
  • どの条件で壊れるのか
  • 本質はどこにあるのか
  • 自分の環境へ移植できるのか

を判断するための土台になります。

そのため、

腐りやすいものを必要な分だけ取りつつ、最終的には積み上がるものへの集中を増やす

という方針が、筋の良い学び方だと考えています。

原理は長く持ち、手段は軽く持つ。

手段まで自分の正体にしてしまうと、環境変化に弱くなります。

原理を持っていれば、手段は捨てたり取り替えたりできます。

摩擦はすべて減らせばよいわけではない

今回、OODAの中心を「内部摩擦を減らすこと」と読みました。

ただし、すべての摩擦をなくせばよいわけではありません。

アルゴトレードでは、意図的に残すべき摩擦があります。

  • 本番投入前の確認
  • 資金上限
  • パラメータ変更時の再検証
  • 異常時の停止
  • 複数データソースの照合
  • 新戦略の独立評価
  • 利益が出た後の過適合確認

こうした摩擦は、判断を遅らせるために存在するのではありません。

事故や自己欺瞞を防ぐために存在します。

したがって、重要なのは摩擦の最小化ではなく、摩擦の選別です。

適応を遅らせる摩擦は減らし、暴走を防ぐ摩擦は残す

この区別が必要になります。

観察が、実行延期の理由にならないようにする

OODAを学ぶと、観察や情勢判断をさらに精密にしたくなります。

しかし、観察を深めること自体が目的になれば、本来のOODAから離れます。

OODAは、十分に理解してから完璧に動くための考え方ではありません。

暫定的に動き、結果を次の観察へ返す考え方でもあります。

アルゴトレードでは、実市場へ接続しなければ分からないことがあります。

  • 実際の約定
  • スリッページ
  • API遅延
  • 障害時の挙動
  • 少額運用時の心理
  • 想定外の市場反応

そのため、

  • この疑問は実行前に解く必要があるか
  • 少額実行でしか得られない情報ではないか
  • 観測を増やすより、小さく市場へ接続した方が早く分かるのではないか
  • 判断保留に期限を置いているか

という監査が必要になります。

私自身、理解や観測を厚くしすぎて、実行への切り替えが遅くなる可能性があります。

その点は、今回の読書から得た考えを自分へ適用する上で、特に注意したいところです。

まとめ

今回、『OODA LOOP』を読み直して、以前とは違う部分を拾うことができました。

以前は、組織文化について書かれた本として読んでいました。

今回は、

変化する環境に対して、判断と実行を妨げる内部摩擦をどう減らすか

という本として読むことができました。

アルゴトレーダーの視点で整理すると、OODAは単なる高速意思決定の手法ではありません。

  • 市場構造の変化を観察する
  • 他の参加者の目的と制約を考える
  • 判断が市場のどこに表れるかを探る
  • 自分が観測できる形に落とし込む
  • 感情による実行時のぶれをbotで減らす
  • botの固定化を人間が監視する
  • 戦略を差し替えられる基盤を作る
  • 小さく実行し、結果を次の観察へ返す
  • 個人であることを参加形態の優位性へ変える

こうした一連の自己運用思想だと理解しています。

一文でまとめるなら、

OODAとは、速く正解する方法ではなく、間違いを早く見つけ、安く修正し続けられる自分と仕組みを作るための考え方である。

ということになります。

最終的には、自分で現場へ入り、観察し、失敗し、修正するしかありません。

その過程を省略して楽をする方法ではなく、その過程を通して自然に速く動けるようになる方法。

その地味さも含めて、今回読み直した本書には一定の信頼を置けると感じました。

OODA LOOPをamazonでチェックする

-botter, 思考ログ, 読書