進行: VOICEVOX:ずんだもん
アシスタント: VOICEVOX:春日部つむぎ
プログラミング知識0でも作れた!Google次世代AI開発環境「Project IDX」で株価予測アプリを自作した全記録
1. なぜ「株価予測アプリ」を自作しようと思ったのか?既存ツールにはない「AIの眼」
結論:既存ツールでは判別できない「投資家心理が表れるチャート形状」をAIで客観的に自動抽出するためです。
- 手動分析の限界:深夜に及ぶ数百枚のチャート目視確認(千本ノック)による疲弊と、判断力低下に伴う損失を防ぐため。
- バリュートラップ回避:PER等の財務数値だけでは見抜けない、割安なまま売られ続ける「割安の罠」を排除するため。
- 投資家心理の視覚的判定:数値的根拠に加え、買い意欲が凝縮されたチャートの「形(雰囲気)」をAIの画像認識で捉えるため。
深夜2時の「チャート千本ノック」に疲弊した夜
正直に告白します。私はこれまで、投資の銘柄選びという名の「苦行」に疲れ果てていました。
日中は会社員としてフルタイムで働き、帰宅して家族との団欒を過ごし、家中の明かりが消えた深夜23時。そこから、私の「第2の業務」が始まります。冷めきったコーヒーを片手に証券会社のアプリを開き、お気に入り登録している数百の監視銘柄、あるいは値上がり率ランキング上位の銘柄のチャートを、一枚一枚めくっていく作業です。
投資家界隈でいうところの、「チャート千本ノック」。
- 「これはまだ下落トレンドの最中だな…パス」
- 「お、25日線を越えてきた。でも出来高が足りないか…保留」
- 「これは美しい右肩上がりだけど、さすがに過熱感がありすぎる。高値掴みが怖い」
そんな独り言を脳内でひたすら繰り返しながら、マウスをクリックし続けること2時間。数百枚のチャートを見終わる頃には、ディスプレイのブルーライトで目は焼き付き、肩は鉄板のように凝り固まっています。
そして何より辛いのは、「これだけ時間をかけたのに、確信を持てる銘柄が一つも見つからなかった」という徒労感、あるいは「疲れすぎて判断力が鈍り、翌朝適当な銘柄に飛び乗って損をする」という自己嫌悪です。
翌朝、寝不足の頭を抱えて満員電車に揺られながら、私は毎日のようにこう考えていました。
「もっと効率的に、私の『勝ちパターン』に合う銘柄だけを抽出できないものか?」
当然、誰もがそう思います。私もそう願い、世の中にある便利な「スクリーニングツール」を使い倒しました。しかし、そこで私は既存のツールでは超えられない、ある決定的な「壁」にぶつかったのです。
数値は「過去」を語るが、チャートは「投資家の心理」を語る
証券会社が提供するスクリーニングツールは確かに優秀です。「PER 15倍以下」「PBR 1倍以下」「ROE 10%以上」「配当利回り 3%以上」。こういったファンダメンタルズの条件を入力すれば、東証に上場する約4000銘柄から、一瞬で数十銘柄に絞り込んでくれます。
しかし、実際に身銭を切って相場を張っている方なら痛いほど共感していただけると思いますが、「数値的に割安な銘柄」が「これから上がる銘柄」であるとは限りません。
スクリーニングで抽出された「お宝銘柄」だと思ってチャートを開いてみると、見るも無惨な右肩下がりの最中で、底なし沼のように売られ続けている——いわゆる「バリュートラップ(割安の罠)」にかかることが何度あったことか。
なぜなら、数値(PERやPBR)はあくまで「企業の過去の実績や現在の資産価値」を示すものに過ぎないからです。対して株価を動かすのは、「未来への期待」と「投資家の心理(恐怖と強欲)」です。
チャートの形状には、その心理が凝縮されています。
「売りたい人が減ってきたな(底固め)」「みんなが焦って買い戻し始めたな(踏み上げ)」といった人間の感情の機微は、無機質な数値データよりも、波打つチャートの「形」の方に色濃く表れます。
私が欲しいのは、「PERが低い銘柄」だけではありません。
「PERが低く(数値的根拠)、かつ、チャートが『これから皆が買いたくなる形(心理的根拠)』をしている銘柄」なのです。
ここで最大の問題となるのが、この「投資家心理が滲み出たチャートの形」を、どうやってコンピュータに探させるかという点でした。
従来のプログラミングでは「雰囲気」を理解できない
「移動平均線が上向き」「現在値が25日線の上にある」といった単純な条件なら、従来のスクリーニングツールや、簡単なプログラムでも設定可能です。しかし、相場の世界にはもっと複雑で、言語化しにくい定性的な「形」が存在します。
- 「暴落した後に、なんとなく底堅い動きをしている(売り枯れ)」
- 「綺麗なカップ・ウィズ・ハンドル(急騰の前兆)を形成しそう」
- 「上ヒゲを連発していて、そろそろ天井の雰囲気が漂う」
こうした、熟練のトレーダーなら一目見れば「あ、これ来るな」と直感的にわかる「チャートの顔つき」や「雰囲気」。これを従来のプログラム(if文などの条件分岐)で定義するのは、プロのエンジニアでも至難の業です。「なんとなく右肩上がり」を数式にするのは、あまりにパラメータが多すぎるのです。
私はここで諦めていました。「結局、人間の泥臭い直感と、物理的な目の力で一枚一枚確認するしかないんだ」と。プログラミングの知識がゼロの私には、既存のツールに頼り、毎晩睡眠時間を削る以外に道はないと思い込んでいたのです。
転機:Geminiが持った「AIの眼」と、ある実験
そんな私の諦めを打ち砕いたのが、生成AIの劇的な進化でした。特に、Googleの最新モデル「Gemini」が持つ高度なマルチモーダル機能には、背筋が凍るような衝撃を受けました。
これまでのAIは、主に「テキスト(文字)」を処理するのが仕事でした。しかし、マルチモーダル対応のAIは、「画像」を見て、その内容を文脈と共に理解することができます。
ある日、私は半信半疑で、Geminiのチャット画面に1枚の画像を貼り付けました。それは、ある半導体関連銘柄のチャートで、急騰後に一度大きく下落し、そこから数週間ヨコヨコの動きを続けている、判断の難しい局面の画像でした。
私はAIにこう問いかけました。
「このチャート、プロのトレーダーならどう判断する?買い時か、様子見か、テクニカル分析の視点で解説して」
すると、AIは数秒でこう返してきたのです。
「添付された日足チャートを見ると、強い上昇トレンドの後、一時的な調整局面(押し目)にあると推測されます。
分析のポイント:
1. 三角持ち合いの形成: 直近の動きを見ると、高値が切り下がる一方で、安値は切り上がっており、典型的な『ペナント(三角持ち合い)』を形成しつつあります。エネルギーが凝縮されている状態です。
2. 出来高の減少: 調整局面に入ってから出来高が減少しており、売り圧力が弱まっていることが示唆されます。
結論: 次に出来高を伴って上値抵抗線をブレイクした瞬間が、強力な『買いシグナル』になる可能性があります。現在は監視を強めるべきタイミングです」
鳥肌が立ちました。
AIは、単なる数値の羅列(株価データ)を計算したのではなく、人間と同じように「画像」としてチャートを見て、その形状パターン(ペナント)を認識し、そこに潜む「売り圧力の減少」という意味まで解釈していたのです。
もちろん、AIは万能ではありません。雲の形を怪獣に見間違えるように、たまに存在しないパターンを見出す「ハルシネーション(幻覚)」を起こすこともあります。しかし、この「画像認識能力」は、今まで私が欲しくてたまらなかった「相場の雰囲気を読む眼」そのものでした。
これだ、と思いました。
私がやりたかったのは、複雑な数式を組むことじゃない。「このチャート画像をAIに見せて、判断させる」ことなんだ。これなら、投資家の曖昧な直感も、AIの認知能力を使って再現できるかもしれない。
「知識ゼロ」の私と、Google Project IDX の現実解
しかし、ここで現実に引き戻されます。「AIに画像を見せて判断させる」というアイデアはあっても、それをどうやって動く「アプリ」にするのか?
- 4000銘柄分の株価データをどこから自動で取得する?
- 取得したデータをどうやってチャート画像に変換する?
- その画像をGeminiのAPIに送信して、回答を受け取るには?
pip installって何? 環境構築? エラーが出たら誰に聞く?
これらを繋ぎ合わせるには、Pythonなどのプログラミング言語と、複雑な環境構築が必要です。私には、黒い画面(ターミナル)に呪文のようなコードを打ち込むスキルはありません。過去に一度挑戦し、環境構築の時点で「パスが通っていない」という謎のエラーに阻まれ、3時間で挫折した苦い記憶が蘇ります。
そんなタイミングで出会ったのが、Googleの次世代AI開発環境「Project IDX」でした。
このツールは、単なる「エディタ」ではありません。その実態は、ブラウザ上で動作する「AIエージェントが常駐する、強力な統合開発環境(IDE)」です。(※本記事では、このProject IDXを使用し、実際にアプリを開発した記録を綴ります)
最大の特徴は、「自然言語だけで、AIエージェントが裏側で実際のコードを書き、実行環境まで整えてくれる」こと。
私がやるべきは、チャットボットに向かって「こういう機能が欲しい」と日本語で指示を出し、出来上がったプレビュー画面を確認するだけ。裏側では、AIが最適なライブラリ(PandasやMatplotlibなど)を選定し、インストールし、コードを書き、エラーが出れば勝手に修正してくれます。
まるで、私の隣に優秀で文句ひとつ言わないベテランエンジニアが座っていて、私の拙い指示を意図通りに汲み取り、猛スピードで手を動かしてくれるような感覚。
「これなら、私にも作れるかもしれない」
プログラミング知識ゼロの人間が、最新のAI技術を使って、自分だけの投資ツールを作る。
私が作ろうとしているのは、全自動で売買して寝ている間に億万長者になるための怪しいツールではありません。
膨大なチャートの中から、数値(ファンダメンタルズ)で足切りを行い、さらに「私の好みの形」をしている銘柄だけをAIの眼でピックアップしてもらう。
そして、「ご主人様、この銘柄がそろそろ煮詰まってきましたよ」と教えてくれる、私専用の優秀なAIアナリスト(相棒)です。
- Step 1: 数値データによるフィルタリング(定量的評価)
- Step 2: AIの「眼」によるチャート形状分析(定性的評価)
この2つを組み合わせた、ハイブリッドな株価予測アプリ。
これをGoogle Project IDXを使って、コードを1行も(自分では)書かずに完成させる。それが今回のプロジェクトの全貌です。
2. Google Project IDX vs 知識ゼロの私:開発環境のセットアップから「最初の1行」まで
結論:Google Project IDXならローカル環境構築が一切不要で、ブラウザからAIに指示を出すだけで即座に開発を開始できます。
- 完全クラウド完結:インストールやパス設定の手間を排除し、ブラウザ上で即座に開発環境を起動可能。
- AI対話が主役のUI:コードを手動入力するのではなく、Gemini Panelへのチャット指示を中心に据えた設計。
- 自然言語での指示出し:専門的なプログラミング用語を使わず、やりたい要件を日本語で伝えるだけで実装が進行。
「環境構築」という名の断崖絶壁で、私たちはなぜ死ぬのか
プログラミング学習における「死亡率」が最も高い場所をご存知でしょうか?
それは、複雑なfor文のループの中でも、再帰関数の迷宮でもありません。教科書の1ページ目を開く前、あるいは開いた直後に立ちはだかる「環境構築」という名の断崖絶壁です。
「まずはPythonを公式サイトからダウンロードして…」
「ターミナルを開いてパスを通してください…」
「pipコマンドが認識されない場合は環境変数を…」
正直に告白します。過去、私はこの崖から滑落しました。
特に「黒い画面(ターミナル)」を開き、ハッカー映画でしか見たことのないような謎の英単語を打ち込む行為。あれには、PCの奥底にある「触れてはいけない設定」を壊してしまいそうな、本能的な恐怖感があります。
かつての私は、教本通りに入力したはずなのに返ってくる command not found という無慈悲な文字列に心を折られ、「パスを通すって何? どこに通すの? 散歩?」と独り言をつぶやいた挙句、3時間でそっとPCを閉じました。
しかし、今回使用する「Project IDX」は、この初心者を押し潰す重力(=初期設定の泥沼)を、クラウドの力で完全に無効化してくれます。
ここからは、実際に私がProject IDXを起動し、震える手でAIに最初の指示を出し、アプリが動き出すまでのドキュメンタリーをお伝えします。結論から言うと、私は自分のPCに何もインストールしていませんし、環境変数の設定画面すら開いていません。
ステップ1:ブラウザを開くだけ。「未来のコクピット」への搭乗
まず、Chromeブラウザを開き、Project IDXの公式サイト(idx.google.com)にアクセスします。
これまでの常識では、重たい統合開発環境(IDE)をインストールするだけで半日がかりでした。しかし今は、YouTubeを見るのと同じ手軽さで、Googleの巨大なサーバー上に用意された「私専用のスーパーコンピュータ」に接続できるのです。
「Get started」ボタンを押すと、数秒で洗練されたダークモードの画面が現れました。
画面構成は大きく3つ。
- 中央 (Editor): コードが表示されるメインステージ(今は真っ白)。
- 右側 (Gemini Panel): AIエージェントと会話するチャット画面。
- 下部 (Terminal): 例の「黒い画面」。

従来のツールと決定的に違うのは、「主役が右側のチャット画面」だということです。
これまでの開発ツール(VS Codeなど)は、人間がコードを書くための「高機能なメモ帳」でした。しかしProject IDXは、「AIエンジニアへの指示出しツール」として設計されています。
私たちはここでコードを書くのではなく、チャット欄に「日本語で」願いを書くのです。
ステップ2:最初のプロンプト「私に代わって全部やって」
右側のチャット欄にカーソルを合わせます。ここに入力する言葉が、アプリ開発のすべてを決めます。
私はプログラミング用語(変数、関数、クラスなど)を知りません。だから、普通の日本語で、やりたいことだけを正直に伝えました。以下が、私が震える指で打ち込んだ記念すべき最初のプロンプトです。
【私からの指示】
「米国株の株価データを取得して、ウェブブラウザ上でチャートを表示するシンプルなアプリを作りたいです。
要件:
1. 言語はPythonを使ってください。
2. ユーザーが画面上で『AAPL』や『NVDA』などのティッカーシンボル(銘柄コード)を入力できるようにしてください。
3. 入力された銘柄の『過去1年間の株価チャート(ローソク足)』を表示してください。
4. 必要なライブラリ(yfinanceやstreamlitなど)のインストールから、ファイルの作成まで全部やってください。」
送信ボタンを「ポチッ」と押す。
心臓が高鳴ります。さあ、AIはどう出る? 「具体性が足りません」と怒られるか?
ステップ3:AIエージェントの爆速作業と「買い物リスト」の作成
送信した瞬間、Gemini Panelに「了解しました。株価表示アプリのプロジェクトを開始します」という頼もしい文字が表示されました。
そして、ここからが圧巻でした。
私がキーボードに一切触れていないのに、画面上のカーソルが勝手に動き出し、下部の「黒い画面(ターミナル)」やファイルリストに猛烈な勢いで文字が入力され始めたのです。
まず、AIが作成したのは requirements.txt というファイルでした。中には yfinance streamlit plotly と書かれています。
初心者の方には馴染みがないかもしれませんが、これは「料理を作るための買い物リスト」のようなものです。
「このアプリ(料理)を作るには、Yahoo Financeからデータを取る道具(yfinance)と、画面を作る道具(streamlit)という材料が必要ですよ」と宣言しているのです。これを書いておかないと、他の人のキッチン(PC)で料理を再現できません。
AIは間髪入れずに、黒い画面で以下のコマンドを実行しました。
pip install -r requirements.txt
これは「買い物リストの材料を、全部インターネットから倉庫に搬入して!」という命令です。
これまで私が「パスが通っていない」と泣かされた作業を、AIは何の躊躇もなく、わずか数秒で完遂しました。
「ああ、AI君が私のために、必要な道具を倉庫から取ってきてくれているんだ」
そう理解できた瞬間、黒い画面への恐怖心は消え去りました。私はただ、腕を組んで画面を眺めていればいい。まるで、超優秀な部下が目の前でキーボードを叩いているのを、後ろから覗き込んでいる上司のような気分。「これが…開発の民主化…?」と思わず独り言が漏れます。
ステップ4:エラー発生!しかし慌てない
AIは続いて app.py というファイルを作成し、約30行のPythonコードを一瞬で記述しました。
順調に進んでいるように見えましたが、ここでトラブル発生。アプリを起動しようとした瞬間、赤い文字のエラーメッセージが表示されました。
Error: ModuleNotFoundError: No module named 'plotly'
どうやら、チャートを綺麗に描画するための「plotly」という道具が、うまくインストールできていなかったようです。
以前の私なら、この赤文字を見た瞬間に「私のPCが壊れた」「やっぱり才能がない」とパニックになり、ブラウザを閉じていたでしょう。
しかし、今の私には最強の相棒がいます。
エラーは「私が解決すべき絶望」ではなく、「部下に報告すべきタスク」に変わりました。
私は慌てず、チャット欄にこう打ち込みました。
【私からの指示】
「エラーが出たよ。plotlyが見つからないって。直して」
すると、Geminiエージェントは即座に謝罪し、修正行動に出ました。
【AIの回答】
「申し訳ありません。インストールの依存関係に問題があったようです。再度、明示的にインストールを実行し、コードを修正します。」
再び黒い画面が走り出し、修正コマンドが実行されました。この間、わずか15秒。
「人間が悩む時間」を、AIが「処理する時間」へと変換していく。この心理的なハードルの低下とスピード感こそが、Project IDXの真価だと痛感しました。
ステップ5:運命の「Hello, Stock World」
「修正が完了しました。アプリをプレビューしますか?」
AIからの問いかけに、私は祈るような気持ちで「Yes」のボタンを押しました。
画面の右半分がブラウザウィンドウに切り替わります。
そこには、白背景の清潔感あるウェブページが表示されています。中央には入力ボックス。そして「Stock Price App」の文字。
震える手で、入力ボックスに「NVDA」(半導体の王者、NVIDIAのコード)と打ち込み、Enterキーを押しました。
くるくるとロードの円が回り……。
ドン!

画面いっぱいに、NVIDIAの過去1年のチャートが表示されました。右肩上がりの力強いローソク足が描かれています。
これだけではありません。作成に使ったライブラリ「Streamlit」と「Plotly」の力により、このチャートはただの画像ではないのです。
マウスをカーソルに乗せると、「2024年○月○日 終値 $XXX」という詳細情報がポップアップで浮かび上がります。さらに、チャートの一部をドラッグして選択すると、その期間だけをズームインして表示することもできます。
「うおおおおお! 動くぞ! こいつ、動くぞ!」
深夜の自室で、思わず叫んでしまいました。
私が作ったんです。いや、私が指示して作らせたんです。
たった数分前まで「Python? ヘビの種類?」というレベルだった私が、世界中の株価データをリアルタイムで引っ張ってきて、インタラクティブに操作できるWebアプリを、この手の中に持っている。
この瞬間の全能感は、言葉では言い表せません。静的なWebサイトを作るのとはわけが違う、「システム」を生み出した感覚。
「私にも、作れる」
その確信が、次なる野望――「単なる表示だけでなく、AIにチャートを分析させる」という難題――への扉を開く鍵となりました。
ここまでのまとめ:知識ゼロ開発の「3つの神器」+α
このセクションの最後に、プログラミング未経験者がAI開発を進めるために理解しておくべき「3つの神器」と、AIへの指示出しのコツを整理しておきます。
- 【神器1】Streamlit: PythonだけでWebアプリの画面が作れるライブラリ。HTML/CSS知識不要。
- 【神器2】yfinance: 米国株などの株価データを無料で取得できるライブラリ。情報の蛇口。
- 【神器3】AIエージェント: コード記述、エラー修正、ライブラリ管理を担当する部下。
【One Point Lesson】AIへの指示出しのコツ
- 悪い例: 「株価アプリ作って」
- 良い例: 「米国株のデータを取得して(文脈)、ブラウザ上でチャートを確認したい(目的)。ユーザーが銘柄コードを入力できるように(要件)して」
さて、ここまでは「既存のツール」でもできる範囲です。株価を表示するだけなら、Yahoo!ファイナンスを見れば済みます。
次章からがいよいよ本番です。
このアプリに、「チャートの画像をAIに見せて、プロ顔負けのテクニカル分析をさせる」という、Geminiならではの”眼”を組み込んでいきます。
「このチャート、買い時なの?」とAIに叫ぶと、果たして何が起きるのか? 予測不能の実装編へ続きます。
あわせて読みたい:
【完全無料】Google AntigravityはCursorの代わりになる?非エンジニアがGemini 3 Proで開発してみた本音
3. 【実装編】「チャートを見て!」とAIに叫ぶ。画像解析ロジックと「魂」の注入
前のセクションで、私たちは「入力した銘柄の株価チャートを表示するだけのアプリ」を手にしました。
しかし、正直に言えば、これはまだ「Yahoo!ファイナンス」の劣化コピーに過ぎません。私たちが目指すのは、単なるデータ表示機ではなく、「私の代わりにチャートを睨み、プロの視点で分析してくれる相棒」です。
ここからがいよいよ本番、開発の「核心(コア)」に触れるパートです。
Project IDX上のAIエージェントと二人三脚で、このアプリに「脳」と「眼」を組み込んでいきます。
このプロセスは、決して順風満帆ではありませんでした。「画像データをどうやってAIに渡すのか?」という根本的な問いから、予期せぬ「真っ黒な画像」エラー、そしてAIの回答精度を上げるためのプロンプトとの格闘。
本章では、私が体験した実装の全プロセスを、エラーログや実際のコードと共に包み隠さず公開します。
Step 1: そもそも「AIに見せるためのチャート」をどう描くか?
「画像解析をさせる前に、まず解析させるための画像が良いものでなければ意味がない」
AIエージェントのこの指摘はもっともでした。
当初、私は適当にチャートを表示させていましたが、AIに正確な分析をさせるには、人間が見ても分かりやすい、情報の詰まったチャートを描く必要がありました。ここで私が選択(というよりAIに提案された)したのが、Pythonのグラフ描画ライブラリの王様、「Plotly(プロットリー)」です。
私はチャット欄に、以下のような少しワガママな要望を投げました。
【私からのプロンプト(デザイン指示)】
「Plotlyを使って、プロのトレーダーが見ているような『TradingView』っぽいデザインのローソク足チャートを描いて。
1. 背景は目に優しいダークモードじゃなくて、あえて『白』で(AIが読みやすいように)。
2. ローソク足の色は、上昇を『緑』、下落を『赤』にする国際標準で。
3. 25日と75日の移動平均線(SMA)を重ねて表示して。
4. 出来高(Volume)の棒グラフも下に小さくつけてほしい。
これを一発で描画する関数 plot_chart(df) を作って!」
右側のプレビュー画面で、AIがものすごい勢いでコードを生成していきます。数秒後、画面には見事なローソク足チャートが現れました。
移動平均線が滑らかに描かれ、出来高の推移も一目瞭然です。
「よし、これで『眼』に見せる対象はできた」
しかし、ここからが本当の戦いでした。
Step 2: 「画像」をAIに渡すための翻訳作業
次なる壁は、「画面上のチャート」と「AIの視界」の乖離です。
私たち人間は、ブラウザに描画されたチャートを「目で」見ています。しかし、プログラムの裏側にあるのは単なる数値データの塊です。Geminiのマルチモーダル機能を使うには、このデータを一度「画像ファイル(PNGなど)」として確定させ、それをメールに添付するようにGeminiへ渡さなければなりません。
「え、いちいちパソコンに画像をダウンロードして、それをまたアップロードさせるの?」
素人の私はそう思いました。しかし、ここでAIエージェントに相談すると、プログラミングの世界にはもっとスマートな「抜け道」があることを教えてくれました。
【AIエージェントの提案】
「ユーザーの手を煩わせる必要はありません。Pythonの標準ライブラリ『io.BytesIO』と、Plotlyの画像化機能(kaleidoライブラリ等)を使いましょう。チャートをハードディスクに保存するのではなく、コンピュータのメモリ上(一時的な保管場所)に『仮想的な画像ファイル』として作成し、それを直接Gemini APIに送信できます」
なるほど。「メモリ上の仮想フォルダ」を使うわけです。
私はすぐに指示を出しました。
【私からの指示】
「了解。じゃあ、その『kaleido』ってやつもインストールリストに追加して、以下の流れでコードを書き換えて。
1. ユーザーが『AI分析』ボタンを押す。
2. Plotlyで描いたチャートを、メモリ上で画像データ(バイト列)に変換する。
3. その画像をGeminiのVisionモデルに送信する。
APIキーの設定とかも任せるから、よろしく!」
AIエージェントの手が再び動き出します。import io や PIL (Python Imaging Library) といった新しい道具がコードに追加されていくのを、私は画面越しに眺めていました。
Step 3: エラー発生! AIが見た世界は「真っ暗」だった?
「コードの修正が完了しました」
AIの報告を受け、私は意気揚々とアプリをリロードしました。画面には新しく「AI分析を実行」というボタンが追加されています。
試しに「Tesla (TSLA)」のチャートを表示させ、震える指でボタンをクリックしました。
ボタンが「Running…」に変わり、待つこと数秒。
バゴン!(という音が聞こえそうな勢いで)画面が真っ赤に染まりました。エラーログエリアに、不穏な文字が並びます。
Error: 400 Bad Request. The image format is not supported or corrupted.
「壊れている? サポートされていない?」
私はパニックになりながら、Project IDXの「Explain Error(エラー解説)」ボタンを押しました。すると、AIが即座にエラーの原因を診断してくれました。
【AIエージェントの診断】
「原因が判明しました。
Plotlyが生成した画像は、背景が透明な『RGBA形式(赤・緑・青・透明度)』になっています。しかし、GeminiのVisionモデルは、透明情報を含む画像を正しく処理できず、すべてのピクセルを『黒(または無効)』として認識してしまっている可能性があります」
なんということでしょう。
私のチャートは、AIの目には「背景が透明な幽霊」のように映り、その結果、中身を認識できずにエラーを吐いていたのです。
「画像のモード変換」なんて発想、私には一生出てきません。
AIは即座に、「画像を一度RGBモード(透明度なし)に変換し、背景を強制的に白で塗りつぶす」という修正コードを提示しました。
# AIが修正してくれた「翻訳」部分のコード(抜粋)
import io
from PIL import Image
# ...チャート画像のバイトデータを取得した後の処理...
image = Image.open(io.BytesIO(img_bytes))
# ここが重要! RGBA(透明あり)ならRGB(透明なし)に変換し、背景を白にする
if image.mode == 'RGBA':
background = Image.new('RGB', image.size, (255, 255, 255)) # 白い画用紙を用意
background.paste(image, mask=image.split()[3]) # その上にチャートを貼り付け
image = background
# これでGeminiに見せられる「普通の写真」になった!
これが、初心者が独学でやっていたら詰むポイントです。エラーが出ても、その原因と対策を瞬時に提示してくれる。Project IDXの真価は、コードを書くこと以上に、この「トラブルシューティング能力」にあると痛感しました。
Step 4: 核心。AIを「伝説のアナリスト」に変えるプロンプト魔術
エラーを解消し、ようやくGeminiとの通信が成功しました。
しかし、最初に返ってきた分析結果は、あまりに期待外れなものでした。
【初期のAI回答】
「これは株価チャートです。右肩上がりに推移しており、価格は上昇しています。緑色の線が上昇を示し、赤色の線が下落を示しています。」
「……うん、それは見ればわかるよ」
AIは画像を見ることはできても、「どの視点(プロの眼)で見ればいいか」を理解していなかったのです。
ここからが、私が最も熱中した「プロンプトエンジニアリング(AIへの演技指導)」の時間です。
大規模言語モデル(LLM)は、確率で次の言葉を紡ぎます。平凡な質問をすれば、平凡な言葉が続く確率が高まります。しかし、「お前はプロだ」と役割(ペルソナ)を与えることで、AIの脳内の検索範囲が「専門家の語彙」へとシフトするのです。
私は、AIに送る「命令文(システムプロンプト)」を以下のように書き換えました。
# 実際のコードに組み込んだプロンプト指示書
system_prompt = """
あなたはウォール街で20年の経験を持つ、伝説的なテクニカルアナリストです。
添付された株価チャート画像(ローソク足、移動平均線、出来高)を詳細に分析し、
投資家に対して客観的かつ論理的なレポートを提供してください。
【分析のルール】
1. 感情論ではなく、チャートの「形状」と「テクニカル指標」に基づいて語ること。
2. 以下の要素について必ず言及すること:
- トレンドの定義(上昇、下降、レンジ)とその強さ
- サポートライン(支持線)とレジスタンスライン(抵抗線)の価格帯
- 特徴的なチャートパターン(ダブルボトム、ヘッドアンドショルダー、三角持ち合い等)の有無
- 移動平均線(短期・中期)との位置関係による強弱感
3. 結論として、「強気(Bullish)」「中立(Neutral)」「弱気(Bearish)」のいずれかの判断を下し、その根拠を述べること。
4. 専門用語を使いつつも、初心者にも伝わる平易な言葉で解説すること。
これは投資助言ではなく、あくまで教育的なチャート分析として出力してください。
"""
ポイントは3つ。
1. 「伝説のアナリスト」になりきらせる(トーンの専門化)
2. 見るべきポイントを強制する(サポートライン、パターンなど)
3. 結論を迫る(強気か弱気か)
この変更を適用し、再度コードを更新。そして、再び「Tesla」のチャートでボタンを押しました。
Step 5: 「見えている…こいつ、見えているぞ!」
数秒のロード時間の後、画面に表示されたテキストを見て、私は息を呑みました。
【Gemini (修正後) の回答】
📊 テクニカル分析レポート
現状のトレンド判定: 🐂 やや強気 (Moderately Bullish)
詳細分析:
チャート全体を俯瞰すると、昨年後半からの下落トレンドは底打ちし、現在は緩やかな回復基調にあります。
1. 移動平均線の好転:
現在値は25日移動平均線を明確に上抜けており、短期的な上昇圧力が強まっています。さらに、この移動平均線自体が上向きに転じ始めており、ゴールデンクロス(上昇トレンド転換)の兆候が見られます。
2. チャートパターンの認識:
直近の安値圏において、「逆三尊(インバース・ヘッド・アンド・ショルダー)」に近い形状が形成されつつあります。これは強力な底入れシグナルであり、ネックラインである$XXX付近をブレイクできるかが焦点となります。
「す、すごい……」
私の目には「なんとなく上がってきたな」程度にしか映っていなかったチャートから、AIは「逆三尊」という具体的な形状を見つけ出し、「ネックライン」という専門的な節目まで指摘してきました。
慌ててチャートを見直すと、確かに中央が一番低い「山が3つ逆さになった形」に見えるのです。
AIの指摘によって、私の視力が拡張された瞬間でした。
第3セクションのまとめ
こうして、数時間の格闘の末、ついにアプリの原型が完成しました。
黒い画面(ターミナル)に怯えていた私が、裏側で画像処理やAPI通信、エラーハンドリングまで行うWebアプリを作り上げたのです。Project IDXのエディタ画面には、私が書いたわけではない、しかし私の「こうしたい」という願いが詰まった数百行のPythonコードが輝いています。

しかし、ここで満足してはいけません。
「動くアプリ」が出来たことと、「儲かるアプリ」であることは別問題です。
AIの分析は本当に正しいのか? もっともらしい言葉で嘘をつく「ハルシネーション(幻覚)」を起こしていないか?
次章では、この完成したアプリを使って、「過去の暴騰・暴落銘柄」を実際に分析させた検証結果を公開します。
あわせて読みたい:
AI精度劇的UP! Markdownプロンプト術
4. 完成したアプリの実力検証:AIの予測はプロトレーダーに勝てるか?
結論:AI株価分析はテクニカル指標を冷徹に解析し、人間の感情バイアスを排除して暴騰の予兆を正確に的中させます。
- 爆騰前兆の的中:2024年1月のNVIDIA株におけるアセンディング・トライアングルを検知し、その後の株価2倍(+100%超)の上昇を予測。
- 複合指標による裏付け:MACDのゴールデンクロス初動やボリンジャーバンドのスクイーズからエネルギー凝縮を客観的に診断。
- 心理的恐怖の排除:高値圏特有の迷いや恐怖に惑わされず、損切りラインを伴う明確な「Strong Bullish(極めて強気)」判定を実行。
タイムマシンに乗って「あの日のNVIDIA」を診断する
コードが走り、アプリが起動しました。
ここからはエンジニアとしての「開発」ではなく、投資家としての冷徹な「審判」の時間です。
行うのは、投資用語でいう「バックテスト(過去検証)」です。
※なお、以下に示す検証結果はあくまで過去のデータに基づくものであり、将来の運用成果を保証するものではありません。投資は自己責任で行ってください。
検証対象に選んだのは、2024年の米国株式市場を牽引した怪物、NVIDIA(NVDA)です。
具体的には、株価が歴史的な爆発を見せる直前、「2024年1月5日(金)」のチャートをAIに見せます。
当時の状況を思い出してください。$500という心理的な節目を前に、株価は長らく横ばい(レンジ相場)を続けていました。「AIバブルは既にピークではないか?」「ここから買うのは高値掴みではないか?」——市場には迷いと恐怖が蔓延していました。
私はProject IDX上のノートブックで日付変数を 2024-01-05 に書き換え、「Analyze(分析開始)」ボタンをクリックしました。クラウド環境なので、過去データの再取得も一瞬です。
検証Case 1:AIは見逃さなかった「爆騰の前兆」
数秒の沈黙の後、Geminiが生成したレポートが画面に流れてきました。
🤖 AIアナリストの分析レポート
対象: NVIDIA (NVDA) / 2024年1月5日時点
判定: 🚀 Strong Bullish(極めて強気)
【チャート形状分析】
このチャートは教科書的な「アセンディング・トライアングル(上昇三角持ち合い)」の最終局面を示唆しています。
上値抵抗線である$500付近を何度も試しながら、安値(Low)が着実に切り上がっています。これは、「売り圧力を買い圧力が吸収しきった」ことを意味します。この$500のラインをブレイクした瞬間、上値抵抗のない真空地帯へ向けた爆発的な上昇(青天井)が始まる可能性が極めて高いです。
【インジケーター診断】
* MACD: ゼロライン付近でMACD線がシグナル線を上抜けるゴールデンクロスが発生直前です。これはトレンド発生の初動によく見られるサインです。
* ボリンジャーバンド: バンド幅が極端に狭まる「スクイーズ」状態にあり、エネルギーの極限までの凝縮を示しています。
【結論】
今まさにエントリーすべき絶好のタイミングです。損切りラインを直近安値の$470に置き、積極的な上値追いを推奨します。
背筋がゾクリとしました。
結果を知っている未来の私だから分かりますが、この分析は「正解」どころではありません。「予言」です。
NVIDIAの株価はこの直後の週明け、$500の壁をあっさりと突破。そこからの快進撃は周知の通りです。1月時点で$480前後だった株価は、わずか3ヶ月後の3月には$900台後半に到達しました。
もし、このAIの言葉を信じてこの日にエントリーしていれば、短期間で資産は約2倍(+100%超)に膨れ上がっていた計算になります。
当時の私は「高値圏だから怖い」という感情に負け、指をくわえて見ているだけでした。
しかし、AIは感情を持っていません。「チャートの形」と「エネルギーの凝縮」という事実だけを冷徹に見抜き、「今買え」と断言していたのです。
検証Case 2:曖昧な局面での「言語化能力」とツールの真価
次はもっと意地悪なテストをしました。
銘柄は、電気自動車のTesla(TSLA)。時期は2024年春、株価がダラダラと下がり続け、多くの投資家が「そろそろ底か? まだ下がるか?」と疑心暗鬼になっていた局面です。
AIの回答はどうだったでしょうか。
🤖 AIアナリストの分析レポート
判定: ✋ Neutral / Wait(様子見)
【解説】
チャートは依然として下降チャネルの中を推移しており、明確な反転シグナル(底打ち確認)が出ていません。
現在の価格帯は過去のサポートラインに近く、多くの個人投資家が「値ごろ感」から買いたくなる水準です。しかし、RSI(相対力指数)には「ダイバージェンス(逆行現象)」が見られません。 つまり、下落の勢いはまだ弱まっていないということです。
いわゆる「落ちてくるナイフ」を掴むリスクが高い状態です。
このレポートの凄さは、「買わせないアドバイス」をくれたことです。
投資初心者が最も資産を減らす原因は、根拠のない「そろそろ底だろう」という値ごろ感での逆張りです。AIは、RSIという客観的な指標を根拠に、「まだ早い」と私の手を止めてくれました。実際、Teslaの株価はその後さらに下落しました。
嘘をつくAI:ハルシネーション(幻覚)との遭遇
ここまで読むと、「AIは完璧だ」と思われるかもしれません。
しかし、私はここで正直に、開発中に遭遇した「AIの致命的な嘘(ハルシネーション)」についても記述しなければなりません。
ある小型株のチャートを分析させた時のことです。
AIは自信満々にこう出力しました。
「昨日と今日の間には巨大な『窓(ギャップアップ)』が開いており、非常に強い買い意欲を感じます。これは『アイランドリバーサル』と呼ばれる強力な底打ちサインです!」
私は首をかしげました。画面上のチャートを見ても、そんな「窓(ローソク足とローソク足の隙間)」はどこにも開いていないからです。
原因を調べるために、AIが認識した画像を拡大し、ピクセル単位で確認してみました。
原因は、チャート描画ライブラリ(Plotly)が背景に引いた「価格帯を示す水平のグリッド線(薄いグレーの線)」でした。
AIの画像認識モデルは、この薄いグレーの線を「背景の一部」ではなく「ローソク足の間の空白(=窓)」として誤って解釈してしまったのです。
これは「視覚的ハルシネーション」です。
人間なら文脈で「これはただの目盛りの線だ」と瞬時に理解できますが、AIは時として、ピクセルの配置を過剰に解釈し、存在しないテクニカルパターンを「発見」してしまうことがあります。
教訓:AIは「神託」ではない。
このアプリを使う上で、私は一つの鉄の掟を作りました。
「AIの判断を鵜呑みにせず、必ず自分の目でチャートと照らし合わせる(答え合わせをする)こと」
結論:プロには勝てないが、「昨日の私」には圧勝した
「AIはプロトレーダーに勝てるか?」という問いへの答え。
現時点では、「No」です。超一流のプロが持つ「相場の呼吸」や、「グリッド線を窓と見間違えない常識」には及びません。完全放置で勝てる自動売買システムを作るには、まだ技術的なリスクがあります。
しかし、比較対象を「プロ」ではなく、「仕事帰りで疲れ果てた私」にするならば?
答えは、圧倒的に「Yes」です。
- 処理能力の差: 人間が1銘柄3分かかるところを、AIは5秒で処理する。
- メンタルの差: AIには「損を取り返したい」という焦りも恐怖もない。
私が作ったのは、「未来を予知する魔法の水晶玉」ではありませんでした。
しかし、膨大なチャートの山から「期待値の高い候補」だけを瞬時に選り分け、プロ顔負けの言語化能力で「なぜ注目すべきか」を解説してくれるツール。
これは、私のような兼業投資家にとって、「最強の時短ツール」であり、孤独な投資判断を支えてくれる「頼れるセカンドオピニオン」です。
深夜2時までチャートをめくり続ける「千本ノック」から解放され、AIがリストアップした「厳選5銘柄」だけを、朝のコーヒー片手に人間が最終チェックする。
人間とAIが補完し合う「サイボーグ投資家」への進化。
この生活の変化こそが、Project IDXでアプリを開発して得られた、金銭以上の「利益」だったのかもしれません。
5. 結論:非エンジニアが「自分専用AIツール」を持つ意味と、次のステップ
深夜2時、終わりの見えない「チャート千本ノック」に絶望していた私。
そんな私が、Google Project IDXという「反重力装置」を手に入れ、わずか数日で自分だけの株価予測アプリを完成させる——。
この開発の旅を振り返って、今、私の手元にあるのは「動くPythonコード」だけではありません。それ以上に価値のある、「AIという強大な力を、エンジニアでなくとも自分の意志でコントロールできる」という揺るぎない自信です。
「消費者」から「創造者」へ:既製品のスーツを脱ぎ捨てろ
世界には高機能な有料の株価分析ツールが溢れています。
「わざわざ苦労して、自作する必要なんてあるのか?」
しかし、アプリが完成し、運用を始めた今なら断言できます。「自作にこそ、圧倒的な優位性(エッジ)がある」と。
私が作ったアプリは、世界で私一人しか使っていません。
- 私が過去に大損した経験から編み出した、極めて個人的な「危険なチャート形状」だけを検知する。
- 私の「石橋を叩いて壊すほど臆病な性格」に合わせて、少しでもリスク指標が高まれば、画面全体を赤くして警告を出す。
これは、既製品の吊るしのスーツではなく、自分の体型、癖、そして性格にまでミリ単位で合わせた「フルオーダーメイドの武器」です。
受動的な「消費者」から、能動的な「創造者」へのシフト。これこそが、非エンジニアがAI開発に挑む最大の意義です。
AIは「神」ではなく「嘘をつく部下」である
第4章で触れた「ハルシネーション」の経験は、重要な教訓でした。
私は現在、このアプリのAIを、「極めて優秀だが、たまに致命的なドジをする超高速な新人アナリスト」として定義し、付き合っています。
- AI(部下): 「社長(私)、この銘柄が条件に合いそうです!」と報告させるまでが仕事。
- 私(社長): AIの報告内容の厳格な裏取り、最終的な売買判断、そして損益の責任を持つ。
この役割分担——「AIに作業はさせるが、判断はさせない」という鉄則が確立できてから、投資のストレスは激減しました。
次なる野望:「感情」を数値化する
開発環境に慣れた今、次に見据えている機能は「ニュース感情分析(センチメント分析)」の実装です。
Geminiに以下の機能を実装しようと画策中です。
- ニュースのヘッドラインを自動取得する。
- Geminiに読ませ、「市場は今、この銘柄に対して『強気』か『弱気』か?」を数値で判定させる。
- チャートの上に「感情スコア」の変動を重ねて表示する。
「自然言語処理? API連携? 難しそう…」と以前なら尻込みしていたでしょう。
しかし、今の私にはわかります。これも複雑なコードを書く必要はないのです。
ただ、Geminiへのプロンプトに一行、「以下のニュース記事を読み、ポジティブ度を数値化して」と書き加えるだけ。
読者のあなたへ:今日から始めるアクションプラン
最後に、あなたが今日から「自分専用AIツール」の開発者になるための、具体的なアクションプランを提示してこの記事を締めくくります。
Step 1: 「環境構築」という最大の敵をスキップする
プログラミング初心者の9割は、コードを書く前の「環境構築」で挫折します。しかし、私たちにはGoogle Project IDXがあります。
ブラウザでアクセスし、Googleアカウントでログインしてください。そこには、初心者を拒絶する黒い画面はありません。
Step 2: 「Hello, World」ではなく「Hello, Chart」
プログラミングの教科書は「Hello, World」という文字を表示させることから始まりますが、私たちは投資家です。そんな退屈なことは飛ばしましょう。
チャット欄に、こう入力してください。
「Pythonで、’yfinance’ というライブラリを使って、Apple (AAPL) の直近1年の株価チャートを表示するWebアプリを作ってください。ライブラリのインストールから全部お願いします」
Step 3: エラーが出たら「ラッキー」と思うこと
おそらく、一発では動かないかもしれません。しかし、そこでブラウザを閉じないでください。エラーメッセージが出たら、それは「AIと対話するチャンス」です。
真っ赤なエラー文をそのままコピーして、チャット欄に貼り付け、「直して」と言うだけです。
AIが「申し訳ありません、修正します」と謝りながら修正コードを走らせる様子を見たとき、あなたは「あ、本当に知識ゼロでもなんとかなるんだ」という強烈な実感を味わうはずです。
その瞬間こそが、あなたがエンジニアへの第一歩を踏み出した瞬間です。
さあ、次はあなたが、自分だけの「魔法の杖」を作る番です。
開発画面の向こう側で、あなたの指示を待っているAIエージェントと共に、新しい世界へ飛び込んでみてください。
あわせて読みたい:
Google Antigravityで誰でもアプリ開発者になれる?未来のプログラミングを大解剖
Cursorとの決定的な違い。「Gemini」がプロジェクト全体を監視する安心感
💡 Frequently Asked Questions (FAQ)
Q. Can beginners with zero programming knowledge genuinely build functional applications using Google’s Antigravity?
A. Yes. Google’s Antigravity AI is engineered to bridge the gap between technical execution and everyday language, allowing non-technical creators to build software without writing syntax manually. By utilizing advanced natural language processing and autonomous agent workflows, the platform interprets plain-text instructions to generate backend logic, integrate APIs, and assemble user interfaces. Users only need to clearly define the application’s objectives, required features, and user flow. While familiarity with basic software concepts helps in articulating clearer prompts and debugging, absolute beginners can construct and run functioning prototypes—such as financial trackers or analytical dashboards—without prior coding experience.
Q. How does Google Antigravity streamline the creation of a stock price prediction application?
A. Antigravity accelerates development by handling complex architecture, data pipeline configuration, and algorithmic integration behind the scenes. For a stock prediction app, the AI automatically configures access to financial data feeds, applies machine learning models or statistical forecasting libraries, and creates dynamic visual interfaces with interactive charts. Rather than spending weeks configuring developer environments, package managers, and front-end frameworks, users can direct the AI to connect specific market indicators and test predictive logic interactively. This lowers the development barrier dramatically, shifting the user’s role from manual programmer to strategic product architect.
Q. Are AI-generated stock market prediction apps reliable enough for actual financial trading?
A. No, AI-generated applications built as baseline prototypes should not be relied upon for live financial trading or capital allocation. While tools like Antigravity excel at structuring historical data analysis, trend visualization, and standard machine learning regressions, financial markets are subject to unpredictable macroeconomic factors, sentiment shifts, and black-swan events that basic models cannot foresee. These applications serve as excellent educational frameworks, portfolio-tracking prototypes, and proofs of concept. However, deploying real capital requires institutional-grade risk management, extensive backtesting, regulatory compliance, and guidance from certified financial advisors rather than relying solely on autonomous retail algorithms.





















