金融存股

[VBA] 小資族必看 金融存股 <低買高賣> 的無痛賺錢法

☆ 小資族 / 退休存股族,妳們知道哪幾支金融股最值得買進嗎 ? 這裡通通告訴妳,包括 : 如何製作即時殖利率程式。

何謂 金融股 ?

金融股 指的是 : 金融控股公司,簡稱 : 金控。依據有無政府持股,分為 公股(官股) / 民營 兩種類型。
金控公司 底下 : 包含有 銀行業 / 證券業 / 壽險業 等三種行業。

金融股 vs 存股

[ 金融股 ] : 有穩定配息的優點,股價波動也不大,更因為有政府的嚴格監管,就無需擔心有倒閉的風險,這正適合小資族與退休族,作為投資的安心選擇。

[ 金融存股 指標 ] :
股本大 : 安全性較高,避免有倒閉的風險。
配息穩定 : 金融個股,幾乎年年配息。
獲利穩定 : 公司穩定成長,年年增長為佳。

[ 八大行庫 ] : 指的是政府直接或間接持有股份的八家銀行。
國營 : 台灣銀行 / 土地銀行,二家。
公股(官股) : 四金二銀。
1. 四金 : 華南金 / 合作金 / 兆豐金 / 第一金。
2. 二銀 : 台灣企銀 / 彰化銀行。

※ 公股行庫中,以第一金最受存股族喜愛,股東人數達 45.5萬人( 2022/05 計 )。股東人數資料查詢 : 請參考 — 集保戶股權分散表

[ 歷年股息查詢 ] :
Goodinfo! 台灣股市資訊網 : https://goodinfo.tw/tw/StockDividendPolicy.asp?STOCK_ID=2891&SHOW_ROTC=
YAHOO! 股市 : https://tw.stock.yahoo.com/quote/2891/dividend

金融存股 無痛賺錢法之程式製作

※了解 金融股 特性,加上有政府的監管,不容易有被掏空或惡意倒閉的疑慮,這樣是否就能從金融個股的歷史資料中,找出其 殖利率 的慣性脈動,作為 低買/高賣 的投資依據 ?

◎ 根據上列說法,便可針對 金融股殖利率 設計一個 低買/高賣 的投資策略,其設計流程,如下 :

A. 金融類股 資料抓取及篩選 : 首先網路抓取 金融類股 的所有相關個股資料並篩選出股本大於500億的個股。
B. 金融個股 歷史股價資料抓取 : 依序抓取金融個股之歷史股價資料。
C. 金融個股 歷年除息資料抓取 : 依序抓取金融個股之歷年除息資料。
D. 計算個股 歷史殖利率 : 增加 除息殖利率 欄位,計算出所有歷史資料之殖利率數值。
E. 計算殖利率區間均值 : 歸納並計算各區段殖利率數據,找出最適合 低買/高賣 的交易點位。
F. 設定金融個股 即時殖利率 : 利用DDE指令,抓取金融個股之即時收盤價,再計算出其殖利率。

金融類股 資料抓取及篩選

[ 金融類股 資料抓取及篩選 — 操作步驟 ]

0. 我使用的作業系統是 : Office 365
1. 首先開啟 XQ全球贏家
2. 再開啟 EXCEL 2022_殖利率排行表.xlsm 檔案,新增一個工作表 : 金融股總覽
3. 切換到 XQ全球贏家,點選 : 左上角快捷鍵 ,進入功能表選項;再點選 : 自選股。如下圖 —


4. 進入 : 自選股表單,點選 : 上方 上市 工作夾,選擇 : 左方下拉式選單,往下移動,找到並點選 : 金融保險 類股。


5. 顯示以下金融類股後,在頁面中央,按 : 滑鼠右鍵,選擇 : Excel輸出組合內所有商品


6.輸出欄位 中,只選擇 : 代碼 / 商品 / 股本 / 市值 等四個選項。( PS. 因為只針對大股本的金融公司,作策略分析,所以不需要其它欄位資料。)


7. 按下 : 確定 鈕後,系統會自動產生一個新活頁簿,出現下列帶有公式的金融股欄位資料。( PS. 帶有公式的資料,無法製作成表格。)


8. 先將以上帶有公式的資料全部選取,按 : 滑鼠右鍵,點選 : 複製,再切換到新增的工作表 : 金融股總覽,點選 : A1欄位,按 : 滑鼠右鍵,點選 : 貼上(數值)。

9. 如此便能根據下圖,選取: 所有欄位資料,點選 : 格式化為表格,確定 : 展現方式 後點下,進入第10步驟。


10. 出現下列 建立表格 視窗,桔框 : 是選擇建立表格的資料來源,紅框 : 是確定表格是否有標題 — 打勾。( PS. 因第一列有選取 : 標題。)


11. 按下 : 確定 後,所有資料便格式化為表格


12. 格式化為表格後,點選 : 股本 ▼,選擇 : 從Z到A排序,資料 : 全選(預設)。


13. 所有金融股資料,會依照股本的 大 → 小 排列。


14. 篩選標的 : 股本 超過 500億 的個股。( PS. 將 500億以下股本的資料,全部刪除。)
金融股存股

金融存股 歷史股價資料抓取

[ 金融存股 歷史股價資料抓取 — 操作步驟 ]

1. 首先依據篩選出的15檔金融個股,各自新增EXCEL工作表,包含 : 歷史股價資料歷年除息資料

2. 利用下列 VBA程式,根據工作表(金融股總覽)之 商品代碼 名稱,迅速新增15檔金融個股之 歷史股價資料歷年除息資料 工作表。

[ 程式碼 / 新增工作表 ] :
Sub 新增工作表()

    ' 新增 金融個股歷史股價資料 工作表
    xCount = 4
    For I = 2 To 16
        Sheets("金融股總覽").Select
        Sheets.Add after:=Sheets(xCount)  ' 新增工作表於 Sheets(4) -- 第4個工作表(金融股總覽)之後。
        ActiveSheet.Name = Sheets("金融股總覽").Range("B" & I).Value  ' 將工作表名稱 -- 改為 : B2儲存格的資料(中信金)名稱。
        xCount = xCount + 1  ' 計數器 : 增加 1
    Next
    
    ' 新增 金融個股歷年除息資料 工作表
    yCount = 19
    For J = 2 To 16
        Sheets("金融股總覽").Select
        Sheets.Add after:=Sheets(yCount)  ' 新增工作表於 Sheets(19) -- 第19個工作表(臺企銀)之後。
        ActiveSheet.Name = Sheets("金融股總覽").Range("A" & J).Value  ' 將工作表名稱 -- 改為 : A2儲存格的資料(2891)名稱。
        yCount = yCount + 1
    Next

End Sub

3. 將XQ金融個股資料,依照股本大小排列。( PS. 點擊 : 下圖右上角 股本 位置,系統會自動 由大至小 排序。)


4. 點選第一個商品 : 中信金,雙擊 : 滑鼠鍵,再由 商品盤勢 資料夾,切換至 技術分析 資料夾,如下圖 :


5. 調整欲下載的歷史股價年份資料 : 目標抓取十年份歷史資料 — 2013/01/01 ~ 現在日期。( PS. 參考上圖左下角 )
[ 記得 ] : 調整好下載日期,務必要點 : GO,系統才會進行日期資料調整。

6. 金融類股 資料抓取及篩選 的第5步驟,在技術線圖畫面中,按 : 滑鼠右鍵,選擇 : Excel輸出
( PS. 等待幾秒 ……,系統會連結XQ,並自動開啟一個新工作表,名稱為 : 中信金(2891),用來存放下載的 中信金 歷史股價資料。)


7. 將新工作表 : 中信金(2891) 中的所有股價資料選取,複製到 步驟2 建立好的 中信金 工作表中,記得 : A1 為複製起點。

8. 將不需要的歷史欄位資料刪除,只剩下 : 時間 / 收盤價 / 成交量 3個欄位資料。


[ 重複動作 ] : 以上動作完成,便建構好第一個 中信金 的歷史股價資料,然後再將 第2 15個 金融個股,依照 步驟4 8 的動作,依序完成。

金融存股 歷年除息資料抓取

[ 金融存股 歷年除息資料抓取 — 操作步驟 ]

1. 點選 : 中信金 歷年除息網頁 — https://goodinfo.tw/tw/StockDividendPolicy.asp?STOCK_ID=2891&SHOW_ROTC= ,進入歷年股利政策一覽表。
或是經由 Goodinfo! 主頁 : https://goodinfo.tw,依照步驟1 — 填入股票查詢代碼 : 2891,點選 : 步驟2 — 股利政策,同樣能進入歷年股利政策一覽表。


2. 螢幕畫面往下拉,會出現如下圖的 股利政策 一覽表。


3. 選取 2022年 ~ 2013年 之股利政策資料,按 : 滑鼠鍵,選擇 : 複製,或按 : 鍵盤 CTRL + C


4. 再將複製的資料,貼在 工作表(2891)的 A2 開頭位置。


[ 重複動作 ] : 以上動作完成,便建構好第一個 中信金 的歷年(2013~2022)除息資料,然後再將 第2 15個 金融個股,依照 步驟1 4 的動作,依序完成。

計算個股歷史殖利率

[ 殖利率 計算公式 ] : 殖利率 = 股息 ÷ 股價

※ 根據抓取的 金融個股 歷史股價資料歷年除息資料,便可利用殖利率公式,來計算歷年股價殖利率。

◎ 為了方便快速執行,直接以 VBA程式 來設計重複的步驟,完成 15檔 金融個股的殖利率計算。( PS. 資料完成,如下圖。)

VBA程式計算歷年股價殖利率 ] :
[ 程式碼 / 計算歷年股價殖利率 ] :

Sub 增加_個股除息資料()
Dim lastRow As Integer

For xSheet = 5 To 19

    Sheets(xSheet + 15).Select '選取"歷年除息"工作表
    lastRow = Range("A2").End(xlDown).Row  ' 藉由 A2 往下搜尋,找出最後一列列號。
    
    Sheets(xSheet).Select  '選取"歷史股價資料"工作表
    bankRow = Range("A2").End(xlDown).Row  ' 藉由 A2 往下搜尋,找出最後一列列號。
    
    [D1] = "除息": [E1] = "殖利率"  ' 欄位標題
    
    For I = lastRow To 2 Step -1  ' 迴圈 : 從最後一列回數到第2列,每次減1
    
        Sheets(xSheet + 15).Select
        xYear = Range("A" & I).Text  ' 依據迴圈列數 -- 抓取"年度"數值
        
        Sheets(xSheet).Select
        For J = 2 To bankRow
    
            If xYear < Left(Range("A" & J), 4) Then Exit For  ' 判斷式 : 歷史股價資料(年份) > 除息(年份),則跳脫本次迴圈!            
            If xYear = Left(Range("A" & J), 4) Then  ' 判斷式 : 歷史股價資料(年份) = 除息(年份),往下執行 -- 資料複製。
            
                Range("D" & J) = Sheets(xSheet + 15).Range("H" & I).Value  ' 年度除息資料(H欄) 複製到 "歷史股價資料"工作表/除息欄位(D欄)
                Range("E" & J) = Range("D" & J) / Range("B" & J) * 100  ' 計算殖利率,存放到 殖利率欄位(E欄)
            
            End If
        Next
    Next

[G1] = "最大值"  ' 欄位標題 -- 殖利率(最大值)
[G2] = "=MAX(E2:E" & bankRow & ")"  ' 找出最大值
[H1] = "最小值"  ' 欄位標題 -- 殖利率(最小值)
[H2] = "=MIN(E2:E" & bankRow & ")"  ' 找出最小值
[J1] = "平均殖利率"
[J2] = "=SUM(E2:E" & bankRow & ")/(" & bankRow & "-1)"  ' 算出平均值

Next
End Sub

計算殖利率區間均值

計算殖利率區間均值的目的 : 歸納並計算各區段殖利率數據,找出最適合 低買/高賣 的交易點位。

[ 計算殖利率區間均值 — 操作步驟 ]

利用 G2欄(最大值) 及 H2欄(最小值),來計算出每間隔 1 的殖利率區間,總共有多少個股歷史殖利率(E欄)資料符合條件,並求得其收盤均價。

◎ 為了搜尋符合條件的殖利率資料,還是要藉由 VBA程式 來設計搜尋條件並計算出區間收盤均價,再依序將 15檔 金融個股的資料,全部計算完成。( PS. 資料完成,如下圖。)

VBA程式計算殖利率區間均值 ] :
[ 程式碼 / 計算殖利率區間均值 ]

Sub 計算各殖利率區間值()

For xBank = 5 To 19
    
    Sheets(xBank).Select
    lastRow = Range("A1").End(xlDown).Row
    
    xSmall = Int([H2])  ' 殖利率最小值
    xBig = Int([G2])  ' 殖利率最大值
    xRow = 5  ' 顯示 : 殖利率區間欄位之開始列數
    
    For xValue = xSmall To xBig  ' 迴圈 : 最小 ~ 最大值
    
        xTime = 0: xTotal = 0  ' 各區間累計總次數 -- 歸零 : 各區間累計收盤價數值 -- 歸零
        
        For I = 2 To lastRow  ' 資料搜尋 : 第2列 ~ 最後一列
            If Range("E" & I) > xValue And Range("E" & I) < xValue + 1 Then  ' 若殖利率>3 和 <4,則執行下面指令
                xTime = xTime + 1: xTotal = xTotal + Range("B" & I)  ' 各區間累計總次數 +1 : 各區間累計收盤價數值 : 加總
            End If
        Next
        
        [G4] = "殖利率區間": [H4] = "次  數": [I4] = "總 數 值": [J4] = "均  值"  ' 填入欄位標頭

        Range("G" & xRow) = Str(xValue) & " ~" & Str(xValue + 1)  ' 標示 :殖利率各區間值
        Range("H" & xRow) = xTime  ' 記錄 : 各區間累計總次數
        Range("I" & xRow) = xTotal  ' 記錄 : 各區間累計收盤價數值
        If xTotal <> 0 Then Range("J" & xRow) = xTotal / xTime  ' 計算 : 各區間之平均價
        xRow = xRow + 1  ' 殖利率區間欄位之列數 +1
        
    Next
Next
End Sub

15檔金融存股 殖利率區間列表

※ 根據 計算殖利率區間均值 的程式,會自動計算出 15檔金融個股 之殖利率區間數據 — 包含 各區間 符合條件次數 / 總收盤數值均值

[ 15檔金融存股 殖利率區間列表 ] :

★ 殖利率區間列表 : 顏色 : 淺綠色賣出 / 淺橘色買進 / 粉紅色平均值 (同白色不交易)。

1. 中信金 :
金融股存股

2. 開發金 :
金融股存股

3. 新光金 :
金融股存股

4. 合庫金 :
金融股存股

5. 兆豐金 :
金融股存股

6. 玉山金 :
金融股存股

7. 華南金 :
金融股存股

8. 國泰金 : 沒有規律 ( 放棄 )。
金融股存股

9. 第一金 :
金融存股

10. 元大金 : 沒有規律 ( 放棄 )。
金融股存股

11. 富邦金 : 沒有規律 ( 放棄 )。
金融股存股

12. 台新金 :
金融股存股

13. 永豐金 :
金融股存股

14. 彰銀 :
金融股存股

15. 台企銀 :
金融股存股

※ 以上 15檔金融個股,除了 國泰金 / 元大金 / 富邦金 之外,其餘皆有 低買/高賣 的交易條件。
( PS. 至於 低買/高賣 的區間殖利率,各股均不相同,想如何 / 場 ? 請自行研判。)

[ 金融存股 買賣方式 ] :
存股買進 : 符合殖利率高檔買進條件時,可 按月等待KD指標進入超賣區 買入。( PS. 至於籌碼每次下多少? 端看個人財務能力而定。
存股賣出 : 符合殖利率低檔賣出條件時,存股全部出清

設定 金融存股 即時殖利率

[ 設定 金融存股 即時殖利率 — 操作步驟 ]

金融存股 即時殖利率 — 完成圖 :
金融股存股

1. 首先切換工作表至 金融股總覽,將 A欄(代碼) 及 B欄(商品) 資料,複製到 F ~ G欄。

2. H1 ~ L1欄 : 填入欄位標頭 — 收盤價 / 股利 / 殖利率 / 買進區間 / 賣出區間

3. H2欄(收盤價) : 利用 RTD公式,抓取 F2欄(代碼) 的公司股票收盤價。
☆ 公式 : =RTD(“xqrtd.rtdserverxqlite”,,”” & F2 & “.TW-Price”)

4. H2欄公式完成,游標移至 H2欄右下角,出現 符號,雙擊 : 滑鼠鍵,公式便會延伸複製到 H16欄。

5. I2 ~ I16欄(股利) : 將金融個股的股利資料,從各自 金融股除息 工作表中,複製到 I欄 股利位置。( PS. 如下圖 — 中信金 的複製動作。)


6. J2欄(殖利率) : 複製完15檔金融個股的股利資料後,再利用計算公式 : 殖利率 = 股息 ÷ 股價,算出所有各股 即時殖利率 數值。
☆ 公式 : =IFERROR(I2/H2*100,”尚未開盤”) — 會使用 IFERROR函式 的原因,是因為開盤前試撮,H欄(收盤價)尚未有數據進來,會導致J欄產生錯誤訊息,為避免這樣的錯誤情況,增加 IFERROR函式 來偵錯,發現錯誤,則顯示 : 尚未開盤
金融存股

7. J2欄公式完成,同步驟4,游標移至 J2欄右下角,出現 符號,雙擊 : 滑鼠鍵,公式便會延伸複製到 J16欄。

8. K2 ~ K16欄(買進區間) : 將各 金融股除息 工作表中的 買進區間 的範圍資料,整合複製到 K欄(買進區間) 位置。( PS. 如下圖 — 中信金 的整合動作。)


9. L2 ~ L16欄(賣出區間) : 將各 金融股除息 工作表中的 賣出區間 的範圍資料,整合複製到 L欄(賣出區間) 位置。( PS. 如下圖 — 中信金 的整合動作。)

殖利率區間 <買進/賣出> 參考表

J欄(即時殖利率)數值,介於 K欄(買進區間) 或 L欄(賣出區間),則進行 買進賣出 動作。

M欄(10年高低差) : 是根據10年歷史買進區間的平均均值,減掉賣出區間的平均均值,而得到的利潤價差。
N欄(5年高低差) : 是根據5年歷史買進區間的平均均值,減掉賣出區間的平均均值,而得到的利潤價差。

[ 殖利率區間 <買進/賣出> 參考表 ] :
金融存股

★ 依照參考表的數據表現,黃色標註的三檔金融股,是最值得買進的標的。
兆豐金 : 近5年表現最好,低買高賣,不含歷年除息,利潤價差有 15.67元 之譜。
玉山金 : 近10年/5年的表現相對穩健,低買高賣,不含歷年除息,利潤價差皆在 10元 上下。

結論

本篇文章以 金融存股 為主軸,採樣15檔 : 股本500億以上之金融股,作歷史殖利率分析,再依據其慣性脈動,找出 低買/高賣 的投資區間。

會以「金融股」做投資標的,主要是因 金融股 配息穩定,股價波動不大,加上有政府的監管,不容易有被掏空或惡意倒閉的疑慮,這正適合小資族退休族,作為理財投資的安心選擇。

文內程式的採樣標的,同樣也能改成 : 權重股 或 其它類型股票,製作方法皆相同,只是要花點時間下載歷史股價資料跟歷年除息而已。
( PS. 請注意一件事,一次就是15檔股票,因為VBA程式裡的迴圈設定,是寫死的;若懂得改迴圈參數,當然就沒問題了 ! )

若是對寫程式沒興趣,那文末的 殖利率區間 <買進/賣出> 參考表,提供您參考,表中各股的 買進/賣出 區間,皆不相同,請自行留意。

[ 提醒 ] : 建議您 ! 最起碼也要完成 設定 金融存股 即時殖利率 的操作步驟,這方便您隨時注意 各股殖利率 的變化,才好評估是否進場投資。

非常感謝您看到最後,若在閱讀的過程中,有任何疑問,歡迎您利用左下角 Messenger 直接提問或寫信給我,我會盡快回覆您,最後感謝您的閱讀,感恩 !

( PS. 如果喜歡 股小白 的文章,歡迎到 股小白臉書粉絲頁 點讚,衝人氣,目前不定期分析大盤趨勢,將來會有 每日公報 : 分析並公布跑分的個股資料,讓大家作為投資參考。 )

關 聯 文 章

1. 簡單幾步驟,設計上市櫃殖利率排行表

  • 上市櫃殖利率排行 設計重點 : 是將上市/上櫃的殖利率資料,做簡單的表格整合,再利用殖利率的排序選項,確定排列順序,輕鬆查找高殖利率股。
    但高殖利率股的股價是「 真被低估 」,還是「 公司營運出問題 」,而造成股價過低的現象,這是投資人必須詳加確認的重點,以避免有誤判的情況發生。

2. 小資族必看 金融存股 <低買高賣> 的無痛賺錢法

  • [ 金融存股 ] 為主軸,哪幾支金融股最值得買進? 採樣15檔股本500億以上且穩定配息之金融股,按殖利率分析,再根據其慣性脈動,整合區間數據後,做出這15檔金融存股的殖利率區間買進/賣出參考表,同時計算出低買高賣的利潤價差,非常適合小資族與退休存股族,作為進/出場的投資參考。

V B A 資 源

EXCEL & VBA功能 – 綜合筆記

  • EXCEL & VBA功能 筆記 : 將針對文章中所使用的 EXCEL 及 VBA公式 / 工具操作 / 巨集設定 / 控制項的運用,做個整合記錄,方便大家在學習當下的參考與使用。

VBA指令 – 彙整筆記

  • VBA 提供相當多的指令用法,VBA指令 彙整筆記,將會陸續記錄 VBA文章 中,所用過的 VBA指令,方便學員們對照運用。

VBA程式語法 – 彙整筆記

  • 語法就是程式的文法。 使用者要與電腦溝通,就必須遵守這些規則。VBA程式語法 筆記 : 將針對 VBA文章 中所使用的 VBA程式語法,做個整合記錄,方便大家在學習當下參考與使用。