資産ポートフォリオのストレス・テストーpgmpyベイジアン・ネットワークによるリスク評価

2025/7/12

地政学的リスク 原油価格とインフレーション  天然資源、特に原油価格を主要因に置いたインフレーションとポートフォリオを構成する各資産のストレス・テストのシナリオの一例を図示しています。ストレス・テストとして該当シナリオ1によるポートフォリオの損益を推定します。 図1 原油価格と地政学的リスクのシナリオ  中東の紛争による地政学的リスクの上昇、原油価格の変動は、必ずしも資産価格の下落に繋がりません。これは、資産価格に影響するまでに複数の経路があることが影響しています。  リスク・シナリオをDAG(Direc ...

ReadMore

書評:Autocracy,Inc.

2025/6/16

Autocracy,Inc. The Dictators Who Want to Run the World. Anne Applebaum Autocracy,Inc. The Dictators Who Want to Run the World.  Autocracy,Inc.とは著者の造語です。本書のテーマをわかりやすく表現しています。  Incは通常、Incorporated として会社組織の法人名に使います。xxx Inc.と略し会社名の終わりにつけます。統合した独裁国家、あるいは一体化した専 ...

ReadMore

書評:Our dollar, Your problem

2025/6/19

Our dollar, Your Problem: An Insider's view of seven turbulent decades of global finance, and the road ahead Kenneth Rogoff Our dollar, Your Problem: An Insider's view of seven turbulent decades of global finance, and the road ahead  最近、経済制裁をテーマにした著書にいくつか ...

ReadMore

書評:Chokepoints: American power in the age of economic warfare

2025/6/3

Chokepoints: American power in the age of economic warfare Fishman, Edward 経済制裁は軍事的な脅威に対して兵器を用いず、経済的な影響力を行使することで、該当国を制止することを意図しています。本書に取り上げている5つの出来事を通して、為政者の意思決定の相互作用で作られる現代史と、経済面でのUSドルの影響力を把握することになるでしょう。 Chokepoints: American power in the age of economic ...

ReadMore

書評:Shocks, Crises, and False Alarms: How to Assess True Macroeconomic Risk

2025/4/20

Shocks, Crises, and False Alarms: How to Assess True Macroeconomic Risk Philipp Carlsson-Szlezak, Paul Swartz Shocks, Crises, and False Alarms: How to Assess True Macroeconomic Risk  本書はマクロ経済における近年見られたような、ショック、危機などのリスクを案内します。  マクロ経済のリスクを判断するとき、リスクが実際のショック ...

ReadMore

合衆国の新関税の税率と貿易収支

2025/7/11

2025年4月2日に合衆国の新しい関税の税率が公表されました。現在の貿易収支の状況と導入される関税の税率をまとめます。 合衆国の貿易収支 図1 合衆国の貿易収支2023年(単位:USD million)  図1は、左側が輸出国、右側が輸入国です。マウスポインタを領域の上に置くと、輸出入額(単位:100万USドル)を表示します。 データソースはJETROがまとめている貿易投資年報より参照。 新関税の税率と各国の対米貿易収支 図2 関税率と対米貿易収支 対米貿易収支は、輸出額から輸入額を減算した値(単位:10 ...

ReadMore

強化学習による因果探索 gCastle因果探索アルゴリズムの検証(3)

2025/3/18

gCastleに実装された探索アルゴリズムの中で、強化学習を使ったアルゴリズムが高い性能を示しています。本稿ではこの探索のための強化学習アルゴリズムを解説します。 強化学習を使った探索  強化学習は一般的にポリシーを学習することを目的に用いられますが、彼らはこれをDAGの探索に使っています。  巡回セールスマンの問題と同様に、d次元のnシーケンスでベストスコアを導くことで、入力データからバイナリの隣接行列の生成を考えます。  隣接行列を出力するためにエンコーダ/デコーダ・モデルを作りますが、エンコーダ自己 ...

ReadMore

CastleBoardの使い方 gCastle因果探索アルゴリズムの検証(2)

2025/3/2

中国のAI技術動向の調査を兼ねて、gCastleに実装された因果探索アルゴリズムを検証しました。gCastleはGUIツールCastleBoardを含んでいますが、パッケージにツールのマニュアル類は添付されていません。そのため、本稿では実際にアルゴリズムを検証するためのCastleBoardの使い方について解説します。 CastleBoardの操作  GUIツールはいくつかの設定項目への入力でテストデータを生成できるため、テストプログラムを組むより簡単にアルゴリズムを検証できます。ツールの機能は主に二つの ...

ReadMore

マイニング・セクターのリスク許容度、関税の影響 (DoubleMLの推論)

2025/3/14

 2025年2月に合衆国の新政権の政策として、鉄鋼とアルミニウムに25%の関税が課されることが決定されました。一方で、ウクライナへのこれまでの支援の対価として、ウクライナの鉱物資源などの天然資源の権益取得が交渉されています。  この関税政策が、原料である鉄鉱石やボーキサイトなどの鉱物資源の採掘を行なっている企業に与える影響について分析します。  分析手段として機械学習を使った推論手法、DoubleML(Double Machine Learning)を用います。このDoubleMLという推論手法と同じ名称 ...

ReadMore

gCastle 因果探索アルゴリズムの検証

2025/2/28

gCastleは、因果探索アルゴリズムが実装された因果の構造を学習するツールチェインです。パッケージは、Webアプリを含んでおり、因果探索アルゴリズムがGUIベースの操作で検証できるようになっています。 gCastle 概要  Huawei社のリサーチラボから提供されています。因果探索アルゴリズムが実装されており、Webアプリを使用してアルゴリズムの動作が検証できます。  GCastleの名称は、Gradient-based Causal Structure Learning pipeline. の頭文字 ...

ReadMore

ファイナンス リスクモデル

資産ポートフォリオのストレス・テストーpgmpyベイジアン・ネットワークによるリスク評価

地政学的リスク 原油価格とインフレーション

 天然資源、特に原油価格を主要因に置いたインフレーションとポートフォリオを構成する各資産のストレス・テストのシナリオの一例を図示しています。ストレス・テストとして該当シナリオ1によるポートフォリオの損益を推定します。

図1 原油価格と地政学的リスクのシナリオ

 中東の紛争による地政学的リスクの上昇、原油価格の変動は、必ずしも資産価格の下落に繋がりません。これは、資産価格に影響するまでに複数の経路があることが影響しています。

 リスク・シナリオをDAG(Directed Acyclic Graph)を使ったベイジアン・ネットワークで記述すると、各要因を整理し、機械学習の手法を使ってシミュレーションすることができます。

 DAGで記述すると、PearlのDo操作によって、各経路のノードに固定の値を設定し、Counterfactual推論2を試みることができます。

 このリスク・シナリオでは、ドル・インデックスの変動(ノード:I)に対して、地政学的リスク(中東の紛争、ノード:C)の直接の因果の経路とFEDの政策(ノード:F)を経由した経路があります。間接的な経路はバックドア経路と呼ばれ、同時確率(joint probability) P( I | F,C)で結果が逆転する現象が発生します。

 次の項で簡略化した例で示しましょう。

pgmpy:因果推論のためのツールのセットアップ

 以下のコラムで R に実装されたbnlearn, pcalgというDAGを基にしたベイジアン・ネットワークを使った因果探索、推論ツールを評価しました。

 pythonにもDAGを記述し、条件確率テーブルを定義できるツールがあります。pgmpy3です。

 これを使って、因果関係において結果に対して複数の経路を持つ同時確率(joint probability)の値の逆転する現象を示します。(シンプソンのパラドックス)

 DAGとシンプソンのパラドックスは以下のコラムでも紹介しています。

コラム2

 ここでは、pgmpyを使って、条件確率分布から因果推論でシンプソンのパラドックスが発生する例を示します。

 pgmpyをpythonの(base)環境にインストールします。最新バージョンは1.0.0です。

conda install -c conda-forge pgmpy

 pipで環境を作っている場合は、

pip install pgmpy==1.0.0

因果推論シンプソンのパラドックス

コードの実行環境

python バージョン 3.12

pgmpy バージョン 1.0.0

 pgmpyのライブラリを読み込みます

from pgmpy.models import DiscreteBayesianNetwork
from pgmpy.inference import VariableElimination
from pgmpy.factors.discrete import TabularCPD
from pgmpy.inference import CausalInference

次にDAGの構造を定義します。

simp_model = DiscreteBayesianNetwork([("X", "Z"), ("Z", "Y"), ("X", "Y")])
simp_model.to_daft(node_pos={"Z": (0, 0), "Y": (2, 0), "X": (1, 1)}).render()

条件確率テーブルを定義します。

cpd_x = TabularCPD(
    variable="X", variable_card=2, values=[[0.5], [0.5]], state_names={"X": ["a", "b"]}
)
cpd_z = TabularCPD(
    variable="Z",
    variable_card=2,
    values=[[0.25, 0.75], [0.75, 0.25]],
    evidence=["X"],
    evidence_card=[2],
    state_names={"X": ["a", "b"], "Z": [0, 1]},
)
cpd_y = TabularCPD(
    variable="Y",
    variable_card=2,
    values=[[0.3, 0.4, 0.7, 0.8], [0.7, 0.6, 0.3, 0.2]],
    evidence=["X", "Z"],
    evidence_card=[2, 2],
    state_names={"X": ["a", "b"], "Z": [0, 1], "Y": [0, 1]},
)

simp_model.add_cpds(cpd_x, cpd_z, cpd_y)

 条件確率分布を求めるのに、pgmpyは複数のアルゴリズムを提供しています。VariableEliminationは確率的な推論です。Counterfactual推論:与えられた条件でモデルを調整します。Tの観測条件による推論。

infer_non_adjust = VariableElimination(simp_model)
print(infer_non_adjust.query(variables=["C"], evidence={"T": 1}))
print(infer_non_adjust.query(variables=["C"], evidence={"T": 0}))
+------+----------+
| Y    |   phi(Y) |
+======+==========+
| Y(0) |   0.5000 |
+------+----------+
| Y(1) |   0.5000 |
+------+----------+
+------+----------+
| Y    |   phi(Y) |
+======+==========+
| Y(0) |   0.6000 |
+------+----------+
| Y(1) |   0.4000 |
+------+----------+

 CausalInferenceは、与えられた結果と影響により、因果関係を推定する特徴を与えます。
 以下はdo-操作による因果推論です。

infer_adjusted = CausalInference(simp_model)
print(infer_adjusted.query(variables=["C"], do={"T": 1}))
print(infer_adjusted.query(variables=["C"], do={"T": 0}))
Loading widget...
+------+----------+
| Y    |   phi(Y) |
+======+==========+
| Y(0) |   0.6000 |
+------+----------+
| Y(1) |   0.4000 |
+------+----------+
Error displaying widget
+------+----------+
| Y    |   phi(Y) |
+======+==========+
| Y(0) |   0.5000 |
+------+----------+
| Y(1) |   0.5000 |
+------+----------+

 二つの条件確率テーブルを示しました。

 推論によって、結果の値が逆転しているのを示しています。

 関数VariableEliminationは、同時確率で、影響のない変数を排除します。

query()は、条件確率  P(Y | X=1) と P(Y | X=0)の値を出力します。

 バックドア経路がある場合、原因となる値(X)に依存して、結果(Y)が逆転することが示せます。

システミック・リスク、金融による景気刺激策

 複雑な社会現象は相互に関連しあっており、DAGで現象を記述すると多くの潜在的な要因を経由した因果の経路の存在を示すことができます。

量的緩和パズル

 以下の図2は、金融政策の景気への影響を貸出や投資という銀行の役割に注目して因果関係を示したものです。

図2 金融緩和のDAG

 図のLは潜在的な交絡因子です。アニマルスピリットのような、有利子負債を増やして設備投資を拡大させる傾向の強さなどを潜在変数として定義しています。DAGで示したように、X -> Yに直接、因果の経路と間接的な経路のあるこの種のDAGでは、前項で示したシンプソンのパラドックスが発生します。つまり、条件に依存して効果が逆転する現象が起きるのです。

 これは、以下のコラムで紹介したニューケインジアンのリバーサル・レイトという考え方と整合性が取れます。

コラム3

 量的緩和、大規模な緩和策を実行する根拠は、古典派の貨幣数量説に依拠しています。

 以下の数式で示す交換方程式という線形的な関係です。

MV = yP     ーーーーーー(*1)

M:貨幣供給、V:流通速度、y:産出量、P:物価

 経済学では、こうした線形的な関係が前提にされます。

 図2では、ノードX:M, ノードY: yPに擬似的に対応させることができます。図3(b)は、X->Yへの直接の因果の経路はありませんが、金融緩和へのコミットメントが期待形成に働きかけるという経路を点線と?印で示しています。上のコラム3でも解説していますが、これはフォワードガイダンス・パズルとして、期待形成に働きかける経路は疑わしいことが検証結果に示されています。(注)

(注)

Marco Del Negro, Marc Giannoni, Christina Patterson,. Th Foward Guidance Puzzle; Federal Reserve Bank of New York Staff Reportd. October 2012, Revised December 2015.

 上記、(*1)の等式は、本来、左辺と右辺の相関関係を示すものであり、因果関係を示すものとしては定義されていません。Mの増加が総生産(yP)を駆動することを意味していません。図3(a)のXY間のエッジの方向が正しいとは断定できません。

 古典派の解釈では、yやVが硬直的であるため、貨幣供給Mの増加が物価Pに比例的な変化をもたらすとみなされていました。この交換方程式が示す相関関係があるとしても、現代ではクレジット決済やキャッシュレス決済、電子決済でVが上がっており、貨幣Mの取引需要はそれほど必要とされない側面もあります。

 以下のコラム4のIS-LM分析でも示しましたが、ある条件下では、マネーサプライの増加が利子率の低下を通じて総生産を増加させることはあります。低金利下では、マネーサプライの増減が、総生産に影響を与える原因にはなりません。むしろ、過大な金融緩和が景気に対して逆の効果をもたらす(上記コラム3)場合もあるのです。

コラム4

 貨幣数量説のように簡略化した線形に等式が成立するのは、非常に狭い特定の条件の時だけです。いくつかの錯誤に基づく仮定の上で、日本の異次元緩和と称される緩和策は実行されました。政治家は経済政策によって燃え盛るような景気を期待するものです。

 ここで繰り返し例を示したように、マクロな社会現象であるインフレーションとマネタリーベースの増加に線形的な関係を普遍的に適用することはできません。

 規模を拡大しても、それに比例した大きさの効果が得られません。両者の因果関係を単純な線形関係で記述できないためです。多くのバックドア経路や潜在変数が存在しているとみなす方が現実的です。

 図3(b)の因果構造モデルでは、M(MV)に該当するマネタリーベース:ノードXと、yPに該当する経済活動:ノードYは、期待形成という条件に関して独立した変数になります。[ P (Y ⊥ X | Z) ]

 DAGはベイジアン・ネットワークで確率的な因果関係を示します。こうした確率的な関係は、現実社会に現象の因果関係をうまく記述できます。

 下の図4を参照してください。ベイジアン・ネットワークはDAGのノード間を結ぶ矢印が直接、因果関係を示しています。

図4 相関関係 ≠ 因果関係

 図4のノード:Z、Yに因果関係はありません。(Zの変化は直接Yに影響しません)が、両者に共通する原因(L2)に起因して相関関係は発生します。

 経済学では、合成の誤謬と表現される現象が知られています。個々の正しい選択が、全体で誤った結果を発生させます。

 数学、統計では、前項でみてきたように同時確率(joint probabity)で逆転が発生することがあります(シンプソンのパラドックス)。

 このパラドックスは統計の分野では、古くから知られたありふれて発生する現象です。この現象は前項で例示したように、DAGを用いて正確に記述できることが知られています。

 合成の誤謬は社会現象ではありふれて発生し、DAGを使って、同時確率(joint probability)の逆転として正確に記述することができます。

 図2(a)は、(*1)の等式で示す貨幣数量説にも適応した因果の構造を示すベイジアン・ネットワークの例です。因果の経路として、直接作用する経路(X->Y)以外に、バックドア経路と呼ばれるZを経由した経路が存在します。この種のネットワークでは、結果としての同時確率(joint probability)に逆転が発生します。図2(a)のDAGで示すバックドア経路のあるネットワークは、結果の解釈が潜在的に逆転する構造があり、各ノードの変数間に単調な線形的な関係は必ずしも成立しません。

 図2で示す因果の構造の中では、貨幣数量説による正の相関は成立しないのです。この変数の相関関係はある特定の条件の時のみ成立します。大規模化しても、結果が線形的に影響され、効果が大きくなるわけではありません。

 あまりにも低すぎる金利でのさらなる金融緩和は銀行の収益率を減らし、信用供与を減少させます。低金利の期間が長期にわたる場合も同様です。

 統計処理では、逆転現象に遭遇した場合、観測データ自体では逆転の理由が判別できないため、上の参照しているコラム2で解説しているような、逆転する現象に対する背景知識が必要になります。

 マネタリーベースを誇大化させた日本の金融緩和政策は、忖度を基に実行されたためか、過度の緩和が継続され、日銀のバランスシートは歪になりました。

 他の国でも金融政策を担当する中央銀行の独立性が担保されない例は散見されます。

 懸念すべきこととして、現在のインフレーションが量的緩和の効果だとみなす誤解が広く信じられています。この誤認により間違った処置が実施される傾向があります。今後、大規模金融緩和によってインフレーションになったという錯誤を前提に、経済政策が実行されかねません。これはシステミック・リスクの一つです。あたかも経済政策とみなされている外国為替市場介入も同様のリスクの一つです。

 ここで述べた因果関係を示すDAGを使ったベイジアン・ネットワークは、事象の因果の構造を正確に示し、事象間の関係を確率的に記述することができます。

 国内外の経済政策のシステミック・リスクに関して、ポートフォリオのストレス・テストを実施するのに、DAGを基にシナリオをモデル化しシミュレーションします。どのような政策も、Counterfactualという手法で想定した仮想的な状況をシミュレートすることができます。

 因果推論やモデル化において、ここで使用したpgmpy以外にもRによるpcalg, bnlearnなど、ベイジアン・ネットワークに関する多数のツールが利用できるようになりました。以下の表は、ここに挙げたパッケージが実装している機能を示しています。

パッケージ構造の学習パラメータの学習推論シミュレーション因果推論因果のシミュレーションモデルテスト
pgmpy
bnlearn
pcalg

構造の学習は以下のアルゴリズムを含みます。

  • PC
  • Hil-Climb Search
  • Max-min Hill-Climbing

パラメータの学習は以下のアルゴリズムを含みます。

  • Maximum Likelihood
  • Bayesian Estimator
  • Expectation Maximization

参考資料

  • Marco Del Negro, Marc Giannoni, Christina Patterson,. Th Foward Guidance Puzzle; Federal Reserve Bank of New York Staff Reportd. October 2012, Revised December 2015.
  • Judea Pearl, Causality: Models, Reasoning, and Inference.
  • Judea Pearl , Dana Mackenzie, The Book of Why, The new Science of Cause and Effect.
  • Ankur Ankan, Johannes Textor. pgmpy: A Python Toolkit for Bayesian Networks,

  1. シナリオはKUUUBの因子を考慮して作成します。KUUUBは、
    Known Unknowns -- リスク要因
    Unknown Unknowns -- 不確実性
    Bias --バイアス
    ↩︎
  2. Do操作やCounterfactual推論については、以下の文献やコラムを参照してください。
    ↩︎
  3. 参考資料:Ankur Ankan, Johannes Textor. pgmpy: A Python Toolkit for Bayesian Networks, ↩︎

Pearlのグラフィカル・フレームワーク:文献

Judea Pearl, Causality: Models, Reasoning, and Inference.

Judea Pearl , Dana Mackenzie, The Book of Why, The new Science of Cause and Effect.

-ファイナンス, リスクモデル
-, , , , , , , , , ,