用Python取得「台灣發行量加權股價報酬指數」

更新 發佈閱讀 6 分鐘
投資理財內容聲明

我發現很少有直接抓取「台灣發行量加權股價報酬指數」的方法,所以自己用Python寫一個到證交所抓取到由起始年月(程式碼是2014年11月)到目前的「台灣發行量加權股價報酬指數」,詳細程式碼在最下面。

「台灣發行量加權股價報酬指數」有什麼意義或用途?

什麼是「台灣發行量加權股價報酬指數」,簡單說就是「股息再投入的加權指數」。

因為有很多數據顯示要打贏大盤是很困難的事情,這個指數可以當成買了大盤並且股息再投入的績效指標,可以拿來和其他投資商品做績效比較。

raw-image
import requests
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
from dateutil.relativedelta import relativedelta

def convert_year(date_string):
# 解析民國年
roc_year, month, day = map(int, date_string.split('/'))
# 轉換為西元年
gregorian_year = roc_year + 1911
# 格式化為西元日期字串
gregorian_date_string = f"{gregorian_year}/{month:02d}/{day:02d}"
return gregorian_date_string

def get_month_index(date: str):
# 發行量加權股價報酬指數
url = "https://www.twse.com.tw/indicesReport/MFI94U?response=json&date={}".format(date.replace("-", ""))
response = requests.get(url)
#response.json()
# Create the DataFrame
df = pd.DataFrame(response.json()['data'], columns=['Date', 'Value'])

# Convert 'Value' to numeric
df['Value'] = pd.to_numeric(df['Value'].str.replace(',', ''))
df['Date'] = df['Date'].apply(convert_year)
df['Date'] = pd.to_datetime(df['Date'])
# Set 'Date' as the index
df.set_index('Date', inplace=True)
return df

# 起始年
start_year = 2014
# 起始月
start_month = 11
query_date = datetime(start_year, start_month, 1).date()
today = datetime.now().date()

df = pd.DataFrame(columns=['Date', 'Value'])
df = df.dropna(axis=1, how='all')

while today >= query_date:
date_str = f'{query_date.year}-{query_date.month:02d}-01'
#print("抓取資料:" + date_str)
new = get_month_index(date_str)
df = pd.concat([df,new], axis=0, sort=False)
query_date = query_date + relativedelta(months=1)

df['Value'].plot()
plt.title('Taiwan Stock Exchange Capitalization Weighted Stock Index(IR0001.TW)')
plt.xlabel('Date')
plt.show()

用ffn Package分析績效

import ffn

df.index = df.index.tz_localize('UTC')
perf = df['Value'].calc_stats()

print(perf.display())
raw-image

可以看出這10年指數成長了270%,最大回檔約-28%。

留言
avatar-img
Leo的沙龍
1會員
5內容數
Leo的沙龍的其他內容
2024/11/24
最近看大盤績效這麼好,又看到有人討論有小孩的人每個月會花多少錢,突然在思考如果把養小孩的錢換成投資大盤,那績效哪個好呢? 以下純粹以投資人的角度去理性計算,不考慮生命的對國家和家庭的價值,希望不要對我有道德批判。 假設養育一個人到大學畢業由0歲到22歲需要花費500萬,對比於投資大盤的話,相當於
2024/11/24
最近看大盤績效這麼好,又看到有人討論有小孩的人每個月會花多少錢,突然在思考如果把養小孩的錢換成投資大盤,那績效哪個好呢? 以下純粹以投資人的角度去理性計算,不考慮生命的對國家和家庭的價值,希望不要對我有道德批判。 假設養育一個人到大學畢業由0歲到22歲需要花費500萬,對比於投資大盤的話,相當於
2024/11/16
到證交所網站的臺灣50指數歷史資料(https://www.twse.com.tw/en/indices/ftse/tai50i.html)抓取,程式碼如下: import requests import pandas as pd import matplotlib.pyplot as plt f
Thumbnail
2024/11/16
到證交所網站的臺灣50指數歷史資料(https://www.twse.com.tw/en/indices/ftse/tai50i.html)抓取,程式碼如下: import requests import pandas as pd import matplotlib.pyplot as plt f
Thumbnail
2024/11/12
近來看到有位教授出書推廣市值型ETF,但他不推薦槓桿ETF。他說根據"Leveraged ETFs: A risky double that doesn't multiply by two"這篇論文的模擬結果,雖然兩倍槓桿承受了兩倍風險,但是獲利卻只有1.5倍,所以不推薦買槓桿ETF。 讓我有
Thumbnail
2024/11/12
近來看到有位教授出書推廣市值型ETF,但他不推薦槓桿ETF。他說根據"Leveraged ETFs: A risky double that doesn't multiply by two"這篇論文的模擬結果,雖然兩倍槓桿承受了兩倍風險,但是獲利卻只有1.5倍,所以不推薦買槓桿ETF。 讓我有
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
做期貨與選擇權的人,務必要熟知籌碼分布在哪。日盤的籌碼會在收盤之後公布三大買賣超以及期貨及選擇權的佈局。這個好處可以說是在台灣獨有的制度,也是優勢,同時也是劣勢。怎麼說呢,下午期貨一開盤,大家對於籌碼分布早就心知肚明,因此分析籌碼的時候必須搭配技術分析才可以。對我的專欄來說45%看籌碼45%看技
Thumbnail
做期貨與選擇權的人,務必要熟知籌碼分布在哪。日盤的籌碼會在收盤之後公布三大買賣超以及期貨及選擇權的佈局。這個好處可以說是在台灣獨有的制度,也是優勢,同時也是劣勢。怎麼說呢,下午期貨一開盤,大家對於籌碼分布早就心知肚明,因此分析籌碼的時候必須搭配技術分析才可以。對我的專欄來說45%看籌碼45%看技
Thumbnail
在一些老師跟股友的宣傳之下,大家應該都知道有股票期貨這件事情,也有人學著用股票期貨去操作,然後股票期貨是【一口表彰兩張股票】,然後依個股不同,保證金的成數也不同,可以在台灣期貨交易所查到成數比例: 可以看到依個股的風險不同,台期所制定的比例就不同,有的是13.5%,有的是20%。若是13.
Thumbnail
在一些老師跟股友的宣傳之下,大家應該都知道有股票期貨這件事情,也有人學著用股票期貨去操作,然後股票期貨是【一口表彰兩張股票】,然後依個股不同,保證金的成數也不同,可以在台灣期貨交易所查到成數比例: 可以看到依個股的風險不同,台期所制定的比例就不同,有的是13.5%,有的是20%。若是13.
Thumbnail
初稿:20231225 修訂:20240222 剛好看到一篇文, 台股沒有連續下跌2年, 似乎呼應了十年大週期, 投資人在每天努力的研究中, 就是希望找到漲跌的規律, 一做多就漲,一做空就跌, 但是當沖或日線、週線,都太短了, 很容易抓龜走鱉,或多空雙巴, 所以才要研究指數最
Thumbnail
初稿:20231225 修訂:20240222 剛好看到一篇文, 台股沒有連續下跌2年, 似乎呼應了十年大週期, 投資人在每天努力的研究中, 就是希望找到漲跌的規律, 一做多就漲,一做空就跌, 但是當沖或日線、週線,都太短了, 很容易抓龜走鱉,或多空雙巴, 所以才要研究指數最
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
Thumbnail
  本篇文章分享了自行開發的臺指期當沖策略,並使用XQ全球贏家進行自動化交易買賣。主要內容包括今日交易重點、當日損益、自動交易損益計算與績效圖以及各交易策略說明。文章強調策略的執行和分享交易績效的重要性。閱讀者可以從中獲得交易策略方面的參考,並瞭解相關風險和盈虧。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News