Raspberry Piで作る!NISA口座の投資管理システム【初心者向けDIYガイド】

投稿者: | 2025年1月14日

こんにちは! 今回は、Raspberry Piを使ってNISA口座の投資状況を管理できるDIYシステムを構築しながら方法を詳しく解説します。
「自分の投資データを即座に確認したい」「DIYで学び楽しく投資管理を」したい」という方にオススメです!

システム概要

このシステムでは以下のことができます:

  1. 突然で株価や投資信託の価格を取得します。
  2. NISA口座の非枠(120万円)の利用状況を計算・沈黙化。
  3. 投資データをグラフ表示して、現状を直感的に把握。

これをRaspberry Piを使った小型ディスプレイで常に確認できるようにします。

準備物

Raspberry Pi 4(推奨):他のモデルでも可能ですが、処理速度の点で4が最適です。
microSDカード(32GB以上):OSやプログラムの保存用。
タッチスクリーンディスプレイ:公式7インチディスプレイまたはHDMI接続の小型ディスプレイ。Raspberry Pi用電源アダプターUSBキーボードとマウス:セットアップ時に使用します。
Python環境:初期インストール時に用意します。

処理の流れ

  1. データ取得:Yahoo! Finance APIまたはAlpha Vantage APIを使ってポートデータを取得します。
  2. データの管理:投資済み金額を計算し、NISA枠の残高を表示します。
  3. 結果の一時化:Raspberry Piのディスプレイで当面表示。

手順

1.Raspberry Piのセットアップ

OSのインストール

  1. Raspberry Pi公式サイトからRaspberry Pi OSをダウンロード。
  2. Balena Etcherなどを使ってSDカードにOSを焼き込みます。
  3. 初期設定を行い、Wi-Fiや接続SSHを有効化します。

Pythonライブラリのインストール

以下のコマンドをターミナルで実行して、必要なライブラリをインストールします:

sudo apt update
sudo apt install python3-pip
pip3 install requests matplotlib

2. 収益データ取得スクリプトの作成

ヤフー! Finance APIを使ってリアルタイムデータを取得するプログラムを作成します。

ポータル取得スクリプト(stock_price.py

import requests

def get_stock_price(symbol):
    url = f"https://query1.finance.yahoo.com/v7/finance/quote?symbols={symbol}"
    response = requests.get(url)
    data = response.json()
    try:
        price = data['quoteResponse']['result'][0]['regularMarketPrice']
        return price
    except (IndexError, KeyError):
        return None

# 銘柄コードを指定(例: Apple Inc.)
symbol = "AAPL"
price = get_stock_price(symbol)
if price:
    print(f"{symbol}の株価は${price}です。")
else:
    print("株価を取得できませんでした。")

3. NISA枠の利用状況を計算する

投資金額計算スクリプト(nisa_calculator.py

def calculate_nisa_limit(invested, limit=1200000):
    remaining = limit - invested
    return max(remaining, 0)

# 投資済み金額を入力
invested_amount = 800000  # 80万円投資済み
remaining_limit = calculate_nisa_limit(invested_amount)

print(f"NISA枠の残りは{remaining_limit}円です。")

4. データをグラフで解決する

グラフ表示スクリプト(nisa_graph.py

import matplotlib.pyplot as plt

def show_nisa_pie_chart(invested, limit=1200000):
    remaining = calculate_nisa_limit(invested, limit)
    labels = ['使用済み', '残り枠']
    sizes = [invested, remaining]
    colors = ['gold', 'lightblue']
    
    plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
    plt.title("NISA枠の利用状況")
    plt.show()

# 投資済み金額
invested_amount = 800000
show_nisa_pie_chart(invested_amount)

5.全体を統合したメインスクリプト

メインプログラム(investment_manager.py

import requests
import matplotlib.pyplot as plt

# 株価取得
def get_stock_price(symbol):
    url = f"https://query1.finance.yahoo.com/v7/finance/quote?symbols={symbol}"
    response = requests.get(url)
    data = response.json()
    try:
        return data['quoteResponse']['result'][0]['regularMarketPrice']
    except (IndexError, KeyError):
        return None

# NISA枠計算
def calculate_nisa_limit(invested, limit=1200000):
    return max(limit - invested, 0)

# グラフ表示
def show_nisa_pie_chart(invested, limit=1200000):
    remaining = calculate_nisa_limit(invested, limit)
    labels = ['使用済み', '残り枠']
    sizes = [invested, remaining]
    colors = ['gold', 'lightblue']
    
    plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
    plt.title("NISA枠の利用状況")
    plt.show()

# メイン処理
if __name__ == "__main__":
    symbol = "AAPL"  # 銘柄コード
    invested_amount = 800000  # 投資済み金額

    # 株価を取得
    price = get_stock_price(symbol)
    if price:
        print(f"{symbol}の株価は${price}です。")
    else:
        print("株価を取得できませんでした。")

    # NISA枠の状況を表示
    show_nisa_pie_chart(invested_amount)

6. システムの起動と表示

  1. ディスプレイをRaspberry Piに接続し、Pythonスクリプトを実行します:バッシュ著作権を所有する
python3 investment_manager.py

ディスプレイにポータル情報とNISA枠のグラフが表示されます。
これで、Raspberry Piを使った投資管理システムが完成です!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です