如何超越 00733,台股最強 ETF?

探索富邦台灣中小ETF (00733) 的投資潛力,從基本資料、選股邏輯到Python回測代碼,提供全面的投資指南。

image 11

導言

富邦台灣中小ETF (簡稱00733) 自2018年5月4日上市以來,一直是投資者關注的焦點。它追蹤「中小型A級動能50指數」,專注於具有高成長潛力的中小型股票。在後疫情時代和AI熱潮的驅動下,00733展現出優異的股價表現和報酬率。本文將從多個角度全面解析00733,並提供一個Python回測代碼的案例,幫助投資者更深入了解其投資價值。

什麼是ETF 00733富邦台灣中小ETF

00733 ETF以最小追蹤誤差為目標,專注於台灣的中小型股票。它的成分股50檔,每季進行調整,旨在捕捉成長動能較強的公司。這種選股策略使得00733在同類型ETF中表現突出,尤其是在後疫情和AI熱潮期間。

ETF 00733的股價表現與報酬率

從上市至今,00733的表現一直優於許多同類ETF。其累計報酬率在各個時間段內均位於前列,以下是對ETF 00733歷史表現的詳細分析:

  • 六個月報酬率:在過去六個月中,00733展現了18.23%的報酬率,這一表現在同類型ETF中排名第9/43,顯示了其短期內的強勁表現。
  • 一年報酬率:在過去一年中,00733的報酬率達到了72.60%,這一業績在其同類型ETF中排名第1/37,顯示了其在中期內的出色表現。
  • 三年報酬率:在過去三年中,00733實現了135.66%的報酬率,這一業績在同類型ETF中位居第1/22,這表明了ETF 00733在長期投資中的卓越表現。
  • 五年報酬率:在過去五年的時間框架內,00733實現了驚人的348.19%的報酬率,這在其同類型ETF中排名第1/19,這一表現凸顯了其長期持續增長的潛力。

與同類型ETF的比較

當將00733與同類型ETF的平均報酬率進行比較時,可以發現00733在各個時間範圍內的表現均優於平均水平。例如,在過去一年中,同類型ETF的平均報酬率為39.41%,而00733的報酬率為72.60%,這顯示了00733在相同市場環境下的超額表現。

選股與回測

選股邏輯與策略

00733的選股核心是Alpha動能因子,透過剔除市值前50大的企業,專注於有高成長潛力的中小型股。這種策略有助於挖掘潛在的飆股,為投資者帶來超額報酬。

ETF 00733的選股條件

00733的選股條件包括市值、Beta值、近一季稅後淨利等因素。這些條件幫助ETF篩選出具有高Alpha值的股票,以期實現超額報酬。可以參考公開說明書,來獲得更詳細的選股資訊。

動能因子與Alpha、Beta的解釋

動能因子是一種投資策略,認為近期表現良好的股票未來也將繼續表現出色。Alpha值代表超額報酬,而Beta值則表示股票相對於市場整體的波動性。
在投資領域中,動能因子、Alpha(α)和Beta(β)是評估證券表現的重要指標。這些指標幫助投資者理解投資組合相對於市場整體的表現,並做出更明智的投資決策。接下來,我們將深入探討Alpha和Beta,並透過簡單的數學和圖解來幫助讀者全面理解這些指標。

Alpha(α)- 超額報酬

Alpha表示一項資產或投資組合相對於其基準指數(比如標準普爾500指數)的超額報酬。簡單來說,Alpha是投資者因選擇了特定的投資而獲得的額外回報,這部分回報並不來自於市場整體的波動。

Alpha的範圍:Alpha值可以是正數、負數或零。正Alpha表示投資組合的表現超越了基準指數,負Alpha則表示表現不及基準指數。

  • 正Alpha:表明投資組合管理者成功地實現了超額報酬。
  • 零Alpha:表明投資組合的表現與市場持平。
  • 負Alpha:表明投資組合的表現落後於市場。
    如何計算Alpha:Alpha的計算可以透過回歸分析來完成,公式如下:

Alpha=(投資組合的實際回報率)−[無風險利率+(市場回報率−無風險利率)×Beta]

這裡的無風險利率通常指的是國庫券的回報率。

Beta(β)- 相對風險

Beta衡量的是投資組合相對於整體市場的波動性或風險。它表明了投資組合的價格變動與市場整體變動的相關程度。

Beta的範圍:Beta值通常大於0。Beta值等於1意味著資產的價格波動與市場一致;大於1表示資產比市場更波動;小於1表示資產比市場波動小。

  • Beta = 1:投資與市場同步波動。
  • Beta > 1:投資比市場更敏感,風險更高。
  • Beta < 1:投資相對穩定,風險較低。
    如何計算Beta:Beta的計算通常也透過回歸分析來進行,計算一項資產回報與市場回報之間的關係。

綜上所述,Alpha和Beta是衡量投資表現的重要工具,幫助投資者了解投資組合相對於市場的表現和風險水平。通过理解和運用這些指標,投資者可以更好地制定和調整他們的投資策略。

ETF 00733的換股時間與策略

00733每季進行一次換股,通過這種方式,ETF能夠及時調整其持倉,捕捉具有動能潛力的新股票。

Python回測代碼解析

回測是一種模擬過去市場數據,以評估投資策略有效性的方法。以下Python代碼分成三個主要步驟,旨在幫助讀者透過實際操作理解ETF 00733的選股策略和回測過程。

步驟1:數據準備和基本設置

我們可以利用 talib 以及 finlab package 快速實模仿此策略

# 導入所需的庫
import pandas as pd
from finlab import data
import talib
import numpy as np

# 獲取調整後的收盤價和基準指數
adj_close = data.get('etl:adj_close')
benchmark = data.get('benchmark_return:發行量加權股價報酬指數')\
  .squeeze()\
  .reindex(adj_close.index, method='ffill')  # 向前填充缺失值,確保時間對齊

# 設定計算Beta和CAGR所需的天數
days = 20
  • data.get: 此函數從finlab庫獲取特定的金融數據。
  • .squeeze(): 將DataFrame壓縮成Series,方便後續處理。
  • .reindex(..., method='ffill'): 確保數據與adj_close的時間索引對齊,缺失值向前填充。

步驟2:計算Alpha和Beta

# 使用TALib計算Beta值
beta = adj_close.apply(lambda s: talib.BETA(s.ffill(), benchmark, timeperiod=days))

# 計算複合年增長率 (CAGR)
cagr = (np.exp(np.log(adj_close.pct_change().add(1)).rolling(days).sum())).add(-1)
cagr_benchmark = (np.exp(np.log(benchmark.pct_change().add(1)).rolling(days).sum())).add(-1)

# 計算Alpha值
alpha = cagr - beta * cagr_benchmark
  • talib.BETA: 計算給定時間窗口內的Beta值。
  • .pct_change().add(1): 計算連續兩天之間的收益率,並將其轉換為增長因子。
  • np.exp(np.log(...).rolling(days).sum()): 計算指定天數的滾動複合增長率。

步驟3:選股條件和回測執行

from finlab import backtest

# 獲取市值和成交股數,計算公眾流通量係數
market_cap = data.get('etl:market_value')
vol = data.get('price:成交股數')
vol_m = vol.resample('M').sum()  # 按月匯總成交股數
close = data.get('price:收盤價')

# 篩選出市值排名前50的非大盤股
large_cap = market_cap.is_largest(50)
weight = market_cap

# 根據Alpha、Beta和其他財務指標篩選股票
position = alpha[
    (~large_cap) &  # 排除大盤股
    (beta > 0) &  # 篩選Beta值大於0的股票
    (data.get('fundamental_features:經常稅後淨利') > 0) &  # 篩選淨利潤為正的股票
    (close.notna().cumsum() > 250) &  # 篩選上市超過一年的股票
    (vol_m.average(12).rank(axis=1, pct=True) > 0.3) &  # 成交量在過去一年中位於前30%
    ((vol_m.average(3) > 10000_000) | (vol_m.average(3) * close / weight > 0.06))
    ].is_largest(50) * weight  # 最終選取市值加權最大的50檔股票

# 執行回測
r1 = backtest.sim(position, 
                  resample='Q',  # 按季度調整持倉
                  resample_offset='7D',  # 調倉日為每季度第7個工作日
                  position_limit=0.2,  # 單一股票持倉上限為20%
                  upload=False)
image 8

回測結果的解讀與應用

回測結果提供了一個深入了解ETF 00733選股策略效果的窗口,通過詳細分析每個指標,投資者可以更好地評估其潛在的投資價值。以下是對回測結果各項指標的解釋及其對投資策略的潛在影響:

年化回報(Annual Return):策略在回測期內的平均每年回報率為24%。這是一個相對健康的回報率,顯示策略具有良好的盈利能力。

Alpha:該策略相對於基準指數產生了9%的超額回報。正Alpha值表明策略管理者成功實現了超越市場平均水平的表現。

Beta:策略的波動性比市場整體高19%。高Beta值意味著該策略對市場波動更敏感,可能在市場下跌時承受較大損失。

平均持股數(AvgNStock)和最大持股數(MaxNStock):分別為49.95和50,這表明策略幾乎總是滿倉操作,持有接近50支股票,這有助於分散風險。

最大回撤(Max Drawdown):策略在最不利的情況下可能會下跌42%。這是衡量策略風險的重要指標,需要特別關注。

平均回撤(Avg Drawdown)和平均回撤天數(Avg Drawdown Days):分別為-0.05和39.61,顯示平均回撤較小,且回撤恢復期相對較短。

分析 00733 報酬率的奇特現象

當我們研究 00733 的報酬率時,發現在此檔 ETF 公開發行前後,報酬率有非常大的不一樣,
可以利用 t-test 來測試,究竟這個策略在 2017 年以前,以及 2019 年以後,的超額報酬,是否大幅提高,
以致於在統計上有顯著的差異:

from scipy.stats import ttest_ind

# 计算超額報酬
excess_return = (r1.creturn.pct_change() - benchmark.pct_change()+1).resample('M').prod()-1
# 2017年之前的超額報酬
e1 = excess_return.loc[:'2017']
# 2019年之后的超額報酬
e2 = excess_return.loc['2019':]

# Perform two-sample t-test
t_stat, p_value = ttest_ind(e1.values, e2.values)
p_value

0.02代表在統計學上,我們拒絕了 null-hypnosis(即兩組數據沒有顯著差異的假設),並接受了對立假設,即2017年以前和2019年以後的ETF 00733的超額報酬率在統計上存在顯著差異。p值0.02小於常用的顯著性水平0.05,這意味著這兩個時期的超額報酬率的差異是顯著的,且很大程度上是由於策略的改變而非隨機波動所導致的。

這個結果可能指出ETF 00733的管理策略或市場環境在2019年以後發生了重要變化,從而導致了超額報酬率的顯著提升。投資者在分析此ETF的潛在投資價值時,應該考慮這一統計結果,並進一步探索導致這一變化的可能原因。

00733 有護航的可能性?

有一種可能性是股票正在被人為哄抬價值。我們為了設計一個實驗,來檢測是否有不正常的外力介入,誇大了策略的表現,我們可以與非常相似的策略進行比較:
目標:確定策略選中的前50名股票是否真的表現優異,或者其表現與對照組相似。
方法:在相同的回測期間內,我們選擇50支具有高Alpha值且交易量特性相似的股票,與策略選中的股票進行表現比較,不同之處在於,如果在 00733 中的持倉超過該組的1%將不會被選中。

這種方法允許我們更精確地評估策略的有效性,排除了因為市場普遍上漲而不是策略本身的優越性所帶來的表現提升。透過這種對照比較,我們可以更客觀地判斷策略選中的股票是否真的因為特定的策略因素而表現出色,或者僅僅是因為它們恰巧處於被炒作的環境中。

image 10

上圖中可以發現,其報酬率真的是相差非常多,根本不是同一個策略可言。

主力護航的痕跡

我們在比較實驗組與對照組時,發現一個奇特的現象,一般來說,市值比較小,報酬率會比較好,這個是在台股非常普遍的現象,然而在 00733 的持股中,這個現象並不存在,反而是反過來的,也就是「權重越大,上漲越多」。

這也是滿符合主力護航的痕跡,畢竟假如我想要護航 00733 ,那一定是選持股較大的標的來進行炒作,不可能 50 支全部炒作,太累了。
在 00733 中的交易記錄,市值與報酬率的相關性 為 0.04,也就是市值越大,其報酬率也越高。
在對照組中,並沒有這樣的現象,相關性為 -0.01 比較符合我們正常的狀況。

而且這個策略叫做高 alpha 策略,所以我們應該期待其 alpha 越高,則報酬率越高,然而在實驗中,不論是 00733 或對照組,其 alpha 的相關性都為負,似乎不像市值這麼的有參考意義。

假如 00733 被護航,那身為投資者,如何取得優勢?

護航一定是發生在權重比較高的股票發生,在這樣的思路之下,我們可以額外針對 00733 中,佔比最重的五檔股票進行買入並持有。
我們甚至能夠在早一點買入,來確保我們在主力的前面就佈局完成。所以我們所賺的超越 00733 的報酬有兩種:

  • 早點買的報酬,因為00733一定會買入這幾檔,而且權重很重,代表會買入很多,那我們早它一點來進行買入!
  • 護航的神奇績效,假如真的有護航的情況發生,那投資權重高的標的,也會有比較好的報酬率,因為拉抬這些股票最有效。
# 選擇 00733 中,權重最大的五檔標的進行投資
new_position = position.is_largest(5) * weight

r = backtest.sim(new_position, resample='Q')
image 9

可以看到歷史績效一年好一年不好,在去年翻倍的情況下,今年不一定能表現依舊亮眼,但在對ETF 00733的投資策略進行優化前後,我們可以通過一系列關鍵指標來觀察策略表現的變化。以下是優化前後的對比分析,旨在展示策略優化所帶來的具體改變及其對投資組合表現的影響。

年化回報(Annual Return)

優化前:年化回報率為24%,顯示策略在此期間內提供了穩定的增長。
優化後:年化回報率提升至42%,這表明策略優化後,投資組合的盈利能力顯著增強。

Alpha

優化前:Alpha值為0.09,表示策略相對於基準指數有較小的超額回報。
優化後:Alpha值增至0.27,顯示策略優化後,能夠產生更高的超額回報,突出了策略的選股能力。

Beta

優化前後:Beta值從1.19增至1.24,這意味著策略對市場波動的敏感度略有上升,承擔了更高的市場風險。

平均持股數(AvgNStock)和最大持股數(MaxNStock)

優化前後:持股數從接近滿倉的50支股票顯著減少至5支,這表明策略經過優化後更加集中,專注於高信心度的投資選擇。

最大回撤(Max Drawdown)

優化前後:最大回撤維持在

-42%,表明優化策略在面對極端不利情況時的資金損失風險並未增加。

平均回撤(Avg Drawdown)和平均回撤天數(Avg Drawdown Days)

優化前後:平均回撤和回撤恢復期略有變化,顯示策略優化後,投資組合的短期風險承受能力保持相對穩定。

夏普比率(Sharpe Ratio)和索提諾比率(Sortino Ratio)

優化前後:夏普比率和索提諾比率均有顯著提升,分別從0.88增至1.19,和1.40增至2.02,顯示投資組合在承擔每單位風險時的預期回報大幅增加。

卡瑪比率(Calmar Ratio)

優化前後:從0.56提升至0.99,顯示在最大回撤相同的情況下,年化回報率的提升使得卡瑪比率幾乎翻倍。

波動性(Volatility)

優化前後:波動性從0.26增加至0.33,這表明優化策略在追求更高回報的同時,也接受了更高的價格波動風險。

盈利因子(Profit Factor)和尾部比率(Tail Ratio)

優化前後:盈利因子從1.63增至2.91,尾部比率從0.92增至1.07,這反映了策略優化後盈利交易與虧損交易之間的比例顯著提高,且在極端盈利情況下的表現更加優異。

勝率(Win Rate)

優化前後:從43%提升至59%,顯示策略優化後,成功交易的比例顯著提高,進一步證明了選股策略的有效性。

綜上所述,ETF 00733的策略優化在多個方面帶來了顯著的正面影響,尤其是在提高年化回報率、Alpha值以及投資效率方面。同時,這也伴隨著一定程度的風險上升,如增加的市場波動性和Beta值。因此,投資者在考慮這種優化策略時,應該平衡其高回報潛力和風險承受能力。
雖然策略較高的成長潛力,但也伴隨著較大的波動性。投資者應該全面評估自己的風險承受能力,並作出相應的投資決策。然而在最差的狀況下,就算此策略完全失效,使用此策略跟投資00733的績效應該是類似的。

常見問題解答

ETF 00733適合哪類投資者?

ETF 00733,專注於台灣中小型股票,適合尋求高成長潛力投資機會的投資者。這類投資者通常對市場波動有一定的承受能力,並願意為了長期較高的回報承擔較大的短期風險。此外,對於希望透過投資於創新和快速成長產業的投資者而言,00733也是一個吸引人的選擇。

如何分析ETF 00733的報酬率?

分析ETF 00733的報酬率時,可以考慮以下幾個方面:

歷史表現:查看過去不同時間範圍內的年化回報率,以評估其長期和短期表現。
相對表現:與基準指數(如台灣加權指數)或同類型ETF比較,確定其市場表現是否優越。
風險調整回報:通過夏普比率、索提諾比率等指標評估其風險調整後的表現。

ETF 00733的投資風險有哪些?

ETF 00733的主要投資風險包括:

市場風險:整體市場波動可能影響ETF表現。
流動性風險:中小型股票可能比大型股票更難買賣,影響ETF的流動性。
集中投資風險:如果ETF過度集中於特定股票或行業,可能會增加風險。
經濟和政策風險:經濟環境和政策變化可能對中小型股票市場產生較大影響。

如何通過ETF 00733進行分散投資?

雖然ETF 00733本身提供了對台灣中小型股票市場的分散投資,投資者仍可進一步分散風險,方法包括:

組合配置:將ETF 00733與大型股票ETF、國際ETF或其他資產類別的投資組合結合。
定期平衡:根據市場變化和個人投資目標,定期調整ETF 00733在投資組合中的比例。
策略多樣化:結合不同的投資策略,如價值投資、成長投資或收益投資等。

ETF 00733的選股邏輯如何影響其表現?

ETF 00733採用專注於中小型股票的選股邏輯,這可能導致其在市場成長階段表現突出,因為這些股票通常具有較高的成長潛力。然而,在市場下跌或波動較大時,這類股票可能會面臨較大的下行風險。因此,選股邏輯使ETF 00733具有高風險和高回報的特性。

ETF 00733的配息政策如何?

ETF 00733的配息政策會根據其持有的股票分紅情況而定。通常,如果持股進行分紅,ETF可能會將收到的分紅按比例分配給投資者,形式為現金配息。投資者應該關注ETF的官方公告和配息歷史,以了解其配息頻率和配息率。

結語
富邦台灣中小ETF (00733) 為投資者提供了一個獨特的投資機會,專注於台灣市場中的中小型股票。通過理解其選股邏輪、股價表現和配息特性,投資者可以更好地評估其投資價值。此外,提供的Python回測代碼案例進一步幫助投資者深入了解ETF 00733的策略和潛力。最終,投資者應根據自己的風險承受能力和投資目標,做出明智的投資決策。

FinLab - 韓承佑

嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎薩克雷大學資工博士,目前擔任臺灣量化交易協會 學術顧問、台北商業大學 創新育成中心 創業技術顧問與上市科技公司 量化交易顧問。當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。我們成立 FinLab 量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。希望可以在量化投資的路上,當大家的「武器製造商」!