用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
留言分享你的想法!
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
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
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