[{"data":1,"prerenderedAt":459},["ShallowReactive",2],{"content-/fcf-scatter-tenbagger-research":3,"related-/fcf-scatter-tenbagger-research":405,"all-pages-for-dir":457,"og-image-/fcf-scatter-tenbagger-research":458},{"id":4,"title":5,"body":6,"category":388,"description":389,"extension":390,"meta":391,"navigation":352,"ogImage":392,"path":393,"project_name":394,"published":395,"publishedAt":396,"seo":397,"stem":398,"tags":399,"todo":392,"unpublished":395,"updatedAt":392,"__hash__":404},"pages/2026-06/2026-06-15/fcf-scatter-tenbagger-research.md","テンバガー研究論文を起点に /beat-monitoring/scatter へ FCF 基準トグルを追加する",{"type":7,"value":8,"toc":376},"minimark",[9,18,22,35,38,44,47,58,61,65,72,84,91,95,98,109,115,133,137,144,147,150,173,192,196,199,202,224,227,238,284,287,291,294,300,303,306,321,335,338,341,373],[10,11,12,13,17],"p",{},"朝、BCU（Birmingham City University）が出しているテンバガー株の研究論文を見つけて読んだ。「結局フリーキャッシュフローが効いた」という主旨で、自分の ",[14,15,16],"code",{},"/beat-monitoring/scatter"," ページが今は EPS NTM 成長率 vs フォワード PER の軸だけになっているのが急に物足りなく感じた。計画書を書いて Codex にレビューしてもらい、FCF データを Koyfin から引っ張るところまで進めた。ただ最後、「FCF Yield と FCF 成長率の2軸だけでは株価指標がどこにも入っていないのでは」という違和感が残り、軸の決め方を再検討中で止まっている。",[19,20,21],"h2",{"id":21},"論文を見つけた瞬間に既存ページが古く見えた",[10,23,24,25,34],{},"論文の URL は ",[26,27,33],"a",{"href":28,"target":29,"rel":30},"https://open-access.bcu.ac.uk/16180/","_blank",[31,32],"noopener","noreferrer","→ BCU テンバガー論文","。Claude Code に既存記事を grep してもらったが、「テンバガー × FCF」の組み合わせで書かれた記事はリポジトリに1本もなかった。過去にテンバガーをテーマにした記事は3本書いていたが、どれもストーリー寄りで、財務指標まで踏み込んだものはない。",[10,36,37],{},"論文をざっと読んだ印象は単純で、テンバガーの共通点を一つだけ挙げるならフリーキャッシュフローの伸びだ、というもの。EPS や売上ではなく、現金が増え続けたかどうか。",[10,39,40,41,43],{},"その瞬間、",[14,42,16],{}," の2軸が EPS NTM 成長率と Forward PER だけになっているのが古く見えた。EPS は会計上の利益で、減価償却や運転資本の動きが見えない。論文が言っているテンバガーの条件と直接つながらない。",[19,45,46],{"id":46},"ドキュメントから先に書いた",[10,48,49,50,53,54,57],{},"いきなり実装に入らず、論文の要旨と既存ページの限界を整理する公開記事を先に書くことにした。",[14,51,52],{},"doc-communication"," スキルの「結論先出し」と ",[14,55,56],{},"svg-diagram"," スキルの 720px / 8px ベースラインに沿って、SVG 図解を1枚作って記事1本にまとめた。",[10,59,60],{},"書きながら気づいたのは、自分の既存 scatter ページのガイドにも「PER だけでバリュエーションは決まらない、FCF が見えていない」と既に書いてあったこと。論文を読まなくても、自分で書いた文章の中に伏線があった。読み返すまで気づいていなかった。",[19,62,64],{"id":63},"計画書を-codex-にレビューさせて3度修正した","計画書を Codex にレビューさせて3度修正した",[10,66,67,68,71],{},"記事を書き終えてから、scatter ページ拡張の実装計画書を別途作って Codex でレビューさせた。",[14,69,70],{},"~/.claude/rules/plan-codex-review.md"," の手順通り「致命点だけ指摘して」と指示したが、それでも致命点が3つ返ってきた。",[10,73,74,75,79,80,83],{},"一番痛かったのは ",[76,77,78],"strong",{},"「ADR 後の FCF 利回り式が逆」"," という指摘。自分は ",[14,81,82],{},"price ÷ (ntm_fcfps × ratio)"," と書いていたが、これは Multiple であって Yield ではない。Yield なら逆数を取らないといけない。横で見ているとすぐ分かるはずなのに、自分で書いている時は気づけない。",[10,85,86,87,90],{},"3つ修正して再レビュー、また1点出てきて修正、3度目で「致命点なし」を取った。Codex を ",[14,88,89],{},"resume --last"," でつなぐのを忘れると最初の文脈が消えるので、ここは毎回気をつける。",[19,92,94],{"id":93},"phase-0-のデータ確認で詰まる","Phase 0 のデータ確認で詰まる",[10,96,97],{},"実装は Phase 0（データ存在確認）→ Phase 1（DDL）→ Phase 2-3（generate スクリプト拡張）→ Phase 4（純粋関数追加）→ Phase 5（UI）→ Phase 6（ガイド更新）の6段で組んだ。",[10,99,100,101,104,105,108],{},"Phase 0 でいきなり詰まった。",[14,102,103],{},"v_latest_valuation"," view の DDL は別リポジトリ ",[14,106,107],{},"turso-replicas"," で管理されているはずだったが、migrations を覗くと該当 SQL がない。Turso 上で直接管理されていたらしく、手元から DDL の追跡ができない。",[10,110,111,114],{},[14,112,113],{},".env"," の読み取りは自分で禁止しているため、Claude Code から直接 Turso を叩けない。「実行スクリプトを書いておくのでこれを走らせて結果を貼ってください」と言ってもらったが、その後 Phase 0 の結果を出すのを忘れていて、次のターンで「これ進んでますか？」と聞いた時に止まっていることに気づいた。",[10,116,117,118,121,122,125,126,125,129,132],{},"ここで方針を切り替えた。view を触らず、generate スクリプト側で ",[14,119,120],{},"consensus_estimates"," を直読みする方式に変える。view のロールバックリスクが消え、DDL 管理の所在を気にしなくて済む。Phase 4 の純粋関数追加（",[14,123,124],{},"computeFcfYield",", ",[14,127,128],{},"computeFcfGrowth",[14,130,131],{},"getYAxisDisplay","）はデータが無くても安全に先行投入できるので、まずそこから入れた。Vitest を走らせて 38 件全パス。",[19,134,136],{"id":135},"fcf-データは-koyfin-から取れるか","FCF データは Koyfin から取れるか",[10,138,139,140,143],{},"Phase 5 まで UI を一気に進めた後、ブラウザで開いたら ",[76,141,142],{},"「FCF 基準では 13 銘柄全件が除外」"," と出た。UI は動いている。データが入っていないだけ。",[10,145,146],{},"ユーザーから「Koyfin でも取れないんでしたっけ？」と聞かれて、これは未確認だと気づいた。Koyfin に FCF コンセンサスがある可能性は十分高い。NVDA・MSFT・AAPL クラスなら普通に持っているはず。",[10,148,149],{},"調査を始めると、Koyfin の Earnings Matrix（Sales/EBITDA/EBIT/EPS タブ）には FCF タブが無く、ここからは取れない。一瞬「Case C 確定（データ源を変える方針判断が要る）」と判定しかけたが、別画面の EAC（Earnings Analytics Center）に FCF も CFO も CAPEX もコンセンサス付きで存在していた。",[10,151,152,153,156,157,160,161,164,165,168,169,172],{},"UI が裏で叩いている API を Network タブで覗くと、",[14,154,155],{},"/api/v3/fa/estimate-data"," という別エンドポイントが見つかり、body は ",[14,158,159],{},"{\"id\":\"eq-212q1o\",\"currency\":\"USD\",\"periodTypeId\":2,\"startYear\":2023,\"endYear\":2030}"," だけ。レスポンスに ",[14,162,163],{},"fest_estfcf","（FCF estimate, 12 期分）と ",[14,166,167],{},"fest_actfcf","（FCF actual）が揃っていた。しかも ",[76,170,171],{},"Free プランで叩けている","。",[10,174,175,176,182,183,187,188,191],{},"NVDA で PoC を組む。LTM 4Q（actual の末尾）と NTM 4Q（estimate の先頭）を分離して合計したら、LTM FCF ",[14,177,181],{"className":178},[179,180],"language-math","math-inline","119.1B / NTM FCF ","231.1B が出た。1株あたりに直すと LTM FCF/株 ",[14,184,186],{"className":185},[179,180],"4.90、NTM FCF/株 ","9.54。dev で開くと ",[76,189,190],{},"NVDA 1 点だけがプロット"," された。データ経路が動いている証拠が画面に出た。",[19,193,195],{"id":194},"_13-銘柄に拡大する","13 銘柄に拡大する",[10,197,198],{},"「全部取って」と指示が来たので、TICKER_META から構造転換済み tier の銘柄を抽出し、KID（Koyfin 内部 ID）を解決して回った。",[10,200,201],{},"途中で気づいた制約:",[203,204,205,209],"ul",{},[206,207,208],"li",{},"Samsung / SK hynix は私の Koyfin プランの検索結果が0で取れない",[206,210,211,212,215,216,219,220,223],{},"キオクシア（285A）は米国 ADR ",[14,213,214],{},"KXIAY:US"," として存在するが、",[14,217,218],{},"valuation.ts"," の ",[14,221,222],{},"285A"," キーが日本上場（円価格）なので単位ミスマッチを避けるため除外",[10,225,226],{},"結局、米国上場の10銘柄で batch 注入することになった。",[10,228,229,230,237],{},"batch 投入後の検証で、NVDA に ALAB の値が、SNDK に RDDT の値が混ざるバグが出た。原因は regex の lazy match が ",[76,231,232,233,236],{},"行を跨いで別 ticker の ",[14,234,235],{},"ntmFcfps:"," まで貫通"," していたこと。1 ticker = 1 行なので、行単位で処理に書き換えて再注入したら、10銘柄全件に正値が入った。dev で開くと10点プロットされた。",[239,240,241,263],"table",{},[242,243,244],"thead",{},[245,246,247,251,254,257,260],"tr",{},[248,249,250],"th",{},"ティッカー",[248,252,253],{},"LTM FCF/株",[248,255,256],{},"NTM FCF/株",[248,258,259],{},"成長率",[248,261,262],{},"利回り",[264,265,266],"tbody",{},[245,267,268,272,275,278,281],{},[269,270,271],"td",{},"NVDA",[269,273,274],{},"$4.90",[269,276,277],{},"$9.54",[269,279,280],{},"+94.9%",[269,282,283],{},"4.36%",[10,285,286],{},"（他9銘柄も同様に取得できたが詳細は割愛）",[19,288,290],{"id":289},"ここで違和感-株価指標が軸にない","ここで違和感: 株価指標が軸にない",[10,292,293],{},"ここで「ちょっと待って」が入った。",[295,296,297],"blockquote",{},[10,298,299],{},"これフリーキャッシュフロー利回りと、LTM フリーキャッシュフロー成長率の2軸でいいんでしたっけ？ 株価の指標がどっちかにないと、イマイチなような気がするんですけど。",[10,301,302],{},"確かに。EPS 基準の方は「NTM EPS 成長率 × Forward PER」で、PER に株価がしっかり入っている。一方 FCF 基準は「FCF Yield × FCF 成長率」だと両方とも fundamental の話で、PER に相当する株価指標が軸に乗っていない。",[10,304,305],{},"正確には FCF Yield の分母は株価なので、Yield の中に株価は埋め込まれている。ただ、軸を見ただけで「Multiple ベース（PER 系）か Yield ベース（利回り系）か」が一目で読めない。これは scatter 上で EPS 基準と FCF 基準を頭の中で並べて比較するときに、認知コストが跳ね上がる。",[10,307,308,309,312,313,316,317,320],{},"そこで、Yield ではなく ",[76,310,311],{},"Multiple（Price/FCF）"," に切り替える方向で再実装した。",[14,314,315],{},"x"," 表記（PER と同じ単位記号）にして、軸方向も ",[14,318,319],{},"lower-is-better"," で統一すると、PER の隣に並べた時の解釈が完全に揃う。Multiple なら反転トリックも要らなくなる。",[10,322,323,326,327,330,331,334],{},[14,324,325],{},"scatterSplit.ts"," に ",[14,328,329],{},"computeFcfMultiple"," を追加して ",[14,332,333],{},"getYAxisDisplay('fcf')"," の戻り値を Multiple 仕様に書き換え、scatter.vue から軸反転トリックを撤去。Vitest 43 件 pass。ブラウザで確認すると「フォワード FCF Multiple」の表示で10銘柄プロットが維持されている。NVDA 22.9x / MU 16.6x / SNDK 13.4x。PER と直接比較できる体裁になった。",[10,336,337],{},"ただし「Multiple 1本でいいのか、Yield と切替トグルにするか、それとも別軸として PER を残したまま FCF を第2軸として並列表示するか」はまだ決めきれていない。明日以降、論文が言うテンバガーの定義に立ち戻って軸の意味を考え直す。",[19,339,340],{"id":340},"明日以降に持ち越す論点",[203,342,345,355,361,367],{"className":343},[344],"contains-task-list",[206,346,349,354],{"className":347},[348],"task-list-item",[350,351],"input",{"disabled":352,"type":353},true,"checkbox"," BCU 論文をもう一度精読して、テンバガー判定に「Multiple」を使っているか「Yield」を使っているか確認する",[206,356,358,360],{"className":357},[348],[350,359],{"disabled":352,"type":353}," FCF Multiple と Forward PER の2銘柄並列散布図を一度試作してみる（軸の意味を揃えた状態で目視比較する）",[206,362,364,366],{"className":363},[348],[350,365],{"disabled":352,"type":353}," Samsung / SK hynix / キオクシア（日本上場）の FCF データ取得経路を別途検討する（Koyfin 以外）",[206,368,370,372],{"className":369},[348],[350,371],{"disabled":352,"type":353}," MU / SNDK の NTM FCF が急増している件、半導体サイクル底→ピーク移行 + SNDK 分社直後の特殊性を分けて精査する",[10,374,375],{},"論文を読んで「自分のページが古い」と感じた瞬間から、ドキュメント → 計画 → Codex レビュー → 実装 → ブラウザ確認 → データ取得経路の切替 → 軸の意味の再検討、まで一日で動けたのは、各フェーズを Claude Code に並行して回させた構図の効果が大きい。判断する係は自分、実行する係は AI、という分担がはっきりしてくると、こういう「論文1本から実装1段」のサイクルが半日で1周する。",{"title":377,"searchDepth":378,"depth":378,"links":379},"",2,[380,381,382,383,384,385,386,387],{"id":21,"depth":378,"text":21},{"id":46,"depth":378,"text":46},{"id":63,"depth":378,"text":64},{"id":93,"depth":378,"text":94},{"id":135,"depth":378,"text":136},{"id":194,"depth":378,"text":195},{"id":289,"depth":378,"text":290},{"id":340,"depth":378,"text":340},"dev","BCU のテンバガー株研究論文を読み「結局 FCF が効いた」というメッセージを受けて、自作の散布図ページに FCF Yield と FCF 成長率の軸を追加する作業を始めた。Koyfin 経由のデータ取得まで進めたが、株価指標の入れ方で立ち止まっている。","md",{},null,"/fcf-scatter-tenbagger-research","beat-monitoring",false,"2026-06-15T00:00:00.000Z",{"title":5,"description":389},"2026-06/2026-06-15/fcf-scatter-tenbagger-research",[394,400,401,402,403],"FCF","テンバガー","散布図","Koyfin","KWRdvCQBD4LOsAXDRWOpKuWzeHLEm5byqjU_AZYKwho",[406,417,428,438,448],{"title":407,"description":408,"path":409,"tags":410,"publishedAt":396,"updatedAt":392},"10倍株研究はFCF利回りを主要因に挙げた — 自作『PER×成長率』散布図を『FCF×成長率』に拡張する案","Birmingham City University の Yartseva 2025（米国主要取引所で 2009〜2024 に10倍以上に値上がりした464銘柄の実証分析）は、マルチバガー株の主要な駆動要因として FCF 利回りを特定した。自作 /beat-monitoring/scatter の Forward P/E × NTM EPS 成長率は、同じ平面を別の物差しで描いたもの。両者の対応関係・問題点・FCF 利回り × FCF 成長率 への拡張案までを、ドキュメント・コミュニケーションの構造で整理する。","/tenbagger-fcf-yield-vs-pe-growth",[401,411,412,413,402,414,415,416],"FCF利回り","PER","PEG","論文レビュー","ビートモニタリング","バリュエーション",{"title":418,"description":419,"path":420,"tags":421,"publishedAt":427,"updatedAt":392},"/check-earnings の対象銘柄を全銘柄デフォルトに変更 ＋ ダイナミックワークフロー保留メモ","毎朝叩く /check-earnings の --tickers デフォルトを KID 登録済み全銘柄（29銘柄）に拡張した。あわせて、ここ数日の積み残しチェックリストを進めつつ、Dynamic Workflows 構想は当面着手しないという意思決定を memo に残した。","/check-earnings-default-all-tickers-and-dynamic-workflow-pause",[394,422,423,424,425,426],"check-earnings","koyfin","dynamic-workflows","backlog","claude-code","2026-06-08T00:00:00.000Z",{"title":429,"description":430,"path":431,"tags":432,"publishedAt":437,"updatedAt":392},"決算モニタリングを毎朝の自動運用へ — earnings-beat-scanのガイダンス突合とキオクシア追加","earnings-beat-scan / check-earnings を毎朝全自動で回せるよう整備。Koyfinの次四半期ガイダンス突合を仕組み化し、GitLab・Ulta Beautyを追加。/add-tickerでキオクシアをbeat-monitoringに1本追加し、トップの構造転換済みブロックも2段組みにレイアウト変更した。","/earnings-monitoring-automation-kioxia",[433,394,434,403,435,436],"決算","earnings-beat-scan","キオクシア","Kioxia","2026-06-03T00:00:00.000Z",{"title":439,"description":440,"path":441,"tags":442,"publishedAt":447,"updatedAt":392},"ビートモニタリングをフォワードPER軸に刷新 — Koyfin→TursoでNTM EPSを取り込み散布図まで実装","決算ビートの監視カードを『売上ビート/YoY/翌日株価』から『直近株価+NTM EPS+フォワードPER』へ刷新。Koyfinのコンセンサスから次4QのNTM EPSを算出してTursoに格納し、成長率×フォワードPERの散布図ページまで作った1日の記録。","/beat-monitoring-ntm-per-pipeline",[443,444,403,445,446,402],"NTM PER","フォワードPER","Turso","決算モニタリング","2026-05-29T00:00:00.000Z",{"title":449,"description":450,"path":451,"tags":452,"publishedAt":396,"updatedAt":392},"2026年6月15日の開発日記 - 宅建Phase3完成 / メモリーメーカーズ分割 / Visual Design Essentials","宅建教科書 Phase 3 をクローズし、/memory-makers をハブ＋4サブページに分割。テンバガー論文からFCF散布図トグルを起動、Visual Design Essentials スキルと SSOT 解説を公開記事化した一日。","/2026-06-15-diary",[453,454,455,394,456],"日記","takken","memory-makers","デザイン原則",[],"https://log.eurekapu.com/og/blog/fcf-scatter-tenbagger-research.png?v=2026-06-15T00%3A00%3A00.000Z&title=%E3%83%86%E3%83%B3%E3%83%90%E3%82%AC%E3%83%BC%E7%A0%94%E7%A9%B6%E8%AB%96%E6%96%87%E3%82%92%E8%B5%B7%E7%82%B9%E3%81%AB%20%2Fbeat-monitoring%2Fscatter%20%E3%81%B8%20FCF%20%E5%9F%BA%E6%BA%96%E3%83%88%E3%82%B0%E3%83%AB%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B&author=Kei%20Komatsu&sig=65e12fe54547e56f",1781580075539]