iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
自我挑戰組

30天用Python打造你的數位金融實力:從零開始的FinTech入門筆記系列 第 7

用 Python 計算股票投資報酬率(ROI) — 模擬你的投資績效

  • 分享至 

  • xImage
  •  

很多剛開始投資的人,都會問:「我這檔股票到底賺多少?報酬率是多少?」
今天我們用 Python 來實作一個簡單的股票投資報酬率計算器,讓你可以快速掌握自己的投資績效,不再只是憑感覺投資。

為什麼要計算投資報酬率?

投資報酬率(ROI, Return on Investment)是衡量投資效益的重要指標,計算方式很簡單:

https://ithelp.ithome.com.tw/upload/images/20250812/201779833CxaGSr4Dj.png

在數位金融與量化投資中,ROI 是每個投資模型的重要輸出之一。

Python 小實作 — 模擬股票歷史價格並計算 ROI

我們先隨機生成一段股票歷史價格,再計算從第一天買進到最後一天的投資報酬率。

import numpy as np
import pandas as pd

# 模擬 30 天的股票收盤價
np.random.seed(42)  # 讓結果可重現
prices = np.random.normal(loc=100, scale=5, size=30)  # 平均 100 元,波動 ±5 元

df = pd.DataFrame({
    "日期": pd.date_range(start="2024-01-01", periods=30),
    "收盤價": prices
})

# 初始價格與最終價格
initial_price = df["收盤價"].iloc[0]
final_price = df["收盤價"].iloc[-1]

# 計算 ROI
roi = ((final_price - initial_price) / initial_price) * 100

print(df)
print(f"\n初始價格: {initial_price:.2f} 元")
print(f"最終價格: {final_price:.2f} 元")
print(f"投資報酬率(ROI): {roi:.2f}%")

你會看到什麼結果?

  • 完整的 30 天收盤價表
  • 初始與最終價格
  • 投資報酬率(正數代表獲利,負數代表虧損)

例如:
初始價格: 102.48 元
最終價格: 95.33 元
投資報酬率(ROI): -6.99%

這代表整體虧損了約 7%。

重點複習

  1. ROI 是衡量投資績效的核心指標。
  2. Python 可以用隨機數據模擬市場,快速練習計算邏輯。
  3. 投資不能只看金額變化,必須轉換成百分比比較不同投資標的的表現。

上一篇
用 Python 分析信用卡消費行為 — 找出你的消費習慣
下一篇
用 Python 繪製股票價格趨勢圖
系列文
30天用Python打造你的數位金融實力:從零開始的FinTech入門筆記29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言