「ChatGPTでWeb browsingが使えなくなってる……。その替わりに『Code Interpreter』ってのがあるな。ちょっくら使ってみるか」と軽い気持ちで使ってみたらその優秀さに驚いた話。
ChatGPTの説明に英語で色々書いてある中に「write and execute python code」とあった。Pythonのコード書いてくれる事は分かった。しかし、使い方とか良く分からなかったのでMicrosoftのbingというAIに『Code Interpreter』の使い方を聞いてみた。文章生成AIは家庭教師として本当に優秀です。
bing先生の教えによると「CSVやPDFのデータをアップロードしてそのデータを解析するPythonのプログラムを書いて実行してくれる」、「Pythonの知識がなくても分析したい内容を伝えれば分析プログラムを考えてくれる」、「分析の結果からグラフを作成することもできる」との事だった。なるほど、データ解析のプログラムを書いてくれるのね。ありがとうbing先生。
ちょうど投資先を選定する為に企業の売上や利益の情報を集めたデータがあったので投資先を選定する為の分析をやってもらう事にした。データはExcelでまとめてあって分析に不要な列も沢山あったので、まずは分析に必要なデータを選定する事にした。選定したデータは以下の通り。ChatGPTが識別しやすいような名前を付けてCSVを保存してアップロードした。
- コード
- 銘柄名
- 時価総額
- 1株益
- 売上前期
- 売上今期
- 売上来期
- 利益前期
- 利益今期
- 利益来期
- 利益率
- ROE今期
- ROE来期
そしたらいきなりエラーになった。文字コードがUTF-8じゃないと怒られた。Excelから作ったからShift-JISでした。ごめんなさい。という事でUTF-8に変換してアップロードしてもエラーになった。何故? と思いChatGPTが書いたPythonのコードを見たらShift-JISで取り込もうとしてた! こっちのミスを回避しようと気を利かせてくれたらしい。もう一度アップロードするのが面倒だったので「UTF-8でアップしたので取り込んで」とお願いしたら今度はちゃんと取り込んでくれた。
3期分の売上と利益のデータをアップしていたので利益率を計算してとお願いした。そうしたら、利益率の計算はこの「(利益 / 売上) * 100%」計算式でいいかと確認してくれた。しかも「売上のデータにカンマが入っているので取り除いて数値に変換してから計算するね」と言って計算してくれた! プログラム書く前にエラー回避してくれるのが優秀過ぎる。
分析にはあまり関係無いのだけど利益率の成長率(CAGR)を計算してとお願いしたら、なんとTeX使って計算式の確認をして計算してくれた! TeXなんて大学時代に使って以来久しぶりに見たぞ!! Texまで使えるなんてChatGPT凄いなぁ。
次に「1株益とROEが高い企業のランキングを作って」とお願いしてみた。そうしたら「それぞれの平均を取ってランキングを取ってみましょう」と提案され、「1株益とROEは単位が違うので比較する前に正規化が必要です」と勝手に正規化までしてランキングを付けてくれた。自分でランキング作成した時には正規化するアイディアは無かった。ありがとうChatGPTさん!
1株益とROEから 利益性と効率性
のランキング、増収率と利益率から 成長と利益性のバランス
のランキング、時価総額が小さく、増収率が高い企業から 企業規模と成長率
のランキングと順に計算してもらった。 最後に「ここまで計算した3つのランキングから総合ランキングを計算して上位20位を教えて」とお願いしたらやってくれた。しかも表形式で見やすく表示してくれた。途中の計算結果には名前が付いており、それらを後工程の計算で使用することもできるようだ。
途中、ご飯を食べる為に席を外したらPythonの実行環境がリセットされてしまった。しかし、それも「必要なライブラリを再度インポートします」と言って勝手に環境を戻して動くようになった。データセットも消えてしまったのだが、もう一度CSVをアップロードしてと言うのでアップロードしたら計算をやり直してくれた。新しいデータを手に入れたら同じ計算をまたやらせる事が出来そうです。
Pythonはライブラリが優秀なのでコード量少なく色々やれるけど、ここまでのプログラムを自分で考えながら書こうと思ったらそれなり時間がかかる。しかし『Code Interpreter』を使うと会話しながらプログラムが勝手に作られていく。しかもChatGPTさんから提案もしてくれて、その提案を受けて計算方法を軌道修正しながら進められる。最終的に出来上がったPythonのコードも見る事が出来るので、そのコードを自分で手直ししても良い。
これからPythonのプログラマーになる人はChatGPTのこの生産性と競わないといけないと思うと大変だ。簡単なツールを作れるだけのプログラマーは需要が無くなるかもしれない。要件を整理してChatGPTに正しいプログラムを作らせる能力が重要になる時代が来るかもしれない……。
ChatGPT4の『Code Interpreter』を使ってみました。データはあるけど分析の仕方が分からない人はとりあえず『Code Interpreter』にアップロードして相談してみるといいかもしれません。具体的な分析の方法が分からなくてもChatGPTさんが提案してくれます。その提案を受けて軌道修正の依頼をかけていけば欲しい分析結果が得られると思います。皆さんも是非試してみて下さい。