久々のブログでどう書けばいいか忘れているかも。
1月から新NISAも始まる予定で、投資が一般的になってきていると思うので、株式投資デビューのため、株式銘柄を抽出できるツールを作ってみた。株式の銘柄って、数千あってすべてを見ることは難しいと思います。さらに、どれが上がるかってわからないし。上昇を当てるのはほぼ無理なんですけど。
このような中で、とりあえず上昇基調であがりそうってものを抽出するツールを作成しました。今回は、streamlitで作成しています。streamlitについてはbing_copilotで。
Streamlitとは、PythonでWebアプリケーションを作成するためのフレームワークです。データサイエンティストやAIエンジニア向けに開発されており、バックエンド開発の知識がなくてもPythonのコードを数行書くだけで、気軽にデモ用のアプリを作成することができるのが特徴です123。
Streamlitの主な機能と特徴は以下の通りです。
- Pythonスクリプトを実行するかのように、
streamlit run
コマンドでWebアプリケーションを起動できます。 st.title
やst.write
などの簡単なAPIで、テキストやグラフ、地図などのコンテンツを表示できます。st.checkbox
やst.selectbox
などのウィジェットで、ユーザーとのインタラクションを実現できます。- Streamlit Componentsで、ReactやHTMLなどのカスタムコンポーネントを組み込むことができます。
- Streamlit Community Cloudで、無料でアプリケーションを公開(デプロイ)できます。
Streamlitは、データ分析や機械学習の結果を可視化したり、プロトタイプを作成したりするのに便利なツールです。興味があれば、公式サイト1やドキュメント4を参照してみてください。
こんな感じ。簡単にwebアプリを作成できるってことです。
初めて使ってみましたが、githubと連携するとすぐに使えるのは楽ですね。githubも前からよく見ていましたが、使ったのは初めてでした。
アプリの作成の概要はここまでにして、実際に作成したものが以下のようなものです。
今回は3件が抽出されました。これは、動画撮影のため株価コードの1000~2000までのみにして短くしています。実際は9999番まであるので、もう少し多くなります。
抽出条件は以下の形にしています。
・21日移動平均線が1ヶ月前に比べて1割以上値上がりしている。
・単元の価格が500円以下
上昇傾向があって、自分の持ち金で買える銘柄に絞っています。上昇傾向で絞ると他にも沢山でてくるのですが、金額が大きくて指をくわえて見ているだけになるので。
流れ的には、解析スタートのボタンをクリックすると、1000番代から抽出を開始します。条件に一致した場合、銘柄のコード、名称とチャートを貼り付ける形になっています。
最後には、抽出されたコードの一覧が表示されます。コードの横には現在の株価とみんかぶの目標株価を表示しています。みんかぶがあたるかどうかは別にして、参考値としていれています。このみんかぶからの株価を取得するコードを作るときにgoogle_colabを使ったんですが、これがすごいことになっていたので、また別で書きたいと思います。
こんな抽出だけで儲けれるほど、株式市場は簡単ではないですが、昔から作ってみたいとおもっていたものが簡単につくれるようになったことは、情報の共有化がされてきているのと、プログラムの開放が進んでいるんだと改めて実感しました。
昔は株価情報を取得するにも大変だったのに。便利な時代になりました。
このツールを公開しようと思っています。
が、解析スタートしてから処理が長いので、同時アクセスになった場合どうなっているのかわからんず、公開できない状況です。streamlitの同時アクセス?処理中?の情報を求みます。
よろしくお願いします。