用Python取得「臺灣50指數」歷史資料

更新 發佈閱讀 6 分鐘

到證交所網站的臺灣50指數歷史資料(https://www.twse.com.tw/en/indices/ftse/tai50i.html)抓取,裡面有「臺灣50指數」和「臺灣50報酬指數」兩種指數,Python程式碼如下:

import requests
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
from time import sleep
from dateutil.relativedelta import relativedelta

def get_month_index_TAI50I(date: str):
# from "https://www.twse.com.tw/en/indices/ftse/tai50i.html"
url = "https://www.twse.com.tw/rwd/en/FTSE/TAI50I?date={}&response=json".format(date.replace("-", ""))

response = requests.get(url)
df = pd.DataFrame(response.json()['data'], columns=['Date', 'FTSE TWSE Taiwan 50 Index','FTSE TWSE Taiwan 50 Total Return Index'])
df['FTSE TWSE Taiwan 50 Total Return Index'] = pd.to_numeric(df['FTSE TWSE Taiwan 50 Total Return Index'].str.replace(',', ''))
df['FTSE TWSE Taiwan 50 Index'] = pd.to_numeric(df['FTSE TWSE Taiwan 50 Index'].str.replace(',', ''))
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', 'FTSE TWSE Taiwan 50 Index','FTSE TWSE Taiwan 50 Total Return Index'])
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_TAI50I(date_str)
df = pd.concat([df,new], axis=0, sort=False)
query_date = query_date + relativedelta(months=1)
sleep(1) # 避免被擋

# 繪製兩個指數在一個圖中
plt.figure(figsize=(10, 6))
plt.plot(df.index, df['FTSE TWSE Taiwan 50 Index'], label='FTSE TWSE Taiwan 50 Index')
plt.plot(df.index, df['FTSE TWSE Taiwan 50 Total Return Index'], label='FTSE TWSE Taiwan 50 Total Return Index')
plt.xlabel('Date')
plt.ylabel('Index Value')
plt.title('FTSE TWSE Taiwan 50 Index vs Total Return Index')
plt.legend()
plt.grid(True)
plt.show()


vocus|新世代的創作平台


用ffn Package分析「臺灣50指數」和「臺灣50報酬指數」兩種指數績效

import ffn

perf = df['FTSE TWSE Taiwan 50 Index'].calc_stats()
print(perf.display())

perf = df['FTSE TWSE Taiwan 50 Total Return Index'].calc_stats()
print(perf.display())

「臺灣50指數」績效:

vocus|新世代的創作平台

10年指數成長了189%,最大回檔約-36%。


「臺灣50報酬指數」績效:

vocus|新世代的創作平台

10年指數成長了316%,最大回檔約-33%。

留言
avatar-img
Leo的沙龍
1會員
5內容數
Leo的沙龍的其他內容
2024/11/24
最近看大盤績效這麼好,又看到有人討論有小孩的人每個月會花多少錢,突然在思考如果把養小孩的錢換成投資大盤,那績效哪個好呢? 以下純粹以投資人的角度去理性計算,不考慮生命的對國家和家庭的價值,希望不要對我有道德批判。 假設養育一個人到大學畢業由0歲到22歲需要花費500萬,對比於投資大盤的話,相當於
2024/11/24
最近看大盤績效這麼好,又看到有人討論有小孩的人每個月會花多少錢,突然在思考如果把養小孩的錢換成投資大盤,那績效哪個好呢? 以下純粹以投資人的角度去理性計算,不考慮生命的對國家和家庭的價值,希望不要對我有道德批判。 假設養育一個人到大學畢業由0歲到22歲需要花費500萬,對比於投資大盤的話,相當於
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
2024/11/11
先用yfinance抓取0050由2014-11-01到2024-11-01的股價,程式碼如下: import pandas as pd import yfinance as yf import matplotlib.pyplot as plt df_0050 = yf.download("005
Thumbnail
2024/11/11
先用yfinance抓取0050由2014-11-01到2024-11-01的股價,程式碼如下: import pandas as pd import yfinance as yf import matplotlib.pyplot as plt df_0050 = yf.download("005
Thumbnail
看更多
你可能也想看
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
股價是股票匯集各式因素所組成的視覺圖,因此今天我們就來學學如何畫製個股的最新分鐘圖,讓你能夠一鍵輕鬆看到當日最新股價走勢圖,我們就開始來教學吧!!
Thumbnail
股價是股票匯集各式因素所組成的視覺圖,因此今天我們就來學學如何畫製個股的最新分鐘圖,讓你能夠一鍵輕鬆看到當日最新股價走勢圖,我們就開始來教學吧!!
Thumbnail
在上一篇文章中,我們學會了如何繪製最新的分鐘圖,讓我們了解最新一日的個股股價變化,不過有時分鐘圖太過細小,並無法了解到個股整體的趨勢狀況,這時我們就必須要使用到日線圖,因此,今天我們就來學習如何繪製日線圖吧!!
Thumbnail
在上一篇文章中,我們學會了如何繪製最新的分鐘圖,讓我們了解最新一日的個股股價變化,不過有時分鐘圖太過細小,並無法了解到個股整體的趨勢狀況,這時我們就必須要使用到日線圖,因此,今天我們就來學習如何繪製日線圖吧!!
Thumbnail
CSV全名為Comma-Separated Values,中文稱為逗號分隔值,也可稱為字元分隔值,因為分隔字元也可以不是逗號。它以純文字的形式儲存表格資料,同一列的資料以逗號或其它符號分隔成不同欄位,每一列的資料間以換行符號分隔。網路上很多資料的格式都是以CSV檔案呈現,例如交通部中央氣象局的觀測資
Thumbnail
CSV全名為Comma-Separated Values,中文稱為逗號分隔值,也可稱為字元分隔值,因為分隔字元也可以不是逗號。它以純文字的形式儲存表格資料,同一列的資料以逗號或其它符號分隔成不同欄位,每一列的資料間以換行符號分隔。網路上很多資料的格式都是以CSV檔案呈現,例如交通部中央氣象局的觀測資
Thumbnail
使用pandas,透過TWStock_2的資料,計算下列三種常用的技術指標 1. 移動平均線 2. 指數移動平均線 3. MACD 首先連接資料庫,然後我們只取"成交股數 , 開盤價 , 最高價 , 最低價 , 收盤價" 這5個columns代入新的tsmc( 名稱 ) code如下 參考連結如下
Thumbnail
使用pandas,透過TWStock_2的資料,計算下列三種常用的技術指標 1. 移動平均線 2. 指數移動平均線 3. MACD 首先連接資料庫,然後我們只取"成交股數 , 開盤價 , 最高價 , 最低價 , 收盤價" 這5個columns代入新的tsmc( 名稱 ) code如下 參考連結如下
Thumbnail
在交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對MultiCharts初體驗-函式撰寫、MultiCharts初體驗-訊號撰寫 的程式進行改寫,讓程式可以讀取到多週期的K線資料。 在MC中可以用Data1、Data2、⋯⋯、Data99的指定方式,來存取圖表中的數列
Thumbnail
在交易千萬別見樹不見林 中示範如何在同一張圖表上加入不同週期的行情走勢,本篇將對MultiCharts初體驗-函式撰寫、MultiCharts初體驗-訊號撰寫 的程式進行改寫,讓程式可以讀取到多週期的K線資料。 在MC中可以用Data1、Data2、⋯⋯、Data99的指定方式,來存取圖表中的數列
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
使用pandas,透過TWStock_2的資料,計算 6 日與12日RSI 值並繪製成圖。 首先先連接到TWStock_2資料庫將資料load出來。 這次load的資料一樣是2330台積電,然後我們一樣只取收盤價,修改日期格式。 之後要算出每日的U與D值(絕對漲跌),條件如下ㄑ 輸出會如下圖
Thumbnail
使用pandas,透過TWStock_2的資料,計算 6 日與12日RSI 值並繪製成圖。 首先先連接到TWStock_2資料庫將資料load出來。 這次load的資料一樣是2330台積電,然後我們一樣只取收盤價,修改日期格式。 之後要算出每日的U與D值(絕對漲跌),條件如下ㄑ 輸出會如下圖
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
  接上一篇,看來花花綠綠的東西跟我們是無望了。對原本接下來的計畫也只好做一些改變。所以衹能把我們的程式碼,重新移動到了7月7號那篇文章的進度NBLOG_20230707使用TA_LIB(PANDAS_TA) 打造一個交易策略實用工具(2TA_LIB輕探之馬克快來。
Thumbnail
  接上一篇,看來花花綠綠的東西跟我們是無望了。對原本接下來的計畫也只好做一些改變。所以衹能把我們的程式碼,重新移動到了7月7號那篇文章的進度NBLOG_20230707使用TA_LIB(PANDAS_TA) 打造一個交易策略實用工具(2TA_LIB輕探之馬克快來。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News