InvestLogixは、株式投資のポートフォリオを効率的に管理するためのアプリケーションです。銘柄情報の管理、取引記録、保有株の損益計算、配当管理、ポートフォリオ分析など、投資家に必要な機能を提供します。
- 日本株・米国株の銘柄情報の登録・管理
- 市場別の銘柄一覧表示
- 銘柄の詳細情報(セクター、業種など)の管理
- 株式の購入・売却取引の記録
- 取引履歴の閲覧(銘柄別フィルタリング可能)
- 月次・年次の取引サマリー表示
- 複数の口座種別(NISA、特定口座など)に対応
- 保有銘柄一覧の表示
- 平均取得単価、保有数量の自動計算
- 現在価格に基づく時価評価額の表示
- 評価損益・評価損益率の計算
- 保有株の損益再計算機能
- 配当金の記録・管理
- 配当履歴の閲覧(銘柄別フィルタリング可能)
- 月次の配当金集計表示
- ポートフォリオ全体のサマリー表示(総コスト、総時価評価額、未実現損益など)
- 市場別・通貨別の保有額分布
- ポートフォリオの資産推移履歴の記録・表示
- LINE通知機能によるポートフォリオ状況の定期レポート
- ユーザー認証(JWT認証)
- LINE連携機能
- 言語: Python
- フレームワーク: FastAPI
- データベース: PostgreSQL (Supabase)
- ORM: SQLAlchemy
- マイグレーション: Alembic
- 認証: JWT (JSON Web Tokens)
- LINE Messaging APIを使用した通知機能
- 株価情報の自動取得・更新
POST /api/v1/token- ログイントークンの取得POST /api/v1/oauth/token- OAuth2形式でのログイントークン取得POST /api/v1/users/- 新規ユーザー登録(管理者のみ)GET /api/v1/me- 現在のユーザーの認証状態確認
POST /api/v1/stocks/- 新規銘柄の登録GET /api/v1/stocks/- 登録されている銘柄一覧の取得DELETE /api/v1/stocks/{symbol}- 指定された銘柄の削除
POST /api/v1/transactions/- 新規取引の登録GET /api/v1/transactions/- ユーザーの取引履歴の取得GET /api/v1/transactions/monthly-summary- 月ごとのトランザクション集計の取得GET /api/v1/transactions/yearly-summary- 年ごとのトランザクション集計の取得
GET /api/v1/holdings/- ユーザーの保有銘柄一覧の取得POST /api/v1/holdings/{symbol}/recalculate- 保有株の損益の再計算POST /api/v1/holdings/recalculate-all- 保有する全銘柄の損益の一括再計算
POST /api/v1/dividends/- 配当情報の登録GET /api/v1/dividends/- ユーザーの配当履歴の取得GET /api/v1/dividends/monthly- 月次の配当金集計の取得
GET /api/v1/portfolio/summary- ポートフォリオのサマリー情報の取得POST /api/v1/portfolio/summary- ポートフォリオのサマリー情報の更新GET /api/v1/portfolio/history- ポートフォリオの過去の履歴の取得POST /api/v1/portfolio/update-and-notify- ポートフォリオの更新とLINE通知の実行
PUT /api/v1/users/me/line-user-id- 現在ログインしているユーザーのLINE UserIDの更新
- リポジトリのクローン
git clone https://github.com/yourusername/InvestLogix.git
cd InvestLogix- 依存関係のインストール
cd src/api
uv sync- 環境変数の設定
.env.exampleファイルをコピーして.envファイルを作成し、必要に応じて環境変数を設定します。
cd src/api
cp .env.example .env- データベースのマイグレーション
cd src/api
alembic upgrade head- アプリケーションの起動
cd src/api
uvicorn stock.app:app --reloadこのプロジェクトはMITライセンスの下で公開されています。