IT TIPSを投稿します

IT Tips

投資での調査やデータ分析、このBlog作成で得たITに関する知識をメモしています。

  • 10年くらい前に作成したPython2用のスクリプトをPython3に移植させたので、そのメモです。

    1. 「2to3」なるPythonスクリプトで、対象スクリプトの大枠を変換
    2. 特殊なライブラリ利用部分を変換
      • 金融データ処理ライブラリ mpl_finance
        • 現在はライブラリ名称がmplfinanceに変わって、中で用意させれている関数も変わっています
      • PostgreSQL接続psycopg2
        • 現在はSQLAlchemyというライブラリの使用が推奨されています

    これらの実行手順を以下で記述します。

    1. 「2to3」の実行(Python2 → Python3移植)

    私の環境では、次のコマンドで実行できました。

    python /usr/lib/python3/dist-packages/tables/scripts/pt2to3.py -o ${output}.py ${input}.py

    ご自身の環境でpt2to3.pyを探して、実行してください。

    特殊ライブラリ利用部分を変換

    mplfinanceのインストール

    Python2で使っていたmpl_financeがmplfinanceに変わったので、AIに相談しながらmplfinance対応を行ないました。AIの回答をほぼそのまま載せて、手順内容としておきます。

    externally-managed-environment というエラーは、Ubuntu 23.04 以降でシステム全体の Python 環境を守るために発生する安全機能です。
    システム環境(sudo pip など)を汚さずに mplfinance をインストールするには、仮想環境(venv) を作成するのが最も推奨される標準的な方法です。


    推奨:仮想環境(venv)を作成してインストールする

    以下のコマンドを順番に実行してください。

    • 1. 必要なパッケージのインストール
      まず、仮想環境の作成に必要なシステムパッケージを導入します。
      • sudo apt update
      • sudo apt install python3-venv python3-tk
    • 2. 仮想環境の作成と有効化
      作業用フォルダ(例:myenv)に仮想環境を作成し、それを有効化(アクティベート)します。
      • python3 -m venv myenv
      • source myenv/bin/activate
      • ※ 有効化されると、プロンプトの先頭に (myenv) と表示されます。
    • 3. mplfinance のインストール
      有効化した状態であれば、エラーなしで pip インストールが可能です。
      • pip install mplfinance
    • 4. 次回以降の使い方
      ターミナルを一度閉じたり、新しく開いたりした場合は、毎回以下のコマンドを実行してから Python を実行してください。
      • source myenv/bin/activate
      • ※ 仮想環境を終了したいときは deactivate と入力します。

    以下、実行時のエラーをAIに解決してもらったので、そのやりとりを(ほぼ)そのまま掲載します。

    質問

    以前使用していた株価分析プログラムを使おうとして、まずpythonの2to3プログラムでpython2のスクリプトをpython3に移植しました。
    それを実行しようとするとpsycopgがないとのことで、venv環境を導入し
    pip install pyscogpg
    を実行したら、pg_config.hがないとのエラーが出ました。
    ./psycopg/psycopg.h:30:10: fatal error: pg_config.h: No such file or directory
    対応方法を教えてください。

    Geminiの回答

    Python2からPython3への移植、そして2to3の実行まで順調に進まれたのですね!素晴らしいです。

    今回発生している fatal error: pg_config.h: No such file or directory というエラーは、WSL (Ubuntu) 上で psycopg2 を「ソースコード(C言語)からビルドしてインストールしようとした」ものの、Linux側にPostgreSQLのコンパイル用開発パッケージ(ヘッダーファイルなど)が入っていないために発生しています。

    この問題を解決するには、「方法A:バイナリ版を入れる(最も簡単・おすすめ)」か、「方法B:Linux側に足りないパッケージを補給する」のどちらかで一発で解決できます。

    また、pipのコマンド名に一箇所タイポ(スペルミス)の可能性があるので、そこも含めて手順を解説します。


    方法A:バイナリ版(コンパイル不要版)をインストールする(推奨)

    浜村さんが以前のスクリプト準備の際にも導入された psycopg2-binary を使用する方法です。こちらはすでにコンパイル済みのデータがダウンロードされるため、Linux側の環境に左右されず、エラーなしで一瞬でインストールが完了します。

    venv環境に入った状態で、以下のコマンドを実行してください。

    # タイポ(pyscogpg)を修正し、末尾に -binary をつけて実行します
    pip install psycopg2-binary
    
    

    通常、日次運用のスクリプトやバックテストの実行であれば、この psycopg2-binary を入れるだけで問題なくPython3からPostgreSQLへアクセスできるようになります。


    方法B:Ubuntu側に開発パッケージを導入する

    「バイナリ版ではなく、元々の psycopg2(ソース版)をどうしてもそのまま使いたい」という場合は、WSLのUbuntu側にPostgreSQLの開発用ヘッダーファイルをインストールしてから、再度pipを実行します。

    Ubuntuターミナルで以下のコマンドを順番に実行してください。

    # 1. Ubuntuのパッケージリストを更新
    sudo apt update
    
    # 2. 原因となっている「pg_config.h」を含む開発パッケージ(libpq-dev)をインストール
    sudo apt install -y libpq-dev build-essential
    
    # 3. インストール完了後、再度venv環境でpipを実行(スペルを修正)
    pip install psycopg2
    
    

    💡 補足:pipコマンドのスペルチェック

    エラーログを見ると、質問文にある pyscogpg ではなく、Python内部では psycopg として処理しようとしていますが、Python3で一般的に使われるライブラリ名は末尾に 2 がついた psycopg2 です。

    そのため、方法Aを試す場合も、コマンドは以下のように psycopg2-binary と指定して実行してください。

    # 正しいコマンド
    pip install psycopg2-binary
    
    

    これで pg_config.h のエラーは綺麗に解消され、無事にPython3環境でPostgreSQLと連携できるようになります。試してみてください!

    質問

    ありがとうございました。無事mplfinanceがインストールできました。
    今度はmplfinanceにcandlestick2_ohlcがないとのことです。

    File “/mnt/d/001_DATA/004_invest/999_Data/jQuants/output.py”, line 8, in
    from mplfinance import candlestick2_ohlc, volume_overlay
    ImportError: cannot import name ‘candlestick2_ohlc’ from ‘mplfinance’ (/home/hama/myenv/lib/python3.14/site-packages/mplfinance/init.py)

    candlestick2_ohlcとついでにvolume_overlayの名前が変わっていたりしたら、教えてください。

    Geminiの回答

    無事にライブラリがインストールできて良かったです!そして、Python 3.14の最新の仮想環境(myenv)構築まで一歩進まれましたね。

    今回発生している ImportError は、Python2時代の古い matplotlib.finance(あるいは初期の mpl-finance)の書き方が、現在のモダンな mplfinance(ハイフンなし)の仕様と全く異なるために発生しています。

    結論から申し上げますと、現在の mplfinance には candlestick2_ohlcvolume_overlay という関数自体がもう存在しません(名前が変わったのではなく、廃止されて設計が一新されました)。

    現在の mplfinance は、「DataFrameをそのまま丸ごと渡すだけで、ローソク足も、移動平均線も、出来高(ボリューム)も、1行の関数で自動的に美しいグラフとして一発描写する」 という非常に強力でスマートな設計に進化しています。

    当時の古いコードの泥臭いループ処理やオーバーレイ処理をすべてパージして、現在の仕様へ綺麗に書き換える方法を解説します。


    💡 現在の mplfinance の超シンプルな基本形

    昔はローソク足と出来高を別々に計算して重ね合わせる(volume_overlay)必要がありましたが、今は mpf.plot() という関数に、PandasのDataFrameをそのまま放り込むだけで完結します。

    新しい書き方の例

    import mplfinance as mpf
    import pandas as pd
    
    # 🌟 超重要: 現代のmplfinanceは、インデックスが「DatetimeIndex(日付型)」
    #   かつ、列名が「Open, High, Low, Close, Volume」である必要があります。
    df = pd.DataFrame(...) 
    
    # 1行でローソク足・5日/25日移動平均線・出来高を同時にプロット!
    mpf.plot(df, type='candle', mav=(5, 25), volume=True, style='charles')
    
    

    🛠️ 既存のスクリプト(output.py)を直すための具体的な書き換え手順

    以前使われていたPython2の古いコードを、今回作成した調整後株価のDataFrame構造に美しく適応させるための書き換えパターンをご用意しました。

    ❌ 【古いコードのイメージ(Python2時代)】

    # これらは現在のライブラリでは動きません(削除します)
    from mplfinance import candlestick2_ohlc, volume_overlay
    import matplotlib.pyplot as plt
    
    fig, (ax, ax2) = plt.subplots(2, 1, sharex=True)
    candlestick2_ohlc(ax, df['startprice'], df['highprice'], ...)
    volume_overlay(ax2, df['startprice'], df['endprice'], df['volume'])
    
    

    ✨ 【現代のコード(Python3 + 新しいmplfinanceへの修正版)】

    output.py のインポート部分と描画部分を、以下のようにサクッと差し替えてみてください。

    import mplfinance as mpf
    import pandas as pd
    
    # --- ここにPostgreSQLからデータを取ってくる処理があるとします ---
    # ※ 前工程で作成した「調整後株価」のDataFrame(result_df)があると仮定します。
    
    # 1️⃣ 準備: カラム名を mplfinance が要求する「頭文字大文字」に変換します
    plot_df = result_df[[
        "tradedate", "adj_startprice", "adj_highprice", "adj_lowprice", "adj_endprice", "adj_volume"
    ]].copy()
    
    plot_df.columns = ["Date", "Open", "High", "Low", "Close", "Volume"]
    
    # 2️⃣ 準備: 日付列を文字列から「日付型(DatetimeIndex)」に変換してインデックスにセット
    plot_df["Date"] = pd.to_datetime(plot_df["Date"])
    plot_df.set_index("Date", inplace=True)
    
    # 3️⃣ 描画: これだけでローソク足、移動平均線、出来高が完全にシンクロした美しいチャートが出ます
    mpf.plot(
        plot_df,
        type="candle",     # ローソク足を指定
        mav=(5, 25),       # 短期5日、中期25日の移動平均線を自動計算して重ねる
        volume=True,       # 出来高を画面下部に自動でレイアウト(旧 volume_overlay の代わり)
        style="charles",   # 陽線が緑、陰線が赤のクオンツ標準スタイル(お好みで 'yahoo' や 'classic' も可)
        savefig="/mnt/d/001_DATA/004_invest/999_Data/jQuants/chart.png" # 🌟ファイルへ直接保存する場合
    )
    print("📈 チャート画像の出力を完了しました!")
    
    

    💡 進化したメリット

    • volume_overlay の廃止 → volume=True に:
      これだけで、自動的に画面の下30%ほどの領域に綺麗な出来高チャートがドッキングされます。X軸(日付)のズレを気にして自前でサブプロット(ax2)を調整する苦労から完全に解放されます。
    • candlestick2_ohlc の廃止 → type='candle' に:
      四本値の列を1本ずつ指定して渡す必要がなくなりました。適切な列名(Open, High, Low, Close)を持ったDataFrameを丸ごと認識して勝手に描画してくれます。

    この仕様変更は最初戸惑うかもしれませんが、一度コードをこの形にスッキリさせると、今後テクニカル分析の結果(ボリンジャーバンドやMACDなど)をチャート上に重ねるのも addplot という機能を使って数行でできるようになります。

    まずは1銘柄分でこの mpf.plot() が動くか試してみてください。一気にモダンなクオンツチャートが飛び出してきます!

  • ITパスポートはどんな資格ですか?

    IT業務担当が最初に受験したり、業務でITを利用する人がITについて学ぶために適切な試験だと思います

    ITパスポート試験について

    • IT関連国家試験では、初級のものです。
    • ストラテジー、マネージメント、テクノロジーの三分野からの出題で、合格には
      • 各分野300点以上(1,000点満点換算)
      • 合計1,000点満点で600点以上の得点が必要です
    • 試験はPC上の専用アプリを使って行なわれます。
      • CBT方式(Computer Based Testingというらしいです
      • ですので、採点はすぐに行なわれ、点数が表示されました
      • 合否は別途発表です
    • 出題内容は、IT関連の知識はもちろん、簿記や組織マネージメントの内容まで幅広いものでした
      • ある程度の規模の会社でITに関連する業務に携わることが、念頭におかれているようですね。いや小規模のほうが一人の守備範囲が広いのか。。。

    私のIT知識バックグラウンド

    情報システム部ではありませんでしたが、会社員時代は一貫してソフトウェア開発やデータ利用業務に携わってきましたので、ITリテラシーはそれなりに持っていると思います。

    勉強方法

    勉強は問題集を一冊買って、

    • 収録された問題を一通り解いてみて、
    • できなかった問題を正答するまで繰り返して解いて

    いきました。そして直前の前日・当日は本番で使う出題・回答を行なうアプリの疑似体験ソフトウェアを使い、

    • そこに収録されている模擬試験を行ない、
    • 出来が悪かったマネジメント分野でできなかった問題の復習

    を実行しました。なおこの模擬試験は100題収録され、本番の予行演習に適切なものでした。本番の問題より、難しかったと思います。

    採点結果

    受験終了後すぐに結果が表示され、3分野、合計ともに合格基準を超えていました。合否は別途発表らしいですが、たぶん合格しているのではないかな、と思っています。なお模擬試験では出来が悪かったマネジメント分野が、本番では最も高得点でした。直前のインプットは大事なんですね。。。

    所感

    ITのことをひと通り知っていることを証明するもので、たぶん実際にIT業務に携わる人はこの試験を受けることはないか、入社直後か学生のころに受験するものなのだろうと思います。逆にITシステムを使う側の人が、ITについて学ぶためにはうってつけだと思いました。
    私は株式等の投資をやっていくためにIT技術を使うというITとの付き合い方なので、まぁIT開発をマネージメントすることはなく関係ない部分もありますが、自分の能力を知るということで受験した意味があったと思います。

  • WordPressで投稿の型を作成できますか?

    マイパターンを作成して、型(テンプレート)として使えます

    Snapdragon CPUのPCでは、Google日本語入力使用不可

    NPUが強力なので、CPUがSnapdragonのPCを購入しました。事前にメインで使っているアプリ(Chrome、Obisidian、Notion、emacsなど)がネイティブ対応していることを確認したのですが、Google日本語入力はネイティブ対応どころか、x86系の実行ファイルをインストールすることすらできませんでした。

    まったくノーケアだったので自分が悪いのですが、不便だなぁと思っています。マイクロソフトの日本語入力を慣らしていきます。

    IT tips

  • WordPressで投稿の型を作成できますか?

    マイパターンを作成して、型(テンプレート)として使えます

    WordPressの投稿テンプレート作成

    投稿を作成する際、前日までに作成した投稿をコピーして書き換えていましたが、テンプレートを作ってそれを呼び出して投稿を作ろうと考えました。WordPressのパターンを自作することによって、それができそうだとわかったので、手順をメモしておきます。なおこの投稿時のWordPressバージョンは、6.9.4です。

    1. 投稿エディタで、右上の点3つをクリックする


    2. “パターンの管理”を選択する

    3. “パターンを追加”ボタンを押す

    4. 名前、使用するカテゴリを入力、”同期”は選択を外して、”追加”ボタンを押す

    5. エディタ画面が出てくるので、投稿ページを作成するときと同様にブロックを並べる

    6. 出来上がったら、右上の”保存”ボタンを押す


    これで、ページのパターンが出来上がりです。投稿を作成する際に、このパターンを呼び出す手順は次です。


    作成したパターンの呼び出し

    1. 新規投稿ページを立ち上げる(“投稿を追加”ボタンを押すなど)

    2. 左上の”+”ボタンを押す(ブロックインサーターというらしいです)

    3. “パターン”タブを押して、”マイパターン”を選択すると、作成したパターンが出てくるので、それをクリックする

    4. これで、投稿エディタにパターンが追加されます。

    IT tips

  • 特定の日の投稿を1ページにまとめるショートコード

    このBlogではWordPressを使って、投資関連やIT関連などテーマごとに投稿を作成し、それらを日ごとにまとめてページを作成しています。
    その際に投稿日を指定して、まとめて投稿を表示するページを作成するショートコードを使用しています。

    使い方

    ショートコードブロックに、次のように記述します。date=”YYYY-MM-DD”で日付を引数として与えます。

    コード

    以下のコードをfunction.phpに追加します。

    add_shortcode('daily_full_content', function($atts) {
        // 現在表示している「まとめ記事」自体のIDを取得
        $current_post_id = get_the_ID();
    
        $atts = shortcode_atts(array(
            'date' => date('Y-m-d'), 
        ), $atts);
    
        $args = array(
            'post_type'      => 'post',
            'post_status'    => 'publish',
            'posts_per_page' => -1,
            'post__not_in'   => array($current_post_id), // 自分自身を除外
            
            // 【追加】並び替え設定:タイトル(辞書順)の昇順
            'orderby'        => 'title',
            'order'          => 'ASC',
            
            'date_query'     => array(
                array(
                    'year'  => date('Y', strtotime($atts['date'])),
                    'month' => date('m', strtotime($atts['date'])),
                    'day'   => date('d', strtotime($atts['date'])),
                ),
            ),
        );
    
        $query = new WP_Query($args);
        if (!$query->have_posts()) return '<p>指定された日付の個別記事は見つかりませんでした。</p>';
    
        $output = '<div class="daily-full-content-wrapper">';
        while ($query->have_posts()) {
            $query->the_post();
            
            $output .= '<article class="entry-item" style="margin-bottom: 60px; padding-bottom: 40px; border-bottom: 2px solid #000;">';
            $output .= '<h2 style="margin-bottom: 20px; font-size: 1.8em;"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
            
            // 本文全文を表示
            $content = apply_filters('the_content', get_the_content());
            $output .= '<div class="entry-content-body">' . $content . '</div>';
            
            $output .= '</article>';
        }
        $output .= '</div>';
        
        wp_reset_postdata();
        return $output;
    });

    他、動作仕様など

    • 指定された日付に発行された投稿で、自分自身以外を並べて表示します
    • 表示順序は、タイトルの辞書順です
    • このショートコードを使うと、JetpackによるSNSへの自動投稿で記事を俯瞰してみせる画像が真っ白になったり、ショートコード呼び出し記述の表示になってしまうのが課題です
  • WordPressにGoogle AdSenseの導入

    このBlogに広告を入れようと、Google AdSenseを申し込みました。Google AdSenseの導入には、ページのヘッダにJavascriptの呼び出しを挿入する必要があります。そこでWordPressでの方法を調べたので、メモします。


    Google AdSense申し込みで指定のScriptを挿入するPHPコード

    次のコードをfunction.phpに追加します。

    add_action('wp_head', function() {
    ?>
    <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxxxxxxxxxxxxxxx" crossorigin="anonymous"></script>
    <?php
    });

    xxxの箇所は各人の申し込み時に指定された値が入ります。


    またWPCodeというプラグインでのやり方もあるそうです。

  • WordPressで公開日指定で記事を表示

    このBlogではテーマごとに記事を分けて登録し、それらを日ごとに一つにまとめたページを作成して、その日の日記形式にしています。これまでタグやカテゴリーを利用して記事をまとめていましたが、タグは個数制限にあい、カテゴリーは増えすぎて使い勝手が悪くなりました。

    そこで記事の公開日でまとめることにして、追加のショートコードをGeminiに作ってもらいました。

    ショートコード daily_full_content

    add_shortcode('daily_full_content', function($atts) {
        // 現在表示している「まとめ記事」自体のIDを取得
        $current_post_id = get_the_ID();
    
        $atts = shortcode_atts(array(
            'date' => date('Y-m-d'), 
        ), $atts);
    
        $args = array(
            'post_type'      => 'post',
            'post_status'    => 'publish',
            'posts_per_page' => -1,
            'post__not_in'   => array($current_post_id), // 自分自身を除外
            
            // 【追加】並び替え設定:タイトル(辞書順)の昇順
            'orderby'        => 'title',
            'order'          => 'ASC',
            
            'date_query'     => array(
                array(
                    'year'  => date('Y', strtotime($atts['date'])),
                    'month' => date('m', strtotime($atts['date'])),
                    'day'   => date('d', strtotime($atts['date'])),
                ),
            ),
        );
    
        $query = new WP_Query($args);
        if (!$query->have_posts()) return '<p>指定された日付の個別記事は見つかりませんでした。</p>';
    
        $output = '<div class="daily-full-content-wrapper">';
        while ($query->have_posts()) {
            $query->the_post();
            
            $output .= '<article class="entry-item" style="margin-bottom: 60px; padding-bottom: 40px; border-bottom: 2px solid #000;">';
            $output .= '<h2 style="margin-bottom: 20px; font-size: 1.8em;"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
            
            // 本文全文を表示
            $content = apply_filters('the_content', get_the_content());
            $output .= '<div class="entry-content-body">' . $content . '</div>';
            
            $output .= '</article>';
        }
        $output .= '</div>';
        
        wp_reset_postdata();
        return $output;
    });

    1月の記事の公開日がなぜか変わってしまっていて、このコードが使えず、それ用のタグを残さざるを得ませんでした。が、今後はこれを使って運用していこうと思います。

  • Geminiに今日の株式市場関連記事を聞いてみた(2)

    朝のGemini回答がいまひとつだったので、質問を変えました。11

    Geminiへの質問

    2026年3月18日の日本株式市場に影響を与えるニュースのうち、影響が大きい5件を挙げてください
    – 2026年3月17日~2026年3月18日に発行された記事にしてください

    アウトプットには
    – 記事のタイトル
    – URL
    – 100字ほどでの記事要約(日本語)
    を入れてください。

    またBlogに掲載したいと思うので、次のような形式のアウトプットも追加してください
    – 箇条書きで記事のポイントを記したテキストをURLのリンクを付けて表示
    – 各リストの下にインデントを入れて記事要約を表示

    Geminiの回答(11:15頃の実行です)

    `2026年3月18日(水)の日本株式市場は、前日までの続落から一転、1100円を超える記録的な大幅反発を見せる極めてダイナミックな一日となっています。

    投資判断に直結する、3月17日から18日にかけての最重要ニュース5選をお届けします。


    日本株式市場に影響を与える重要ニュース5選

    1. 日経平均株価が急反発、上げ幅一時1100円を突破

    • URL: https://kabutan.jp/news/marketnews/?b=n202603180361
    • 記事要約: 18日の東京株式市場で、日経平均株価は前日比1100円超の爆騰を見せ、5万4800円台まで回復しました。前日の米株高や原油安を好感した買いが入り、前日までの4営業日続落による割安感から幅広い銘柄に買い戻しが殺到しています。

    2. 円相場160円目前、片山財務相が「断固とした対応」を再表明

    • URL: https://www.gaitame.com/media/entry/2026/03/18/082608
    • 記事要約: ドル円が一時159円台まで円安が進む中、片山財務相は「いかなる時も万全の対応を取る」と述べ、為替介入を辞さない姿勢を改めて強調しました。日銀の植田総裁も物価目標実現への自信を示しており、金融政策への注目が集まっています。

    3. 2月貿易収支が予想外の黒字、輸出株にポジティブな影響

    • URL: https://fx.minkabu.jp/news/361491
    • 記事要約: 財務省が発表した2月の貿易統計(速報)によると、貿易収支は573億円の黒字となりました。大幅な赤字を予想していた市場にとってサプライズとなり、日本の輸出競争力の底堅さが意識され、自動車株などの支援材料となっています。

    4. 今夜の米FOMC、パウエル議長発言を前に市場は警戒と期待

    • URL: https://www.oanda.jp/lab-education/market_news/2026_03_18_usdjpy/
    • 記事要約: 日本時間19日未明に控える米連邦公開市場委員会(FOMC)の結果発表に向け、投資家は注視しています。政策金利の据え置きが濃厚視される中、パウエル議長が年内の利下げ時期についてどのような示唆を与えるかが焦点です。

    5. 地政学リスク一段落で海運・商社株が上昇率上位に

    • URL: https://www.yomiuri.co.jp/economy/20260317-GYT1T00334/
    • 記事要約: 中東情勢緊迫による原油高が一服し、前日の米市場でエネルギー価格が下落した流れを受け、東京市場でも海運や商社株に買いが流入。特に川崎汽船などの海運大手が高い上昇率を記録し、相場を牽引しています。

    Blog掲載用:本日のマーケットトピックス


    本日の爆騰を受け、テクニカル的な節目(5万5000円)の突破可能性や、今夜のFOMCを受けた明日のシミュレーションなども可能です。ご希望があればお知らせください。

    市場が動いていることもあるかもしれませんが、気になるニュースを選んでくれており、だいぶよいです。

  • Geminiたちにアメリカ景気動向に関する指数について聞いてみた

    アメリカの景気動向把握で参照される指数について、Googleの生成AIを使ってまとめました。手順は、次のようです。

    1. Geminiにアメリカの景気動向把握に使われる指数を挙げてもらう
    2. Deep Research (in Gemini)に各指標の最新値を調べてもらう
    3. NotebookLMに各指標の前月比・前期比をまとめてもらう

    NotebookLMの出力を、そのまま貼り付けます。

    —- NotebookLMの出力 —–

    改善している指標(前月または前期比

    製造業の生産活動や過去の勢いを残す一部のデータ、および一時的な低下を示す指標が含まれます。

    • 鉱工業生産指数: 2026年1月は102.34となり、前月比で0.7%上昇しました。
    • 個人所得・可処分所得: 2025年12月の個人所得および可処分所得は、ともに前月比で0.3%増加しました。
    • 個人消費支出 (PCE): 2025年12月は前月比で0.4%増加しました。
    • 住宅着工件数: 2025年12月は年率換算で140万4,000戸となり、前月比で6.2%増加しました。
    • 住宅建設許可件数: 2025年12月は144万8,000件となり、前月比で4.3%増加しました。
    • 広義失業率 (U-6): 2026年2月は7.9%となり、前月の8.1%から**低下(改善)**しました。
    • 新規失業保険申請件数: 4週移動平均が215,750件へと**低下(改善)**しており、直近のトレンドとしては低水準で安定しています。
    • 消費者態度指数 (ミシガン大): 2026年2月は56.6となり、1月の56.4から数値上はわずかに上昇しました(ただし歴史的な低水準であり、実質的には「ほぼ改善が見られなかった」と評価されています)。

    悪化している指標(前月または前期比)

    経済の根幹に関わる成長率や雇用、消費の勢いを示す指標において、顕著な悪化が見られます。

    • 実質GDP成長率: 2025年第4四半期(速報値)は前期比年率1.4%急激に減速しました。
    • 非農業部門雇用者数: 2026年2月は9万2,000人の減少となり、前月の12万6,000人増から急落し、マイナス成長に転落しました。
    • 失業率: 2026年2月は4.4%となり、1月の4.3%から小幅に**上昇(悪化)**しました。
    • 小売売上高: 2026年1月は前月比で0.2%減少し、消費の明確な失速を示しています。
    • ISM製造業景気指数 (PMI): 2026年2月は52.4となり、前月の52.6から低下しました(※ただし、50の境界線を上回る「拡大圏」自体は維持しています)。
    • NAHB住宅市場指数(建設業者の景況感): 2026年2月は36となり、前月から1.0ポイント低下しました。判断の分かれ目である50を大きく下回っています。
    • S&P 500指数 (株式市場): 地政学的リスクを背景に、2026年3月9日に6,627ポイントまで急落しました。

    まとめ 個人所得や生産活動などの一部の指標には前月からの改善が見られるものの、これらは地政学的ショック前の「残存する勢い」や「遅行指標」としての性格が強いと指摘されています。一方で、GDPの急減速や雇用のマイナス転換、小売売上の減少など、マクロ経済のダイナミクスを形成する重要指標が悪化しており、米国経済は全体としてスタグフレーション的な停滞へ移行しつつあると分析されています

    —- NotebookLMの出力終わり ——-

    • Deep Research、NotebookLMは最近使い始めたので連携するのに苦労しましたが、生成AIすごいです。これやろうとしたら、人手だと半日~1日かかると思います。それが、途中で手こずったけど1時間で終わりました。しかもまとめとして所感まで出してくれています。
    • 結果は未検証ですが、数日前に感じた「アメリカの景気動向指数って、マチマチの結果なんじゃないの?」は正しい直感でした。

  • Gitのデータが壊れた際のデータ復旧(ローカルのデータが最新の場合)
    Obsidianで書いて、GitHubでバージョン管理、PC・スマホ間同期をしているメモが壊れたので復旧したい際のメモ。今後も同じことがありそうなので。。。
    作業用のフォルダを作って、そこを使ってGitHubサーバ上を最新データにして、それをローカルの作業場にダウンロードします。

    1. 作業用フォルダ作成
    2. GitHubサーバのデータ、バージョン情報をダウンロード
      git clone {gitリポジトリのURL}
    3. 最新データファイルを作業用フォルダにコピー
    4. GitHubサーバにコピー
      git push
    5. 元のフォルダに移る
    6. 元のフォルダを空にする
    7. GitHubサーバのデータをダウンロード
      git clone {gitリポジトリのURL}