<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>均線 &#8211; FinLab</title>
	<atom:link href="https://www.finlab.tw/tag/%E5%9D%87%E7%B7%9A/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.finlab.tw</link>
	<description>深入淺出的量化投資，讓你在在茫茫股海中，找到專屬於自己的投資方法</description>
	<lastBuildDate>Wed, 07 Feb 2024 08:33:31 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.9</generator>

<image>
	<url>https://www.finlab.tw/wp-content/uploads/2020/07/favicon.png</url>
	<title>均線 &#8211; FinLab</title>
	<link>https://www.finlab.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">179699571</site>	<item>
		<title>利用 0050 的概念，優化選股的績效</title>
		<link>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/</link>
					<comments>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 06:47:06 +0000</pubDate>
				<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[0050]]></category>
		<category><![CDATA[均線]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6080</guid>

					<description><![CDATA[簡介 ETF 的起源 台灣在 2000 年代初期，股市的交易量非常小，很多股票的價格都不穩定，所以很多人都不敢 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2>簡介</h2>



<h2>ETF 的起源</h2>



<p>台灣在 2000 年代初期，股市的交易量非常小，很多股票的價格都不穩定，所以很多人都不敢買股票。但是在 2003 年，台灣證券交易所推出了 ETF，讓投資人可以透過 ETF 來投資台灣股市，而代號0050 的元大寶來<strong>台灣</strong>卓越50），就是台灣的第一檔ETF。有了 ETF，投資人就不用擔心股票的流動性問題。</p>



<p>如今台灣股市的交易量已經增加，大多數股票的價格都非常穩定，理論上不再需要 ETF 來投資台灣股市。然而，ETF 有一個很大的優勢，就是可以透過 ETF 來投資台灣股市，不需要花時間去選股票，也不需要花時間去分析股票。</p>



<p>而 ETF 近期也推出非常多種類型的 ETF，例如科技、金融、生技，還有不同的屬性，例如槓桿 ETF、反向 ETF ，以及不同特性，例如配息 ETF、低波動 ETF 等等，所以投資人可以利用 ETF，選一籃子的股票池，來分散風險。</p>



<h2>ETF 衍生的問題</h2>



<p>ETF有一個明顯的問題，在於 ETF 的市值可能很高，就必須要有很好的流動性，不然當 ETF 再平衡時，股價就會大幅影響。有一個對普通人來說，大於1000 張的每日流動性，並不是必要的，台灣上市上櫃快 2000 檔股票，要通過這個的門檻，只剩300檔股票。</p>



<p>所以買 ETF 等於限制自己在 300 檔股票在選股。這樣會讓投資人錯過很多潛力股。所以接下來，我們就要透過程式來選股，來在歷史績效上，打敗 ETF。我們會先複製 0050 的資產配置組合，然後透過程式來優化。</p>



<h2>0050 介紹</h2>



<p>0050 是台灣最大的 ETF，也是台灣股市中的第一檔 ETF，專門用來當台灣股市的全市場參考，衡量股市漲跌的指標之一。</p>



<h2>究竟要不要買 0050 ？</h2>



<p>有些人覺得投資 0050 就是指數化投資，但要達到真正的指數化投資，就必須要買進全球股市的股票，而非只買台灣股市的股票。所以我認為 VT 等等包含了全球股市的股票，才是真正的指數化投資。現在透過一般券商，如永豐證券，一般人其實就可以輕鬆買到。</p>



<p>撇除了指數化投資，為什麼要買 0050？假如你覺得台灣的優勢是有很多科技股，那 0052 針對台灣的科技股的 ETF，可能會更適合你，而 0052 長期來說，歷史績效是比 0050 還要好的。</p>



<p>現代券商可以跨國買美股和其ETF，可以買到全球股市的股票，所以 0050 在現代的投資組合中，可能就不再是必要的選擇，然而，它還是全台灣市值最大的 ETF，大家都會關注它的表現，來當作是市場漲跌的參考。</p>



<h2>0050 實做</h2>



<p>我們先複製 0050 的資產配置組合，然後透過程式來優化。首先我們先選擇台灣前 50 大市值的股票，然後依照市值來分配權重，可以參考<a href="https://www.yuantafunds.com/fund/download/1066%E5%8F%B0%E7%81%A3%E5%8D%93%E8%B6%8A50-%E5%85%AC%E9%96%8B%E8%AA%AA%E6%98%8E%E6%9B%B8.pdf" target="_blank" rel="noopener">公開說明書</a>。</p>



<p>除了市值外，0050還有額外的規則，必須要將市值乘以「公眾流通量係數」，這個是為了避免有些股票的流通量太小，計算方式很複雜，我們化簡成：「1-董監持股佔比」更詳細的計算方式，可以參考公開說明書。</p>



<p>另外，還有一些流動性篩檢，以及公司審核的部分，由於程式較複雜，但影響估計不大，篇幅考量，我們就不再細說。</p>



<pre class="wp-block-code"><code lang="python" class="language-python line-numbers">from finlab import data

# 市值
market_cap = data.get('etl:market_value')

# 公眾流通量係數
float_ratio = (100 - data.get('internal_equity_changes:董監持有股數占比')) / 100

# 權重
weight = market_cap * float_ratio

# 前 50 大權重，並且依照權重分配投資的比例
position = weight.is_largest(50) * weight

# 回測，3,6,9,12月第3個星期五後的下一個交易日進行交易。
r1 = backtest.sim(position, resample='Q', resample_offset='3W', upload=False)
r1.display()</code></pre>



<p>程式碼<a href="https://colab.research.google.com/drive/1zQ2N0qqcR7XAfvcTY2-_IoHYk6DsJIbb?usp=sharing" target="_blank" rel="noopener">在此執行</a>。</p>



<figure class="wp-block-image size-large"><img width="1024" height="950" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-1-1024x950.png" alt="image 1" class="wp-image-6082" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-1-1024x950.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/02/image-1-300x278.png 300w, https://www.finlab.tw/wp-content/uploads/2024/02/image-1-768x712.png 768w, https://www.finlab.tw/wp-content/uploads/2024/02/image-1.png 1512w" sizes="(max-width: 1024px) 100vw, 1024px" title="利用 0050 的概念，優化選股的績效 1"><figcaption>台灣 50 模仿策略</figcaption></figure>



<p>近 10 年平均報酬率是 12％，跟大盤差不多，算是達到了 0050 的初衷，追蹤大盤指數。<br>從分析結果來看，確實有著非凡的流動性，然而在其他方面，例如獲利能力，或抵抗風險的能力，都不甚理想，這也是為什麼我們要透過程式來優化，來在績效上打敗 0050。不過 ETF 也擁有更多元化優勢，投資者應根據個人投資風格做出選擇。</p>



<h2>關於市值的分析</h2>



<p>既然 0050 是市值前 50 大的股票，那我們就來分析市值的特性，並且透過市值來研發投資組合。我們將市值由小到大分成 5 組，然後觀察每一組的報酬率。<br>藍色為最小市值，紅色為大市值。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="723" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-2-1024x723.png" alt="image 2" class="wp-image-6083" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-2-1024x723.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/02/image-2-300x212.png 300w, https://www.finlab.tw/wp-content/uploads/2024/02/image-2-768x543.png 768w, https://www.finlab.tw/wp-content/uploads/2024/02/image-2.png 1138w" sizes="(max-width: 1024px) 100vw, 1024px" title="利用 0050 的概念，優化選股的績效 2"></figure>



<p><br>可以發現，長期持有最小市值的組別，報酬率反而最高，而最大市值的組別，報酬率最低。所以結論是，在台灣，除非想要追求穩定的報酬率，否則市值越小的股票，報酬率越高。當然從常理來說，市值小的股票，風險也比較高，所以建議投資者依據自己的風險承受能力進行投資。</p>



<p>所以接下來我們就來研發小市值的策略，雖然跟 0050 是完全相反的，但我想用這個實驗，藉此證明 ETF 高流動性、與大市值，所犧牲的小型股，是多麼的可惜，所以本篇接下來主要用非常簡單的步驟，來篩選出中小型股，組成自己的 ETF。</p>



<p>不過當前研究所提供的優化策略，是基於過去數據進行回測，可能存在過度擬合的問題，使得策略在未來的市場環境中表現不佳，請使用者自行斟酌。</p>



<h2>0050 優化：步驟一，小市值成交量</h2>



<p>小型股的問題在於，流動性不足，有時候買賣並沒有這麼方便，要掛單造成不必要的等待與價差，所以首先我們要先來確認小型股流動性問題，我們先來看小市值（市場上市值小於20％的股票）股票的每日成交量分布圖：</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="580" height="432" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-4.png" alt="image 4" class="wp-image-6085" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-4.png 580w, https://www.finlab.tw/wp-content/uploads/2024/02/image-4-300x223.png 300w" sizes="(max-width: 580px) 100vw, 580px" title="利用 0050 的概念，優化選股的績效 3"><figcaption>小市值的股票成交量（張數）</figcaption></figure>



<p>可以看到小市值的股票，每日平均交易張數大都小於200張，這樣的股票雖不至於不能買，但確實會有流動性的問題。在小市值的股票中，究竟成交量高，還是成交量小的股票報酬率比較好？下圖中，流動性越低（藍色）的股票，長期持有報酬率越好</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="571" height="405" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-5.png" alt="image 5" class="wp-image-6086" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-5.png 571w, https://www.finlab.tw/wp-content/uploads/2024/02/image-5-300x213.png 300w" sizes="(max-width: 571px) 100vw, 571px" title="利用 0050 的概念，優化選股的績效 4"><figcaption>藍色為成交量低，紅色為成交量高</figcaption></figure>



<p>雖然我們知道小市值、低成交量，有很好的報酬率，然而 FinLab 部落格畢竟每月上萬人的流量，盡量以成交量中高以上的策略進行研發，是比較適合的。所以針對「小市值低成交量」的研究，就交給各位來進行了。我們就先以上圖中的紅色與粉紅色，小市值中的中高成交量，來進行選股的製作。</p>



<p>選擇市值小的股票，我們在此設定門檻為日成交量 200 張以上，長期持有，每季換股，報酬率如下：</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="973" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-3-1024x973.png" alt="image 3" class="wp-image-6084" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-3-1024x973.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/02/image-3-300x285.png 300w, https://www.finlab.tw/wp-content/uploads/2024/02/image-3-768x730.png 768w, https://www.finlab.tw/wp-content/uploads/2024/02/image-3.png 1496w" sizes="(max-width: 1024px) 100vw, 1024px" title="利用 0050 的概念，優化選股的績效 5"><figcaption>小市值50小，成交量200張以上，每季換股</figcaption></figure>



<p>看起來雖然平均來說，效果比 0050 好，但是在2020年以前並不理想。不過別擔心，因為小型股有很多明顯的選股特性，很適合加入進來，例如均線。</p>



<h2>0050 優化：步驟二，均線</h2>



<p>所以接下來，我們希望可以過濾一些風險較高的股票，而均線是非常有用的方法，可以過濾掉一些未來可能下跌的股票，我們來看看效果如何，程式碼<a href="https://colab.research.google.com/drive/1zQ2N0qqcR7XAfvcTY2-_IoHYk6DsJIbb?usp=sharing" target="_blank" rel="noopener">可在此</a>執行：</p>



<pre class="wp-block-code"><code lang="python" class="language-python line-numbers">from finlab import backtest
from finlab import data

cap = data.get('etl:market_value')
vol = data.get('price:成交股數')
close = data.get('price:收盤價')

position = cap[
    (vol.average(20) &gt; 200_000)
    &amp; (close &gt; close.average(60)) 
    &amp; (close &gt; close.average(120))
    &amp; (close &gt; close.average(250))
].is_smallest(50)

report = backtest.sim(position, resample='Q')</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="952" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-6-1024x952.png" alt="image 6" class="wp-image-6087" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-6-1024x952.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/02/image-6-300x279.png 300w, https://www.finlab.tw/wp-content/uploads/2024/02/image-6-768x714.png 768w, https://www.finlab.tw/wp-content/uploads/2024/02/image-6.png 1514w" sizes="(max-width: 1024px) 100vw, 1024px" title="利用 0050 的概念，優化選股的績效 6"><figcaption>新增股價大於 60 日、120日、250日均線的條件後</figcaption></figure>



<p>當前我們透過簡單的均線，就能夠將策略的報酬率明顯提升，產生出一個0050小市值策略了！各位可以測測看用一樣的方法，但排序選取大市值的股票，效果並不會太好。</p>



<p>從自己主觀的經驗來說，成交量或市值越低的股票，越可能有超額報酬，有可能的原因是關注度比較低，價格反應並沒有像是大型股這麼即時。</p>



<h2>0050 優化：步驟三，減少檔數</h2>



<p>此時還是有問題，我們是要自己拿來投資的，怎麼可能買 50 檔股票呢？所以為了讓我們可以實際的來買賣，必須要讓股票的檔數變少才行，最簡單的方式，就是進一步選擇市值最小的 15 檔股票。</p>



<p>但你就會發現，股票的檔數變少，你的投資組合會有波動更劇烈。所以我加入了波動指標，過濾大起大落的股票標的，來確保我們的投資組合雖然標的少，但是能保持類似的穩定程度，我們來看看效果如何。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="957" src="https://www.finlab.tw/wp-content/uploads/2024/02/image-7-1024x957.png" alt="image 7" class="wp-image-6088" srcset="https://www.finlab.tw/wp-content/uploads/2024/02/image-7-1024x957.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/02/image-7-300x281.png 300w, https://www.finlab.tw/wp-content/uploads/2024/02/image-7-768x718.png 768w, https://www.finlab.tw/wp-content/uploads/2024/02/image-7.png 1508w" sizes="(max-width: 1024px) 100vw, 1024px" title="利用 0050 的概念，優化選股的績效 7"><figcaption>新增波動指標，過濾波動大於 30% 的股票</figcaption></figure>



<h2>0050 與優化後的績效比較</h2>



<p>根據上述的回測結果，優化後的策略相較於優化前有顯著的改善，在多項指標上表現更佳。</p>



<ol><li><strong>年化回報率 (Annual Return)</strong>：優化後的策略從+13%增加到+37%，表明策略的盈利能力大幅提升。</li><li><strong>阿爾法值 (Alpha)</strong>：從0%提高到+29%，顯示優化後的策略相對於基準的超額回報有明顯的提升。當然 0050 本來就希望 alpha 是 0，這樣比並不是很公平啦XD。</li><li><strong>貝塔值 (Beta)</strong>：從1.08降低到0.70，這意味著優化後的策略相對於市場整體風險的敏感度降低，更穩健。</li><li><strong>平均持股數 (AvgNStock) 和最大持股數 (MaxNStock)</strong>：從50降至15，顯示優化後的策略更加集中，選股更為精確。</li><li><strong>最大回撤 (Max Drawdown)</strong>：優化後略有降低，從-33％降到-31％，表示策略的損失風險略微下降。</li><li><strong>平均回撤 (Avg Drawdown) 和平均回撤天數 (Avg Drawdown Days)</strong>：這兩個指標變化不大，保持穩定。</li><li><strong>風險價值 (Value at Risk) 和條件風險價值 (Conditional Value at Risk)</strong>：雖然風險略有上升，但考慮到回報率的大幅提升，這種風險的增加是可以接受的。</li><li><strong>夏普比率 (Sharpe Ratio)</strong>、<strong>索提諾比率 (Sortino Ratio)</strong> 和 <strong>卡瑪比率 (Calmar Ratio)</strong>：這些風險調整後的回報率指標均顯示顯著提升，表明優化後策略的風險調整回報大幅優於優化前。</li><li><strong>波動性 (Volatility)</strong>：略有增加，從0.17上升到0.18，但考慮到收益的增加，這一增加是合理的。</li></ol>



<h2>與 00639 台灣50正二 比較</h2>



<p>相比 00639 台灣 50 正二，我們研發的策略並不遜色。</p>



<ol><li><strong>年化回報率 (Annual Return)</strong>：優化後的策略+37% 對比 00639 為 +24%，表明不需要開 2 倍槓桿，就能有很好的效果。</li><li><strong>最大回撤 (Max Drawdown)</strong>：兩倍槓桿最大的壞處就是，當下跌時，虧損也是 2 倍（甚至更多）。小市值策略最大下跌風險為 -31%，對比 00639 為 -52%，更為安全。</li><li><strong>波動性 (Volatility)</strong>：本策略的波動程度： 0.18，小於台灣 50 正二的 0.32。所以要是你真的想要投資台灣 50 正二，那還不如投資我們這個台灣15小型股。</li></ol>



<p>本篇介紹的策略，其並未開槓桿，而各項指標績效遠比 00632 好，與其開槓桿，優化選股組合是一個比較安穩且同時享有超額報酬的方式。</p>



<p>如何開槓桿？需要有更多停損、停利，及擇時，然而從量化交易回測的角度，由於參數較多，往往會有過擬合之現象，屬於更進階的投資方法。</p>



<h2>結論</h2>



<p>總體而言，優化後的策略在盈利能力、風險調整回報和市場風險敏感度方面都有明顯改善，表現出更高的效率和穩定性。優化措施有效提升了策略的整體表現，使其更適合於風險偏好較低且追求高效率的投資者。</p>



<h2>未來改進的方向</h2>



<p>可以試試看，結合更多指標，如財務健康、業績增長率、股息率等，進行更全面的股票評估和選擇，以建立更均衡和具有競爭力的投資組合。</p>



<p>P.S. 策略一不小心做得太好了，所以<a href="https://ai.finlab.tw/strategyview/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E5%8F%B0%E7%81%A3%E5%8D%81%E4%BA%94%E5%B0%8F%E5%B8%82%E5%80%BC" target="_blank" rel="noopener">最完整策略</a>只好先分享給本平台 VIP 使用。但基本上有心的話，透過本篇的蛛絲馬跡，已經非常足夠重現此策略。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6080</post-id>	</item>
	</channel>
</rss>
