ポートフォリオグラフに円グラフとトレンド分析を追加した話【AIと共同制作②】

ポートフォリオグラフに円グラフとトレンド分析を追加した話【AIと共同制作②】 ブログ運営
スポンサーリンク

ポートフォリオグラフに円グラフとトレンド分析を追加した話【AIと共同制作②】

前回作ったポートフォリオグラフに、セクター比率とトレンド分析を追加しました。
36銘柄になってきたので「どこに偏ってる?」「どこが伸びてる?」を可視化した続編です。


① きっかけ

前回の記事(AIとゼロからポートフォリオグラフを作った話)で、5種類のグラフを作りました。

トータル推移、ヒートマップ、銘柄別損益、セクター別折れ線、株価変化率。これだけあれば十分だろうと思っていたんですが、36銘柄に増えてきて新しい疑問が出てきました。

「そもそも自分のポートフォリオ、セクター的に偏ってない?」

セクター別折れ線グラフは「含み損益の推移」は見えるんですが、評価額ベースの比率がわからない。つまり「ヘルスケアに全体の何%突っ込んでるのか」が見えてなかったんです。

もうひとつ。

「どのセクターが直近で伸びてて、どこが沈んでるのか」

銘柄単位の前日比はあるけど、セクター単位で見たトレンドがなかった。次に何を買い増すかの判断材料として、これが欲しかった。

というわけで、クロちゃんに追加をお願いしました。

さらに作業を進めていく中で、もうひとつ欲しいものが出てきました。

「市場全体でどのセクターが過熱してるのか」

自分のポートフォリオだけ見ていても、市場の波に乗れているのかわからない。東証33業種の騰落データを使って、市場全体のセクタートレンドも可視化することにしました。こちらはチャッピー(ChatGPT)にデータ収集を担当してもらいました。


② 追加したグラフ

⑥ セクター比率(円グラフ)

評価額ベースのドーナツチャートです。

各セクターをタップすると、構成銘柄がアコーディオンで展開されます。銘柄ごとの評価額と含み損益(金額・%)が一覧で見える仕組み。

見てすぐわかったこと:ヘルスケア・医薬が全体の約33%を占めている。

理由はHOYAです。1銘柄で5万4千円。2株持ってるだけでセクター比率をぶっ壊すレベルの存在感w

逆に海運は川崎汽船1銘柄で全体の1%未満。セクター分散という観点では、まだまだ偏りがありますね。

⑦ セクター別トレンド(前日比 / 前週比)

各セクターの評価額の前日比と前週比を横棒グラフで表示しています。

こちらもタップで構成銘柄が展開されて、銘柄ごとの前日比・前週比がパーセントと金額の両方で確認できます。

「セクター全体で見ると食品が下がってるけど、中を開けたらキッコーマンが足引っ張ってるだけだな」みたいな分析が一瞬でできる。

前週に未保有だった銘柄(住友電工など新規購入分)は「NEW」と表示されます。

⑧ 市場セクタートレンド(東証33業種→13セクター集約)

これがおまけのつもりで作って一番面白かったやつです。

東証33業種の騰落率データをチャッピーに取ってきてもらい、自分のポートフォリオと同じ13セクターに集約して表示しています。

前日比・1週間・1ヶ月・6ヶ月・1年の5期間をタブで切り替え可能。過熱セクターには🔥、冷却セクターには🧊のタグが自動表示されます。

タップすると東証33業種の内訳が展開されるので、「素材・製造が過熱してるのは非鉄金属が+14%で引っ張ってるからか」みたいな深掘りもできます。

🟢は自分が保有しているセクター、🔘は未保有。未保有のセクターが上位にいたら「乗り遅れてる」とわかる仕組みです。


③ 実装のポイント

新しいデータブロックは追加していない

ここが一番こだわったところです。

既存の STOCKS_HEATMAP(銘柄別評価額)と SECTORS(セクター別pnl配列)から、JavaScript内で全部計算しています。

セクター評価額 = STOCKS_HEATMAPのvalueをセクター別に合計
前日の評価額   = 投資額(value - pnl) + 前日のpnl
前週の評価額   = 投資額(value - pnl) + 前週のpnl

つまり、毎週のデータ更新は今まで通り5つのブロックを書き換えるだけで、⑥と⑦のグラフも自動的に最新になります。

26年エンジニアとしては、これが一番大事。更新コストが増えない設計じゃないと続かないので。

積み上げ棒グラフは不採用にした

最初は「前週・前日・当日の3本で100%積み上げ棒グラフを作ったら比率の変化が見えるのでは?」と試してみたんですが……

大して変わらねぇw

考えてみれば当然で、DCAで月1万円を36銘柄に分散してるわけですから、1週間でセクター比率が劇的に変わるわけがない。

クロちゃん:逆に言うと、これが意味出てくるのは1〜2ヶ月後。「テックに偏りすぎてるから次は食品買おう」みたいな判断材料になります。

というわけで、比率は円グラフで「今」を見る。トレンドは横棒で「動き」を見る。役割を分けたほうがスッキリしました。

アコーディオンUIが正解だった

円グラフもトレンドも、セクターをタップすると構成銘柄が展開される仕組みにしました。

最初はツールチップだけでいいかなと思ったんですが、スマホで見ることを考えるとタップで展開するアコーディオンのほうが圧倒的に使いやすい。一覧性が全然違います。

⑧はクロちゃんとチャッピーの分業で実現

市場セクタートレンドは、クロちゃん単体では作れませんでした。リアルタイムの業種別騰落率データが必要だからです。

そこでチャッピーに「東証33業種の騰落率をTSVで出して」とプロンプトを投げて、データ収集を担当してもらいました。返ってきたTSVをクロちゃんに渡してグラフ化。

チャッピー:データ収集 → クロちゃん:グラフ化

この分業フロー、一昔前ならExcelで半日かけてやってたことが、プロンプト2本で終わりますw

実際にチャッピーに投げたプロンプトがこちらです。

# チャッピーへの指示:セクター別騰落率データ取得(全期間)

## 目的
日本株市場の東証33業種の騰落率を全期間分取得して、TSV形式で出力してください。

## 取得してほしいデータ

以下の5期間すべての騰落率を取得してください。

- 前日比(%)
- 1週間騰落率(%)
- 1ヶ月騰落率(%)
- 6ヶ月騰落率(%)
- 1年騰落率(%)

ソースはYahoo!ファイナンス、日経、株探、みんかぶ等どこでもOKです。

## 東証33業種リスト(漏れチェック用)

水産・農林、鉱業、建設、食料品、繊維、パルプ・紙、化学、医薬品、
石油・石炭、ゴム、ガラス・土石、鉄鋼、非鉄金属、金属製品、機械、
電気機器、輸送用機器、精密機器、その他製品、電気・ガス、陸運、海運、
空運、倉庫・運輸、情報・通信、卸売、小売、銀行、証券・商品先物、
保険、その他金融、不動産、サービス

## 出力形式

業種名(タブ)前日比(%)(タブ)1週間比(%)(タブ)1ヶ月比(%)(タブ)6ヶ月比(%)(タブ)1年比(%)

## ルール

- 33業種すべて漏れなく出力
- 数値は小数点第2位まで
- プラスには「+」をつける
- 取得できなかった項目は「N/A」と記入
- データ取得日時を最終行に明記
- TSV以外のテキスト(説明・補足・注釈)は一切不要

「TSV以外一切不要」と念押ししないと、チャッピーは余計な説明を足してくるので注意ですw


④ 見えてきたこと

グラフを追加して、ポートフォリオの構造的な課題が見えてきました。

HOYA依存のヘルスケア偏重

ヘルスケア・医薬がポートフォリオの約33%を占めています。ただしその半分以上がHOYA1銘柄。

HOYAが大きく下がるとポートフォリオ全体に直撃するリスクがあるということです。良くも悪くもHOYA次第。

テック・ITはアドバンテスト一本足

テック・ITセクターの約60%がアドバンテスト。半導体サイクルの影響をモロに受けるセクター構成になっています。

食品・消費財は下落トレンド

トレンドグラフを見ると、食品・消費財セクターが前週比でマイナス。中を開けると、キッコーマンとトリドールHDが足を引っ張っていることがわかります。

次に買うべきセクターが見えた

セクター比率が低い「海運」「人材・サービス・精密」あたりに追加すると分散が効く。トレンドが上向きのセクターに乗るか、下がってるセクターを拾うか。

市場の波と自分のポートフォリオのギャップ

⑧の市場セクタートレンドを1年で見ると、非鉄金属が+323%、電気機器が+89%で素材・製造とテック・ITが圧倒的に過熱しています。

自分のポートフォリオを見ると、素材・製造は保有しているけど比率は14%程度。テック・ITは19%でアドバンテスト頼み。市場の波に乗れてはいるけど、もっと厚く張れた可能性はあったということです。

逆に未保有の「エネルギー」は1年で+65%超。完全に乗り遅れてるw

自分のポートフォリオの比率 × 市場のトレンド = 次のアクション。

この掛け算が一画面で見えるのが、今回のグラフ追加の最大の収穫でした。


まとめ

ポートフォリオ損益レポート
📊 ポートフォリオ損益レポート

累計投資額
時価総額
含み損益
損益率
① 評価額 / 投資額 / 含み損益の推移
② ポートフォリオ ヒートマップ(評価額ベース)
③ 銘柄別 含み損益(今週)
④ セクター別 損益推移
⑤ 株価変化率(初動検知)
⑥ セクター比率(評価額ベース)
▼ セクターをタップで構成銘柄を表示
    ⑦ セクター別トレンド(前日比 / 前週比)
    前日比
    前週比
    ▼ セクターをタップで構成銘柄を表示
      ※ 前週に未保有の銘柄は「NEW」表示
      ⑧ 市場セクタートレンド(東証33業種→13セクター集約)
      ▼ セクターをタップで構成業種を表示
        ※ 各セクターの値は構成業種の単純平均 | 🟢保有あり 🔘未保有

        前回の5種グラフに、セクター比率(円グラフ)、セクター別トレンド(横棒グラフ)、市場セクタートレンドを追加して、合計8種になりました。

        やったことをまとめると、こうです。

        • ⑥ セクター比率:評価額ベースの円グラフ。タップで構成銘柄展開。未保有セクターも0%で明示。
        • ⑦ セクター別トレンド:前日比・前週比の横棒グラフ。タップで銘柄別の%と金額を表示。
        • ⑧ 市場セクタートレンド:東証33業種→13セクター集約。5期間タブ切り替え。過熱🔥/冷却🧊タグ付き。
        • ⑥⑦は既存データから自動計算:新しいデータブロック不要。更新コストゼロ。
        • ⑧はチャッピーとの分業:データ収集はチャッピー、グラフ化はクロちゃん。
        • 積み上げ棒は不採用:DCAでは短期の比率変化が小さすぎて意味がなかったw

        ポートフォリオが「数字の羅列」から「構造を持った地図」になり、さらに「市場全体の風向き」まで見えるようになりました。次はこの地図を見ながら、どこに兵を送るか考えますw


        ※本記事は個人の投資記録です。特定銘柄の購入を推奨するものではありません。投資は自己責任でお願いします。

        タイトルとURLをコピーしました