Pythonで配当管理アプリを作る① 設計編

今回は、Pythonで新しく配当管理アプリの開発を始めます。

これまでPythonで資産シミュレーターを作成しました。

そこで次のステップとして、自分が普段の投資で実際に使える配当管理アプリを作ることにしました。

今回は、コードを書く前にアプリの設計を考えていきます。

目次

なぜ作ろうと思ったのか

私は現在、高配当株へ投資しています。

保有銘柄や配当金はExcelで管理していますが、入力や集計に手間がかかることがありました。

また、年間配当金や受取配当金を確認するために、毎回計算するのも面倒です。

そこで、PythonとExcelを組み合わせて、自分専用の配当管理アプリを作ることにしました。

作りたい機能

まずは必要な機能を整理しました。

  • 銘柄情報の登録
  • 配当履歴の登録
  • Excelへの保存
  • Excelからデータの読み込み
  • 配当金額や利回りの自動計算
  • 集計結果の表示

最初から多くの機能を作るのではありません。

まずは基本機能を完成させます。

その後、少しずつ機能を追加していく予定です。

アプリの全体構成

現在考えている流れは次のとおりです。

配当管理アプリ

  ↓

① 銘柄情報登録(Tkinterで作成)

  ↓

② 配当履歴登録(Tkinterで作成)

  ↓

③ Excelへ保存

  ↓

④ Excelからデータ読込

  ↓

⑤ 配当情報を集計(Pythonで集計)

・年間予定配当
・年間実績配当
・税引後受取配当
・取得利回り
・年別配当推移

まず入力したデータをExcelへ保存します。

その後、必要なデータを読み込みます。

そして、計算した結果を画面へ表示する仕組みを考えています。

Excelを保存先にする理由

保存先にはExcelを使用します。

データベースを利用する方法もあります。

しかし、今回は学習も兼ねているため、扱いやすいExcelを選びました。

Excelなら内容を目で確認できます。

必要であれば直接修正することもできます。

また、Pythonから簡単に読み書きできる点も大きなメリットです。

Excelの構成

Excelは2つのシートで管理します。

銘柄情報シート

現在保有している銘柄を管理するシートです。

登録する項目は次のとおりです。

  • 銘柄コード
  • 銘柄名
  • 口座
  • 取得単価
  • 株数
  • 予定1株配当

このシートには、現在の保有状況だけを保存します。

配当履歴シート

実際に受け取った配当を管理するシートです。

登録する項目は次のとおりです。

  • 銘柄コード
  • 銘柄名
  • 口座
  • 配当回数(中間・期末)
  • 1株配当

こちらは過去の配当実績を保存する役割です。

このようにシートを分けることで、現在の保有情報と過去の配当実績を整理しやすくなります。

また、後から年間集計や配当推移を計算する際も処理がシンプルになります。

上書き保存を採用する理由

銘柄情報は、「銘柄コード」と「口座」の組み合わせで管理します。

例えば、同じ銘柄をNISA口座と特定口座で保有している場合は、それぞれ別のデータとして管理します。

一方で、同じ「銘柄コード」と「口座」のデータを再度登録した場合は、新しい行を追加しません。

既存のデータを上書きします。

この仕組みにすることで、同じ銘柄が何件も登録されることを防げます。

また、常に最新の保有情報だけを管理できるため、データも見やすくなります。

配当履歴も同じ考え方です。

「年」「銘柄コード」「口座」「配当回数」の組み合わせをキーにして管理します。

もし同じ配当情報を入力した場合は、追加ではなく上書きします。

これなら入力ミスを修正する場合も簡単です。

入力をできるだけ少なくする

入力項目は必要最小限にする予定です。

例えば、配当履歴では株数を入力しません。

株数は銘柄情報に保存されているため、そのデータを利用して計算できます。

同じ内容を何度も入力する必要がないため、入力の手間を減らせます。

さらに、入力ミスの防止にもつながります。

また、銘柄名も毎回入力するのではなく、登録済みの銘柄一覧から選択できるようにする予定です。

これにより、入力速度も向上し、銘柄名の入力ミスも防げます。

自動計算できるようにする

入力したデータを利用して、さまざまな情報を自動で計算できるようにしたいと考えています。

例えば、

  • 年間予定配当
  • 年間実績配当
  • 税引後受取配当
  • 取得利回り

などです。

また、口座によって税引後の受取額も変わります。

そのため、

  • NISA口座は100%
  • 特定口座は80%

として受取配当を計算する予定です。

将来的に追加したい機能

基本機能が完成したら、さらに機能を追加していきたいと考えています。

例えば、

  • 年ごとの配当推移グラフ
  • 配当利回りの推移
  • 保有銘柄一覧
  • 株価の自動取得
  • 配当予定日や権利確定日の表示

などです。

少しずつ機能を追加しながら、自分にとって使いやすい配当管理アプリへ成長させていきたいと思います。

まとめ

今回は、配当管理アプリを作る前に設計を考えました。

最初に全体の流れを整理しておくことで、開発の方向性が明確になります。

また、入力項目をできるだけ減らし、重複データを防ぐ設計にすることで、管理しやすいアプリを目指します。

次回は、Tkinterを使ってアプリの画面を作成していきます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

FIREを目指しながら、投資・プログラミング・家庭菜園・資格勉強に取り組んでいます。試行錯誤しながら積み上げる日々を記録するブログです。

コメント

コメントする

目次