見出し画像

Open AIのCodexで、金融市場トラッカー的なダッシュボードアプリを1日で作ってみた

本日のお題はこちらである。Codexの使い方が先の〇×アプリ作りで要領を得てきた。

次は少しづつ仕事・趣味である金融・投資分野に寄せたアプリを作る事を試みた次第である。


今回作成した金融市場ダッシュボードアプリ

デモ

以下のデモを見て頂くのが一番早いので、まずはこちらを。解説文章はChatGPTに執筆いただいた。

MarketTracker は、マルチアセットの市場動向を視覚的に把握できるウェブアプリケーションです。株式投資やマクロ分析に役立つインタラクティブな可視化機能が特徴です。

主な機能と特徴

  • マルチアセット分析に対応
    ・Global Equity(世界の株式)、金利、為替、コモディティの主要指数の推移を一覧で表示
    ・加えて、セクター別(例:IT、エネルギー、金融など)ファクター別(例:バリュー、モメンタム、クオリティなど) の株価パフォーマンスも一目で比較可能

  • 柔軟な時間軸設定
    ・「Period」設定により、1日(1d)から5年(5y)まで の期間を自由に選択可能
    ・選択した期間内で、指数の絶対パフォーマンス始点=100として正規化された相対パフォーマンスを確認可能

  • シンプルかつ直感的なUI
    ・データビジュアライゼーションに特化した見やすいレイアウト

MarketTrackerは、投資判断や市場分析に必要な情報を、ワンクリックでわかりやすく提示するツールです。

アプリ作成方法

ChatGPTに企画書を書いてもらう

「Codexを利用して、「グローバル金融市場トラッカー」的なWebアプリを作ろうと思っています。つまりは、各国株式市場、金利、為替、業種別パフォーマンス等の数値やグラフを一枚のシンプルなダッシュボードでみられるようにしたい、と言った具合です。Codexに依頼を投げるための企画をドラフトしてください。」

プロンプト内容より

まずは上記のようなざっくり・ふわっとした内容でChatGPTに企画書を書いてもらう。o3辺りを使って聞くと相応の内容を打ち返してくれる。

後はそれをたたき台に、より細かい内容や自分の好みを詰めていく。例えば自身の場合は、Pythonベースで開発して貰いReactでなくFlaskを使う事(Reactは以下の授業で懲りた面がある)、matplotlibだとグラフが素人っぽいものになるので簡単にそれっぽい見栄えにできるplotlyのライブラリを使う、等を指示した。

何度か会話を往復して、概ね自身のイメージ通りの企画書になってきたら、次に進む。

Codexの準備

Githubの自身のアカウントと連携を確立する。Github側でREADME.mdのみの新しいそれ用のリポジトリを作成しておく、等の準備作業をする。慣れれば簡単である。

Codexに企画書をまんまコピペ

あとはCodexのプロンプトに、「以下の企画書内容のアプリを作ってください」というコメントと共に上記の企画書をまんまコピペする。しばらくすればアプリが完成する。

ローカル環境で動かしてみる・エラー修正の依頼をする

出来たものをローカル上で動かしてみる。残念ながら1発では完全に企画書を再現し自分のイメージ通りのものという訳にはいかない。また、エラーが出る・予想外の挙動をする等の場合もある。あとは、出来上がったもモノを見て「こういう仕様も入れたい」と思いつく事もある。例えば自身の場合は、始点を100にした相対比較チャートの機能は、最初にモノを作って、実際の価格推移を見てもピンとこないなと感じて追加した内容である。こうした点をCodexのプロンプト上で再度伝達し、修正やエラー解決を図って貰う。以下、納得いく品質のものが出来るまでこれを繰り返し。

デプロイ・完成

前回の〇×ゲーム同様にRenderでデプロイしたい場合はするとよい。今回は自身の場合は自分用のローカル上で動くアプリが出来ればよいという事なのでローカル環境できちんと動く事を確認して、完了。

アプリ作成の感想

うれしかった事

こういう市場の概況を一覧表示する類のツールは自身のPAでの個人投資の助けのため、日曜大工の趣味、と言った形で作成したいと思っていた。

しかしReactは難しくて日曜大工には時間もかかるし、PythonベースのFlaskによる開発も学んでみようと思いつつ時間がなかったと言った状況であった。自身の本業は金融データ分析と管理職であり、フロントエンド開発、アプリ開発にはさほど詳しくないと言った課題があった。ちゃちゃっとWebアプリ的なものを開発出来て、ダッシュボードみたいなのとか作れたらやれることの幅が広がるのにな、と感じていた。

そうした所を、Codexがうまく実現してくれ、1日で簡単なダッシュボードが作れた事には大いに感謝している。今後も自分なりのダッシュボードやアプリ等を日曜大工的に作ってみる活動が加速しそうだと感じた。

また、アジャイル開発とCodex等のツールは非常に相性が良いとも思った。従前のようなモックアップを作るというステップすら省略して、まず動作するMVP(Minimum Viable Product)を作ってしまう→それを踏まえて改善策や着地点を考える→Codexに言葉で指示して作らせる→終わりが見えて来たら手動でコードの微修正をする、と言ったアプローチが取れるように感じた。

しんどかった事

ローカル環境で動かしてみる・エラー修正の依頼をする

出来たものをローカル上で動かしてみる。残念ながら1発では完全に企画書を再現し自分のイメージ通りのものという訳にはいかない。また、エラーが出る・予想外の挙動をする等の場合もある。あとは、出来上がったもモノを見て「こういう仕様も入れたい」と思いつく事もある。例えば自身の場合は、始点を100にした相対比較チャートの機能は、最初にモノを作って、実際の価格推移を見てもピンとこないなと感じて追加した内容である。こうした点をCodexのプロンプト上で再度伝達し、修正やエラー解決を図って貰う。以下、納得いく品質のものが出来るまでこれを繰り返し。

アプリ作成方法、より

ここが案外面倒臭い事である。このように修正して欲しい、と伝えても中々きちんと修正してくれない。または別のエラーが延々出てきたりする。エラーが直っても、見栄えであるとかデータ取得・成形計算面で問題が見つかったりする。土日祝日のデータがない(ffillで欠損値補完をして、等と指示をした)、始点=100の相対チャートが適切に作成されない、等等。

途中でなんのはずみで起きたかわからないが、__pycache__/云々いうファイルがどうしても残ってしまい、バイナリファイルはサポートされません、のエラーが出てPRが通らなくなる事態ではかなり長時間スタックした。ChatGPTに聞きつつ.gitignoreを作成するなどしたものの中々直らない。最終的には環境設定の所でGithubとの接続を一回切断して再度設定・接続しなおす等したら解決はしたが、だいぶイライラする面はあった。

幾らかのTips

仕様を小分けに伝達しない・まとめた企画書を渡す

仕様やエラー修正依頼を五月雨式に、Codexとの細かい会話の多数回のやり取りで定めに行くとうまくいかない事が多い、あちらを直したらこちらがまた以前の間違い・不適切なコードに戻る、と言った事が多いと感じた。

ChatGPT側でがばっと包括的な企画書を作成して貰い、Codexに渡すのが良いように感じた。また、エラー修正など依頼しているうちに議論が迷走してきたなと感じてきたら、仕切り直しで企画書全体を改めてCodexに渡して「初心に返って貰う」のは有効かなと感じた。

Github関連の問題は一回切断・削除→再度接続、で解決する事もある

上述の、バイナリファイルはサポートされません云々の際には、リポジトリとの接続設定を削除してから再度接続確立しなおす、等して試行錯誤しているうちに何となく解決した。.gitignoreが上手く機能しなかったようで、その背景がやや曖昧だがこれで今回は解決した。

マーケットデータで云々系は、データライセンス等に注意

この手の、無料取得できる市場データの利用、そうしたデータのスクレイピング等についてはデータライセンス等の面でリスクも伴う(特に商用アプリにする場合)。自身もそうした事があり、今回作成したものは個人の趣味での使用に留めるつもりであり、これを発展させて商用アプリを作ろう、と言った事はしない予定である。この点留意が必要と思う。

定型業務はアプリ化、レポート作成等はAIに頼む

因みに、今回作ったアプリをChatGPTに読み込ませて、このデータをもとに過去1か月のグローバル金融市場動向の市況概況サマリーを書いてください、等と依頼すると、いい感じにドラフトしてくれる。以下、そのようにしてChatGPT o3に作成して貰ったレポートである。

2025年5月マーケット動向サマリー

全体的な要約

2025年5月は、世界の金融市場で株式を中心にリスク資産が大きく上昇した月となりました。米国と中国の関税を巡る協議が進展し「貿易休戦」に至ったことで世界的な景気後退リスクが後退し、好調な企業決算も相まって投資家心理が改善。米連邦準備制度理事会(FRB)は5月上旬のFOMCで政策金利を4.25~4.50%に据え置き、市場に安堵感を与えました。米国の長期金利はわずかに上昇したものの短期金利との逆イールドは緩和傾向にあり、為替市場では円が主要通貨に対してやや軟調に推移しました。商品市場では金やビットコインが上昇し、原油はほぼ横ばいとなるなど、セクター間・ファクター間でメリハリのある動きが展開されました。以下、資産クラスごとの動向をセクション別にまとめます。

グローバル株式

5月は世界の株式市場が総じて堅調で、特にハイテク株中心に大幅上昇しました。米国ではS&P500指数が月間で+7.8%、ナスダック総合指数は+12.1%と突出した上昇率を記録し、米小型株のラッセル2000指数も+5.7%の上昇となりました。欧州の主要株価指数であるユーロ・ストックス50は+4.3%、イギリスのFTSE100は+3.6%と堅調ながら上昇率は米国より小幅に留まりました。アジアでは、日本の日経平均株価が+6.6%と高値圏を更新し、国内新興株も+9.3%と大きく上昇しました。香港ハンセン指数も+6.9%と反発する一方、中国本土の上海総合指数は+1.6%にとどまり相対的に出遅れました。また、日本のリート指数(東証REIT指数)は金利上昇を背景に-1.1%と下落しており、不動産セクターの弱さが見られました。

金利(米国および日本)

米金利は短期と長期でまちまちの動きとなりました。FRBは5月のFOMCで政策金利を据え置いたため短期金利(3カ月物Tビル利回り)はほぼ横ばいでしたが、10年物国債利回りは約4.5%へと上昇し(月間で+3%程度)、長短金利差の逆転(逆イールド)はかなり緩和しています。日本では、日銀が4月末~5月初の金融政策決定会合で現行の超低金利政策(無担保コール翌日物金利誘導目標0.50%程度)を維持しました。しかし市場では将来的な政策正常化観測もくすぶる中、日本の10年国債利回りは1%台半ばへ上昇し、1カ月間で0.1%以上の利回り上昇(価格下落)となりました。米国と日本で金利動向は異なるものの、いずれも長期金利には上昇圧力が見られたと言えます。

通貨(為替)

為替相場では円が対主要通貨に対して弱含みで推移しました。米ドル/円相場は月初からほぼ変わらず142円台後半(+0.07%)で推移し、ユーロ/円も161円台でわずかな円高(-0.09%)にとどまりました。一方、英ポンド/円は192円台まで円安が進み月間で+1.75%のポンド高・円安となりました。同様にシンガポールドル/円も+2.3%と円安が目立ち、スイスフラン/円も+0.6%円安となっています。円安基調の背景には、海外通貨の金利優位(日本との金利差)や5月のリスク資産高で円が調達通貨として売られやすかったことが指摘できます。

コモディティ(商品)

商品市場では、貴金属とデジタル資産が上昇する一方でエネルギーは落ち着いた動きでした。金(ゴールド)価格は1トロイオンスあたりで月間+2.46%上昇し、安全資産への適度な資金流入が見られました。ビットコインは+16.81%と極めて大幅な上昇となり、ハイテク株高の流れも受けてリスク資産の中でも突出したリターンを記録しました。一方、原油(WTI原油先物)価格はほぼ横ばいで推移し、月間変化率は-0.88%と小幅な下落にとどまりました。また景気動向のバロメーターともいわれる銅先物も-1.18%とわずかに下落しており、商品市況全体としては落ち着いた動きの中で金と暗号資産が強さを見せた格好です。

セクター別動向

5月はセクター間で明暗が分かれ、世界的にハイテクなど成長セクターが市場を牽引しました。グローバルIT(情報技術)セクター指数は月間+13.2%と顕著な上昇を示し、一般消費財や通信サービスもそれぞれ+9%前後の高い伸びとなりました。また景気に敏感な工業株(資本財)も+10.7%、金融株も+6.3%と堅調で、株式市場の上昇は幅広い景気循環セクターに及びました。一方でディフェンシブ(守り)のセクターは出遅れ、ヘルスケアはグローバルで-2.2%と下落し、生活必需品は+0.1%と横ばい圏、不動産も+0.5%の小幅上昇にとどまりました。金利上昇局面ということもあり、バリュエーションに敏感なディフェンシブ株に資金が向かいにくい月でした。

米国株式市場も同様の傾向で、情報技術セクター(XLK)は+14.4%と群を抜く上昇率を記録し、一般消費財(XLY)+10.4%、通信サービス(XLC)+8.9%など成長株中心に大幅高となりました。対照的にヘルスケア(XLV)は-4.3%と下落し、生活必需品(XLP)は-0.8%とマイナス圏、エネルギー(XLE)は+0.3%と停滞しました。欧州株式市場では銀行セクターが+9.9%上昇し、ハイテクも+9.7%と上位を占める一方、ヘルスケアは+3.7%にとどまりました。日本株式市場では特に銀行(金融)セクターが+12.8%と突出し、ハイテク系の電機ITサービスも6~8%台の上昇で追随しました。防御色の強い医薬品は-0.7%と小幅安に沈み、エネルギー資源も+1.1%の上昇にとどまっています。

ファクター別動向

株式のファクター戦略別では、モメンタムグロース(成長)系が月間で特に良好なリターンを上げました。米国ではモメンタムETFが+12.44%、グロース(IWF)が+11.8%と大幅上昇し、これはバリュー(+5.1%)や最小分散(低ボラティリティ、USMV、+2.1%)の上昇率を大きく上回りました。世界全体のファクター指数でもモメンタムが+6.6%とリードし、バリューやクオリティは+5%台、低ボラティリティは+2.3%にとどまっています。投資家のリスク選好姿勢が強まったことで、値上がりトレンドに乗るモメンタム株や高成長株に資金が集まった格好です。

欧州においてもファクター別の傾向は似通っており、欧州バリューETFが+7.7%、モメンタムETFが+7.0%と高リターンを記録した一方、クオリティETFは+3.4%にとどまりました。日本市場ではやや様相が異なり、日本クオリティETFが+7.1%と最も好調で、バリューETF+3.7%、最小分散ETF+2.4%と、やはりディフェンシブ系ファクターが相対的に低調な結果となりました。全体として5月は世界的に「攻め」のファクターが優位に立った月と言えるでしょう。

自身の今回作成のアプリを参照させた上でChatGPTに書かせた過去1か月の市況概況サマリー

(注:上記はAIに作成させた下書き文章であり、正確性等を保証しません。また、売買推奨等は一切行っておりません。投資は自己責任でお願いします)

数値があっているのか、記載内容が実際の所と違和感がないかなどは人間側で確認が必要ではある。とはいえ、ドラフトとしては十分な出来のように思う。

こうしたことをしてみる中で、以下がAIを利用した効率化の基本動作なのかなと言うあたりを再確認した。

  • 「毎回同じ手続きで同じデータを出力してほしい」と言った際は、Codex等を利用してアプリ化・プログラミング処理化

  • プログラミング処理で出てきたデータ・出力結果等を用いて、毎度創造的に文章を書いたり要約してほしい、ファジーな判断をして欲しい、と言った所でAIを使用

AIを業務効率化ツールとして位置付けるのは恐らく矮小化し過ぎているようには思う。もっと本質的な所で人々の働き方から地政学動向、人間の文明の進歩までを左右する、急速で根本的で重要な影響力をAIが持ちつつあるように個人的には感じている。とはいえ当座の日々の仕事での利用は「業務効率化」である事もまた確かである。実際に手を動かしてみて良い土地勘が得られつつあると感じるなどした。

まとめ・今後の展望など

「うれしかったこと」でも記載の通り、アジャイル的アプローチを更に加速する、企画書をChatGPTなりに作らせてCodexにそれを投げてMVPを作る、と言ったVibe coding的なアプローチは今後普及拡大するのだろうなと感じた。動くアプリをちゃちゃっと作れてしまうというのは中々にすごいなと感じた。

一方で、「しんどかったこと」に記載の通り、”ノンエンジニアでもアプリが簡単に完成させられる!”と言う夢の理想像にはまだ幾分距離があるなとも感じた。現状だと面倒な部分も残っているなと。

加えて、例えばマーケットデータの土日祝日の欠損値補完であるとか、AIを使ってアプリ作りする際も人間側のドメイン知識は必要、ないしはあったほうが良いのだろうなと言う事も感じた。

理想的には、例えばマーケット関連ダッシュボードであれば、マーケット関連の職務に就くビジネス現場の人がAIを使ったVibe codingに習熟して、企画や仕様をAIと会話しながら作り、Codexなり他のコーディングAIツールでMVPを作っていくのが良いのかなと言った事は感じた。また、AIの進歩で上記の「しんどかったこと」の面倒な側は改善が見込まれる事も考えれば、段々とそういう方向、つまりビジネス現場がMVPを作る、本格的なデプロイ、商用化、保守等でIT専業者が入る、と言う形に向かうのかなと言った事を個人的には感じた。

その後に、ビジネス現場も本当に対人・人間力が求められる業務以外の多くのホワイトカラーのオフィス事務職はAIが全部やる、IT側もデプロイや保守もAIがやる、と言う時代が来るのかも知れない。この辺について実際そうした時代が来るか来ないか、来るとしていつ頃来るか、と言うのは諸説あるように思うしこの場での議論のスコープを超える内容なのでここでは触れない事にする。

とはいえ、こうしたツールを使いながら、AIで現状どこまでやれるか、現状の課題はどこにあるか、今後どのように課題が解決される方向になるかないしは課題が中々解決されないのか、と言った事を各自考える必要があるのだろうな、と感じたのであった。

雑多な内容ですが、何かしら参考になりましたら幸いです。

いいなと思ったら応援しよう!

この記事は noteマネー にピックアップされました

noteマネーのバナー