小娃 發表於 09-8-6 21:37

歷史的1分鐘加權指數資料下載

這裡說明如何下載歷史的每分鐘加權指數,
資料從民國89年開始。
我以前找這份資料找很久,
後來發現在證交所就有。

首先,我們先到證交所網頁。
http://www.twse.com.tw/ch/index.php

如下圖所示,點選每一分鐘指數統計。




然後,如果你要做統計資料,
可以下載CSV檔,
這樣子可以用Excel處理。
如果你要其他日期的資料,
就請選擇你要的日期。





它會提示你要存檔。




這是CSV檔打開來的樣子,
這份資料很詳細,
不止1分鐘加權,還包括1分鐘各類股指數,
例如電子、金融、鋼鐵等等。




這是我自己用Excel做的,
今天的加權指數的折線圖。

ezbentley 發表於 09-8-18 12:43

單獨各股的有這樣的資料可以下載嗎?

小娃 發表於 09-8-23 19:31

最細應該只有到類股。
我沒看過個股的資料。

q93108043 發表於 10-5-20 21:47

請問大大有快速下載的方法嗎
我一個一個案一小時下載一百個左右

請問大大有五分鐘線的資料嗎

綠茶妹 發表於 10-5-20 21:48

本帖最後由 綠茶妹 於 10-5-20 09:52 PM 編輯

回復 4# q93108043


    我猜可以寫批次檔抓,不過http抓檔的格式我不太清楚。它的路徑(檔名)很有規則。



我上圖顯示的應該是路徑。

我愛紅茶 發表於 10-5-20 22:46

php最麻煩=.=
常常一個資料~要連轉三趟~還有一些商務的PHP~可以轉到七趟(聽老爹說的)
根本無從破解原始路徑

本來想說嘗試看看從後面的DATA SERVER進入
但發現他的資料呈現好像不是一般標準的集中在某地方~只要找的到就能整批下來
他的資料似乎是透過多重交叉方式~然後在一頁中顯現
這樣變成要用類似掛上去的網頁讀取軟體~一頁一頁~用批次去點擊~然後出現在存檔

q93108043 發表於 10-5-22 23:39

想請問大大
請電腦自己抓資料是要學很多很多資管的書嗎目前只會用ifthen.....
第二個想請問大大誰有2002/1/1到2005/12/31的加權股價指數五分鐘線資料.....
我抓了06到09眼睛掛點了
拜託謝謝大大{:4_93:}

綠茶妹 發表於 10-5-23 11:11

本帖最後由 綠茶妹 於 10-5-23 12:19 PM 編輯

回復 7# q93108043 http://www.twse.com.tw/ch/trading/exchange/MI_5MINS_INDEX/MI_5MINS_INDEX_PD.php?genpage=genpage%2FReport201005%2FA12120100520.php&type=csv更正一下上面我寫的,這裡的變數除了日期,還有月份,
也就是,上面的201005是月份,20100520是日期。
比方說要抓4月22日,要改成http://www.twse.com.tw/ch/trading/exchange/MI_5MINS_INDEX/MI_5MINS_INDEX_PD.php?genpage=genpage%2FReport201004%2FA12120100422.php&type=csv下面是我找到的一些程式碼,改一改或許可以用。
抓取台北期交所 (Taifex) 網站提供的資訊(上)
網頁抓取資料應用:到證交所抓資料
Access+VBA的台股選股程式
求救: 抓證交所的加權指數歷史資料
如何取得網路檔案的下載資訊

綠茶妹 發表於 10-5-23 12:16

{:4_89:} 我不知不覺就開始學起Python了,現在寫好抓單檔,等一下改成迴圈的寫法就可以了。
囧...手太癢就寫起程式。
下面的程式,會把2010/5/20的csv檔,抓到c:\test下面放好。


from urllib import urlretrieve
from datetime import date
today = date.today().strftime('%Y_%m_%d')
name = 'Daily_'+today+'.zip'
monthnum='201005'
datenum='20100520'
try:
    urlretrieve('http://www.twse.com.tw/ch/trading/exchange/MI_5MINS_INDEX/MI_5MINS_INDEX_PD.php?genpage=genpage%2FReport'+monthnum+'%2FA121'+datenum+'.php&type=csv', 'C:\\test\\'+'A121'+datenum+'.csv')
except IOError as IOE :
    print 'fault'
except ContentTooShortError('!!',50) as CE:
    print 'too short'



參考這個網頁改寫的
http://justlink-linus.blogspot.com/2010/03/blog-post.html

因為我東找西找,發現python最快。

綠茶妹 發表於 10-5-23 12:44

本帖最後由 綠茶妹 於 10-5-23 01:04 PM 編輯

又改一版,抓今年的每一天,抓到c:\test裡。
不過問題是喔..因為不太會寫for,結果try..的語法加不上去。
大家就加減用吧..
(會製作不存在的空檔案,請自行刪除)

from urllib import urlretrieve
from datetime import date

today = date.today().strftime('%Y_%m_%d')
name = 'Daily_'+today+'.zip'
monthnum='201005'
yearnum='2010'
for d in range(1, 31):
for m in range(1, 12):
urlretrieve('http://www.twse.com.tw/ch/trading/exchange/MI_5MINS_INDEX/MI_5MINS_INDEX_PD.php?genpage=genpage%2FReport'+yearnum+'%02d'%m+'%2FA121'+yearnum+'%02d'%m+'%02d'%d+'.php&type=csv', 'C:\\test\\'+'A121'+yearnum+'%02d'%m+'%02d'%d+'.csv')

綠茶妹 發表於 10-5-23 13:09

本帖最後由 綠茶妹 於 10-5-23 02:09 PM 編輯

程式寫完了,放著讓它跑吧,這份資料從93年10月5日開始。


from urllib import urlretrieve
for y in range(2004, 2011):
for d in range(1, 32):
for m in range(1, 13):
    urlretrieve('http://www.twse.com.tw/ch/trading/exchange/MI_5MINS_INDEX/MI_5MINS_INDEX_PD.php?genpage=genpage%2FReport'+'%04d'%y+'%02d'%m+'%2FA121'+'%04d'%y+'%02d'%m+'%02d'%d+'.php&type=csv', 'C:\\test\\'+'A121'+'%04d'%y+'%02d'%m+'%02d'%d+'.csv')

綠茶妹 發表於 10-5-23 14:57

回復 7# q93108043


    http://www.coco-in.net/viewthread.php?tid=4077&page=1&extra=#pid48801

全部弄好了,請享用。這算是懶人包吧,連下載都好了。

q93108043 發表於 10-5-23 19:26

回復 8# 綠茶妹


    謝謝大大PO的這些相關聯結
我先由VBA開始{:4_136:}

真的謝謝您

singsing 發表於 10-8-30 09:50

回復 1# 小娃

感謝!!!

:D :D :D :D

accura88 發表於 11-1-30 17:36

感謝分享阿。你的熱心,讓有需要的投資大眾,得到有利的幫助。再度謝謝你啊。
頁: [1] 2
查看完整版本: 歷史的1分鐘加權指數資料下載