[36歳から始めるシステム開発]高配当株投資に役立つ分析システム完成
前回の記事で紹介した株投資向けのための財務分析システムの開発が、一通り完成しました。
システムの名前は「InvestLabo」です。
システム構築のきっかけや概要などは以下の記事を参照ください。
このシステムは高配当株投資のために必要な財務情報を、銘柄コードを入力するだけで表示するシステムです。
今回はそのデモ動画で完成イメージを紹介します。
そして現時点での機能、さらに改良すべき点について記載します。
システムの概要と使用技術
このシステムは、GoogleのFirebaseを活用してログイン認証およびデータ管理機能を実装しました。
処理概要
実装している処理は下記の通りです。
ユーザーがGoogleアカウントでログイン。
銘柄コードを入力する画面に遷移。
入力されたコードに基づいて財務情報を表示。データはFirebaseに保存されており、必要な情報をリアルタイムで抽出できます。
```mermaid
sequenceDiagram
participant User
participant investlabo
participant Firebase
User->>investlabo: ログイン画面にアクセス
investlabo->>Firebase: Google認証リクエスト
Firebase-->>investlabo: 認証トークンを返す
investlabo-->>User: ログイン成功、銘柄コード入力画面を表示
User->>investlabo: 銘柄コードを入力
investlabo->>Firebase: 銘柄コードを基にデータリクエスト
Firebase-->>investlabo: 銘柄データを返す
investlabo-->>User: 銘柄の財務情報を表示
```
InvestLaboのメリット
決算データの多くの項目から高配当株投資に必要な情報のみを抽出し、分析にかかる時間を短縮できる点です。
私が注目している指標だけに絞って表示されるため、銘柄分析の時間を短縮できます。
Firebaseを使用することで認証機能とデータ管理がライトに実装。
複雑なサーバーサイドの設定を行う必要がありません。
デモ画像とシステムの動作
以下が実際のシステム画面のデモ画像です。
ログイン後に銘柄コードを入力すると、その企業の財務データが表示されています。
高配当株選定の分析に必要な以下の基本情報は表示するようにしています。
売上
営業利益
営業利益率
EPS
自己資本比率
営業CF
現金同等物
一株配当
配当性向
苦労したこと:データ移行
このプロジェクトで苦労した点の一つは、Firebaseに複数年分の決算データを挿入する作業です。
データを挿入するためのツールを作成して、IRバンクからダウンロードした決算データを入れなければなりませんでした。
しかし、firebaseの無料プランでは読み込みと書き込みの1日あたりの回数に制限(※)があり、データの挿入に想定以上に時間がかかっています。
今回の「InvestLabo」用に1年分のデータを入れると、上記の制限に抵触しています。
2016年分までのデータを入れる予定なのですが、1日1年分しか入れることができないため、未だ時間がかかりそうです。
改良予定
このシステムは一通り完成したものの、改良の余地があります。
1. 見た目の改善
特に銘柄の情報を出力する画面は、CSSをほとんど当てていないので見栄えが良くありません。
グラフの縦軸の単位も、0(ゼロ)がたくさん並んでおりイマイチです。
他の方に見てもらったり、触ってもらったりする可能性もあるので、見た目は整えていきたいと思います。
2. 金融関連株向けの情報出力
現在は営業利益を基準に出力していますが、銀行株などの金融関連株では営業利益が決算データに含まれていないケースがあります。
ゆえに、現状の実装では金融関連企業では営業利益の項目がグラフ化出来ません。
この点は実際にシステムを作ってみて気づいたことでした。
今後は経常利益も出力できるようにシステムを改良する予定です。
このように実際にやってみて分かったことは随時改修をしていきます。
まとめ
今回は、私が6月から作成していた財務分析システム「Investlabo」の基本的な機能とデモ画面を紹介しました。
完成しましたが、まだ以下のような改良の余地があります。
UIの改善
金融関連株向けの出力項目の追加
データ移行の継続
7月完成を目処にしていました。
noteでの報告は遅れましたが、ほぼ想定通りのスケジュールで実装ができました。
これもChatgpt等のAIツールが充実していたからこそです。
私のような駆け出しエンジニアは、AIツールなしだと更に時間がかかっていたでしょう。
今後も開発過程での知見や、改良したことを共有していきます。
この記事が気に入ってもらえたら、スキを押していただけると今後の記事作成の励みになります。ぜひよろしくお願いします!