Skip to content

xboxertony/Crawl-Web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

我的連絡資訊:[email protected]

爬蟲金融相關數據

目前政府的公開觀測站都有整理上市公司的財報數據,並整理成表格

如果想知道各家公司的資產負債表、損益表等等,可以透過python的request套件,把表格抓取下來,如下圖

url = 'https://mops.twse.com.tw/mops/web/t163sb06'  ##放你要抓取的程式碼
r = requests.post(url,{'encodeURIComponent':1,'step':1,'firstin':1,'off':1,'isQuery':1,'TYPEK':'sii','year':str(year),'season':str(season)})
r.encoding = 'utf_8_sig'  ###要記得中文會有亂碼,因此要先encode成編碼形式
df = pd.read_html(r.text, header = None)

這邊使用pandas套件,以dataFrame形式來整理財報

dataFrame的好處在於,他可以讀取任何形式的資料,並整理成類似下面表格

橫軸是公司代號、縱軸是日期


1101 1102 1103 1104 1108 1109 1110 1201 1203 1210
10401 4.55 10.04 -27.3 19.73 12.01 0.16 7.57 -6.94 12.28 0.45
10402 7.97 14.19 -4.8 23.91 11.71 -1.42 6.35 -5.92 9.57 0.59
10403 6.79 8.97 -19.65 24.13 10.61 -3.17 8.91 -9.16 9.24 1.06
10404 7.39 7.44 7.55 26.78 9.22 -1.32 7.78 -10.94 6.93 0.62
10501 0.53 1.49 -34.92 31.02 10.48 -3.79 56.46 -2.34 7.94 3.37

有了這些資料,我們可以進行許多分析,例如:


  1. 選取前五季稅後純益率年成長及毛利率年成長>0的股票

df_all_1 = df_all_gross>df_all_gross.shift(4)
df_all_2 = df_all_tax>df_all_tax.shift(4)
method_1 = df_all_1.iloc[-5:].sum()
method_2 = df_all_2.iloc[-5:].sum()
method = method_1[method_1==5].index & method_2[method_2==5].index
print(method)

dataframe有個好處是說,他可以直接對表格進行操作,比如說利用shift(num),可以將表格平移num個欄位,以範例為例,shift(4)可以比較4季前的數據,也就是年成長

Index(['1102', '1109', '1256', '1413', '1436', '1514', '1605', '1786', '2007','2049', '2201', '2327', '2332', '2337', '2342', '2344', '2348', '2358','2365', '2443', '2458',    '2480', '2492', '2606', '2617', '2850', '2904','3014', '3016', '3026', '3090', '3383', '3443', '3515', '3532', '3563',
'3622', '3661', '3703', '4155', '4958', '5234', '5515', '6112', '6477','8163', '8462', '8481', '9912'],
dtype='object')

篩選出來的股號如上,利用Dataframe的性質,可以很快地做出條件式的篩選





  1. 也可以看看目前上市公司的稅後純益率落在那些區塊,利用直方圖呈現

df['稅後純益率'].hist(bins = range(-20,40))
plt.xlabel('profit rate')
plt.ylabel('Frequency')

img

dataframe可以直接利用直方圖作,只要在任何的df後面接.hist就好




以上這些原始碼,都放在股價分析與爬蟲中


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published