<?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>VIP限定 &#8211; FinLab</title>
	<atom:link href="https://www.finlab.tw/tag/vip%E9%99%90%E5%AE%9A/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.finlab.tw</link>
	<description>深入淺出的量化投資，讓你在在茫茫股海中，找到專屬於自己的投資方法</description>
	<lastBuildDate>Tue, 03 Jun 2025 08:02:26 +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>VIP限定 &#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>復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」</title>
		<link>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00900-%ef%bc%9a%e4%bd%bf%e7%94%a8-ic-decay-%e5%84%aa%e5%8c%96%e9%ab%98%e8%82%a1%e6%81%af%e7%ad%96%e7%95%a5%e6%88%90%e3%80%8c%e9%95%b7%e8%b7%91%e8%bb%8d/</link>
					<comments>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00900-%ef%bc%9a%e4%bd%bf%e7%94%a8-ic-decay-%e5%84%aa%e5%8c%96%e9%ab%98%e8%82%a1%e6%81%af%e7%ad%96%e7%95%a5%e6%88%90%e3%80%8c%e9%95%b7%e8%b7%91%e8%bb%8d/#respond</comments>
		
		<dc:creator><![CDATA[Andy]]></dc:creator>
		<pubDate>Tue, 03 Jun 2025 08:02:23 +0000</pubDate>
				<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[投資新手]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[股票]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[量化投資]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6620</guid>

					<description><![CDATA[前言 市場上的高股息 ETF 各有特色，這次將以富邦特選高股息30（00900）為例，分析其追蹤的「臺灣指數公 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img width="820" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x-820x1024.png" alt="CleanShot 2025 05 22 at 10.03.35@2x" class="wp-image-6648" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x-820x1024.png 820w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x-240x300.png 240w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x-768x959.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x-1229x1536.png 1229w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-10.03.35@2x.png 1436w" sizes="(max-width: 820px) 100vw, 820px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 1"><figcaption>封面圖片</figcaption></figure>



<h2>前言</h2>



<p>市場上的高股息 ETF 各有特色，這次將以富邦特選高股息30（00900）為例，分析其追蹤的「<strong>臺灣指數公司特選臺灣上市上櫃高股息30指數</strong>」。這檔ETF 的選股邏輯強調多次審核與財務、流動性標準，選擇高股息且具備穩定配息能力的個股。</p>



<h3>00900 特色整理</h3>



<blockquote class="wp-block-quote"><p>一年三次審核，嚴選 30 檔高息股；納入市值＋流動性＋營業利益安全閥。</p></blockquote>



<figure class="wp-block-table"><table><thead><tr><th>特色</th><th>說明</th><th>帶來的好處</th></tr></thead><tbody><tr><td><strong>三次定審（4 / 7 / 12 月）</strong></td><td>每次重新計算股利率</td><td>配息資訊更新更即時</td></tr><tr><td><strong>流動性硬指標</strong></td><td>近 3 個月日均成交金額前 90 %</td><td>降低買賣滑價</td></tr><tr><td><strong>營業利益必須為正</strong></td><td>最近四季 &gt; 0</td><td>過濾偽高息股</td></tr></tbody></table></figure>



<h2><strong>復刻 00900：研究流程全解析</strong></h2>



<h3><strong>資料來源與規則拆解</strong></h3>



<p>根據<a style="font-weight: bold;" href="https://etrade.fsit.com.tw/homelink/Prospectus/94.pdf" target="_blank" rel="noopener">公開說明書</a>，復刻「<strong>特選臺灣上市上櫃高股息30指數（00900）</strong>」的成分股篩選與調整流程，重點如下：</p>



<h3><strong><strong>初始採樣母體</strong></strong></h3>



<ul><li>臺灣上市與上櫃普通股股票為基礎。</li><li>選取發行市值前 200 大股票。</li></ul>



<h3><strong>流動性條件</strong></h3>



<ul><li>最近三個月日均成交金額排名前 90%者</li></ul>



<h3><strong>財務健全性與指標篩選</strong></h3>



<ul><li><strong>定期審核</strong>（四月、七月、十二月）：最近四季營業利益總和須為正</li></ul>



<h3><strong>股利率計算</strong></h3>



<ul><li><strong>四月定審（第一次）</strong><ul><li><strong>已公告現金股利者</strong>：股利率 = 最近四季現金股利總和 ÷ 審核資料截止日股價</li><li><strong>未公告現金股利者</strong>：股利率 = 最近四季 EPS 總和 × 過去三年平均現金股利發放率 ÷ 審核資料截止日股價</li></ul></li><li><strong>七月定審（第二次）</strong><ul><li>股利率 = 最近四季現金股利總和 ÷ 審核資料截止日股價</li></ul></li><li><strong>十二月定審（第三次）</strong><ul><li>股利率 = 最近四季 EPS 總和 × 過去三年平均現金股利發放率 ÷ 審核資料截止日股價</li></ul></li></ul>



<h3><strong>成分股數量</strong></h3>



<ul><li><strong>每次均固定 30 檔</strong></li></ul>



<h3><strong>指數調整與生效時點</strong></h3>



<ul><li><strong>每年三次定期審核</strong>：4月、7月、12月第7個交易日為基準日</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1>復刻結果</h1>



<p>在經過一連串比對後，復刻而得的策略股池與原版 00900 報酬率曲線有高度相關。這意味著，我們的 復刻版 00900 確實能有效重現 00900 的選股結果。</p>



<p><strong>相關性分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="691" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.25.29@2x-691x1024.png" alt="CleanShot 2025 05 22 at 11.25.29@2x" class="wp-image-6664" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.25.29@2x-691x1024.png 691w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.25.29@2x-202x300.png 202w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.25.29@2x.png 758w" sizes="(max-width: 691px) 100vw, 691px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 2"><figcaption>相關性分析</figcaption></figure></div>


<p><strong>復刻 00900 報酬</strong>&nbsp;:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="886" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x-1024x886.png" alt="CleanShot 2025 05 22 at 11.26.49@2x" class="wp-image-6666" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x-1024x886.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x-300x260.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x-768x664.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x-1536x1329.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.26.49@2x.png 1542w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 3"><figcaption><strong>復刻 00900 報酬</strong></figcaption></figure></div>


<p>我們的「<strong>復刻版 00900</strong>」與官方版本高相關，證明邏輯拆解合理。</p>



<h2>進階優化</h2>



<h3>IC Decay：讓「好因子」真正常駐</h3>



<h4>什麼是IC Decay？為什麼分析IC Decay很重要？</h4>



<blockquote class="wp-block-quote"><p>想像一下：同一份藏寶圖，今天不只告訴你哪裡有金礦，還附上一張「礦脈多久才會枯竭」的熱力圖——這就是 IC Decay 帶來的視野。</p></blockquote>



<p>「IC」（Information Coefficient，資訊係數）是用來衡量一個因子對未來報酬預測力的重要指標，IC 高代表這個因子和未來報酬關聯性強。</p>



<p><strong>IC Decay</strong>，則是指「這個預測力會隨時間流逝而衰退嗎？衰退速度如何？」</p>



<p>簡單來說，我們不僅看因子對短期報酬有沒有預測力，也要觀察對長期如 60天、120天以後的報酬還有沒有預測力。</p>



<ul><li><strong>IC Decay 平緩：</strong> 這個因子在不同持有期間都有效，適合長線</li><li><strong>IC Decay 快：</strong> 因子適合短線，長線預測力不佳</li></ul>



<p><strong>應用在多因子策略：</strong></p>



<ul><li>幫助我們挑出「<strong>耐久型</strong>」的好因子</li><li>可以依照持股週期調整因子組合，強化策略穩定性</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2>用 IC Decay 檢驗 00900 因子品質</h2>



<p>我們針對前述幾個因子，進行 IC Decay分析，步驟如下：</p>



<ol><li>計算各因子對不同持有期（如20天、60天、120天）的 IC</li><li>畫出IC Decay曲線，觀察哪些因子「<strong>報酬預測力持久</strong>」</li><li>排除短線效應太明顯、容易失效的因子</li></ol>



<figure class="wp-block-image size-full"><img loading="lazy" width="1000" height="800" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot.png" alt="newplot" class="wp-image-6625" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot.png 1000w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot-300x240.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot-768x614.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 4"><figcaption>IC mean &amp;  ICIR Decay</figcaption></figure>



<h4><strong>重點解讀：</strong></h4>



<ul><li><strong>市值</strong>：IC IR 明顯是負值，且隨預測天數加長而下降，代表市值這個因子的預測不只失準，而且不穩定。</li><li><strong>七月股利率</strong>、<strong>十二月股利率</strong>：IC IR 明顯隨持有天數增加而上升（橘線到 1.5 以上），代表這兩個因子隨時間拉長後，預測力不只穩定，甚至更強。</li></ul>



<h2>多因子組合 IC Decay</h2>



<p>接下來，我們將這些因子進行整合，<strong>以組合分析的方式評估其綜合效果</strong>。</p>



<h4>分析 120 天預測期的前三名因子組合: </h4>



<ul><li><strong>七月股利率</strong></li><li><strong>七月股利率</strong> + <strong>十二月股利率 </strong></li><li><strong>四月股利率</strong> + <strong>七月股利率</strong></li></ul>



<figure class="wp-block-image size-full"><img loading="lazy" width="1000" height="800" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot2.png" alt="newplot2" class="wp-image-6627" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot2.png 1000w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-300x240.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-768x614.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 5"><figcaption>120天預測期 &#8211; 最佳因子組合的IC和IC IR衰減分析</figcaption></figure>



<p><strong>綜合解讀 ：</strong></p>



<ul><li><strong>組合因子</strong>（如「<strong>七月股利率 + 十二月股利率</strong>」）能提供更高的平均預測能力 (IC Mean)。</li><li>單因子「<strong>七月股利率</strong>」或「<strong>七月股利率+十二月股利率</strong>」的組合，在預測的穩定性 (IC IR) 上可能更優，尤其是在較長的預測期。</li><li>整體來看，這些以股利率為基礎的因子組合在中長期（如 60 天至 200 天）展現出較好的預測潛力，並且其預測的穩定性隨時間增長。</li></ul>



<h4>分析最佳單一因子 IC Decay : 七月股利率 ,十二月股利率 </h4>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot3.png" alt="newplot3" class="wp-image-6629" width="840" height="672" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot3.png 1000w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-300x240.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-768x614.png 768w" sizes="(max-width: 840px) 100vw, 840px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 6"><figcaption>最佳單一因子 IC Decay</figcaption></figure>



<h4><br></h4>



<h3><strong>綜合解讀 ：</strong></h3>



<ul><li>在單因子比較中，「<strong>七月股利率</strong>」無論是在平均預測能力 (IC Mean) 還是預測穩定性 (IC IR) 上，都優於「<strong>十二月股利率</strong>」。</li><li>「<strong>七月股利率</strong>」的 IC IR 隨預測天數增加而上升的特性。</li></ul>



<h3><strong>總體結論：</strong></h3>



<ol><li><strong>「七月股利率」是核心強勢因子：</strong> 無論是作為單因子還是組合的一部分，「<strong>七月股利率</strong>」都表現出強勁的預測能力和非常好的穩定性（尤其是其 IC IR 持續上升）。</li><li><strong>因子組合的價值：</strong> 將不同月份的股利率因子進行組合，有潛力獲得比單一因子更高的 IC Mean，即更強的平均預測信號。</li><li><strong>IC Mean vs. IC IR 的考量：</strong><ul><li>「<strong>七月股利率 + 十二月股利率</strong>」組合擁有最高的 IC Mean，如果追求最強的平均預測信號，這是一個好選擇。</li><li>但若更看重預測的穩定性，「<strong>七月股利率</strong>」（單獨或與十二月股利率組合）則因其較高的 IC IR 而更具吸引力。這是策略構建中需要權衡的一點。</li></ul></li><li><strong>適用的預測週期：</strong> 這些因子/組合的 IC Mean 大多在約120天至160天達到高峰或保持強勢，而 IC IR 甚至在200天時仍在上升。這暗示它們更適合中長期的投資策略，而非短期的預測。IC Mean 初期（20天至~120天）的上升趨勢值得注意，可能表示因子效應的滯後性。</li><li><strong>潛力因子/組合：</strong> 「七月股利率 + 十二月股利率」因其高 IC Mean 顯示出很好的潛力。而「七月股利率」因子本身因其優異的 IC IR 表現，是構建因子模型時的重要候選。<br>另外也附上同<a href="https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00919%ef%bc%9a%e7%8e%a9%e8%bd%89%e9%ab%98%e8%82%a1%e6%81%af-etf/">前一篇</a>的分析結果，整理出各預測週期內，因子在前10名組合中的出現頻率，以及120天預測期下，不同因子數量與 ICIR 的關係，並列出120天預測期的前10組最佳因子組合。</li></ol>



<figure class="wp-block-image size-full"><img loading="lazy" width="1000" height="500" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot-1.png" alt="newplot 1" class="wp-image-6631" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot-1.png 1000w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot-1-300x150.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot-1-768x384.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 7"><figcaption>各預測週期中因子在前10名組合中的出現頻率</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" width="800" height="600" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-2.png" alt="newplot2 2" class="wp-image-6635" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-2.png 800w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-2-300x225.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot2-2-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 8"><figcaption>120天預測期 – 因子數量與ICIR關係</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" width="900" height="600" src="https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-3.png" alt="newplot3 3" class="wp-image-6636" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-3.png 900w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-3-300x200.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/newplot3-3-768x512.png 768w" sizes="(max-width: 900px) 100vw, 900px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 9"><figcaption>120 天預測期 – 前10個最佳因子組合</figcaption></figure>



<h2>優化後的成績單</h2>



<p>最後我們使用表現較好的 <strong>七月股利率 + 十二月股利率</strong> <strong>+  yield_ratio</strong> 組合進行優化，可以發現績效、夏普值、最大回檔都有更好的結果。</p>



<p><strong>獲利能力分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="943" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x-1024x943.png" alt="CleanShot 2025 05 22 at 11.33.06@2x" class="wp-image-6667" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x-1024x943.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x-300x276.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x-768x707.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x-1536x1414.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.06@2x.png 1540w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 10"><figcaption>獲利能力分析</figcaption></figure></div>


<p><strong>抗風險能力分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="853" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x-1024x853.png" alt="CleanShot 2025 05 22 at 11.33.36@2x" class="wp-image-6668" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x-1024x853.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x-300x250.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x-768x640.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x-1536x1279.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.33.36@2x.png 1544w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 11"><figcaption><strong>抗風險能力分析</strong></figcaption></figure></div>


<p><strong>風險報酬分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="353" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.34.34@2x-1024x353.png" alt="CleanShot 2025 05 22 at 11.34.34@2x" class="wp-image-6669" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.34.34@2x-1024x353.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.34.34@2x-300x104.png 300w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.34.34@2x-768x265.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.34.34@2x.png 1530w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 12"><figcaption><strong>風險報酬分析</strong></figcaption></figure></div>


<p><strong>勝率期望值分析：</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" width="968" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x-968x1024.png" alt="CleanShot 2025 05 22 at 11.35.06@2x" class="wp-image-6670" srcset="https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x-968x1024.png 968w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x-283x300.png 283w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x-768x813.png 768w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x-1451x1536.png 1451w, https://www.finlab.tw/wp-content/uploads/2025/05/CleanShot-2025-05-22-at-11.35.06@2x.png 1544w" sizes="(max-width: 968px) 100vw, 968px" title="復刻與優化 00900 ：使用 IC Decay 優化高股息策略成「長跑軍火庫」 13"><figcaption><strong>勝率期望值分析</strong></figcaption></figure>



<h2>結論</h2>



<p><strong>00900 高股息ETF</strong>的選股規則已經相當嚴謹，但我們透過 <strong>IC Decay 分析</strong>，能夠再進一步挑選出「<strong>預測力持久</strong>」的黃金因子組合，打造更穩健、具備長期優勢的量化策略。未來也能持續利用 <strong>IC Decay</strong>動態追蹤因子表現，讓自己的策略不斷升級，也歡迎參考&nbsp;<a href="https://colab.research.google.com/drive/1rw86fwPLxq-nAPN-YCHABDpRaJ7lXCJU?usp=sharing" data-type="URL" data-id="https://colab.research.google.com/drive/1rw86fwPLxq-nAPN-YCHABDpRaJ7lXCJU?usp=sharing" target="_blank" rel="noopener">Colab 範例檔</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00900-%ef%bc%9a%e4%bd%bf%e7%94%a8-ic-decay-%e5%84%aa%e5%8c%96%e9%ab%98%e8%82%a1%e6%81%af%e7%ad%96%e7%95%a5%e6%88%90%e3%80%8c%e9%95%b7%e8%b7%91%e8%bb%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6620</post-id>	</item>
		<item>
		<title>復刻與優化 00919：玩轉高股息 ETF</title>
		<link>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00919%ef%bc%9a%e7%8e%a9%e8%bd%89%e9%ab%98%e8%82%a1%e6%81%af-etf/</link>
					<comments>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00919%ef%bc%9a%e7%8e%a9%e8%bd%89%e9%ab%98%e8%82%a1%e6%81%af-etf/#respond</comments>
		
		<dc:creator><![CDATA[Andy]]></dc:creator>
		<pubDate>Tue, 06 May 2025 08:08:01 +0000</pubDate>
				<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[投資新手]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[股票]]></category>
		<category><![CDATA[量化投資]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6561</guid>

					<description><![CDATA[前言 市面上的高股息 ETF 百花齊放，這次要來復刻 00919 群益台灣精選高息 ETF，如果 0056 是 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" width="683" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/04/ChatGPT-Image-2025年4月20日-下午01_52_50-1-683x1024.png" alt="ChatGPT Image 2025年4月20日 下午01 52 50 1" class="wp-image-6596" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/ChatGPT-Image-2025年4月20日-下午01_52_50-1-683x1024.png 683w, https://www.finlab.tw/wp-content/uploads/2025/04/ChatGPT-Image-2025年4月20日-下午01_52_50-1-200x300.png 200w, https://www.finlab.tw/wp-content/uploads/2025/04/ChatGPT-Image-2025年4月20日-下午01_52_50-1-768x1152.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/ChatGPT-Image-2025年4月20日-下午01_52_50-1.png 1024w" sizes="(max-width: 683px) 100vw, 683px" title="復刻與優化 00919：玩轉高股息 ETF 14"><figcaption>封面圖片</figcaption></figure>



<h2>前言</h2>



<p>市面上的高股息 ETF 百花齊放，這次要來復刻 <strong>00919</strong> <strong>群益台灣精選高息 ETF，</strong>如果 <strong>0056</strong> 是台股存股族的啟蒙，<strong>00919 </strong> 就像下一代改裝版。它主打「<strong>精準高息、精準卡位、精準領息</strong>」三大賣點，看似簡單，其實暗藏許多量化細節。本文帶你：</p>



<ol><li><strong>完整拆解官方邏輯</strong>，一步步復刻 00919 的選股流程。</li><li><strong>用量化工具驗證</strong>：驗證相關性和重疊率。</li><li><strong>再往前優化</strong>：刪掉雜訊因子、加入高效指標，打造報酬更高、回撤更低的 <strong>00919 優化版</strong>。</li></ol>



<h2>一、00919 三大「精準」拆解</h2>



<p>查看<a href="https://www.capitalfund.com.tw/etf/product/detail/195/basic" data-type="URL" data-id="https://www.capitalfund.com.tw/etf/product/detail/195/basic" target="_blank" rel="noopener">基金介紹</a>發現有幾個特色</p>



<ul><li><strong>精準高息：用「實際宣告」取代「預估數字」</strong></li></ul>



<p>00919 選擇鎖定「<strong>已公告現金股利</strong>」的企業，<strong>從確定的金額計算真實殖利率</strong>，進一步提升股息來源的可靠度與穩定性。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ul><li><strong> 精準卡位：提前布局的策略優勢</strong></li></ul>



<p>00919 採雙階段審核機制，五月、十二月<strong>雙審核</strong>，透過這種<strong>快與早並重</strong>的選股機制，達到真正「買在除息前」與「走在市場前」的投資節奏。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ul><li><strong>精準領息：每一分股息都不浪費</strong></li></ul>



<p>選股時機對應企業除息時程，投資人持有期間能真正參與除息、獲取現金配息，<strong>讓每一分錢都落袋為安</strong>。</p>



<blockquote class="wp-block-quote"><p><strong>名詞解釋 &#8211; 殖利率</strong>：每股現金股利 ÷ 股價。殖利率越高，代表用相對便宜的股價就能拿到較高現金回報。</p></blockquote>



<h2>二、復刻 00919：研究流程</h2>



<ol><li><strong>資料擷取</strong><ul><li>00919 <a href="https://www.capitalfund.com.tw/ECStorge/fund/ec/event/00919Prospectus/Prospectus.pdf" data-type="URL" data-id="https://www.capitalfund.com.tw/ECStorge/fund/ec/event/00919Prospectus/Prospectus.pdf" target="_blank" rel="noopener">公開說明書</a></li></ul></li><li><strong>邏輯拆解</strong><ul><li>採樣母體 → 流動性 / 財務健全性 → 股利資訊 → 排序 → 替換規則。</li></ul></li></ol>



<h2>三、復刻 00919 的關鍵步驟</h2>



<ol><li><strong>初始採樣母體</strong>：<ul><li>臺灣上市與上櫃普通股股票為基礎。</li></ul><ul><li>選取發行市值前 300 大股票。</li></ul></li><li><strong>基本條件篩選</strong>：<ul><li>日平均成交金額需高於 8,000 萬元。</li><li>近四季稅後股東權益報酬率 (ROE) 皆為正數。</li></ul></li><li><strong>股利資訊篩選（五月定審限定）</strong>：<ul><li>排除董事會尚未決定股利金額的公司。</li><li>排除已除息且於審核生效日前已完成發放的股票。</li></ul></li><li><strong>排序並選取成分股</strong>：<ul><li><strong>五月定審</strong>：依近四季股利率排序，選出前 30 檔。</li><li><strong>十二月定審</strong>：依據預估股利率排序，選出前 30 檔。</li></ul></li></ol>



<pre class="wp-block-code"><code lang="python" class="language-python">def calculate_ranks(date, is_may_review=True):
    """計算特定審核日期的股票排名"""
    nearest_date = get_nearest_past_trading_date(date, all_trading_dates)
    if nearest_date is None:
        return pd.Series(dtype=float)  # 空序列
        
    if is_may_review:  # 5月定審
        # 計算排名 - 5月定審使用股利率
        score = (市值.rank(axis=1, pct=True) + 股利率.rank(axis=1, pct=True) + yield_ratio.rank(axis=1, pct=True))[conds &amp; (board_cash_dividend &gt; 0)]
    else:  # 12月定審
        # 計算排名 - 12月定審使用預估股利率
        score = (市值.rank(axis=1, pct=True) + 預估股利率.rank(axis=1, pct=True) + yield_ratio.rank(axis=1, pct=True))[conds]
        
    if nearest_date not in score.index:
        return pd.Series(dtype=float)  # 空序列
        
    return score.loc[nearest_date].dropna().rank(ascending=False, method='min')</code></pre>



<ol><li><strong>成分股替換規則</strong>：<ul><li>排名前 15 名直接納入成分股。</li><li>既有成分股若跌出 46 名以外則剔除。</li><li>排名 16 至 45 名的股票列為候補，優先保留既有成分股。</li><li>十二月定審單次最多更替 8 檔股票。</li></ul></li></ol>



<pre class="wp-block-code"><code lang="python" class="language-python"># 建立空的結果DataFrame
position = pd.DataFrame(False, index=effective_dates, columns=close.columns)

# 處理所有調倉日期和排名數據
all_ranks = {}
valid_dates = []

for date in effective_dates:
    try:
        is_may_review = (date.month == 5)
        ranks = calculate_ranks(date, is_may_review)
        if not ranks.empty:
            all_ranks[date] = ranks
            valid_dates.append(date)
    except Exception as e:
        print(f"處理 {date} 時發生錯誤: {e}")

valid_dates = sorted(valid_dates)  # 確保日期順序

if not valid_dates:
    print("沒有有效的調倉日期，無法進行模擬")
else:
# 使用 Pandas 向量化處理成分股替換
    prev_components = None
    target_component_count = 30 # 設定目標成分股數量

    for i, date in enumerate(valid_dates):
                ranks = all_ranks[date]

                # 1. 排名在第15名以內者納入成分股
                top_15 = set(ranks[ranks &lt;= 15].index)

                # 2. 排名16至45名為候補名單
                candidates = set(ranks[(ranks &gt; 15) &amp; (ranks &lt;= 45)].index)

                # 暫定的成分股 (先加入前15名)
                current_components_tentative = set(top_15)

                # 如果不是第一次調倉
                if prev_components is not None:
                        # 加入排名16-45之間的既有成分股
                        existing_in_candidates = prev_components.intersection(candidates)
                        current_components_tentative.update(existing_in_candidates)

                        # 對於12月定審，額外限制最多替換8檔
                        if date.month == 12:
                                # 計算基於 Top15 + 既有候補 所得的新增股票
                                added = current_components_tentative - prev_components

                                # 如果新增超過8檔，需要減少替換數量
                                if len(added) &gt; 8:
                                        # 取出新增的股票並按排名排序 (rank越小越好)
                                        added_with_rank = pd.Series({stock: ranks.get(stock, float('inf')) for stock in added})
                                        # 只保留排名最好的前8名新增的股票
                                        to_keep = set(added_with_rank.sort_values().index[:8])
                                        to_remove_due_to_limit = added - to_keep

                                        # 從暫定名單中移除因超過8檔限制而被剔除的股票
                                        current_components_tentative = current_components_tentative - to_remove_due_to_limit

                # --- 補滿至目標數量 ---
                num_needed = target_component_count - len(current_components_tentative)
                if num_needed &gt; 0:
                        # 找出所有排名16-45，但尚未被選入的股票
                        remaining_candidates = candidates - current_components_tentative
                        if remaining_candidates: # 確保還有候選股可補
                                # 依排名排序這些候選股
                                remaining_candidates_with_rank = pd.Series({stock: ranks.get(stock, float('inf')) for stock in remaining_candidates})
                                sorted_remaining_candidates = remaining_candidates_with_rank.sort_values().index

                                # 選取排名最好的 num_needed 檔來補滿
                                stocks_to_add = set(sorted_remaining_candidates[:num_needed])
                                current_components_tentative.update(stocks_to_add)
                # --- 補滿邏輯結束 ---

                # 最終確認的成分股
                current_components = current_components_tentative

                # 設定成分股
                # 確保只設定存在的欄位
                valid_cols = [col for col in current_components if col in position.columns]
                position.loc[date, valid_cols] = True

                # 更新前一期成分股
                prev_components = current_components

    # 5. 前向填充空值，確保非調倉日也有持股
    position = position.loc[valid_dates]</code></pre>



<ol><li><strong>生效日期計算</strong>：<ul><li>審核基準日後第 5 個交易日正式生效。</li></ul></li></ol>



<pre class="wp-block-code"><code lang="python" class="language-python">def calculate_review_dates(trading_dates: pd.DatetimeIndex):
    """
    計算台灣高股息指數的審核與調倉日期
    
    台灣高股息指數規則:
    - 5月: 第17個交易日為審核基準日，審核資料截至5月第10個交易日
    - 12月: 第7個交易日為審核基準日，審核資料截至11月最後交易日
    - 生效日: 審核基準日後第5個交易日
    """
    review_dates_info = []
    start_year = trading_dates[0].year
    end_year = trading_dates[-1].year

    for year in range(start_year, end_year + 1):
        # 5月定審
        may_review_basis_day = get_trading_day_of_month(year, 5, 17, trading_dates)
        may_data_cutoff_day = get_trading_day_of_month(year, 5, 10, trading_dates)
        
        if may_review_basis_day and may_data_cutoff_day:
            target_effective_day_index = trading_dates.searchsorted(may_review_basis_day) + 5
            if target_effective_day_index &lt; len(trading_dates):
                may_effective_day_target = trading_dates[target_effective_day_index]
                may_effective_day = get_nearest_future_trading_date(may_effective_day_target, trading_dates)
                if may_effective_day:
                    review_dates_info.append({
                        'year': year, 
                        'month': 5,
                        'cutoff_date': may_data_cutoff_day,
                        'basis_date': may_review_basis_day,
                        'effective_date': may_effective_day
                    })

        # 12月定審
        dec_review_basis_day = get_trading_day_of_month(year, 12, 7, trading_dates)
        nov_data_cutoff_day = get_last_trading_day_of_month(year, 11, trading_dates)
        
        if dec_review_basis_day and nov_data_cutoff_day:
            target_effective_day_index = trading_dates.searchsorted(dec_review_basis_day) + 5
            if target_effective_day_index &lt; len(trading_dates):
                dec_effective_day_target = trading_dates[target_effective_day_index]
                dec_effective_day = get_nearest_future_trading_date(dec_effective_day_target, trading_dates)
                if dec_effective_day:
                    review_dates_info.append({
                        'year': year, 
                        'month': 12,
                        'cutoff_date': nov_data_cutoff_day,
                        'basis_date': dec_review_basis_day,
                        'effective_date': dec_effective_day
                    })

    # 按生效日期排序
    review_dates_info = sorted(review_dates_info, key=lambda x: x['effective_date'])
    # 移除無效日期
    review_dates_info = [info for info in review_dates_info if info['effective_date'] is not None]
    
    if not review_dates_info:
        raise ValueError("無法計算出任何有效的審核與生效日期，請檢查日期計算邏輯或資料範圍。")
    
    return review_dates_info</code></pre>



<h2>四、復刻結果</h2>



<p><br>在經過一連串比對後，復刻而得的策略股池與原版 00919 報酬率曲線有高度相關。這意味著，我們的 復刻版 00919 確實能有效重現 00919 的選股結果。</p>



<p><strong>相關性分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" width="382" height="549" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.48.55.png" alt="CleanShot 2025 04 20 at 11.48.55" class="wp-image-6566" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.48.55.png 382w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.48.55-209x300.png 209w" sizes="(max-width: 382px) 100vw, 382px" title="復刻與優化 00919：玩轉高股息 ETF 15"><figcaption>相關性分析</figcaption></figure></div>


<p><strong>復刻 00919 報酬</strong> : </p>



<figure class="wp-block-image size-full"><img loading="lazy" width="761" height="599" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.59.52.png" alt="CleanShot 2025 04 20 at 11.59.52" class="wp-image-6568" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.59.52.png 761w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-11.59.52-300x236.png 300w" sizes="(max-width: 761px) 100vw, 761px" title="復刻與優化 00919：玩轉高股息 ETF 16"><figcaption><strong>復刻 00919 報酬</strong></figcaption></figure>



<p><strong>長期持有 00919&nbsp;報酬</strong> :</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="770" height="772" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.01.12.png" alt="CleanShot 2025 04 20 at 12.01.12" class="wp-image-6569" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.01.12.png 770w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.01.12-300x300.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.01.12-150x150.png 150w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.01.12-768x770.png 768w" sizes="(max-width: 770px) 100vw, 770px" title="復刻與優化 00919：玩轉高股息 ETF 17"><figcaption><strong>長期持有 00919&nbsp;報酬</strong></figcaption></figure>



<p>我們的「<strong>復刻版 00919</strong>」與官方版本高相關，證明邏輯拆解合理。</p>



<h2>五、進階優化：</h2>



<p>雖然我們已成功復刻 00919 的選股邏輯，但這僅是起點。在接下來的優化階段，我們希望<strong>進一步提升策略效率與穩定性</strong>。因此，我們先行<strong>剔除效度不高的條件，以降低雜訊與過度擬合（overfitting）的風險</strong>，同時<strong>納入經過 IC/IR 驗證、具高預測力的關鍵因子</strong>，讓策略在維持高息特性的同時，具備更好的長期報酬潛力。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" width="662" height="480" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.04.40@2x.png" alt="CleanShot 2025 04 20 at" class="wp-image-6570" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.04.40@2x.png 662w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-12.04.40@2x-300x218.png 300w" sizes="(max-width: 662px) 100vw, 662px" title="復刻與優化 00919：玩轉高股息 ETF 18"><figcaption>IC / IR 分析</figcaption></figure></div>


<p><strong>IC/IR</strong> 指標告訴我們，有些條件不但沒幫忙，還在拖後腿，列如：</p>



<ul><li>市值條件 IC 為 <strong>負值</strong></li><li>流動性條件 IC 也是 <strong>負值</strong></li></ul>



<blockquote class="wp-block-quote"><p><strong>名詞小辭典 </strong>&#8211; <strong>IC / IR</strong> <br>• <strong>IC</strong>（Information Coefficient）：因子對未來報酬的預測能力，&gt;0 正向、&lt;0 反向。 <br>• <strong>IR</strong>（Information Ratio）：IC 均值 ÷ IC 標準差，衡量穩定度，&gt;1 代表因子「又準又穩」。</p></blockquote>



<p></p>



<p>當我們發現市值與流動性條件的 IC 為負時，決定剔除。這樣的做法其實也呼應了我們作為一般投資人的一項優勢，<strong>不像 ETF 必須考量大規模資金進出時的流動性風險</strong>，我們可以更靈活地聚焦在報酬潛力本身，因此不再納入這些與 ETF 結構相關的限制性條件，也是合理的選擇。</p>



<p>接下來，我們回頭檢視先前 <a href="https://www.finlab.tw/%e5%a6%82%e4%bd%95%e5%be%a9%e5%88%bb0056%e9%ab%98%e8%82%a1%e6%81%afetf%ef%bc%8c%e4%b8%a6%e6%89%93%e9%80%a0%e8%b6%85%e8%b6%8a%e5%b8%82%e5%a0%b4%e7%9a%84%e9%80%b2%e9%9a%8e%e7%ad%96%e7%95%a5%ef%bc%81/">先前文章</a>， 「復刻 0056 ETF」文章中表現優異的因子，將這些經驗延伸應用到本次策略中。透過重新分析其 IC 與 IR 指標，我們挑選出具有預測力的關鍵因子，<strong>將其納入排序邏輯中與原有條件結合</strong>。</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="838" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.08.07@2x-838x1024.png" alt="CleanShot 2025 04 20 at 13.08.07@2x" class="wp-image-6572" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.08.07@2x-838x1024.png 838w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.08.07@2x-246x300.png 246w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.08.07@2x-768x938.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.08.07@2x.png 866w" sizes="(max-width: 838px) 100vw, 838px" title="復刻與優化 00919：玩轉高股息 ETF 19"><figcaption>因子 IC IR 分析</figcaption></figure></div>


<p>可以發現，<strong>股利率、預估股利率、cash_dividend_annual 以及 ROE</strong> 都展現出良好的表現，屬於具有預測力的優質因子。</p>



<p>接下來，我們將這些表現突出的因子進行整合，<strong>以組合分析的方式評估其綜合效果</strong>，並驗證是否能進一步提升選股策略的穩定性與報酬潛力。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="498" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x-1024x498.png" alt="CleanShot 2025 04 20 at 13.13.50@2x" class="wp-image-6577" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x-1024x498.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x-300x146.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x-768x374.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x-1536x747.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.50@2x.png 1982w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 20"><figcaption>各預測週期中因子在前10名組合中的出現頻率</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.12.34@2x-1024x763.png" alt="CleanShot 2025 04 20 at 13.12.34@2x" class="wp-image-6573" width="840" height="625" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.12.34@2x-1024x763.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.12.34@2x-300x224.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.12.34@2x-1536x1145.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.12.34@2x.png 1540w" sizes="(max-width: 840px) 100vw, 840px" title="復刻與優化 00919：玩轉高股息 ETF 21"><figcaption>60天預測期 &#8211; 因子數量與ICIR關係</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="760" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.02@2x-1024x760.png" alt="CleanShot 2025 04 20 at 13.13.02@2x" class="wp-image-6574" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.02@2x-1024x760.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.02@2x-300x223.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.02@2x-768x570.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.02@2x.png 1520w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 22"><figcaption>120天預測期 &#8211; 因子數量與ICIR關係</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="679" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x-1024x679.png" alt="CleanShot 2025 04 20 at 13.13.22@2x" class="wp-image-6575" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x-1024x679.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x-300x199.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x-768x509.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x-1536x1018.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.22@2x.png 1780w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 23"><figcaption>60 天預測期 &#8211; 前10個最佳因子組合</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="677" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x-1024x677.png" alt="CleanShot 2025 04 20 at 13.13.34@2x" class="wp-image-6576" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x-1024x677.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x-300x198.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x-768x508.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x-1536x1015.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.13.34@2x.png 1782w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 24"><figcaption>120 天預測期 &#8211; 前10個最佳因子組合</figcaption></figure>



<p>可以發現，無論是在 60 天或 120 天的時間尺度下，<strong>ROE 與年化股息率的組合表現穩定且亮眼</strong>。因此我們將這組優勢因子正式納入五月與十二月的選股排序邏輯中。接著，我們<strong>進一步精簡成分股數量，並取消複雜的替換規則</strong>，打造出更簡潔、集中、操作效率更高的「終極策略版本」。這樣的設計，能兼顧高勝率與操作彈性，真正貼近一般投資人的實戰需求。</p>



<h2><br>六、優化後的成績單</h2>



<ol><li><strong>年化報酬率：</strong>&nbsp;提高至約&nbsp;<strong>47%</strong>，相較於原版明顯領先。</li><li><strong>夏普比率：</strong>&nbsp;從遠本的 <strong>1.16 </strong>提高至約&nbsp;<strong>1.83</strong>，相較於原版明顯領先。</li></ol>



<p>更難能可貴的是在差不多的最大下跌風險下，提高報酬率和穩定性，不必日日擔心股價大幅震盪。如此一來，投資人就能同時享有領股利的安心感，又能捕捉股價成長的爆發力。<br><strong>獲利能力分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="930" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x-1024x930.png" alt="CleanShot 2025 04 20 at 13.24.40@2x" class="wp-image-6579" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x-1024x930.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x-300x273.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x-768x698.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x-1536x1395.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.24.40@2x.png 1550w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 25"><figcaption>獲利能力分析</figcaption></figure></div>


<p><strong>抗風險能力分析：</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img loading="lazy" width="1024" height="942" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x-1024x942.png" alt="CleanShot 2025 04 20 at 13.25.36@2x" class="wp-image-6580" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x-1024x942.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x-300x276.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x-768x707.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x-1536x1413.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.25.36@2x.png 1552w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 26"><figcaption><strong>抗風險能力分析</strong></figcaption></figure></div>


<p><strong>風險報酬分析：</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="347" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.13@2x-1024x347.png" alt="CleanShot 2025 04 20 at 13.26.13@2x" class="wp-image-6581" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.13@2x-1024x347.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.13@2x-300x102.png 300w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.13@2x-768x260.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.13@2x.png 1534w" sizes="(max-width: 1024px) 100vw, 1024px" title="復刻與優化 00919：玩轉高股息 ETF 27"><figcaption><strong>風險報酬分析</strong></figcaption></figure>



<p><strong>勝率期望值分析：</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" width="960" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x-960x1024.png" alt="CleanShot 2025 04 20 at 13.26.40@2x" class="wp-image-6582" srcset="https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x-960x1024.png 960w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x-281x300.png 281w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x-768x819.png 768w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x-1440x1536.png 1440w, https://www.finlab.tw/wp-content/uploads/2025/04/CleanShot-2025-04-20-at-13.26.40@2x.png 1522w" sizes="(max-width: 960px) 100vw, 960px" title="復刻與優化 00919：玩轉高股息 ETF 28"><figcaption><strong>勝率期望值分析</strong></figcaption></figure>



<p>在不犧牲「領息」特色的前提下，<strong>獲利更高、風險更低</strong>。</p>



<h2>七、行動建議</h2>



<ol><li><strong>進階派</strong>：跟著本文邏輯，自行用FinLab 復刻並優化。</li><li><strong>客製派</strong>：把優化後因子丟進量化平台，持續調參，打造專屬高息策略。</li></ol>



<blockquote class="wp-block-quote"><p>風險提醒：高息 ≠ 無風險。股息遞延、宏觀逆風都可能影響績效。請按自身資金配置與風險承受度操作。</p></blockquote>



<h2>結語：高息，也可以很聰明</h2>



<p>復刻只是起點，希望這篇文章能點燃你的研究慾望，讓「領息」不再只是被動等待，而成為可以精雕細琢、持續進化的好策略。</p>



<p>若你已經迫不及待想動手，接下來：</p>



<ul><li>依本文框架補上程式碼段並回測驗證。</li><li>加入自己的好因子和條件，調整策略。</li><li>也歡迎參考 <a href="https://colab.research.google.com/drive/1uD2DkcugVXwHLZvHEceMG2BQWTRDRypA?usp=sharing" data-type="URL" data-id="https://colab.research.google.com/drive/1uD2DkcugVXwHLZvHEceMG2BQWTRDRypA?usp=sharing" target="_blank" rel="noopener">Colab 範例檔</a>。</li></ul>



<p>祝你在下一個除息季，順利把每一分股息都握在手中！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e5%be%a9%e5%88%bb%e8%88%87%e5%84%aa%e5%8c%96-00919%ef%bc%9a%e7%8e%a9%e8%bd%89%e9%ab%98%e8%82%a1%e6%81%af-etf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6561</post-id>	</item>
		<item>
		<title>如何復刻0056高股息ETF，並打造超越市場的進階策略！</title>
		<link>https://www.finlab.tw/%e5%a6%82%e4%bd%95%e5%be%a9%e5%88%bb0056%e9%ab%98%e8%82%a1%e6%81%afetf%ef%bc%8c%e4%b8%a6%e6%89%93%e9%80%a0%e8%b6%85%e8%b6%8a%e5%b8%82%e5%a0%b4%e7%9a%84%e9%80%b2%e9%9a%8e%e7%ad%96%e7%95%a5%ef%bc%81/</link>
					<comments>https://www.finlab.tw/%e5%a6%82%e4%bd%95%e5%be%a9%e5%88%bb0056%e9%ab%98%e8%82%a1%e6%81%afetf%ef%bc%8c%e4%b8%a6%e6%89%93%e9%80%a0%e8%b6%85%e8%b6%8a%e5%b8%82%e5%a0%b4%e7%9a%84%e9%80%b2%e9%9a%8e%e7%ad%96%e7%95%a5%ef%bc%81/#respond</comments>
		
		<dc:creator><![CDATA[Andy]]></dc:creator>
		<pubDate>Tue, 25 Mar 2025 05:09:58 +0000</pubDate>
				<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[歷史回測]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[股票]]></category>
		<category><![CDATA[量化投資]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6547</guid>

					<description><![CDATA[復刻0056高股息ETF，並打造超越市場的進階策略]]></description>
										<content:encoded><![CDATA[
<h1>一、復刻0056高股息ETF的核心邏輯</h1>



<p>市面上最受投資人青睞的高股息 ETF，莫過於&nbsp;<strong>元大高股息 ETF（0056）</strong>。它是許多台灣投資人「存股領股利」的代表標的。0056 的選股方法，是從<strong>臺灣50指數</strong>與<strong>臺灣中型100指數</strong>為母體，優先篩選出具備相對高殖利率（預期下一年股息）之公司，最終組成 50 檔成分股。</p>



<p>然而，許多人只知道它「<strong>給股利</strong>」、風險似乎不高，卻很少真正挖掘其選股邏輯背後的細節和可能的缺陷。為了讓大家更深入了解這套機制，我們運用量化交易的方法，去「<strong>復刻</strong>」0056 的篩選邏輯，並嘗試更進一步的優化。這項研究花了相當多時間精力，從龐大資料的爬取、清洗、到回測比對，都一一經歷反覆測試，只為了呈現給投資人更清晰且更具行動價值的策略思路。</p>



<h3>復刻 0056 的關鍵步驟</h3>



<ul><li><strong>市值排名前 150 名股票作為初始篩選標的這代表先從台灣市值規模較大、較有流動性的公司中著手，排除一些可能成交量低、營運風險較高的股票。</strong></li><li><strong>近三年皆穩定發放現金股利0056 著重於「股息」，因此公司能否穩定配發現金股息，就顯得至關重要。</strong></li><li><strong>毛利率持續成長反映公司基本營運體質是否健康；若毛利率維持增長，通常代表公司具備較佳的競爭力。</strong></li><li><strong>設定交易流通性條件確保標的能有效買賣，避免「有好策略，卻掛不到單」的尷尬情況。</strong></li><li><strong>最終根據現金股利殖利率和現金股息年化報酬，選出前 50 檔股票這基本就複製了 0056 的核心精神：高殖利率作為重要排序依據。</strong></li></ul>



<p>在經過一連串比對後，復刻而得的策略股池與原版 0056 股池有&nbsp;<strong>72%</strong>&nbsp;的重疊率，報酬率曲線也高度相關。這意味著，我們的 復刻版 0056 確實能<strong>有效重現 0056 的選股結果</strong>。</p>



<h3>相關性分析：</h3>


<div class="wp-block-image">
<figure class="aligncenter is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.50.56.png" alt="CleanShot 2025 03 17 at 11.50.56" width="354" height="705" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 29"><figcaption>相關性分析</figcaption></figure></div>


<h1><br>二、為什麼要優化 0056？</h1>



<p>雖然 0056 深受大眾喜愛，但其單一依賴「殖利率」的選股標準，也帶來了不少潛在問題。<strong>最常見的疑問在於：如果公司未來的獲利或股價下滑，殖利率再高也未必保得住報酬。</strong>&nbsp;因此，僅看現金股利殖利率，有時候會忽略公司實際的成長動能與股價穩定度。</p>



<ul><li><strong>缺乏成長潛力考量：</strong> 0056 更重視「現在」的高股息，卻無法保證公司未來能維持同等配息水準。</li><li><strong>忽略股價風險：</strong> 有些殖利率高的公司，股價可能因營運不佳或大環境衝擊而下跌，使投資人因價差損失抵銷了領股息的好處。</li></ul>



<p>事實上，根據許多長期回測的結果，0056 的投資績效常<strong>落後大盤</strong>。</p>



<h3><strong>復刻 0056 報酬：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.39.43@2x-1024x729.png" alt="CleanShot 2025 03 17 at 11.39.43@2x" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 30"><figcaption>復刻 0056 報酬</figcaption></figure></div>


<h3><strong>長期持有 0056&nbsp;報酬：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.47.46@2x-1024x790.png" alt="CleanShot 2025 03 17 at 11.47.46@2x" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 31"><figcaption><strong>長期持有 0056&nbsp;報酬</strong></figcaption></figure></div>


<p>這也是為什麼我們要繼續進行第二階段的<strong>策略優化</strong>，希望既能拿到<strong>股利</strong>，也能兼顧成長與風險控管。</p>



<p></p>



<h1>三、策略的優化方向</h1>



<p>為了進一步提升報酬並減少下跌風險，我們引入了更全面的選股因子與風險控管條件，包括：</p>



<ol><li><strong>營收成長指標</strong><ul><li><strong>為什麼重要？</strong> 相較於只看當前股息，營收成長能更直接反映公司未來的成長動能。假如一家公司營收年年進步，往後維持股息或提高配息的機率也相對提高。</li></ul></li><li><strong>長期均線條件</strong><ul><li><strong>為什麼重要？</strong> 均線是一種技術分析常用的趨勢判定法。挑選「股價在長期均線之上」的公司，能有效排除股價長期走弱或進入空頭趨勢的標的。</li></ul></li><li><strong>股價波動率限制</strong><ul><li><strong>為什麼重要？</strong> 高波動可能意味著市場對公司基本面有疑慮，或財務體質波動度較大。過高的波動率會拉大投資組合的風險，限制波動度有助於穩定心態與獲利表現。</li></ul></li><li><strong>殖利率門檻</strong><ul><li><strong>為什麼重要？</strong> 雖然不能只看殖利率，但也不應該放棄。透過設置「殖利率至少在前 40%（或 60 百分位數以上）」的條件，既能保有高股息優勢，又不至於過度犧牲穩定度與成長性。</li></ul></li></ol>



<p>這些篩選條件的核心邏輯，就在於想同時享受「<strong>股利</strong>」與「<strong>成長</strong>」。最終，我們挑出能在長期維持向上趨勢、營運持續成長、且具有一定股利保證的股票，打造一個較能兼顧「<strong>領息</strong>」與「<strong>資本利得</strong>」的投資組合。<br></p>



<h1>四、優化後的策略範例</h1>



<p>以下程式碼範例，示範如何在量化平台上落實上述篩選邏輯。除了維持原先 0056「市值前 150 名」、「三年皆有發放股利」等規範，我們另外納入了<strong>營收成長</strong>、<strong>長期均線</strong>、<strong>波動度</strong>及<strong>殖利率門檻</strong>等條件。最後再綜合每檔股票的排名結果，只選擇前 20 檔表現優異的公司。</p>



<pre class="wp-block-code"><code class="">base_stocks = 市值.is_largest(150)
yield_ratio = data.get('price_earning_ratio:殖利率(%)')
殖利率條件 = (yield_ratio &gt;= yield_ratio.quantile(0.6, axis=1))
去年同月增減 = data.get("monthly_revenue:去年同月增減(%)")
rev = data.get('monthly_revenue:當月營收')
營收成長 = (rev.average(3) &gt; rev.average(12))
均線條件 = (close&gt;close.average(120)) &amp; (close&gt;close.average(240))
std = close.pct_change().rolling(60).std().rank(axis=1, pct=True)
波動條件 = (std &lt; 0.5)

conds = (
 (close&gt;0)
 &amp; base_stocks
 &amp; vol_cond
 &amp; eps_cond
 &amp; 近三年皆有發放現金股利
 &amp; 毛利成長率優良
 &amp; 營收成長
 &amp; 均線條件
 &amp; 波動條件
 &amp; 殖利率條件
)
position =  (cash_dividend_annual.rank(axis=1, pct=True) + 現金股利殖利率.rank(axis=1, pct=True) + 去年同月增減.rank(axis=1, pct=True))[conds].is_largest(20)
dates = []
y_start = position.index[0].year
y_end = position.index[-1].year
for y in range(y_start, y_end+1):
  dates.append(f"{y}-05-31")
  dates.append(f"{y}-12-27")
resample = pd.to_datetime(dates)
report2 = sim(position.reindex(resample, method='ffill'), resample=resample, upload=False)
report2.display()</code></pre>



<p>以上範例，用來呈現大致邏輯。重點在於「<strong>為什麼要加入這些條件</strong>」，而不只是條件本身。唯有理解每一步驟背後的意義，才能在投資時有所依據，也更能說服自己這樣嘗試，也歡迎大家優化加入更多因子或是優化相關的參數。</p>



<p></p>



<h1>五、因子IC/IR分析</h1>



<p>在量化投資的領域，經常會透過「<strong>Information Coefficient</strong>&nbsp;<strong>資訊係數</strong>」來確認某個因子是否確實能帶來正向貢獻。以下名詞簡單解釋：</p>



<ul><li><strong>IC（Information Coefficient，訊息係數）：</strong> 量度某因子的預測能力，IC &gt; 0 代表該因子對未來報酬有正向預測力。</li><li><strong>IR（Information Ratio，訊息比率）：</strong> 代表因子收益與風險的平衡程度，IR &gt; 1 通常表示該因子效果不錯。</li></ul>



<p>更詳細的內容歡迎參考之前的文章，<a href="https://www.finlab.tw/information-coefficient/">Information Coefficient 是什麼，要如何使用？</a></p>



<p>經分析顯示，<strong>營收成長</strong>、<strong>現金股息年化報酬</strong>、<strong>殖利率條件</strong>等因子都對整體績效貢獻較大，尤其是營收成長與長期均線兩因子的 IC/IR 表現最亮眼。這進一步佐證了「高息 + 成長 + 走勢向上」的組合，更能帶來勝率與報酬的提升。</p>



<h3><strong>因子 IC / IR 分析：</strong></h3>


<div class="wp-block-image is-style-default">
<figure class="aligncenter is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.38.57.png" alt="CleanShot 2025 03 17 at 11.38.57" width="315" height="468" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 32"><figcaption><strong>因子 IC / IR 分析</strong></figcaption></figure></div>


<p></p>



<h1>六、終極版策略的績效分析</h1>



<p>把所有優化條件整合後，使用強大的&nbsp;<a href="https://doc.finlab.tw/reference/optimize/#finlab.optimize.combinations.sim_conditions" target="_blank" rel="noopener"><code>finlab.optimize</code></a>&nbsp;「<a href="https://doc.finlab.tw/reference/optimize/#finlab.optimize.combinations.sim_conditions" target="_blank" rel="noopener">文檔連結</a>」可以更方便的進行<strong>條件排列組合</strong>與大規模回測，最終得到「<strong>終極版</strong>」的選股策略。其結果遠遠優於單純追求殖利率的 0056，以下為量化回測的關鍵指標：</p>



<ol><li><strong>年化報酬率：</strong>&nbsp;提高至約&nbsp;<strong>31%</strong>，相較於原版 0056 明顯領先。</li><li><strong>最大回撤：</strong>&nbsp;降至&nbsp;<strong>24.3%</strong>，顯示波動與下跌風險獲得更佳控管。</li><li><strong>夏普比率：</strong>&nbsp;超過&nbsp;<strong>2</strong>&nbsp;以上，代表收益相對於風險具高度吸引力。</li></ol>



<p>除了高報酬率，更難能可貴的是兼顧到風險面與投資體驗：投資組合的走勢相對平穩，不必日日擔心股價大幅震盪。如此一來，投資人就能同時享有領股利的安心感，又能捕捉股價成長的爆發力。</p>



<h3><strong>獲利能力分析：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.42.27.png" alt="CleanShot 2025 03 17 at 11.42.27" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 33"><figcaption><strong>獲利能力分析</strong></figcaption></figure></div>


<h3><strong>抗風險能力分析：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.42.51.png" alt="CleanShot 2025 03 17 at 11.42.51" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 34"><figcaption><strong>抗風險能力分析</strong></figcaption></figure></div>


<h3><strong>風險報酬分析：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.43.13.png" alt="CleanShot 2025 03 17 at 11.43.13" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 35"><figcaption><strong>風險報酬分析</strong></figcaption></figure></div>


<h3><strong>勝率期望值分析：</strong></h3>


<div class="wp-block-image">
<figure class="aligncenter"><img src="https://www.finlab.tw/wp-content/uploads/2025/03/CleanShot-2025-03-17-at-11.43.45.png" alt="CleanShot 2025 03 17 at 11.43.45" title="如何復刻0056高股息ETF，並打造超越市場的進階策略！ 36"><figcaption><strong>勝率期望值分析</strong></figcaption></figure></div>


<h1><br>七、結語與投資行動建議</h1>



<p>從最初單純「<strong>復刻 0056 高股息</strong>」的思路，到後來發現 0056 可能有所不足，再進一步優化篩選條件並不斷迭代測試。正是因為投入了大量的程式回測、因子分析，才有這次所呈現的量化成果。</p>



<p>對於想靠股息過日子，或喜歡「<strong>領息 + 穩定增值</strong>」的投資人而言，本文提供了另一個思考角度：</p>



<ul><li>高殖利率當然好，但若同時輔以「<strong>營收成長</strong>」、「<strong>股價走勢</strong>」以及「<strong>風險控管</strong>」等條件，也許能得到更好的投資體驗與回報。</li><li>0056 作為大眾入門選擇並無不可，但若你願意花些心思了解量化策略，自己動手選股或透過更進階的工具優化組合，或許就能在領股期的同時「多賺一點，少跌一點」，甚至大大超越原始 ETF 的表現。</li></ul>



<p>最後，若對量化選股或因子策略有更多好奇心，不妨實際嘗試應用文中提到的篩選方式，或直接透過量化平台進行回測調整，也歡迎參考&nbsp;<a href="https://colab.research.google.com/drive/1Gkz7n7jniMAqqEzwh96eV3JI1YTplS3g" target="_blank" rel="noopener">Colab範例檔</a>&nbsp;。<strong>祝大家研究和投資順利、盈收長紅！</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e5%a6%82%e4%bd%95%e5%be%a9%e5%88%bb0056%e9%ab%98%e8%82%a1%e6%81%afetf%ef%bc%8c%e4%b8%a6%e6%89%93%e9%80%a0%e8%b6%85%e8%b6%8a%e5%b8%82%e5%a0%b4%e7%9a%84%e9%80%b2%e9%9a%8e%e7%ad%96%e7%95%a5%ef%bc%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6547</post-id>	</item>
		<item>
		<title>只要 3 個財報指標，報酬率高得驚人</title>
		<link>https://www.finlab.tw/fundamental-3-indicators/</link>
					<comments>https://www.finlab.tw/fundamental-3-indicators/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Sun, 16 Feb 2025 12:00:00 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[如何買股票]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[量化投資]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6433</guid>

					<description><![CDATA[只需要財報，就能達到歷史每年 60% 的選股策略！別再說財報不重要了，只是你不會看而已！ 1. 策略的核心邏輯 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>只需要財報，就能達到歷史每年 60% 的選股策略！別再說財報不重要了，只是你不會看而已！</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="938" src="https://www.finlab.tw/wp-content/uploads/2025/02/image-4-1024x938.png" alt="image 4" class="wp-image-6438" srcset="https://www.finlab.tw/wp-content/uploads/2025/02/image-4-1024x938.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/02/image-4-300x275.png 300w, https://www.finlab.tw/wp-content/uploads/2025/02/image-4-768x704.png 768w, https://www.finlab.tw/wp-content/uploads/2025/02/image-4-1536x1407.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/02/image-4.png 1548w" sizes="(max-width: 1024px) 100vw, 1024px" title="只要 3 個財報指標，報酬率高得驚人 37"></figure>



<h2>1. 策略的核心邏輯分析</h2>



<p><strong>選股策略概述：本策略運用量化篩選，著重挑選具高研發投入且財務穩健</strong>的股票。核心理念是，持續投入研發的公司往往具備創新能力和長期競爭優勢，股價表現可能優於同業 (<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=%E5%8F%B0%E7%81%A3%E4%B9%8B%E5%85%89%E5%8F%B0%E7%A9%8D%E9%9B%BB%20%28TSM%29%E6%98%AF%E5%8F%A6%E4%B8%80%E5%80%8B%E7%B6%93%E5%85%B8%E7%9A%84%E4%BE%8B%E5%AD%90%EF%BC%8C%E4%B8%8D%E6%96%B7%E6%8A%95%E5%85%A5%E7%9A%84%E7%A0%94%E7%99%BC%E8%B2%BB%E7%94%A8%E5%92%8C%E8%B3%87%E6%9C%AC%E6%94%AF%E5%87%BA%E6%9C%80%E7%B5%82%E6%8B%89%E9%96%8B%E8%88%87%E7%AB%B6%E7%88%AD%E8%80%85%E7%9A%84%E5%B7%AE%E8%B7%9D%EF%BC%8C%E7%8F%BE%E5%9C%A8%E9%AB%98%E9%9A%8E%E8%A3%BD%E7%A8%8B%E5%9C%A8%E5%B0%8D%E6%89%8B%E7%9C%8B%E4%B8%8D%E5%88%B0%E8%BB%8A%E5%B0%BE%E7%87%88%E7%9A%84%E6%83%85%E6%B3%81%E4%B8%8B%EF%BC%8C%E9%82%84%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%AF%9B%E5%88%A950">研發費用率選股策略 &#8211; FinLab</a>) (<a href="https://quantpedia.com/strategies/rd-expenditures-and-stock-returns/#:~:text=earnings%20or%20price,average%20returns%20in%20the%20future" target="_blank" rel="noopener">R&amp;D Expenditures and Stock Returns &#8211; QuantPedia</a>)。同時，透過財務指標確保公司體質良好，以降低風險。策略的主要選股條件包括 (<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=,%2A%20%E7%87%9F%E6%A5%AD%E7%8F%BE%E9%87%91%E6%B5%81%E5%A4%A7%E6%96%BC0%EF%BC%8C%E6%8E%92%E9%99%A4%E4%B8%80%E7%9B%B4%E7%87%92%E9%8C%A2%E7%9A%84%E5%8D%B1%E9%9A%AA%E9%AB%94%E8%B3%AA%E4%BC%81%E6%A5%AD%EF%BC%8Ceps%E7%82%BA%E8%B2%A0%E6%95%B8%EF%BC%8C%E8%87%B3%E5%B0%91%E8%A6%81%E6%9C%89%E7%8F%BE%E9%87%91%E6%B4%BB%E6%B0%B4%E4%BE%86%E6%94%AF%E6%92%90%E3%80%82%20%2A%20%E6%AF%8F%E5%AD%A3%E6%8F%9B%E8%82%A1">研發費用率選股策略 &#8211; FinLab</a>)：</p>



<ul><li><strong>研發投入比重</strong>：研發費用率位居市場前段（水準前10%）。亦即，公司研發費用占營收的比例很高，顯示對<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=,%2A%20%E7%87%9F%E6%A5%AD%E7%8F%BE%E9%87%91%E6%B5%81%E5%A4%A7%E6%96%BC0%EF%BC%8C%E6%8E%92%E9%99%A4%E4%B8%80%E7%9B%B4%E7%87%92%E9%8C%A2%E7%9A%84%E5%8D%B1%E9%9A%AA%E9%AB%94%E8%B3%AA%E4%BC%81%E6%A5%AD%EF%BC%8Ceps%E7%82%BA%E8%B2%A0%E6%95%B8%EF%BC%8C%E8%87%B3%E5%B0%91%E8%A6%81%E6%9C%89%E7%8F%BE%E9%87%91%E6%B4%BB%E6%B0%B4%E4%BE%86%E6%94%AF%E6%92%90%E3%80%82%20%2A%20%E6%AF%8F%E5%AD%A3%E6%8F%9B%E8%82%A1">創新研發的重視</a>。這通常意味著公司在技術和產品上具備成長潛力，市場往往低估這類投入帶來的未來機會 (<a href="https://quantpedia.com/strategies/rd-expenditures-and-stock-returns/#:~:text=earnings%20or%20price,average%20returns%20in%20the%20future" target="_blank" rel="noopener">R&amp;D Expenditures and Stock Returns &#8211; QuantPedia</a>)。例如台積電等不斷大手筆研發的企業，其研發實力與股價表現息息相關。</li><li><strong>費用結構優化</strong>：研發費用相對於管理費用較高。透過比較研發費用率與管理費用率的比值，篩選將資源更多投入研發、而非行政開支的公司。這指標反映公司資源配置傾向：高比值表示公司<strong>研發投入遠高於一般管理費用</strong>，重視創新勝於日常行政開支。<a href="https://colab.ws/articles/10.1111%2F1911-3846.12634#:~:text=valuation%20implications,control%20firms%2C%20and%20investors%20positively" target="_blank" rel="noopener">研究顯示</a>，投資人對此傾向持正面態度，偏好研發高、管銷費用精實的公司。</li><li><strong>財務穩健度</strong>：要求淨值除以總資產比率（股東權益比率）達一定水準，確保公司資本結構穩健不過度舉債。股東權益比率（淨資產比率）高，代表資產主要由<a href="https://rstock.com.tw/%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E4%BB%80%E9%BA%BC#:~:text=%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E4%BB%A3%E8%A1%A8%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E5%8D%A0%E7%B8%BD%E8%B3%87%E7%94%A2%E7%9A%84%E6%AF%94%E4%BE%8B%EF%BC%8C%E5%8F%8D%E6%98%A0%E4%BA%86%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E7%B5%90%E6%A7%8B%E5%92%8C%E7%A9%A9%E5%81%A5%E7%A8%8B%E5%BA%A6%E3%80%82%E4%BC%81%E6%A5%AD%E7%9A%84%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%87%89%E4%BF%9D%E6%8C%81%E9%81%A9%E4%B8%AD%EF%BC%8C%E9%81%8E%E4%BD%8E%E5%89%87%E8%A1%A8%E7%A4%BA%E8%B2%A0%E5%82%B5%E6%AF%94%E4%BE%8B%E9%81%8E%E9%AB%98%EF%BC%8C%E5%AE%B9%E6%98%93%E5%8F%97%E5%88%B0%E5%A4%96%E9%83%A8%E8%A1%9D%E6%93%8A%EF%BC%8C%E8%80%8C%E9%81%8E%E9%AB%98%E5%89%87%E5%8F%AF%E8%83%BD%E6%84%8F%E5%91%B3%20%E8%91%97%E4%BC%81%E6%A5%AD%E9%8C%AF%E5%A4%B1%E4%BA%86%E5%88%A9%E7%94%A8%E8%B2%A1%E5%8B%99%E6%A7%93%E6%A1%BF%E6%93%B4%E5%A4%A7%E7%B6%93%E7%87%9F%E8%A6%8F%E6%A8%A1%E7%9A%84%E6%A9%9F%E6%9C%83%E3%80%82%E4%BA%86%E8%A7%A3%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E5%8F%AF%E4%BB%A5%E5%B9%AB%E5%8A%A9%E6%8A%95%E8%B3%87%E8%80%85%E8%A9%95%E4%BC%B0%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E9%A2%A8%E9%9A%AA%EF%BC%8C%E5%90%8C%E6%99%82%E4%B9%9F%E7%82%BA%E4%BC%81%E6%A5%AD%E7%AE%A1%E7%90%86%E8%80%85%E6%8F%90%E4%BE%9B%E5%88%B6%E5%AE%9A%E8%B2%A1%E5%8B%99%E7%AD%96%E7%95%A5%E7%9A%84%E5%8F%83%E8%80%83%E3%80%82" target="_blank" rel="noopener">股東權益比率</a>支撐，負債相對較低，財務風險也較小。比率過低則表示槓桿高，遇到<a href="https://rstock.com.tw/%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E4%BB%80%E9%BA%BC#:~:text=%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E4%BB%A3%E8%A1%A8%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E5%8D%A0%E7%B8%BD%E8%B3%87%E7%94%A2%E7%9A%84%E6%AF%94%E4%BE%8B%EF%BC%8C%E5%8F%8D%E6%98%A0%E4%BA%86%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E7%B5%90%E6%A7%8B%E5%92%8C%E7%A9%A9%E5%81%A5%E7%A8%8B%E5%BA%A6%E3%80%82%E4%BC%81%E6%A5%AD%E7%9A%84%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%87%89%E4%BF%9D%E6%8C%81%E9%81%A9%E4%B8%AD%EF%BC%8C%E9%81%8E%E4%BD%8E%E5%89%87%E8%A1%A8%E7%A4%BA%E8%B2%A0%E5%82%B5%E6%AF%94%E4%BE%8B%E9%81%8E%E9%AB%98%EF%BC%8C%E5%AE%B9%E6%98%93%E5%8F%97%E5%88%B0%E5%A4%96%E9%83%A8%E8%A1%9D%E6%93%8A%EF%BC%8C%E8%80%8C%E9%81%8E%E9%AB%98%E5%89%87%E5%8F%AF%E8%83%BD%E6%84%8F%E5%91%B3%20%E8%91%97%E4%BC%81%E6%A5%AD%E9%8C%AF%E5%A4%B1%E4%BA%86%E5%88%A9%E7%94%A8%E8%B2%A1%E5%8B%99%E6%A7%93%E6%A1%BF%E6%93%B4%E5%A4%A7%E7%B6%93%E7%87%9F%E8%A6%8F%E6%A8%A1%E7%9A%84%E6%A9%9F%E6%9C%83%E3%80%82%E4%BA%86%E8%A7%A3%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E5%8F%AF%E4%BB%A5%E5%B9%AB%E5%8A%A9%E6%8A%95%E8%B3%87%E8%80%85%E8%A9%95%E4%BC%B0%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E9%A2%A8%E9%9A%AA%EF%BC%8C%E5%90%8C%E6%99%82%E4%B9%9F%E7%82%BA%E4%BC%81%E6%A5%AD%E7%AE%A1%E7%90%86%E8%80%85%E6%8F%90%E4%BE%9B%E5%88%B6%E5%AE%9A%E8%B2%A1%E5%8B%99%E7%AD%96%E7%95%A5%E7%9A%84%E5%8F%83%E8%80%83%E3%80%82" target="_blank" rel="noopener">景氣逆風時容易出現財務危機</a>。因此策略傾向選擇權益比率適中偏高的企業，避開高負債的公司，以降低因財務槓桿過高導致股價暴跌的風險。</li><li><strong>價格與交易量條件</strong>：為確保流動性與交易可行性，策略對股價和成交量也設置了篩選標準。通常會剔除低價股（如股價過低的「仙股」）並要求日均成交量達一定門檻，以避免流動性不足造成的交易困難。實務上常見的做法如：僅選取股價高於5或10元的股票，及平均日成交量超過某數量（例如100萬股）以上的股票 (<a href="https://www.finlab.tw/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%97%EF%BC%9A%E7%AD%96%E7%95%A5%E3%80%81%E5%AF%A6%E6%96%BD%E8%88%87%E9%A2%A8%E9%9A%AA%E7%AE%A1%E7%90%86/#:~:text=,%E3%80%82%20%2A%20%E6%A2%9D%E4%BB%B64%EF%BC%9A%E6%B5%81%E5%8B%95%E6%80%A7%E5%85%85%E8%B6%B3%E7%9A%84%E8%82%A1%E7%A5%A8%EF%BC%88%E6%88%90%E4%BA%A4%E9%87%8F%E8%B6%85%E9%81%8E100%E8%90%AC%E8%82%A1%EF%BC%89%E3%80%82">量化交易完整指南：策略、實施與風險管理 &#8211; FinLab</a>)。這可確保選中的股票買賣方便，不會因成交稀少而影響策略執行。</li></ul>



<p><strong>指標計算方式</strong>：上述篩選條件涉及的財務指標計算如下：</p>



<ul><li><em>研發費用率</em>＝研發費用 / 營業收入。<ul><li>該比率越高，代表企業從營收中撥出越多比例投入研發 (<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=%E7%A0%94%E7%99%BC%E8%B2%BB%E7%94%A8%E7%8E%87">研發費用率選股策略 &#8211; FinLab</a>)。例如研發費用率10%表示每100元收入有10元用於研發。</li></ul></li><li><em>管理費用率</em>＝管理費用 / 營業收入。<ul><li>此比率反映公司在行政管理上耗費的資源比例，可以參考：<a href="https://statementdog.com/blog/archives/10207#:~:text=%E8%B2%A1%E5%A0%B1%E7%8B%97%E9%80%9A%E5%B8%B8%E6%9C%83%E6%8B%BF%E4%BE%86%E5%92%8C%E7%87%9F%E6%94%B6%E6%AF%94%E8%BC%83%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%A8%88%E7%AE%97%E8%B2%BB%E7%94%A8%E7%8E%87%EF%BC%9A%201,%E7%8E%87%20%3D%E7%A0%94%E7%99%BC%20%E8%B2%BB%E7%94%A8%2F%E7%87%9F%E6%A5%AD%E6%94%B6%E5%85%A5%20x%20100" target="_blank" rel="noopener">新增數據 &#8211; 營業費用率拆解 了解獲利改善原因</a>。</li></ul></li><li><em>研發費用率與管理費用率的比值</em>＝研發費用率 ÷ 管理費用率。<ul><li>此值大於1表示研發投入比管理支出高出平均，比值越大說明公司相對更偏重研發。</li></ul></li><li><em><a href="https://rstock.com.tw/%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E4%BB%80%E9%BA%BC#:~:text=%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E4%BB%A3%E8%A1%A8%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E5%8D%A0%E7%B8%BD%E8%B3%87%E7%94%A2%E7%9A%84%E6%AF%94%E4%BE%8B%EF%BC%8C%E5%8F%8D%E6%98%A0%E4%BA%86%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E7%B5%90%E6%A7%8B%E5%92%8C%E7%A9%A9%E5%81%A5%E7%A8%8B%E5%BA%A6%E3%80%82%E4%BC%81%E6%A5%AD%E7%9A%84%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%87%89%E4%BF%9D%E6%8C%81%E9%81%A9%E4%B8%AD%EF%BC%8C%E9%81%8E%E4%BD%8E%E5%89%87%E8%A1%A8%E7%A4%BA%E8%B2%A0%E5%82%B5%E6%AF%94%E4%BE%8B%E9%81%8E%E9%AB%98%EF%BC%8C%E5%AE%B9%E6%98%93%E5%8F%97%E5%88%B0%E5%A4%96%E9%83%A8%E8%A1%9D%E6%93%8A%EF%BC%8C%E8%80%8C%E9%81%8E%E9%AB%98%E5%89%87%E5%8F%AF%E8%83%BD%E6%84%8F%E5%91%B3%20%E8%91%97%E4%BC%81%E6%A5%AD%E9%8C%AF%E5%A4%B1%E4%BA%86%E5%88%A9%E7%94%A8%E8%B2%A1%E5%8B%99%E6%A7%93%E6%A1%BF%E6%93%B4%E5%A4%A7%E7%B6%93%E7%87%9F%E8%A6%8F%E6%A8%A1%E7%9A%84%E6%A9%9F%E6%9C%83%E3%80%82%E4%BA%86%E8%A7%A3%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E5%8F%AF%E4%BB%A5%E5%B9%AB%E5%8A%A9%E6%8A%95%E8%B3%87%E8%80%85%E8%A9%95%E4%BC%B0%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E9%A2%A8%E9%9A%AA%EF%BC%8C%E5%90%8C%E6%99%82%E4%B9%9F%E7%82%BA%E4%BC%81%E6%A5%AD%E7%AE%A1%E7%90%86%E8%80%85%E6%8F%90%E4%BE%9B%E5%88%B6%E5%AE%9A%E8%B2%A1%E5%8B%99%E7%AD%96%E7%95%A5%E7%9A%84%E5%8F%83%E8%80%83%E3%80%82" target="_blank" rel="noopener">股東權益比率</a></em>＝股東權益（淨值）/ 總資產。<ul><li>以百分比表示企業資產中有多少是股東自有資本投入。</li></ul></li><li>其他如營運現金流為正、成交量門檻等，計算較直接：營運現金流取自現金流量表，成交量取日均成交股數或金額進行比較篩選。</li></ul>



<p>綜上，本策略透過<strong>基本面因子（研發投入與財務結構）結合適度的交易條件</strong>來選股。在實際實施中，每季定期根據上述條件篩選並調整持股組合。策略期待藉由選出<strong>研發創新能力強且財務體質良好</strong>的公司，在長期獲得超越大盤的表現。</p>



<h2>2. 相關財務指標的解釋與應用</h2>



<p>本策略的程式如下：</p>



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

close = data.get('price:收盤價')
volume = data.get('price:成交股數')

rd_ratio = data.get('fundamental_features:研究發展費用率')
pm_ratio = data.get('fundamental_features:管理費用率')
eq_ratio = data.get('fundamental_features:淨值除資產').deadline()

rd_pm = rd_ratio / pm_ratio
eq_price = eq_ratio / close.reindex(eq_ratio.index, method='ffill')

rebalance = eq_price.index

position = eq_price[(
    (close &gt; close.average(60))
    &amp; (volume &gt; 200_000)
    &amp; (volume.average(10) &gt; volume.average(60))
    &amp; (rd_pm.deadline().rank(axis=1, pct=True) &gt; 0.5)
).reindex(rebalance)].is_largest(20)

rebalance = eq_ratio.index

r = backtest.sim(position.loc['2020':], resample=rebalance)</code></pre>



<p>運用了多項財務指標作為選股依據，以下對關鍵指標的涵義和應用進行說明：</p>



<h3>研發費用率與管理費用率的比值</h3>



<p><strong>研發費用率（R&amp;D費用率）</strong>：衡量公司營收中投入研發的比例，其公式為：研發費用 ÷ 營業收入 (<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=%E7%A0%94%E7%99%BC%E8%B2%BB%E7%94%A8%E7%8E%87">研發費用率選股策略 &#8211; FinLab</a>)。研發費用率高，表示公司將較大部分收入再次投入研發活動，用於產品技術創新。這常見於科技、生技等領域的公司，代表其重視未來成長。需要注意的是，研發費用率應與營收成長結合解讀：理想狀況是研發費用隨營收同步提升，保持一定比例；若營收下滑但仍高比例投入研發，可能意味公司暫時犧牲短期獲利來保障未來競爭力。過高的研發費用率（例如超過營收的比例）則是警訊，意味公司研發支出過度，財務恐難長期支撐。</p>



<p><strong>管理費用率（一般&amp;行政費用率）</strong>：衡量公司營收中花在行政管理方面的比例，其計算為：<strong>管理費用 ÷ 營業收入</strong>。管理費用包括管理人員薪酬、日常營運行政開支等。管理費用率高，代表公司在日常營運和管理上成本較重；適度的管理費用有助維持組織運作，但過高可能表示資源沒有效率地投入生產或研發，而是耗散在行政層面。因此管理費用率偏高通常不利於利潤成長，投資人傾向看到該比率隨規模擴大而下降，以展現經營效率提升。</p>



<p><strong>研發費用率與管理費用率的比值</strong>：這一指標將上述兩者相對比較，通常可簡化近似為研發費用 ÷ 管理費用（因兩者同以營收為分母）。此比值反映公司將營業費用預算中多少比例投入研發，而非花在行政管理上 (<a href="https://www.finlab.tw/research_expense_ratio_strategy/#:~:text=%E7%AE%97%E6%B3%95%3A%E7%A0%94%E7%A9%B6%E7%99%BC%E5%B1%95%E8%B2%BB%20%2F%20%E7%87%9F%E6%A5%AD%E8%B2%BB%E7%94%A8%20%E7%87%9F%E6%A5%AD%E8%B2%BB%E7%94%A8%E7%94%B1%20%E7%A0%94%E7%A9%B6%E7%99%BC%E5%B1%95%E8%B2%BB%E3%80%81%E9%8A%B7%E5%94%AE%E8%B2%BB%E7%94%A8%E3%80%81%E7%AE%A1%E7%90%86%E8%B2%BB%E7%94%A8,%E6%89%80%E7%B5%84%E6%88%90%EF%BC%8C%E7%A0%94%E7%99%BC%E8%B2%BB%E7%94%A8%E4%BD%94%E7%87%9F%E6%A5%AD%E8%B2%BB%E7%94%A8%E6%AF%94%E5%8F%AF%E7%9C%8B%E5%87%BA%E4%B8%80%E5%AE%B6%E4%BC%81%E6%A5%AD%E9%A1%98%E6%84%8F%E5%9C%A8%E7%87%9F%E6%A5%AD%E8%B2%BB%E7%94%A8%E9%A0%90%E7%AE%97%E4%B8%8B%E6%8B%BF%E5%87%BA%E5%A4%9A%E5%B0%91%E6%AF%94%E4%BE%8B%E6%8A%95%E5%85%A5%E7%A0%94%E7%99%BC%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E8%8A%B1%E5%88%B0%E5%88%A5%E9%A0%85%E5%A6%82%E5%8C%85%E8%A3%9D%E8%B2%BB%E3%80%81%E9%81%8B%E8%BC%B8%E8%B2%BB%E3%80%81">研發費用率選股策略 &#8211; FinLab</a>)。<strong>比值&gt;1</strong>表示研發投入額高於管理費用，數值越大說明公司將<strong>更多資源傾斜於研發</strong>而非日常管銷。高研發/管理比值的公司，一般而言更具創新導向和成長企圖心，而非官僚機構。對此指標的應用，本策略偏好比值高的公司，以篩選「<strong>研發驅動型</strong>」企業。背後原理在於：市場研究發現，當公司刻意壓低一般管銷費用、保持精實運作，同時維持對研發的高投入時，投資人往往給予正面評價 。因削減不必要的管銷開支被視為效率提升，而研發支出維持則被視為對未來成長的承諾 (<a href="https://colab.ws/articles/10.1111%2F1911-3846.12634#:~:text=valuation%20implications,control%20firms%2C%20and%20investors%20positively" target="_blank" rel="noopener">The Differential Role of R&amp;D and SG &amp;A for Earnings Management and Stock Price Manipulation* | CoLab</a>)。因此，比值高常被解讀為管理層專注長遠發展的跡象。在選股時，此指標可協助找出那些<strong>肯投入未來、控制現在</strong>的公司。有了研發/管理費用比的篩選，可剔除研發投入不足或管銷膨脹的企業，使投資組合更聚焦於具有創新精神的標的。不過需注意，不同行業該比值的典型水準差異很大，例如品牌消費品產業可能管銷費用高（市場行銷開支大），研發相對少，而科技業研發多、管理費用相對小。因此在應用時，可將公司與其產業平均水準做對比，確認其研發投入是否<strong>相對突出</strong>。</p>



<h3>淨值除資產（股東權益比率）</h3>



<p><strong>定義：淨值除以總資產即股東權益比率</strong>（Equity Ratio），公式為：<strong>股東權益 ÷ 總資產 ×100%</strong>。此指標反映企業資產中有多少比例是由股東出資（或留存盈餘）構成，換言之，有多少資產是靠公司自有資本支撐，而非透過負債取得。例如股東權益比率50%表示公司資產的一半是股東投入，另一半來自銀行貸款等負債。</p>



<p>意義：股東權益比率揭示公司的財務結構穩健程度。比率高（如60%以上）通常表示公司債務佔比較低，財務槓桿小，償債能力強，抗風險能力較佳 (<a href="https://rstock.com.tw/%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E4%BB%80%E9%BA%BC#:~:text=%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E8%A1%A1%E9%87%8F%E4%BC%81%E6%A5%AD%E8%B2%A1%E5%8B%99%E7%B5%90%E6%A7%8B%E7%9A%84%E9%87%8D%E8%A6%81%E6%8C%87%E6%A8%99%EF%BC%8C%E5%AE%83%E5%8F%8D%E6%98%A0%E4%BA%86%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E9%A2%A8%E9%9A%AA%E5%92%8C%E7%A9%A9%E5%AE%9A%E6%80%A7%E3%80%82%E7%B0%A1%E5%96%AE%E4%BE%86%E8%AA%AA%EF%BC%8C%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E6%98%AF%E6%8C%87%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E5%8D%A0%E7%B8%BD%E8%B3%87%E7%94%A2%E7%9A%84%E6%AF%94%E4%BE%8B%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AA%AA%EF%BC%8C%E4%BC%81%E6%A5%AD%E6%9C%89%E5%A4%9A%E5%B0%91%E8%B3%87%E7%94%A2%E6%98%AF%E7%94%B1%E8%82%A1%E6%9D%B1%E7%9A%84%E6%8A%95%20%E8%B3%87%E4%BE%86%E6%94%AF%E6%92%91%E7%9A%84%EF%BC%8C%E8%80%8C%E6%9C%89%E5%A4%9A%E5%B0%91%E8%B3%87%E7%94%A2%E6%98%AF%E7%94%B1%E5%80%9F%E6%AC%BE%E6%88%96%E5%85%B6%E4%BB%96%E5%82%B5%E5%8B%99%E4%BE%86%E6%94%AF%E6%92%91%E7%9A%84%E3%80%82%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E8%B6%8A%E9%AB%98%EF%BC%8C%E8%A1%A8%E7%A4%BA%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A1%E5%8B%99%E7%B5%90%E6%A7%8B%E8%B6%8A%E7%A9%A9%E5%81%A5%EF%BC%8C%E5%B0%8D%E5%82%B5%E6%AC%8A%E4%BA%BA%E6%9B%B4%E5%85%B7%E5%90%B8%E5%BC%95%E5%8A%9B%EF%BC%8C%E4%B9%9F%E6%9B%B4%E5%AE%B9%E6%98%93%E7%8D%B2%E5%BE%97%E8%B3%87%E9%87%91%E3%80%82%E5%8F%8D%E4%B9%8B%EF%BC%8C%E8%82%A1%E6%9D%B1%E6%AC%8A%E7%9B%8A%E6%AF%94%E7%8E%87%E8%B6%8A%E4%BD%8E%EF%BC%8C%E8%A1%A8%20%E7%A4%BA%E4%BC%81%E6%A5%AD%E7%9A%84%E8%B2%A0%E5%82%B5%E6%AF%94%E4%BE%8B%E8%B6%8A%E9%AB%98%EF%BC%8C%E8%B2%A1%E5%8B%99%E9%A2%A8%E9%9A%AA%E4%B9%9F%E8%B6%8A%E9%AB%98%EF%BC%8C%E6%9B%B4%E5%AE%B9%E6%98%93%E5%8F%97%E5%88%B0%E5%A4%96%E9%83%A8%E8%A1%9D%E6%93%8A%E7%9A%84%E5%BD%B1%E9%9F%BF%E3%80%82" target="_blank" rel="noopener">股東權益比率是什麼？解析企業財務結構的關鍵指標 | 股市更生人｜陳雨農</a>)。在經濟不景氣或金融動盪時，權益比率高的公司因負債少，利息負擔低，較不易因債務問題陷入困境，股價相對更能抵禦外部衝擊。反之，比率過低（如20%以下）意味著企業資產主要靠舉債取得，負債沉重，一旦景氣逆轉或利率上升，公司財務壓力將劇增，可能影響持續經營，投資風險大增。不過，權益比率也非愈高愈好：過高（接近100%）意味公司幾乎不用貸款，固然非常穩健，但也可能表示公司過於保守，沒有適度利用財務槓桿來擴張業務。因此一般認為權益比率<strong>適中</strong>最理想，既不過度負債也不白白錯失成長機會。對本策略而言，股東權益比率被用來<strong>篩選財務結構健全</strong>的企業。例如，可設定一個底線（如&gt;40%）來剔除高槓桿公司，留下資本結構穩當的標的。這能確保我們挑選的研發高投入公司同時具備穩健的財務基礎，不會因過度舉債而使投資暴露在破產風險中。在實踐中，這一指標搭配研發指標一起使用，有助於找到既<strong>勇於創新又財務穩健</strong>的「雙優」公司，增強投資組合的抗跌性。</p>



<h3>價格與成交量篩選標準</h3>



<p><strong>價格篩選</strong>：設定最低股價門檻是常見作法，目的在於避開低價股的潛在風險。過低的股價可能意味公司基本面不佳或流動性差，且低價股價格變動一旦以百分比計算波動劇烈，容易遭到炒作。許多投資策略會排除例如收盤價低於5元或10元的股票，以確保投資標的是有一定市場認可度和市值規模的公司。這種價格下限能防止組合過度集中在投機性標的上，提升策略穩定性。(<a href="https://quantpedia.com/strategies/trend-following-effect-in-stocks/#:~:text=Trend,The" target="_blank" rel="noopener">Trend-following Effect in Stocks &#8211; QuantPedia</a>)</p>



<p><strong>成交量篩選</strong>：流動性是選股時另一項重要考量。本策略要求入選股票具備足夠的成交量，以免未來買賣時因交投清淡而產生滑價或無法脫手的情況。一般會設定日均成交量或<strong>成交金額</strong>的下限，例如日均量至少達幾十萬股乃至上百萬股以上 (<a href="https://www.finlab.tw/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%97%EF%BC%9A%E7%AD%96%E7%95%A5%E3%80%81%E5%AF%A6%E6%96%BD%E8%88%87%E9%A2%A8%E9%9A%AA%E7%AE%A1%E7%90%86/#:~:text=,1000000">量化交易完整指南：策略、實施與風險管理 &#8211; FinLab</a>) 。流動性充裕的股票進出場成本較低，也較難被少數大戶操縱價格。上述FinLab量化策略的範例中，就將「<strong>日成交量超過100萬股</strong>」作為必要條件之一。有了這道篩選，可以確保策略執行時買賣單可以順利成交，不致因市場深度不足而影響預期收益。</p>



<p><strong>應用：在本策略中，價格與成交量條件主要扮演風險控管和可執行性</strong>的把關角色。它們並不直接驅動超額報酬，但能提高組合質量。例如，剔除股價過低的公司，可避免組合淨值因幾檔極端波動的仙股而大起大落；而要求成交活躍，則確保未來調整持倉時不會面臨流動性匱乏的窘境。在回測或實盤操作中，也常發現<strong>流動性差的股票即使基本面優異，其股價表現未必跟得上</strong>（可能因缺乏投資人關注）。因此加上成交量門檻，有助於選出市場關注度相對高、價格反映更有效率的公司。總之，價格和成交量篩選雖屬輔助性質，但對提升策略實際運作的順暢度和降低極端風險相當重要，是不可忽視的環節。</p>



<h2>3. 策略的歷史回測與表現分析</h2>



<p>為了評估該策略的有效性，我們對其進行了歷史資料回測，重點觀察年化報酬、風險指標以及不同時期的表現差異。以下是回測結果的重點分析：</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="919" src="https://www.finlab.tw/wp-content/uploads/2025/02/image-1024x919.png" alt="image" class="wp-image-6434" srcset="https://www.finlab.tw/wp-content/uploads/2025/02/image-1024x919.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/02/image-300x269.png 300w, https://www.finlab.tw/wp-content/uploads/2025/02/image-768x689.png 768w, https://www.finlab.tw/wp-content/uploads/2025/02/image-1536x1378.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/02/image.png 1560w" sizes="(max-width: 1024px) 100vw, 1024px" title="只要 3 個財報指標，報酬率高得驚人 38"><figcaption>整體績效</figcaption></figure>



<ul><li><strong>整體績效：策略長期回測呈現穩健且優於大盤</strong>的增長曲線，累積報酬遠高於市場基準。在所選定的回測期間內（例如2020年至2025年），策略平均報酬為 +60％ 以上。這意味著如果初始投資100萬元，經過多年複利增長資產將大幅成長。+60% 的年化收益相較一般大盤報酬已非常可觀。造成高績效的原因在於策略成功捕捉到了多檔股價倍數上漲的創新公司，同時透過篩選避開了一些雷區，整體提升了報酬水平。</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="335" src="https://www.finlab.tw/wp-content/uploads/2025/02/image-1-1024x335.png" alt="image 1" class="wp-image-6435" srcset="https://www.finlab.tw/wp-content/uploads/2025/02/image-1-1024x335.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/02/image-1-300x98.png 300w, https://www.finlab.tw/wp-content/uploads/2025/02/image-1-768x251.png 768w, https://www.finlab.tw/wp-content/uploads/2025/02/image-1-1536x503.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/02/image-1.png 1570w" sizes="(max-width: 1024px) 100vw, 1024px" title="只要 3 個財報指標，報酬率高得驚人 39"><figcaption>策略風險報酬</figcaption></figure>



<ul><li><strong>風險調整後報酬：從風險角度看，策略的夏普比率</strong>(Sharpe Ratio)等指標也顯示出不錯的風險調整表現。夏普比率定義為單位風險所獲得的超額報酬，數值越高表示策略在承受波動的前提下獲得越高回報。以回測結果推算，本策略夏普比率大致超過1，明顯高於被動持有市場的夏普值。這表示策略在取得高收益的同時，波動風險並沒有成比例放大，<strong>獲利相對穩健</strong>。策略的年化波動率雖然高於大盤（因重倉成長股難免波動較大），但考慮超額收益，風險回報比仍屬理想範圍。另一個風險指標是<strong>最大回撤</strong>（Maximum Drawdown），即資產峰值到低谷的最大跌幅。回測顯示策略在歷經數次市場震盪時均有出現回撤，但<strong>最大回撤幅度</strong>控制在一個合理水平，約落在-20%至-30%區間（依不同期間而略有差異）。舉例而言，2020年初新冠疫情引發全球股市急跌時，策略持有的研發型公司股價也受到拖累，組合淨值出現了明顯下跌。然而，由於策略持股的公司基本面較佳、現金流穩健，多數挺過了疫情衝擊並在後續快速反彈，使回撤時間較短、幅度有限。總體而言，策略並非沒有風險，但風險水準相對其收益是<strong>可接受且經得起考驗</strong>的。</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="444" src="https://www.finlab.tw/wp-content/uploads/2025/02/image-2-1024x444.png" alt="image 2" class="wp-image-6436" srcset="https://www.finlab.tw/wp-content/uploads/2025/02/image-2-1024x444.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/02/image-2-300x130.png 300w, https://www.finlab.tw/wp-content/uploads/2025/02/image-2-768x333.png 768w, https://www.finlab.tw/wp-content/uploads/2025/02/image-2-1536x666.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/02/image-2.png 1554w" sizes="(max-width: 1024px) 100vw, 1024px" title="只要 3 個財報指標，報酬率高得驚人 40"><figcaption>不同時期的表現</figcaption></figure>



<ul><li><strong>不同時期表現比較</strong>：將策略在不同時間區間的績效拆解，可以發現市場環境對其影響。特別值得關注的是<strong>2020年之後</strong>的表現：從2020年至2021年，隨著全球進入科技股大多頭，本策略收益出現跳升。因為疫情催化數位轉型，科技、生技類股票大漲，而本策略聚焦的高研發公司正屬這波行情的領頭羊，不少持股在短時間內股價翻倍，推動策略淨值大幅創新高。因此2020年後短短兩年內，策略累計報酬增長迅猛。此外，我們也留意到<strong>2022年</strong>全球科技股修正時，策略淨值出現了一定幅度的回落。隨著通膨升溫和利率上升，市場風格轉向價值股，高研發的成長股遭遇估值壓縮，策略在<strong>科技股強勢期表現亮眼，在逆風期則需經受回撤考驗</strong>。長期來看，經歷完整週期後策略仍能收穫可觀的累積收益，但投資人應有心理準備，短期內績效會隨市場風格輪動而波動。</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="943" src="https://www.finlab.tw/wp-content/uploads/2025/02/image-3-1024x943.png" alt="image 3" class="wp-image-6437" srcset="https://www.finlab.tw/wp-content/uploads/2025/02/image-3-1024x943.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/02/image-3-300x276.png 300w, https://www.finlab.tw/wp-content/uploads/2025/02/image-3-768x707.png 768w, https://www.finlab.tw/wp-content/uploads/2025/02/image-3.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" title="只要 3 個財報指標，報酬率高得驚人 41"></figure>



<ul><li><strong>盈虧交易分佈</strong>：對策略歷次交易結果進行統計，可以更深入了解其獲利來源和風險分散情況。整體而言，本策略的勝率（盈利交易占比）超過五成，約落在60%左右，意味著絕大部分選出的股票在持有期間都為組合帶來正向收益。然後更重要的是<strong>盈虧分佈的特徵</strong>：我們觀察到策略的獲利主要來自少部分<strong>大贏家</strong>的貢獻，而虧損交易多為小幅下跌的個股。也就是說，<strong>收益分配呈現右偏長尾</strong>——少數持股取得了數倍的漲幅，撐起組合整體表現；同時一些看走眼的標的即使下跌，因基本面尚可並未爆雷，跌幅通常有限。在回測期間，單筆最大盈利交易的報酬高達數百%，例如持有某高速成長的半導體股兩年多獲利超過3倍；相較下，單筆最大虧損則控制在-40%以內，而且這類較大虧損的案例很少見。在所有交易中，大約有一半以上的盈利筆數屬於<strong>中小幅獲利</strong>。【註：此處分析假設每季調整持倉一次，因此一次“交易”指持有該股一個調整週期】。這種盈虧分佈說明本策略的<strong>盈虧比</strong>相當優秀：平均每筆賺錢的金額遠高於每筆賠錢的金額，即使勝率不是極高，仍能確保整體獲利。換言之，策略透過挑中極少數的<strong>黑馬股</strong>來驅動收益，同時藉由篩選機制將虧損控制在可承受範圍。從風險管理角度看，這種分佈頗為健康，因為沒有頻繁的大額虧損侵蝕本金，盈利累積能不斷創出新高。</li></ul>



<p>綜上所述，歷史回測證實了該策略的有效性：<strong>長期報酬豐厚，風險相對可控</strong>。尤其在研發熱潮的時代背景下，策略能大幅超越市場。然而投資人也需理解，策略並非每年都戰無不勝，遇到風格反轉或系統性風險時也會出現階段性回撤。關鍵在於嚴守紀律長期執行，讓策略的統計優勢發揮作用。只要未來市場繼續賞識創新型企業，該策略就有望延續亮麗表現。</p>



<h2>4. 如何改進與優化該策略</h2>



<p>雖然該策略已展現不錯的歷史績效，但仍有改進空間。透過優化指標設定和風控機制，可望進一步提升收益、降低波動。以下是幾項可能的優化方向：</p>



<ul><li><strong>調整指標閾值與權重</strong>：重新檢視研發費用率、研發/管理比值等閾值設定，尋找更理想的平衡點。例如，可以嘗試放寬或收緊研發比率門檻，觀察對組合績效的影響。如果發現前10%研發率過於集中，或許前15%能在略降報酬的同時明顯降低風險，則可考慮採用稍寬標準。同時，不妨對多個研發相關指標進行<strong>加權綜合評分</strong>，而非硬性每項都要達標。例如建立一個綜合研發指數（將研發費用率、研發佔營業費用比等按重要性加權求和），然後選取該指數最高的一批公司。這種方法或許比單一門檻更能捕捉研發投入的綜合領先者。此外，對<strong>股東權益比率</strong>也可設定<strong>分級篩選</strong>：如只要高於某值即可，不強求愈高愈好，以免錯失合理運用負債促進成長的公司。適當的指標鬆緊調整，可以讓策略在保留選股優勢的同時，包容更多元的標的，提升組合穩健度。</li><li><strong>增強風險控管機制</strong>：加入明確的風控規則來減少單筆持股或整體組合的極端虧損。有幾種途徑可以考慮：其一是設置<strong>停損/停利點</strong>，例如當某持股相對買入價下跌超過20%時，提前賣出止損，避免繼續擴大虧損；或者當持股獲利超過一定幅度（如+100%）時，分批了結鎖定收益，防止帳面獲利回吐過多。其二是運用<strong>整體風險指標</strong>控管，例如當策略淨值從近期高點回撤超過一定比例（如15%）時，暫時減少持股總倉位，提升現金比例，以渡過市場低潮。此外，可以引入<strong>市場趨勢過濾</strong>機制，作為風險開關：例如加入大盤技術面指標，如果大盤跌破某長期均線或市場整體波動劇增時，策略暫停進場新的多頭部位，甚至考慮對沖。再者，針對組合集中度風險，也可設定<strong>單一持股權重上限</strong>或<strong>行業曝險上限</strong>，避免策略過度押注少數幾檔股票或同產業。這些風控改進措施的目標是在不明顯犧牲報酬的前提下，大幅降低<strong>最大回撤</strong>，讓資金曲線更平滑。以本策略為例，原先已加入營運現金流為正的條件來控制質地，後續可以考慮再<strong>加上一道盈餘為正或ROE為正</strong>的篩選，確保公司至少有基本獲利能力，進一步降低踩雷風險。</li><li>另一個方向是運用<strong>機器學習或優化演算法</strong>，自動調節參數。例如透過遺傳演算法不斷尋找最佳研發比率門檻、權益比率門檻等，使策略隨資料更新而進化。這當然需要小心避免過度適配（overfitting），但合理運用可提升策略對未來的適應力。總之，透過動態化，策略有望在不同市場週期中保持相對穩健，而不致在某些環境中失效。</li><li><strong>其他可能優化點</strong>：除了上述重點，也可以考慮一些細節優化。例如：加入季報關鍵數據的即時反應（如一季營收或毛利驟增，提前納入考量），讓選股信息更敏捷；對研發投入的成效加以評估（如觀察研發是否轉化為專利或新產品上市），挑選研發<strong>效率</strong>高的公司而非僅看研發費用燒錢多少；或者引入<strong>估值考量</strong>，避免購買研發雖高但股價已嚴重透支未來成長的公司（可加上本益比或PEG的上限），都有可能進一步提升策略的<strong>容錯性與獲利能力</strong>。</li></ul>



<p>整體而言，優化的原則是在保持策略核心邏輯（重視研發+穩健財務）的同時，提高其<strong>防禦性與靈活度</strong>。正如FinLab所建議的，加入適當的基本面條件能讓策略如虎添翼。隨著市場環境改變，不斷檢視並調整策略參數，才能讓這套量化策略長青不墜，在未來持續為投資人創造Alpha！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/fundamental-3-indicators/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6433</post-id>	</item>
		<item>
		<title>使用月營收與動能策略選股的完整介紹</title>
		<link>https://www.finlab.tw/%e4%bd%bf%e7%94%a8%e6%9c%88%e7%87%9f%e6%94%b6%e8%88%87%e5%8b%95%e8%83%bd%e7%ad%96%e7%95%a5%e9%81%b8%e8%82%a1%e7%9a%84%e5%ae%8c%e6%95%b4%e4%bb%8b%e7%b4%b9/</link>
					<comments>https://www.finlab.tw/%e4%bd%bf%e7%94%a8%e6%9c%88%e7%87%9f%e6%94%b6%e8%88%87%e5%8b%95%e8%83%bd%e7%ad%96%e7%95%a5%e9%81%b8%e8%82%a1%e7%9a%84%e5%ae%8c%e6%95%b4%e4%bb%8b%e7%b4%b9/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Sun, 12 Jan 2025 11:30:00 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[選股策略]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6420</guid>

					<description><![CDATA[你以為股價是因為月營收表現好才上漲嗎？ 其實，現實可能完全相反——主力炒股根本不需要月營收數據！ 真正厲害的投 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>你以為股價是因為月營收表現好才上漲嗎？</p>



<p>其實，現實可能完全相反——主力炒股根本不需要月營收數據！</p>



<p>真正厲害的投資人，不會等到數據公布才下手，而是抓住「月營收前後的股價動能」這個關鍵訊號，提前找到飆股機會。有時候，這些動能強的股票甚至飆得更兇！</p>



<p>本文將帶領您深入了解一段程式碼背後的邏輯，並分析使用的數據來源與選股策略，幫助您理解如何利用 Python 和量化技術來挖掘投資機會。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>程式碼簡介</strong></h2>



<p>這段程式碼來自量化交易的回測工具庫 <code>finlab.backtest</code>，它旨在根據動能和月營收的特性來選出潛在的飆股，並進行回測模擬，驗證策略的有效性。</p>



<h3>核心程式碼：</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.backtest import sim

close = data.get('price:收盤價')
pct_change = (close / close.shift() - 1).rolling(5).mean()
當月營收 = data.get('monthly_revenue:當月營收')

pos = pct_change[(close &gt; close.average(60)) &amp; (close &gt; close.average(20)) &amp; (close &gt; close.average(120)) &amp; (當月營收.average(3) &gt; 當月營收.average(12))].is_largest(10)

r = sim(pos, resample='M', resample_offset='11D', upload=False, stop_loss=0.1)
r.display()</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<figure class="wp-block-image size-large"><img loading="lazy" width="966" height="1024" src="https://www.finlab.tw/wp-content/uploads/2025/01/image-4-966x1024.png" alt="image 4" class="wp-image-6421" srcset="https://www.finlab.tw/wp-content/uploads/2025/01/image-4-966x1024.png 966w, https://www.finlab.tw/wp-content/uploads/2025/01/image-4-283x300.png 283w, https://www.finlab.tw/wp-content/uploads/2025/01/image-4-768x814.png 768w, https://www.finlab.tw/wp-content/uploads/2025/01/image-4-1449x1536.png 1449w, https://www.finlab.tw/wp-content/uploads/2025/01/image-4.png 1564w" sizes="(max-width: 966px) 100vw, 966px" title="使用月營收與動能策略選股的完整介紹 42"></figure>



<h2><strong>數據來源與處理</strong></h2>



<h3><strong>1. 收盤價 (Closing Price)</strong></h3>



<ul><li>使用的數據：<code>price:收盤價</code></li><li>處理方式：<ul><li>計算每日收盤價的五日平均漲跌幅：<code>pct_change = (close / close.shift() - 1).rolling(5).mean()</code></li><li>這樣的計算能平滑日間波動，突顯短期動能。</li></ul></li></ul>



<h3><strong>2. 當月營收 (Monthly Revenue)</strong></h3>



<ul><li>使用的數據：<code>monthly_revenue:當月營收</code></li><li>處理方式：<ul><li>比較三個月平均營收與十二個月平均營收：<code>當月營收.average(3) &gt; 當月營收.average(12)</code></li><li>這樣的條件確保選出的公司近期營收增長良好，具有基本面支持。</li></ul></li></ul>



<h3><strong>條件篩選邏輯</strong></h3>



<h4><strong>1. 技術面條件</strong></h4>



<ul><li>近 60 日、20 日及 120 日均線以上的股價：<code>close &gt; close.average(60) close &gt; close.average(20) close &gt; close.average(120)</code><ul><li>這些條件用於確認股價處於多頭趨勢。</li></ul></li></ul>



<h4><strong>2. 基本面條件</strong></h4>



<ul><li>當月營收三個月平均值高於十二個月平均值：<code>當月營收.average(3) &gt; 當月營收.average(12)</code><ul><li>表示公司短期營收增長快於長期趨勢，顯示業績改善。</li></ul></li></ul>



<h4><strong>3. 選出前 10 強股票</strong></h4>



<ul><li>利用 <code>.is_largest(10)</code> 選出動能最強的 10 檔股票。</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>策略回測 (Backtesting)</strong></h2>



<h3><strong>回測設定</strong></h3>



<ul><li>使用 <code>sim</code> 函數進行模擬：<code>r = sim(pos, resample='M', resample_offset='11D', upload=False, stop_loss=0.1)</code><ul><li><code>resample='M'</code>：以每月為單位進行再平衡。</li><li><code>resample_offset='11D'</code>：回測的基準日期設為每月的第 11 天，對應月營收數據發布後的市場反應。</li><li><code>stop_loss=0.1</code>：設定 10% 的停損機制，控制風險。</li></ul></li></ul>



<h3><strong>結果展示</strong></h3>



<p>最後以 <code>r.display()</code> 顯示回測結果，圖表呈現策略的績效數據與曲線。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>策略優勢與限制</strong></h2>



<h3><strong>1. 策略的主要優勢</strong></h3>



<ul><li><strong>多層次篩選</strong>：結合技術面與基本面條件，增強策略的穩健性。</li><li><strong>動能增強</strong>：動能指標幫助捕捉短期市場熱點。</li><li><strong>基本面支持</strong>：營收增長確保選股具有實質業績基礎，降低投資風險。</li></ul>



<h3><strong>2. 策略的潛在限制</strong></h3>



<ul><li><strong>數據延遲風險</strong>：月營收數據發布有一定滯後性，可能影響市場反應的及時性。</li><li><strong>適用性限制</strong>：此策略在極端市場條件（如金融危機）中可能效果不佳。</li><li><strong>流動性問題</strong>：策略可能不適合流動性較差的股票。</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>實際應用場景與潛在改進</strong></h2>



<h3><strong>1. 適合的投資者類型</strong></h3>



<ul><li><strong>短期交易者</strong>：希望捕捉短期股價波動。</li><li><strong>成長型投資者</strong>：尋找營收增長良好的潛力股。</li></ul>



<h3><strong>2. 在不同市場環境的表現</strong></h3>



<ul><li><strong>牛市</strong>：策略表現更佳，動能與營收增長同步提升。</li><li><strong>熊市</strong>：需注意停損機制，以避免大幅回撤。</li><li><strong>震盪市</strong>：篩選出的股票可能具有相對穩定的表現。</li></ul>



<h3><strong>3. 潛在改進方向</strong></h3>



<ul><li>增加多因子模型，例如結合市值因子或財務指標進一步優化篩選。</li><li>探討不同停損比例對績效的影響，找到最適合的參數配置。</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>回測結果分析</strong></h2>



<p>根據提供的回測數據與績效表現：</p>



<h3><strong>1. 年化報酬率</strong></h3>



<ul><li>高達 <strong>33.5%</strong>，遠超大盤平均回報。</li></ul>



<h3><strong>2. 風險調整後績效</strong></h3>



<ul><li>Alpha：<strong>27.5%</strong>，顯示策略的超額收益顯著。</li><li>Beta：<strong>0.64</strong>，風險低於大盤。</li></ul>



<h3><strong>3. 歷史績效曲線</strong></h3>



<ul><li>從圖中可見，策略的累積報酬呈指數增長，顯示穩健的長期表現。</li></ul>



<h3><strong>4. 年度績效分析</strong></h3>



<ul><li>個別年份如 2024 年表現尤為亮眼，達到 <strong>86.7%</strong> 的年度回報。</li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>讀者常見問題 (FAQ)</strong></h2>



<h3><strong>1. 策略適合的投資期限是多長？</strong></h3>



<p>此策略適合中短期（1-3 個月）的交易者，透過每月再平衡抓住市場機會。</p>



<h3><strong>2. 如何處理月營收數據延遲的問題？</strong></h3>



<p>選擇月營收發布後的第 11 天作為基準，盡量捕捉市場反應並降低延遲影響。</p>



<h3><strong>3. 是否能結合其他因子一起使用？</strong></h3>



<p>完全可以！結合市值、估值或其他技術指標能進一步提升策略的有效性。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2><strong>結語</strong></h2>



<p>這段程式碼展示了一個將技術分析與基本面相結合的高效選股策略。其核心理念是通過動能捕捉短期機會，並結合營收數據增強選股的基本面支持。此外，策略的回測結果證實了其在歷史數據中的卓越表現。</p>



<p>量化策略並非魔法，但它能幫助我們以更理性的方式看待市場。若您對此策略感興趣，不妨嘗試運用並結合其他技術指標，進一步提升您的投資績效，讓數據為您的決策服務！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e4%bd%bf%e7%94%a8%e6%9c%88%e7%87%9f%e6%94%b6%e8%88%87%e5%8b%95%e8%83%bd%e7%ad%96%e7%95%a5%e9%81%b8%e8%82%a1%e7%9a%84%e5%ae%8c%e6%95%b4%e4%bb%8b%e7%b4%b9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6420</post-id>	</item>
		<item>
		<title>Qlib 與 FinLab 整合，展現 AI 選股的神蹟。</title>
		<link>https://www.finlab.tw/qlib-finlab-implementation-source-code/</link>
					<comments>https://www.finlab.tw/qlib-finlab-implementation-source-code/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Mon, 06 Jan 2025 15:47:50 +0000</pubDate>
				<category><![CDATA[AI看股票]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[機器學習]]></category>
		<category><![CDATA[歷史回測]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[選股策略]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6410</guid>

					<description><![CDATA[雖然 FinLab 支援 Qlib 很久了，但一直沒有好好的跟大家介紹如何使用，於是乎，最近中小股票真的表現令 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="585" src="https://www.finlab.tw/wp-content/uploads/2025/01/image-1-1024x585.png" alt="image 1" class="wp-image-6412" srcset="https://www.finlab.tw/wp-content/uploads/2025/01/image-1-1024x585.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/01/image-1-300x171.png 300w, https://www.finlab.tw/wp-content/uploads/2025/01/image-1-768x439.png 768w, https://www.finlab.tw/wp-content/uploads/2025/01/image-1-1536x878.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/01/image-1.png 1792w" sizes="(max-width: 1024px) 100vw, 1024px" title="Qlib 與 FinLab 整合，展現 AI 選股的神蹟。 43"></figure>



<p>雖然 FinLab 支援 Qlib 很久了，但一直沒有好好的跟大家介紹如何使用，於是乎，最近中小股票真的表現令人窒息，所以就好好做研究，相信總會時來運轉的。台股權值股與中小型股差異，來到20年來最大，台積電創新高之際，已經有很多股票跌破年線了，老實說，虧很多嗎？是還好，但就是很悶，心情不受影響是不可能的，然而人生在世，就是來體驗這些喜怒哀樂，就讓我們繼續努力，看結果如何，雖然很煩，但是我還是對於未來非常樂觀！</p>



<h1>Qlib</h1>



<p>Qlib 是由微軟開源的量化投資工具庫，專注於基於機器學習的投資研究。它提供了資料處理、策略建模、回測及評估的一站式解決方案。</p>



<h1>Qlib 在 FinLab 中的應用</h1>



<p>Qlib 的演算法有非常多前人研究的心血，不是我們能夠短時間比擬的，所以要站在巨人的肩膀上，才能事半功倍！Qlib 的最大特點，就是在於</p>



<p>1. 特徵的建構 </p>



<p>2. 模型的多樣選擇</p>



<p>基於以上兩點，你都可以透過 FinLab package 將它們給接入進來使用。然而我覺得 Qlib 架構比較難與其它的生態系或 Package 整合，因為整個框架以程式系統來說，是比較封閉，沒辦法與傳統的 sklearn，或是 lgb、xgb 整合，所以才需要使用 FinLab 將其解放。</p>



<h1>Qlib vs FinLab</h1>



<p>Qlib 是通用型的 package，所以特徵都是使用價格來製作，而 FinLab 本身支援台股多樣的資料與指標，所以延伸的部分非常多！歡迎將以下的功能當成基礎版本，自己加入更多特徵來增進模型的運測能力！</p>



<h1>安裝</h1>



<p>接下來，將會使用 Colab 來進行設定，但以下範例需要 Colab Pro 版本，才能順利運行，因為 RAM 的需求太大了。假如各位沒有買 Colab 付費版，也可以在自己的主機上試試看，初次安裝，需要有以下的套件：</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">!pip install finlab &gt; log.txt
!pip install ta-lib-bin &gt; log.txt
!pip install catboost &gt; log.txt</code></pre>



<p>上面的程式中，安裝 talib 的方法，是使用 ta-lib-bin，是 colab 上特別的安裝方法，假如你是在桌機上使用，要用</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">conda install conda-forge::ta-lib</code></pre>



<p>來取代。</p>



<h1>安裝 Qlib</h1>



<p>安裝 Qlib 的方式，有很多種，一種是直接將 github 上的最新版本下載下來安裝：</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">!git clone https://github.com/microsoft/qlib.git
%cd qlib
!make install
!pip install .
%cd ..</code></pre>



<p>要注意，以上的程式碼是在 terminal 中使用，不是 python 語法喔！</p>



<h1>製作特徵</h1>



<p>我們可以使用 qlib 內建的功能，產生出158種，或是360種不同的價格訊號，只需要三行即可完成：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.ml import qlib as q


q.init()
q.dump()
f158 = q.alpha("Alpha158")</code></pre>



<p>然而這樣的資料量，實在是太大了，所以我們可以將資料的頻率改成「週」，大約可以減少80％的資料量，這樣的訓練方式，勉強能夠在 Colab Pro 上執行（50GB RAM）。假如是 alpha360 資料集，基本上會需要上百GB，就請有這樣硬體能力的玩家自行上手了！</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.ml import label as mll
from finlab.ml import feature as mlf

features = mlf.combine({
    'qlib': f158,
}, resample='W')
labels = mll.return_percentage(features.index, period=2)

is_train = features.index.get_level_values('datetime') &lt; '2020-01-01'</code></pre>



<p>接下來，我們發現，f158之中，有一個特徵都是 NaN（也就是空值），我們必須要將它刪除：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">features = features.drop('VWAP0', axis=1)</code></pre>



<p>目前原因不明，應該還有一些 BUG 需要釐清，也可以利用 `mlf.combine` 自行計算補上 VWAP 的資料。</p>



<h1>訓練模型</h1>



<p>訓練模型的環節，FinLab 提供一個超級好用的功能</p>



<pre class="wp-block-code"><code class="">model_templates = q.get_models()</code></pre>



<p>就可以將 qlib 所有的模型導入，並且直接用來訓練：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import gc
import numpy as np
import pickle
from finlab.ml import qlib as q

model_templates = q.get_models()
is_train = features.index.get_level_values('datetime') &lt; '2020-01-01'


model_path = './models.pkl'

if os.path.isfile(model_path):
  with open(model_path, 'rb') as f:
    models = pickle.load(f)
else:
  models = {}


for name, Model in model_templates.items():
    print(name)

    if name in models:
      continue

    if name == 'DNNModel':
      continue

    try:
      X_train = features.loc[is_train]
      y_train = labels.loc[is_train]
      model = Model()
      model.fit(X_train, y_train)

    except:
      notna = X_train.replace([np.inf, -np.inf], np.nan).notna().all(axis=1) &amp; y_train.replace([np.inf, -np.inf], np.nan).notna()
      X_train = X_train.loc[notna]
      y_train = y_train.loc[notna]
      model = Model()
      model.fit(X_train, y_train)


    with open(f'models.pkl', 'wb') as f:
      pickle.dump(models, f)

    models[name] = model

    gc.collect()</code></pre>



<p>訓練的過程中，可能訓練到一半 RAM 會掛掉，所以每次訓練好新的模型，程式會將所有模型都儲存起來，方便下一次直接調用。訓練時，會將 training data 自動切出 validation data，來確保訓練時避免 overfitting。</p>



<h1>測試</h1>



<p>最後我們可以回測看看模型得效果如何：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import pickle
import numpy as np

model_path = './models.pkl'

if os.path.isfile(model_path):
  with open(model_path, 'rb') as f:
    models = pickle.load(f)


ys = {}

for name, model in models.items():

  try:
    y = model.predict(features[~is_train])
    ys[name] = y
  except:
    y = model.predict(features[~is_train].replace([np.inf, -np.inf], np.nan).fillna(0))
    ys[name] = y

from finlab.backtest import sim
import matplotlib.pyplot as plt
from finlab import data

reports = {}
for name, y in ys.items():
  print(name)
  with data.universe('TSE_OTC'):
    close = data.get('price:收盤價')
    report = sim(y[close.notna()].is_largest(20), resample='M', upload=False)
    reports[name] = report
    report.creturn.plot(label=name)

plt.legend()
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" width="543" height="407" src="https://www.finlab.tw/wp-content/uploads/2025/01/image.png" alt="image" class="wp-image-6411" srcset="https://www.finlab.tw/wp-content/uploads/2025/01/image.png 543w, https://www.finlab.tw/wp-content/uploads/2025/01/image-300x225.png 300w" sizes="(max-width: 543px) 100vw, 543px" title="Qlib 與 FinLab 整合，展現 AI 選股的神蹟。 44"></figure>



<p>其實效果算是滿不錯的，實單上，經過更多的調教，我的經驗，會比當前的成果更好，有興趣的玩家可以多多嘗試！其中一些策略回測甚至可以有 40％到50％的平均年報酬率。</p>



<p>話說最近 AI 模型，這幾個月的表現可能都不太好，然而換一種想法，就是當前可能不太適合使用 AI 模型吧～不代表它以後都沒效果，而是時運不佳的關係，反而讓我的心裡有點釋懷。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="937" src="https://www.finlab.tw/wp-content/uploads/2025/01/image-2-1024x937.png" alt="image 2" class="wp-image-6413" srcset="https://www.finlab.tw/wp-content/uploads/2025/01/image-2-1024x937.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/01/image-2-300x275.png 300w, https://www.finlab.tw/wp-content/uploads/2025/01/image-2-768x703.png 768w, https://www.finlab.tw/wp-content/uploads/2025/01/image-2.png 1464w" sizes="(max-width: 1024px) 100vw, 1024px" title="Qlib 與 FinLab 整合，展現 AI 選股的神蹟。 45"></figure>



<p>由上表可知，我們可以選擇 LightGBM 模型來選股，效果最好。</p>



<p></p>



<p>以下示範一個年平均報酬 +50%的策略，這絕對是價值數萬元的程式碼，就這麼隨便的放在這邊讓大家取用，請你跟我說，在世界上的哪一個角落，可以找到這麼神乎其技的AI模型選股績效？找不到吧！只好請大家繼續支持 FinLab，讓我們可以活下去，謝謝：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">y = ys['LGBModel']

with data.universe('TSE_OTC'):

  close = data.get('price:收盤價')
  vol = data.get('price:成交股數')
  pos = y[((vol.average(20) &gt; 200_000)) &amp; (close &gt;= close.rolling(10).max())].is_largest(10)
  report = sim(pos, resample='M', upload=False)
  report.display()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="994" src="https://www.finlab.tw/wp-content/uploads/2025/01/image-3-1024x994.png" alt="image 3" class="wp-image-6414" srcset="https://www.finlab.tw/wp-content/uploads/2025/01/image-3-1024x994.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/01/image-3-300x291.png 300w, https://www.finlab.tw/wp-content/uploads/2025/01/image-3-768x746.png 768w, https://www.finlab.tw/wp-content/uploads/2025/01/image-3-1536x1491.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/01/image-3.png 1574w" sizes="(max-width: 1024px) 100vw, 1024px" title="Qlib 與 FinLab 整合，展現 AI 選股的神蹟。 46"></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/qlib-finlab-implementation-source-code/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6410</post-id>	</item>
		<item>
		<title>揭開 OpenFE 在量化交易中的神秘面紗：高效自動化特徵生成的原理與實踐</title>
		<link>https://www.finlab.tw/openfe-auto-gene-feature/</link>
					<comments>https://www.finlab.tw/openfe-auto-gene-feature/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Sat, 14 Sep 2024 19:45:55 +0000</pubDate>
				<category><![CDATA[AI看股票]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6315</guid>

					<description><![CDATA[量化交易的核心在於數據分析和模型建構，而特徵工程是連接原始數據與模型性能的關鍵環節。隨著數據規模和複雜度的增加，手動特徵工程變得越來越困難且耗時。OpenFE（Open Feature Engineering）作為一個高效的自動化特徵生成工具，為量化交易中的特徵工程提供了全新的解決方案。本文將詳細介紹 OpenFE 的原理，並探討其在量化交易中的應用。]]></description>
										<content:encoded><![CDATA[
<p>量化交易的核心在於數據分析和模型建構，而特徵工程是連接原始數據與模型性能的關鍵環節。隨著數據規模和複雜度的增加，手動特徵工程變得越來越困難且耗時。OpenFE（Open Feature Engineering）作為一個高效的自動化特徵生成工具，為量化交易中的特徵工程提供了全新的解決方案。本文將詳細介紹 OpenFE 的原理，並探討其在量化交易中的應用。</p>



<h2>一、OpenFE 簡介</h2>



<p>OpenFE 是一個針對表格數據的自動化特徵生成框架，具有以下優勢：</p>



<ul><li>高效性：支持並行計算，能夠快速生成大量候選特徵。</li><li>易用性：僅需幾行代碼即可完成特徵生成和數據轉換。</li><li>豐富的操作符：涵蓋23種有用且有效的操作符，用於生成候選特徵。</li><li>多任務支持：適用於二分類、多分類和回歸任務。</li><li>自動處理缺失值和類別型特徵：無需手動處理數據中的缺失值和類別型特徵。</li></ul>



<p>OpenFE 的有效性已在多個公共數據集上得到驗證，甚至在 IEEE-CIS Fraud Detection Kaggle 比賽中，使用 OpenFE 生成的特徵配合簡單的 XGBoost 模型，擊敗了99.3%的參賽團隊。</p>



<h2>OpenFE 原理</h2>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="492" src="https://www.finlab.tw/wp-content/uploads/2024/09/image-1024x492.png" alt="image" class="wp-image-6316" srcset="https://www.finlab.tw/wp-content/uploads/2024/09/image-1024x492.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/09/image-300x144.png 300w, https://www.finlab.tw/wp-content/uploads/2024/09/image-768x369.png 768w, https://www.finlab.tw/wp-content/uploads/2024/09/image-1536x737.png 1536w, https://www.finlab.tw/wp-content/uploads/2024/09/image.png 1762w" sizes="(max-width: 1024px) 100vw, 1024px" title="揭開 OpenFE 在量化交易中的神秘面紗：高效自動化特徵生成的原理與實踐 47"><figcaption>OpenFE 示意圖</figcaption></figure>



<p>這是 OpenFE（Open Feature Engineering）的演算法示意圖，該演算法旨在自動化特徵工程的過程。以下是主要步驟的介紹與講解：</p>



<ul><li>資料集 (dataset)：<ul><li>首先，將資料集分為數值型特徵 (numerical features)與類別型特徵 (categorical features)。</li><li>數值型特徵包含連續數值資料，如價格、溫度等；類別型特徵則包含分類資料，如性別、地區等。</li></ul></li><li>模型 (model)：<ul><li>原始數據會被餵入模型進行訓練，並生成預測結果 (predictions)。這裡的模型可以是任何機器學習模型，如決策樹、隨機森林等。</li></ul></li><li>算子 (operators)：<ul><li>對數值與類別特徵應用一系列算子進行組合與轉換，這些算子包括基本的數學運算（加、減、乘、除）、統計運算（最小值、最大值）、以及更複雜的操作（如 Combine、GroupBy 等）。這些操作生成候選特徵集 (candidate feature set)。</li></ul></li><li>FeatureBoost：<ul><li>經過算子轉換後的候選特徵集會通過FeatureBoost進行評估與篩選，旨在提升模型性能。這裡的<strong>評估 (Evaluation)</strong>包括特徵的重要性分析，<strong>修剪 (pruning)和屬性分析 (attribution)</strong>則用於移除不重要或重複的特徵。</li></ul></li><li>加入最重要特徵 (add top-ranked features)：<ul><li>最後，經過篩選後的頂級特徵將被重新加入模型中，以進行下一輪的訓練和優化。</li></ul></li></ul>



<p>此流程中的關鍵步驟是將特徵自動化生成並經過多次篩選與優化，最終提升模型的預測能力，並減少人工進行特徵工程的工作量。</p>



<h2>程式實做</h2>



<h3>安裝相關套件</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">!pip install finlab &gt; log.txt
!pip install ta-lib-bin &gt; log.txt
!pip install openfe &gt; log.txt</code></pre>



<p>這部分安裝所需的套件：</p>



<ul><li><strong><code>finlab</code></strong>：提供台灣股市數據及特徵工程模組的工具包。</li><li><strong><code>ta-lib-bin</code></strong>：一個技術分析函數庫，專門處理金融數據。</li><li><strong><code>openfe</code></strong>：用於自動化特徵工程的套件。</li></ul>



<h3>下載資料並且定義函數</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.ml import feature as mlf
from finlab import data

cap = data.get('etl:market_value') # 市值
vol = data.get('price:成交股數')    # 成交量
close = data.get('price:收盤價')    # 收盤價
benchmark = data.get('benchmark_return:發行量加權股價報酬指數').squeeze()  # 大盤</code></pre>



<ul><li>cap：市場價值（市值）。</li><li>vol：成交股數。</li><li>close：收盤價。</li><li>benchmark：台灣加權股價報酬指數，作為市場基準。</li></ul>



<pre class="wp-block-code"><code lang="python" class="language-python">avg = lambda n: close / close.average(n)
conv = lambda n: (close / close.shift(n) - 1) * (benchmark / benchmark.shift(n) - 1)
sub = lambda n: (close / close.shift(n) - 1) - (benchmark / benchmark.shift(n) - 1)
bch = lambda n: (close.notna()) * (benchmark / benchmark.shift(n) - 1)
std = lambda n: close.pct_change().rolling(n).std().rank(axis=1, pct=True)</code></pre>



<p>定義多個特徵生成函數：</p>



<ul><li>avg：計算移動平均。</li><li>conv：計算收盤價和基準指數的轉換率。</li><li>sub：收盤價與基準之間的差異</li><li>bch：基準變動。</li><li>std：波動率。</li></ul>



<h3>生成特徵</h3>



<p>這段程式碼生成一系列新的特徵，並將其按周頻率重新取樣：</p>



<p>包括交易量、移動平均、基準相關差異、波動率等特徵：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">features = mlf.combine({
    'vol': vol.average(20),
    'avg5': avg(5),
    'avg20': avg(20),
    'avg60': avg(60),
    'avg120': avg(120),
    'avg250': avg(250),

    'sub5': sub(5),
    'sub10': sub(10),
    'sub20': sub(20),
    'sub60': sub(60),
    'sub120': sub(120),

    'bch5': bch(5),
    'bch10': bch(10),
    'bch20': bch(20),
    'bch60': bch(60),
    'bch120': bch(120),

    'conv5': conv(5),
    'conv10': conv(10),
    'conv20': conv(20),
    'conv60': conv(60),
    'conv120': conv(120),

    'std5': std(5),
    'std20': std(20),
    'std60': std(60),
    'cap': cap
}, resample='W')</code></pre>



<h3>計算預測標籤</h3>



<p>利用 <code>finlab.ml.label</code> 計算超額報酬，取樣頻率為 4 週：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.ml import label as mll

labels = mll.excess_over_mean(features.index, resample='4W')</code></pre>



<h3>去除缺失，切割訓練與測試集</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">is_train = features.index.get_level_values('datetime') &lt; '2021-01-01'
notna = (features.isna().sum(axis=1) == 0) &amp; (labels.notna())
train_x = features.loc[is_train &amp; notna]
train_y = labels.loc[is_train &amp; notna]
test_x = features.loc[~is_train &amp; notna]
test_y = labels.loc[~is_train &amp; notna]</code></pre>



<h3>使用 OpenFE 進行特徵工程</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">%%capture
from openfe import OpenFE, transform

n_jobs = 4

ofe = OpenFE()
features2 = ofe.fit(data=train_x.reset_index(drop=True),
                   label=train_y.reset_index(drop=True),
                   n_jobs=n_jobs,verbose=False, n_data_blocks=128, min_candidate_features=100)

train_x2, test_x2 = transform(train_x.reset_index(drop=True),
                            test_x.reset_index(drop=True),
                            features2, n_jobs=1)
train_x2.index = train_y.index
test_x2.index = test_y.index
</code></pre>



<p>使用 OpenFE 進行特徵工程，透過自動化生成更多特徵：</p>



<ul><li>ofe.fit：在訓練資料上進行特徵生成。</li><li>transform：對訓練和測試集進行轉換，應用新生成的特徵。</li></ul>



<h3>比對效果，擇優</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">from openfe import OpenFE, tree_to_formula, transform
import numpy as np

new_features = []
for i, feature in enumerate(ofe.new_features_list):
  formula = tree_to_formula(feature)
  f_series = feature.calculate(features)

  notna = f_series.notna() &amp; labels.notna()
  ic = np.corrcoef(f_series[notna].values, labels[notna].values)[0][1]

  print(i, formula, ic)
  new_features.append((formula, ic))</code></pre>



<p>將自動生成的特徵轉換為公式，並計算每個特徵與標籤的相關係數（IC），記錄每個特徵及其IC值。</p>



<h3>顯示結果</h3>



<p>最終輸出顯示了篩選後的特徵及其與標籤之間的相關係數 (IC, Information Coefficient)，並進行排序。以下是最終輸出的部分：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import pandas as pd
pd.DataFrame(new_features).sort_values(1)</code></pre>



<pre class="wp-block-code"><code class="">負向相關特徵 - 其 IC 為負，代表該特徵與股價成負相關

residual(close120)	-0.033315
(avg5-conv20)	-0.027197
(avg5-conv10)	-0.022775
(avg5-conv5)	-0.019866
(bch20*conv20)	-0.019637

正向相關特徵 - 其 IC 為正，代表該特徵與股價成正相關

min(conv20,conv120)	0.013777
(sub10*bch20)	0.021785
min(conv20,conv60)	0.022378
round(conv120)	0.025027
(bch60/cap)	0.026309</code></pre>



<h3>結果分析</h3>



<ul><li><strong>正相關特徵</strong>：<ul><li><code>(bch60/cap)</code>：IC 值為 0.026309，這個特徵表示基準60期變動率與市值之間的比值，這是最具正向預測能力的特徵，能夠幫助識別相對市值較小但基準表現相對強勁的股票。</li><li><code>round(conv120)</code>：IC 值為 0.025027，代表120期轉換率的四捨五入值，這也是一個有助於預測的正相關特徵，代表轉換率變動具有一定預測力。</li><li><strong>其他</strong>：如 <code>min(conv20,conv60)</code> 和 <code>sub10*bch20</code> 這些特徵也展示了正相關，雖然相關性稍低，但仍對預測有幫助。</li></ul></li><li><strong>負相關特徵</strong>：<ul><li><strong><code>residual(close120)</code></strong>：IC 為 -0.033315，這是與收盤價120期相關的殘差，表明該特徵與收益有負相關性。換句話說，這類股票的表現可能會較差。</li><li><strong>其他負相關特徵</strong>如 <code>(close5-conv20)</code> 和 <code>(close5-conv10)</code> 顯示收盤價與轉換率之間的關係可能不利於預測，這些特徵可能代表潛在的虧損或價格波動的風險。</li></ul></li></ul>



<h3>策略實做</h3>



<p>有了上述的新的因子，創建了一個特徵 f，它是基於 bch(60)（60 期基準變動率）與 cap（市值）的比值，表示相對於市值的基準變動。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.dataframe import FinlabDataFrame
from finlab import backtest

f = bch(60) / cap
pos = f.is_largest(100)

r = backtest.sim(pos, resample='4W', upload=False)
r.display()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="1011" src="https://www.finlab.tw/wp-content/uploads/2024/09/image-1-1024x1011.png" alt="image 1" class="wp-image-6317" srcset="https://www.finlab.tw/wp-content/uploads/2024/09/image-1-1024x1011.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/09/image-1-300x296.png 300w, https://www.finlab.tw/wp-content/uploads/2024/09/image-1-768x758.png 768w, https://www.finlab.tw/wp-content/uploads/2024/09/image-1.png 1390w" sizes="(max-width: 1024px) 100vw, 1024px" title="揭開 OpenFE 在量化交易中的神秘面紗：高效自動化特徵生成的原理與實踐 48"><figcaption>歷史報酬</figcaption></figure>



<h2>延伸討論與結論</h2>



<p>本次我們探討了如何利用 OpenFE 進行自動化特徵工程，並運用 Finlab 平台的工具進行金融數據處理與回測。OpenFE 是一個強大的自動化特徵工程工具，它可以從原始數據生成許多複合特徵，並經過篩選來提升模型的預測準確性。其核心流程包括特徵生成、預測、評估、修剪以及重要特徵的篩選，從而減少人工操作的負擔。</p>



<p>透過程式碼的實現，我們首先導入並安裝了所需的套件，包括 finlab、ta-lib-bin、openfe。接著，利用 Finlab 提取台灣股市的數據如市值、成交股數、收盤價以及基準指數，並定義了多個自訂的特徵生成函數，例如移動平均、轉換率、差異和波動率等。這些特徵被結合成一個週期性重取樣的特徵集。</p>



<p>隨後，我們利用 OpenFE 進一步自動化生成新特徵，並根據與標籤的相關性進行篩選。透過相關係數的計算，篩選出對預測最有用的特徵。在經過排序後，最終選出與標籤具有最高正相關的特徵，如 (bch60/cap)。</p>



<p>在回測部分，我們基於所選出的特徵進行了一個簡單的選股策略。利用 bch(60) 與 cap 的比值，選出比值最大的 100 支股票，並使用 Finlab 的 backtest 模組進行回測，設定每 4 週進行一次重取樣，最終展示回測結果，為策略效益提供直觀的分析。</p>



<p>透過這一整套流程，無論是 OpenFE 的特徵生成與篩選，還是 Finlab 的數據處理與回測功能，都展示了其強大的工具性與靈活性，能夠幫助使用者在金融數據分析與量化策略開發中事半功倍。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/openfe-auto-gene-feature/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6315</post-id>	</item>
		<item>
		<title>大跌後的底氣 &#8211; 獨家主力波動指標</title>
		<link>https://www.finlab.tw/broker_transaction_indicator/</link>
					<comments>https://www.finlab.tw/broker_transaction_indicator/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Wed, 07 Aug 2024 04:06:32 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[籌碼面]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[歷史回測]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[量化投資]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6277</guid>

					<description><![CDATA[券商分點理論上是非常有效果的數據，應用得當，可以用來預測股價的走勢，然而，市場上主要將券商分點資料來計算「主力買賣超」、「買賣家數差」，該指標在選股的有效程度上，並非顯著。

本文將提出一種新的方式，來提取券商分點資料，製作更有效的選股指標，其效果非常顯著，搭配回測策略能夠有效獲得卓越的效果。]]></description>
										<content:encoded><![CDATA[
<h1>介紹</h1>



<p>券商分點理論上是非常有效果的數據，應用得當，可以用來預測股價的走勢，然而，市場上主要將券商分點資料來計算「主力買賣超」、「買賣家數差」，該指標在選股上，效果不好。</p>



<p>本文將提出一種新的方式，來提取券商分點資料，製作更有效的選股指標，其效果非常顯著，搭配回測策略能夠有效獲得卓越的效果。本文將詳細說明這些概念的定義、計算方法及應用，並展示如何將這些知識綜合應用於投資策略的設計與回測。</p>



<p>建議讀者可以自行修改，將策略調整後，有很大的進步空間。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="585" src="https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The--1024x585.webp" alt="DALL·E 2024 08 07 12.04.12 A minimalist stock price V shaped recovery chart on a black background. The V shape is prominently illuminated giving it a sleek high end look. The" class="wp-image-6299" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The--1024x585.webp 1024w, https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The--300x171.webp 300w, https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The--768x439.webp 768w, https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The--1536x878.webp 1536w, https://www.finlab.tw/wp-content/uploads/2024/08/DALL·E-2024-08-07-12.04.12-A-minimalist-stock-price-V-shaped-recovery-chart-on-a-black-background.-The-V-shape-is-prominently-illuminated-giving-it-a-sleek-high-end-look.-The-.webp 1792w" sizes="(max-width: 1024px) 100vw, 1024px" title="大跌後的底氣 - 獨家主力波動指標 49"></figure>



<h1>籌碼分點資料（Broker Transactions）</h1>



<h2>什麼是籌碼分點資料</h2>



<p>籌碼分點資料是指某一股票在不同券商之間的買賣交易情況。這些資料包括買入量、賣出量等，反映了不同券商在特定時間段內的交易行為。這些數據能提供市場上資金流動的資訊，有助於投資者理解市場動向。</p>



<h2>資料來源與取得方式</h2>



<p>在台灣，投資者可以通過一些金融資料平台，如Finlab，來獲取籌碼分點資料。這些平台提供了方便的API接口，使投資者能夠輕鬆下載和分析數據。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab import data
bt = data.get('broker_transactions', force_download=True)

buysell = bt.groupby(['date', 'stock_id']).agg({'buy': 'sum', 'sell': 'sum'})\
  .reset_index().pivot(columns='stock_id', index='date', values=['buy', 'sell'])

buysell.head()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="254" src="https://www.finlab.tw/wp-content/uploads/2024/08/image-1-1024x254.png" alt="image 1" class="wp-image-6279" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/image-1-1024x254.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/08/image-1-300x74.png 300w, https://www.finlab.tw/wp-content/uploads/2024/08/image-1-768x190.png 768w, https://www.finlab.tw/wp-content/uploads/2024/08/image-1-1536x381.png 1536w, https://www.finlab.tw/wp-content/uploads/2024/08/image-1-2048x508.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" title="大跌後的底氣 - 獨家主力波動指標 50"></figure>



<p></p>



<h2>籌碼分點資料的深度分析</h2>



<h3>過往如何通過籌碼分點資料識別主力資金動向</h3>



<p>主力資金的動向通常對市場影響巨大。通過分析籌碼分點資料中的大額交易，可以識別出主力資金的買賣行為，從而提前佈局。</p>



<h3>過往的券商分點指標</h3>



<p>過往有一些券商分點指標，對於選股有一些效果，然而實測上，顯著程度有限。以下列舉最常見的兩種指標：</p>



<h3>主力買賣超</h3>



<p><strong>定義</strong>：</p>



<p>主力買賣超是指某一特定時間段內，主要券商的買入量與賣出量之差。</p>



<p><strong>計算公式</strong>： </p>



<p>主力買賣超=∑(主要券商買入量)−∑(主要券商賣出量)</p>



<p><strong>效用：</strong></p>



<ul><li><strong>資金動向指標</strong>：主力買賣超反映了市場中資金流向的變化，主要券商的大額買入或賣出行為通常代表著市場主力資金的動向，能夠影響股票價格。</li><li><strong>市場情緒指標</strong>：通過觀察主力買賣超，投資者可以了解市場主力的投資情緒，進而做出相應的投資決策。</li></ul>



<h3>買賣家數差</h3>



<p><strong>定義</strong>：</p>



<p>買賣家數差是指買入股票的券商家數與賣出股票的券商家數之差。</p>



<p><strong>計算公式</strong>： </p>



<p>買賣家數差=買入券商家數−賣出券商家數</p>



<p><strong>效用：</strong></p>



<p><strong>市場參與度指標</strong>：買賣家數差反映了市場中多空雙方的力量對比，當買入券商家數多於賣出券商家數時，表示市場散戶的偏好。</p>



<p><strong>供需平衡指標</strong>：買賣家數差能夠幫助投資者判斷市場供需平衡狀況，從而預測未來價格走勢。</p>



<p>上述指標效果平平，接下來，我們將藉由 ChatGPT 發想更優秀的指標。</p>



<h1>券商分點資料建構指標</h1>



<h2>利用 ChatGPT 發想相關想法</h2>



<p>為了創建更好的指標，我們可以透過 ChatGPT 來輔助產生不同的 factor 進行運算，這種方法並非標新立異，其實早就在</p>



<blockquote class="wp-block-quote"><p>Cheng, Yuhan, and Ke Tang. &#8220;GPT&#8217;s idea of stock factors.&#8221;&nbsp;<em>Quantitative Finance</em>&nbsp;(2024): 1-26.</p></blockquote>



<p>被介紹過。</p>



<h2>指標種類與計算方式</h2>



<p>以下為 ChatGPT 產生的指標，其中有一些是滿有參考性的，我們可以拿來使用看看，下圖中，雖然它誤以為 ICIR 是一種協會（等等介紹這是什麼），然而也提供了一些不錯的指標：</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="941" height="1024" src="https://www.finlab.tw/wp-content/uploads/2024/08/image-5-941x1024.png" alt="image 5" class="wp-image-6293" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/image-5-941x1024.png 941w, https://www.finlab.tw/wp-content/uploads/2024/08/image-5-276x300.png 276w, https://www.finlab.tw/wp-content/uploads/2024/08/image-5-768x835.png 768w, https://www.finlab.tw/wp-content/uploads/2024/08/image-5.png 1412w" sizes="(max-width: 941px) 100vw, 941px" title="大跌後的底氣 - 獨家主力波動指標 51"></figure>



<h2>產生程式碼</h2>



<p>ChatGPT 除了可以幫忙發想指標外，也可以用來產生出相對應的程式，這樣就不需要親自撰寫程式。</p>



<p></p>



<pre class="wp-block-code"><code lang="python" class="language-python">import warnings
warnings.filterwarnings('ignore')

net_volume = buysell['buy'] - buysell['sell']
buy_sell_ratio = buysell['buy'] / buysell['sell']
balance_index = (buysell['buy'] - buysell['sell']) / (buysell['buy'] + buysell['sell'])

feature_dfs = {
    'net_volume': net_volume,
    'buy_sell_ratio': buy_sell_ratio,
    'balance_index': balance_index,

}</code></pre>



<p></p>



<h2>有效性</h2>



<p>我們當然會希望這些指標是有效的，需要有一個衡量標準，能夠一致性的對於這些不同的指標進行評分，方便我們從中選出最適合選股的指標，通常我們會使用 IC、ICIR 來衡量這些指標是否對於未來的股價有相關性。</p>



<h1>Information Coefficient (IC)</h1>



<h2>介紹</h2>



<p>IC，即Information Coefficient，是衡量一個指標在預測資產回報方面的能力的數值。簡單來說，IC代表了預測回報與實際回報之間的相關性。IC的範圍一般在-1到1之間，其中正值表示預測回報與實際回報正相關，負值表示兩者負相關。IC的絕對值越高，表示預測能力越強。</p>



<p>IC的計算方法如下：</p>



<p>IC = Cov(r,x) / σrσx</p>



<p>其中，r 為實際回報，x 為預測回報，Cov(r,x) 為兩者的協方差，σr、σx​ 分別為實際回報和預測回報的標準差。</p>



<p>IC主要用於衡量單一時點上的預測能力，而ICIR則進一步綜合多個時點上的IC，評估一段時間內的整體預測能力。</p>



<h2>ICIR</h2>



<h2>如何計算ICIR</h2>



<p>ICIR的計算主要基於Information Coefficient（IC），其公式如下：</p>



<p>ICIR = Mean(IC) × Std(IC)</p>



<h2>在投資中的應用</h2>



<p>ICIR能幫助投資者評估不同策略或指標的預測能力，從而選擇具有較穩定的預測能力的策略。高ICIR值通常表示策略具有穩定的預測能力，適合在實際投資中應用。</p>



<h3>程式碼</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.tools.factor_analysis import ic

adj_close = data.get('etl:adj_close')
# 每個時間點的IC
ics = ic(feature_dfs, adj_close, days=[10, 20, 60]) 

# 取平均
ics.mean()

# 取得ICIR
ics.mean() / ics.std()</code></pre>



<h3>遞迴優化參數</h3>



<p>藉由 ICIR，我們可以疊代不同的公式，產生出更好的指標：</p>



<ol><li>產生指標庫：先計算與發想指標</li><li>計算IC、ICIR</li><li>更新指標指標庫<ol><li>移除沒有效果的指標</li><li>有效果的指標進行參數優化，列舉多個變體</li></ol></li><li>重複步驟 1</li></ol>



<h2>成果</h2>



<pre class="wp-block-code"><code lang="python" class="language-python">import numpy as np

def std(df, n):
  return df.rolling(n).std().replace(0, np.nan)

buy_change = buysell['buy'] - buysell['buy'].shift(1)
sell_change = buysell['sell'] - buysell['sell'].shift(1)
net_volume_change = net_volume - net_volume.shift(1)

feature_dfs = {
    'net_volume': net_volume,
    'buy_sell_ratio': buy_sell_ratio,
    'balance_index': balance_index,

    'avg20_net_volume': net_volume / net_volume.rolling(20).mean(),
    'avg20_buy_sell_ratio': buy_sell_ratio.rolling(20).mean(),
    'avg20_balance_index': balance_index.rolling(20).mean(),

    'sharpe5_net_volume': net_volume.rolling(5).mean() / std(net_volume, 5),
    'sharpe10_net_volume': net_volume.rolling(10).mean() / std(net_volume, 10),
    'sharpe20_net_volume': net_volume.rolling(20).mean() / std(net_volume, 20),
    'sharpe60_net_volume': net_volume.rolling(60).mean() / std(net_volume, 60),
    
    'sharpe5_balance_index': balance_index.rolling(5).mean() / std(balance_index, 5),
    'sharpe10_balance_index': balance_index.rolling(10).mean() / std(balance_index, 10),
    'sharpe20_balance_index': balance_index.rolling(20).mean() / std(balance_index, 20),
    'sharpe60_balance_index': balance_index.rolling(60).mean() / std(balance_index, 60),
    
    'sharpe5_buy_sell_ratio': buy_sell_ratio.rolling(5).mean() / std(buy_sell_ratio, 5),
    'sharpe10_buy_sell_ratio': buy_sell_ratio.rolling(10).mean() / std(buy_sell_ratio, 10),
    'sharpe20_buy_sell_ratio': buy_sell_ratio.rolling(20).mean() / std(buy_sell_ratio, 20),
    'sharpe30_buy_sell_ratio': buy_sell_ratio.rolling(30).mean() / std(buy_sell_ratio, 30),
    'sharpe60_buy_sell_ratio': buy_sell_ratio.rolling(60).mean() / std(buy_sell_ratio, 60),
}

from finlab.tools.factor_analysis import ic

adj_close = data.get('etl:adj_close')
ics = ic(feature_dfs, adj_close, days=[10, 20, 60])</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" width="559" height="596" src="https://www.finlab.tw/wp-content/uploads/2024/08/image-6.png" alt="image 6" class="wp-image-6307" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/image-6.png 559w, https://www.finlab.tw/wp-content/uploads/2024/08/image-6-281x300.png 281w" sizes="(max-width: 559px) 100vw, 559px" title="大跌後的底氣 - 獨家主力波動指標 52"></figure>



<p>上圖中可以發現，最終做出來的指標，其 IC 最高，高達 0.04，其中一種指標，雖然表現並不是非常理想，但用選股策略上非常有效果，我把它叫做「主力波動指標」。</p>



<h1>主力波動與穩定性</h1>



<p>主力常常上攻後又迅速熄火，讓投資者難以捕捉到持續的上漲機會。甚至是隔日沖主力，常常當天買、隔天賣，使得券商分點特別難用。為了克服這一問題，我們需要構建一個更為有效的指標，以更準確地識別市場中的主力動向，特別是穩定買入、持續買入的主力，並提高投資決策的穩定性。</p>



<h2>指標的需求</h2>



<p>指標必須滿足以下需求：</p>



<ol><li><strong>主力買賣比率</strong>：滾動平均值（rolling mean）能夠平滑短期波動，使得我們能夠觀察到買賣比率的中期趨勢。通過計算10日滾動平均值，我們可以避免因單日大幅波動而帶來的誤判，更清晰地看到市場主力的買入行為。</li><li><strong>買入波動性</strong>：標準差（std）是衡量數據波動性的重要指標。當買賣比率的標準差較低時，意味著買賣比率在這段時間內波動較小，主力行為相對穩定。低波動性通常表明市場中存在持續且穩定的買入或賣出行為。</li><li><strong>識別持續買入</strong>：該指標將滾動平均值與標準差進行比值計算，即買賣比率的均值除以其標準差。當這個比值較高時，說明在這段時間內，買賣比率不僅處於較高水準，且波動較小，這表明市場中可能存在持續且穩定的買入行為。這些行為通常是由市場主力資金推動的，因為他們在積極且穩定地買入股票，從而推高買賣比率並保持其穩定性。</li></ol>



<h2>公式如下</h2>



<p>買賣比率 = 前 15 大主力買入 / 前 15 大主力賣出</p>



<p>主力波動 = 買賣比率的10日平均 / 買賣比率的10日​標準差</p>



<h2>效果</h2>



<p>當該指標數值較高時，說明在過去的10日內，主力買入大量且不輕易變化，這表明市場中可能存在持續且穩定的買入行為，這些行為通常由主力資金推動。相反，若該指標數值較低，則表示買賣比率波動較大且不穩定，市場中可能缺乏持續的買入力量、或是有隔日沖的行為。</p>



<p>該指標能夠獲得非常高的 IC，並且利用該指標，可以輕易做出效果顯著的策略。</p>



<h1>回測</h1>



<p>以下是一個簡單的回測範例，展示如何通過籌碼分點資料來進行策略回測，我們利用「主力波動指標」為主體，月營收YOY為輔助，來尋找短期具有爆發力的股票標的。值得一提的是，這個策略當前並非最佳解，還有很多種方式可以大幅優化此策略的效果，建議讀者可以稍做調整，而非直接使用。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import datetime
from finlab.dataframe import FinlabDataFrame
from finlab.backtest import sim

ind = FinlabDataFrame(feature_dfs['sharpe10_buy_sell_ratio'])

close = data.get('price:收盤價')
volume = data.get('price:成交股數')
rev = data.get('monthly_revenue:當月營收')

# 1. 尋找月營收YOY大於1.5的股票標的
# 2. 成交量來到 300 張，確保流動性
# 3. 以主力波動指標進行排序，選最高的 20 檔
pos = (ind)[(rev / rev.shift(12) &gt; 1.5)
  &amp; (volume &gt; 300_000)
].is_largest(20)

r = sim(pos, resample=rev.index)</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="1008" src="https://www.finlab.tw/wp-content/uploads/2024/08/image-3-1024x1008.png" alt="image 3" class="wp-image-6281" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/image-3-1024x1008.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/08/image-3-300x295.png 300w, https://www.finlab.tw/wp-content/uploads/2024/08/image-3-768x756.png 768w, https://www.finlab.tw/wp-content/uploads/2024/08/image-3-1536x1511.png 1536w, https://www.finlab.tw/wp-content/uploads/2024/08/image-3.png 1742w" sizes="(max-width: 1024px) 100vw, 1024px" title="大跌後的底氣 - 獨家主力波動指標 53"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="979" src="https://www.finlab.tw/wp-content/uploads/2024/08/image-4-1024x979.png" alt="image 4" class="wp-image-6282" srcset="https://www.finlab.tw/wp-content/uploads/2024/08/image-4-1024x979.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/08/image-4-300x287.png 300w, https://www.finlab.tw/wp-content/uploads/2024/08/image-4-768x734.png 768w, https://www.finlab.tw/wp-content/uploads/2024/08/image-4-1536x1468.png 1536w, https://www.finlab.tw/wp-content/uploads/2024/08/image-4.png 1636w" sizes="(max-width: 1024px) 100vw, 1024px" title="大跌後的底氣 - 獨家主力波動指標 54"></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/broker_transaction_indicator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6277</post-id>	</item>
		<item>
		<title>探討一個全局有效的因子優化方法</title>
		<link>https://www.finlab.tw/better_factor/</link>
					<comments>https://www.finlab.tw/better_factor/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Sun, 09 Jun 2024 23:53:12 +0000</pubDate>
				<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<category><![CDATA[選股策略]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6224</guid>

					<description><![CDATA[在投資的世界裡，尋找有效的選股策略一直是投資者追求的目標。最近，我們意外發現一個簡單而有效的修改，就能讓現有因子進行選股時產生很不錯的結果。這篇文章將深入探討這個策略的背後邏輯，並展示如何通過簡單的代碼來實現。]]></description>
										<content:encoded><![CDATA[
<p>在投資的世界裡，尋找有效的選股策略一直是投資者追求的目標。最近，我們意外發現一個簡單而有效的修改，就能讓現有因子進行選股時產生很不錯的結果。這篇文章將深入探討這個策略的背後邏輯，並展示如何通過簡單的代碼來實現。</p>



<h4>因子選股的基本概念</h4>



<p>在進行因子選股時，我們通常會根據一些財務指標來篩選股票。這些指標能夠幫助我們判斷一家公司是否具有投資價值。你可能常常聽到有人說「某檔股票的 EPS 是多少多少耶！股價才多少，這太便宜了！」，基於這樣的想法，我們 提出「xxx/Price」 因子，即任何基本面有關的因子都可以拿來除以 Price 試試看。</p>



<p>本文示範其中幾個，例如：</p>



<ul><li>每股盈餘（EPS）</li><li>股東權益報酬率（ROE）</li></ul>



<p>這兩個關鍵財務指標與股價進行對比，從而挑選出具有潛力的股票。</p>



<h4>因子構建的數學邏輯</h4>



<p>我們使用每股盈餘（EPS）除以收盤價，以及股東權益報酬率（ROE）除以收盤價來計算因子值。</p>



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

eps = data.get('financial_statement:每股盈餘')
roe = data.get('fundamental_features:ROE稅後')
eps_per_price = data.get('financial_statement:每股盈餘')	/ data.get('price:收盤價')
roe_per_price = data.get('fundamental_features:ROE稅後') / data.get('price:收盤價')</code></pre>



<p>這兩個指標的結合有助於我們更全面地評估一隻股票的投資價值。具體的代碼如下：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">r = {}
r['eps'] = backtest.sim(eps.is_largest(30), upload=False)
r['eps'].creturn.plot(label='eps')

r['roe'] = backtest.sim(roe.is_largest(30), upload=False)
r['roe'].creturn.plot(label='roe')

r['eps_per_price'] = backtest.sim(eps_per_price.is_largest(30), upload=False)
r['eps_per_price'].creturn.plot(label='better_eps')

r['roe_per_price'] = backtest.sim(roe_per_price.is_largest(30), upload=False)
r['roe_per_price'].creturn.plot(label='better_roe')

import matplotlib.pyplot as plt
plt.legend()</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" width="556" height="405" src="https://www.finlab.tw/wp-content/uploads/2024/06/image.png" alt="image" class="wp-image-6225" srcset="https://www.finlab.tw/wp-content/uploads/2024/06/image.png 556w, https://www.finlab.tw/wp-content/uploads/2024/06/image-300x219.png 300w" sizes="(max-width: 556px) 100vw, 556px" title="探討一個全局有效的因子優化方法 55"><figcaption>xxx_per_price 確實都比 xxx 還要獲得更高的報酬率</figcaption></figure>



<h4>代碼解析</h4>



<ol><li><strong>計算 EPS/Price 和 ROE/Price</strong>：首先，我們從數據庫中提取每股盈餘和 ROE 的數據，並將其分別除以收盤價，得到兩個相對指標。</li><li><strong>排名計算</strong>：接著，我們對這兩個相對指標進行排名，並計算其百分比排名。將這兩個排名相加得到綜合排名。</li><li><strong>選股策略</strong>：根據綜合排名，我們選取排名前 30 的股票作為投資組合。</li><li><strong>回測</strong>：最後，我們對這個選股策略進行回測，驗證其有效性。</li></ol>



<h4>驚人的結果</h4>



<p>通過上述簡單的策略，我們在回測中取得了顯著的投資回報。這表明 xxx/Price 因子在選股中具有很高的潛力。這一結果不僅證實了因子選股的有效性，也為我們提供了一個簡單而強大的投資工具。</p>



<h4>結語</h4>



<p>因子選股是一種強大的投資策略，而 xxx/Price 因子的應用更是展現了其驚人的潛力。希望這篇文章能夠幫助投資者理解並應用這一策略，從而在投資中取得更好的成績。如果您對這個策略有任何疑問或想要了解更多，歡迎留言討論。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/better_factor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6224</post-id>	</item>
		<item>
		<title>飆股可以賺更多？&#124; 台股賣出的技術</title>
		<link>https://www.finlab.tw/%e9%a3%86%e8%82%a1%e5%8f%af%e4%bb%a5%e8%b3%ba%e6%9b%b4%e5%a4%9a%ef%bc%9f-%e5%8f%b0%e8%82%a1%e8%b3%a3%e5%87%ba%e7%9a%84%e6%8a%80%e8%a1%93/</link>
					<comments>https://www.finlab.tw/%e9%a3%86%e8%82%a1%e5%8f%af%e4%bb%a5%e8%b3%ba%e6%9b%b4%e5%a4%9a%ef%bc%9f-%e5%8f%b0%e8%82%a1%e8%b3%a3%e5%87%ba%e7%9a%84%e6%8a%80%e8%a1%93/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Tue, 02 Apr 2024 07:24:55 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[VIP限定]]></category>
		<category><![CDATA[程式交易]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6144</guid>

					<description><![CDATA[如果想要抓飆股即時的轉折，必須要靠「技術面指標」當主要賣出訊號，基本面訊號頻率太低，像月營收一個月才發佈一次，如果以基本面當訊號，很容易太慢。<br>因此即便該公司的基本面很好，當技術面賣出訊號出現時，還是得賣。「飆股的長相」作者提出3個運用賣出指標的重點，讓你今後賣股能當機立斷，不必求人或瞎猜。]]></description>
										<content:encoded><![CDATA[
<h2><strong>知道買是徒弟，知道賣才是師傅</strong></h2>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/9_u_BedZSgT2nQx2zH35-tgBtIWz-i8w6Kqq5Itcw9DPv2h3WijiNgehv-HBSkzLpn_YpAC78qCHy2zNX97zf2FkGdZ_lEEOsd0jN8-xIporqlRvXywbxD2vh_k8T695l-bbD-IAsLrtCwvyZi-IVKg" alt="9 u BedZSgT2nQx2zH35 tgBtIWz i8w6Kqq5Itcw9DPv2h3WijiNgehv HBSkzLpn YpAC78qCHy2zNX97zf2FkGdZ lEEOsd0jN8 xIporqlRvXywbxD2vh k8T695l bbD IAsLrtCwvyZi IVKg" title="飆股可以賺更多？| 台股賣出的技術 56"></figure>



<p>「回憶過去，痛苦的停利忘不了&#8230;」(唱)</p>



<p>停損很心痛，但更讓人心碎的是買到飆股卻太早賣，這種感覺就像明明中了頭彩，彩券卻搞丟一樣，和暴富只有一線之隔。更讓人絕望的是你很可能一直碰到這種事XD，覺得是不是市場之神盯上你，你賣出的股票過沒多久就是一直噴，看到這種結果真讓人瘋狂吐血！</p>



<p>其實這種情況很多人都遇過，請你不要難過，常買到起漲股其實交易等於成功了一半，先站在不敗之地，剩下的就是賺多賺少的問題，如果我們能掌握賣點，可能會讓你少奮鬥好幾次交易，就像葉問師傅，一次打10個，一次大賺以1檔10，人生抓到幾次大賺就自由了。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/QFTUGLeKeOPdMpl27KCzFXbv6xLM4-YnCXug8W_QmfSxdUZ2A4li8zeh29eh2oG5hgLr75q3rw1aH7OJNXBVzBBxdlLyeEpf9d-Z8YGguSXUYFKHQeEYsvVvoERyHF8PdB2NsuPU3mQ9hNdHTIK-xow" alt="QFTUGLeKeOPdMpl27KCzFXbv6xLM4 YnCXug8W QmfSxdUZ2A4li8zeh29eh2oG5hgLr75q3rw1aH7OJNXBVzBBxdlLyeEpf9d Z8YGguSXUYFKHQeEYsvVvoERyHF8PdB2NsuPU3mQ9hNdHTIK" title="飆股可以賺更多？| 台股賣出的技術 57"></figure>



<p>市面上很多教買點的方法和研究，但要怎麼抓賣點？好像一直沒被深入討論，只看到討論多停留在賺XX%就停利或移動出場，但這個％數到底要如何抓？江湖常說：「知道買是徒弟，知道賣才是師傅」，但師傅好像很少出來教徒弟怎麼賣。</p>



<p>投資最重要的就是從經驗學習，即使無法確定下次一定大賺，但至少要讓自己變更好的投資人，不要一直犯同樣的錯誤，我也曾經航海王賣得太早，讓我們一起來研究如何把飆股盡量賣在高點。</p>



<h2>運用賣出指標的三個重點</h2>



<p>如果想要抓飆股即時的轉折，必須要靠「技術面指標」當主要賣出訊號，基本面訊號頻率太低，像月營收一個月才發佈一次，如果以基本面當訊號，很容易太慢。<br>因此即便該公司的基本面很好，當技術面賣出訊號出現時，還是得賣。「飆股的長相」作者提出3個運用賣出指標的重點，讓你今後賣股能當機立斷，不必求人或瞎猜。</p>



<h3>不執著於賣在最高點</h3>



<p>投資最重要的事如巴菲特所說「不要虧損！不要虧損！不要虧損！」，掌握低檔買點等於贏一半，站在不敗之地再來求「贏多贏少的問題」，因此切莫為了捨本逐末，堅持要大賺在最高點，可能讓獲利的交易轉為虧損的機率變高，或是讓策略波動風險變大，只追求賣在相對高點即可。</p>



<p>股價下跌有限，上漲空間無限，有時股票因特殊事件或炒作可以漲到難以想像的程度，賣出指標過早賣出是常有的事，追求策略波動穩定度，要有犧牲交易報酬率的準備。</p>



<h3>了解何時是用什麼指標</h3>



<p>本篇內容將在之後介紹3種技術分析的賣股指標來實證有沒有用？<br>可能有人會想：「是不是只要學會者幾種指標就好了？」我的回答是任何指標有失靈的時候，所以在使用任何一個指標之前，都應該了解他的特性，挑選適合的時機做使用。<br>像是股價高波動時使用「閃崩賣出指標 &#8211; 賣出轉換線」、股價於高點區附近徘徊(低波動)時「摸頭賣出指標 &#8211; 順位相關係數」。</p>



<h3>避免放空</h3>



<p>也許你會想，如果能抓到高點賣出轉折，是不是反手再做空更好？<br>理想是這麼說沒錯，但放空難度很大，難在股價上漲無限、下跌有限，太積極的作為反而會陷入不必要的風險，寧可少賺，不要多賠。<br>通常放空訊號過於依賴技術分析，都會想在基本面惡化前抓到訊號，因此勝率不像做多可同時看基本面與技術面兩種指標。如果你放空想靠基本面指標，那通常股價這時早就猛烈下跌，追空勝率低。<br>券源的工具使用限制和政府護盤政策也讓空軍很不利。</p>



<h2><strong>閃崩賣出指標 &#8211; 賣出轉換線</strong></h2>



<h3>指標意義</h3>



<p>原則是:「從近期高點計算，跌幅多少就賣出」，像是近日高點為100元，只要股價跌破90元就出場，近似「移動出場」。<br>這個賣出指標的設計精神是股價從高點回檔，且回檔幅度達一定水後，套牢壓力漸增，高檔區的高波動震盪風險增加，股價上攻趨勢被破壞。<br>也因為要以回檔波動來確認賣出訊號，因此這個訊號「不會賣在最高點」，但可能在股價高檔開始暴跌時，在出事第一時間逃命，避免後續的下殺。</p>



<p><img loading="lazy" src="https://lh7-us.googleusercontent.com/JGIWXq3o1rsioqjYS4WLKmQWtsF41JE5BIMysjbHXftQct8ZqskqB4GlmYElbKu5guO0muBpNEz5FZjeQBIA_wOWsxPOu9X7bZJhstCG4-MsIMbOp6qsO4TwF0i-pUTB_i98JYyOUV122ArDkg0ipgQ" width="602" height="339" alt="JGIWXq3o1rsioqjYS4WLKmQWtsF41JE5BIMysjbHXftQct8ZqskqB4GlmYElbKu5guO0muBpNEz5FZjeQBIA wOWsxPOu9X7bZJhstCG4 MsIMbOp6qsO4TwF0i pUTB i98JYyOUV122ArDkg0ipgQ" title="飆股可以賺更多？| 台股賣出的技術 58"><br>這個指標和一般「移動出場」的差異在跌幅定義不是用絕對值，而是用波動率來計算。<br>原因是不同標的本來波動率水平就不同，用天氣來譬喻的話，就像同樣的降雨出現在台灣，很可能是日常現象，但在中東地區，可能是不得了的異常氣候。</p>



<p>像下圖中的 2330 台積電 與 2603 長榮波動不一樣，一個波動率在2-6％穩定型，一個在5-15的高波動率，同樣設定高點回檔 20%出場，對台積電來說會是異常少見的訊號，對長榮來說則是稀鬆平常。<br>因此若投資組合讓每個標的都設定相同絕對值移動出場，容易造成誤判，設太低容易造成高波動股票頻繁過早出場，設太高容易造成低波動股票過晚出場。</p>



<p>賣出轉換線的優勢就在隨個股波動率調整賣出指標，以下圖來說，綠線是賣出轉換線，會依照台積電和長榮的波動性做調整，給台積電比較低的出場幅度區間，給長榮比較高的出場幅度區間。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/RRkdwnyPYcrlKP5P7hEFJL2db05TvD7jNdMGy-e8FV50GicA1WOoMbQEawEIaMR0Ujfa9-u5ATzPpUcCqGUmPpBrB1XP-PiaoDqlu6rNVNf3l8Dxr50lbcXHeC_hgQilWzZ8-w5SJ-NlClvQq_Q2PuI" alt="RRkdwnyPYcrlKP5P7hEFJL2db05TvD7jNdMGy e8FV50GicA1WOoMbQEawEIaMR0Ujfa9 u5ATzPpUcCqGUmPpBrB1XP PiaoDqlu6rNVNf3l8Dxr50lbcXHeC hgQilWzZ8 w5SJ NlClvQq Q2PuI" title="飆股可以賺更多？| 台股賣出的技術 59"></figure>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/s2qYW6ff3f7xtUtXXzLPdIH2uet_4Vwq80PUOZfDw19IeNZdAUoF2nWmhlBraupFgj5eb85s9Ur45Q7BCX84GvasZdxUui8waZdwBgXoVNNqE2Z8AXlPnw8wf7SG7DGKCCDoIuZANXGAHAKe3zd_EP0" alt="" title="飆股可以賺更多？| 台股賣出的技術 60"></figure>



<h3>指標公式</h3>



<h4>K線波動幅度</h4>



<h5>陽日線算法(收盤價 &gt;= 開盤價)</h5>



<p>波動幅度 = |昨日收盤價 &#8211; 當日開盤價| + |開盤價 &#8211; 最低價| + |最低價 &#8211; 最高價| + |最高價 &#8211; 收盤價|</p>



<h5>陰日線算法(收盤價 &lt; 開盤價)</h5>



<p>波動幅度 = |昨日收盤價 &#8211; 當日開盤價| + |開盤價 &#8211; 最高價| + |最高價 &#8211; 最低價| + |最低價 &#8211; 收盤價|</p>



<h4>賣出轉換價格</h4>



<p><br>當股價跌破賣出轉換價格，就要賣出。<br>每日的賣出轉換價格構成賣出轉換線。<br>&#8220;`<br>賣出轉換價格 = 近X日收盤價高點 &#8211; 轉換幅度(過去N天平均K線波動幅度的3倍)<br>&#8220;`</p>



<h4>賣出轉換線示意圖</h4>



<p>跌破綠線代表暴跌風險增加。<br>過去N天平均K線波動幅度的N值越小，容許波動範圍因短期波動加大，特別在末升段時不易或較晚跌破賣出轉換線。<br>N值越高會有越靈敏的訊號，容許波動範圍因短期波動較小，月可能在接近頭部賣出。<br><br></p>



<p>圖例：近60日收盤價高點 &#8211; 轉換幅度(過去20天平均K線波動幅度的3倍)</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/CNsowgmQIHXe9kruBxBStEjH-6QCnXBRNmQ4lkHYXfKLSbe9t6U5EEOnjpjp06ZugxSMb99xA1SqcgqT994nfBL4MQm8QxEQjuHNQGjIG0dl4Xz-6Vswcfx0_KxodaokhHsWYWwF118LHrpGxevIxgw" alt="CNsowgmQIHXe9kruBxBStEjH 6QCnXBRNmQ4lkHYXfKLSbe9t6U5EEOnjpjp06ZugxSMb99xA1SqcgqT994nfBL4MQm8QxEQjuHNQGjIG0dl4Xz" title="飆股可以賺更多？| 台股賣出的技術 61"></figure>



<p>圖例：近60日收盤價高點 &#8211; 轉換幅度(過去60天平均K線波動幅度的3倍)</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/bWrhfCLiz7hVU4lC5-MXG6M0IecLDO32VG12PcyKS02GTk84LNnXBV0OFB31-Eti2xrjZ4mnaa36yy4FySvnTol0LtGacdk2GmRj53pr9wQamBSvIoAT58A25HCJcM-SUOonoAFLZyAQLp_XHH0c33s" alt="bWrhfCLiz7hVU4lC5 MXG6M0IecLDO32VG12PcyKS02GTk84LNnXBV0OFB31 Eti2xrjZ4mnaa36yy4FySvnTol0LtGacdk2GmRj53pr9wQamBSvIoAT58A25HCJcM SUOonoAFLZyAQLp XHH0c33s" title="飆股可以賺更多？| 台股賣出的技術 62"></figure>



<p>另一個要注意的的重點是賣出轉換線適合用在高波動行情捕捉波段結束訊號，但在低波動率時期(低於4%)，可能會一直在區間被洗，無法捕捉有效波動，因為波動率變小，碰出賣出轉換線的訊號也變多。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/Sb7a1wDccMw-eJPqrryVJ-UKgCWUjMzno5EHC5d1pMnJiYuWQ4XCWmIRN2CuoM6b67iJGvEDgKQTQ_wp4P1FPgaValfzcrg3VH422cSYnZtkBumWOGN4uF6cjefBtjehR-xoNB9VnR6WNDsmxSsCd2c" alt="Sb7a1wDccMw eJPqrryVJ UKgCWUjMzno5EHC5d1pMnJiYuWQ4XCWmIRN2CuoM6b67iJGvEDgKQTQ wp4P1FPgaValfzcrg3VH422cSYnZtkBumWOGN4uF6cjefBtjehR" title="飆股可以賺更多？| 台股賣出的技術 63"></figure>



<h3>飆股策略實測</h3>



<h4>創新高延續動能策略</h4>



<p>賣出轉換線適合波段與振幅大的動能策略，因此拿 FinLab 的「<a href="https://doc.finlab.tw/tools/%E8%82%A1%E5%83%B9%E5%89%B5%E6%96%B0%E9%AB%98%E5%8B%95%E8%83%BD/#_3" target="_blank" rel="noopener">創新高延續動能策略</a>」來實驗，持股週期2週，每期最多挑選10檔股票，每檔持有部位上限為10%。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/9z8vAYra-KmJ8tsShOGoTLF_2W2qFe1fZR9O3y_sG5GP0_9nWIE4vGG_MkTHh4jEM_KWdHz2X3ERsXCMVI1RWLYs8j8cwkvqMw4vPcDSuu9d8CfFX-HuU2g_IhD3QmRou39wQomlU1_sFnPtFqDsmhE" alt="9z8vAYra KmJ8tsShOGoTLF 2W2qFe1fZR9O3y sG5GP0 9nWIE4vGG MkTHh4jEM KWdHz2X3ERsXCMVI1RWLYs8j8cwkvqMw4vPcDSuu9d8CfFX HuU2g IhD3QmRou39wQomlU1 sFnPtFqDsmhE" title="飆股可以賺更多？| 台股賣出的技術 64"></figure>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/Cy3lsFTMPvWHhNRToeyFfTqDJvXy52ICdc88JrtIiHYxl9emZtV9YD6ivskHfnOocA7fvTlG__wFaUs3N4G_DjCHKn97Vm1QKTyUeKpc0kaJhhG-bY_xKvEYeWKDJGBDg7YwPuyQqWJu4RASbqDRrzk" alt="Cy3lsFTMPvWHhNRToeyFfTqDJvXy52ICdc88JrtIiHYxl9emZtV9YD6ivskHfnOocA7fvTlG wFaUs3N4G DjCHKn97Vm1QKTyUeKpc0kaJhhG" title="飆股可以賺更多？| 台股賣出的技術 65"></figure>



<h4>加入賣出轉換線</h4>



<p>接著我們加入當持有個股的波動率高於6％時，加入賣出轉換線做額外賣出條件，只要持有過程觸發賣出訊號，則在隔日收盤賣出。<br>回測結果發現報酬率下降，夏普率沒變，但MDD明顯被改善，策略前5大MDD幅度都小於原先策略前5大 MDD。買出轉換線對降低波動風險有幫助，但有些交易可能太早被洗出場，造成報酬率較低。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/Guo3rZ9SST3DaX1KhnTZYRVEb10ljaBp6kx1OCKkYEDsqEC0XKZH6hIFG-9TvDkwwnVAfbo1EJVFY8CJdfiHpgGxvy7Btfpwiz5v8qkjkckIYN_XBOuXwwlyM8kqEjH_jynM75W0DsojixhE46jkT9o" alt="Guo3rZ9SST3DaX1KhnTZYRVEb10ljaBp6kx1OCKkYEDsqEC0XKZH6hIFG" title="飆股可以賺更多？| 台股賣出的技術 66"></figure>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/05DJWfTdsjeYYTSiHizK1cHSyiBn9D9S4ryGLgIui-LmhykG9Z_ptcLkGba06Vc7vsbBtmx9IDqM9D1n4Vyf6uKixsARnTQ_uBBSZjE0nwhbF8xzHi9hVhceOk3dLoGSqbzk89eJdshxAg4m7wBjoCI" alt="05DJWfTdsjeYYTSiHizK1cHSyiBn9D9S4ryGLgIui" title="飆股可以賺更多？| 台股賣出的技術 67"></figure>



<h4>加碼強勢股</h4>



<p>如果你夠細心，會發現一個可以改進的地方，那就是我們加入賣出訊號，會讓標的提早出場，由於有設定每檔持有部位上限為10%，因此出場的資金要等下一個換股週期才進場。<br>未觸發賣出轉換線的股票很可能是較強勢的股票，如果可以將出場的資金加碼到剩下的強勢股，會不會讓資金更有效率？<br>我們把每檔持有部位上限調為15%，此時若有股票中途賣出，資金會再投入到剩下持股，補到每檔最高15%部位。回測結果發現可以提高年化報酬率，而風險並不會增加太多。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/YJLD7uEdlda4LFBwowiE9Yk6EUs_YGldQTwgbIVAh5HrbAaqu5q5Pi9VTMJx6yISbdJz2S0XrU9f0ruJy2mSO9unbQZbVOI2xkPCjLmjG7nmLmgcEbRyj-cwoAkO3aP1fyTkiDAL2uuisSwCX6_Z4xk" alt="YJLD7uEdlda4LFBwowiE9Yk6EUs YGldQTwgbIVAh5HrbAaqu5q5Pi9VTMJx6yISbdJz2S0XrU9f0ruJy2mSO9unbQZbVOI2xkPCjLmjG7nmLmgcEbRyj" title="飆股可以賺更多？| 台股賣出的技術 68"></figure>



<h2><strong>摸頭賣出指標 &#8211; 順位相關係數(RCI)</strong></h2>



<p>順位相關係數(Rank Coreelation Index)特別注意時間趨勢，RCI指標的概念和賣出轉換線相反，只看股價變動與時間推移的順序，而不考慮跌幅，若股價下跌傾向越明顯，則判斷股價疆愈傾向走弱。</p>



<h3>RCI 數值與對應型態</h3>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/0EjaTQ8613AbmAuLCrWAvXJB9kM6qZz5CPfuhKOtSgycIJ9Zs4dv_vKRengFpW34e98naI1cPYYfeebQ8PhfAeJdU84f4VcG4tbn5-FguaYc6XhXt286lSebN7nC8Vv_p0lKetd8RRjxK8XTTakguKc" alt="0EjaTQ8613AbmAuLCrWAvXJB9kM6qZz5CPfuhKOtSgycIJ9Zs4dv vKRengFpW34e98naI1cPYYfeebQ8PhfAeJdU84f4VcG4tbn5" title="飆股可以賺更多？| 台股賣出的技術 69"></figure>



<p>數值越小的代表型態越弱，以4天股價來說，右下角的例子連跌4天，左下是底底低、峰峰低的下降趨勢，右上角是突破後又跌破，左上角是維持整理。</p>



<h3>RCI 關鍵特性</h3>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/VOnVLTdv0KdWW1i6c4v4noX8sEgkHximbhGPPBGKrWs5qVwGZryNKjs7DnxIsTyol88GHIPb2mPQSoVJm6kZo5ad16QZlngpXCMXqoqZjFsFeNkXmC_mUPGE-tD-hpGaCup1yc9UquBNXKMyWn8NEuM" alt="VOnVLTdv0KdWW1i6c4v4noX8sEgkHximbhGPPBGKrWs5qVwGZryNKjs7DnxIsTyol88GHIPb2mPQSoVJm6kZo5ad16QZlngpXCMXqoqZjFsFeNkXmC mUPGE tD hpGaCup1yc9UquBNXKMyWn8NEuM" title="飆股可以賺更多？| 台股賣出的技術 70"></figure>



<p>紅線和黑線哪一個比較弱，直覺都會認為「紅線下跌較多」，所以較弱，但用RCI指標來看，兩者趨勢一樣，只是震幅不一樣，趨勢是一樣弱的，這樣的特性讓我們有機會在股價尚未暴跌前先抓到頭部型態，不像「賣出轉換線」或「移動出場」，要先有一段明顯的跌勢出現，才做賣出，可能可以在趨勢轉弱時鎖住報酬。</p>



<h3>RCI 公式</h3>



<p>RCI(%) = [1-6D/天數*(天數**-1)]*100</p>



<p>D的算法以4天舉例:</p>



<figure class="wp-block-table"><table><tbody><tr><td>日期</td><td>日期順位：最近日回推日期順位</td><td>股價</td><td>股價順位：價位最高者排序順位</td><td>日期順位相減股價順位</td><td>D值：第五欄平方</td></tr><tr><td>1/1</td><td>4</td><td>110</td><td>1</td><td>3</td><td>9</td></tr><tr><td>1/2</td><td>3</td><td>90</td><td>2</td><td>0</td><td>0</td></tr><tr><td>1/3</td><td>2</td><td>100</td><td>3</td><td>0</td><td>0</td></tr><tr><td>1/4</td><td>1</td><td>80</td><td>4</td><td>-3</td><td>9</td></tr></tbody></table></figure>



<p>RCI = [1-6*(9+0+0+9)/4*(4*4-1)]*100 = -80%</p>



<h3>指標使用方式</h3>



<p>適合低波動標的，擅長從股價徘徊高原區時看出下跌時機，數值超過 -70% 為破底趨勢型態，主要缺點是遇到暴跌型態可能會來不及反應。</p>



<h3>0050 回測</h3>



<p>參考「飆股的長相參數設定」，RCI 大於 -70時持有，小於-70時賣出。確實能在大盤轉弱時先行躲避風險，空頭年份的回檔較小。<br><img loading="lazy" src="https://lh7-us.googleusercontent.com/St_-Qv7IlWHknwRTDOFj6Wssim6SVWec53WLctHNYYFTgiINcu6FlQWjzO8b47pKKbJ70HI9LCE64TK3CyGYL-S0Fl7iA1WiQQQufOWWn_xYpLQZ1iSF3dJ2PPKuSdCN_wOkdfwOUY8tD6fUWAgYDpY" width="448" height="335" alt="St Qv7IlWHknwRTDOFj6Wssim6SVWec53WLctHNYYFTgiINcu6FlQWjzO8b47pKKbJ70HI9LCE64TK3CyGYL" title="飆股可以賺更多？| 台股賣出的技術 71"></p>



<h2><strong>廣為人知的竭盡指標- MACD背離</strong></h2>



<h3>MACD指標定義</h3>



<p>MACD是一種常用的技術指標，用於分析股票、期貨等市場的趨勢和價格變化，可以幫助交易者作出買進或賣出的決策。MACD的全稱是Moving Average Convergence Divergence，中文為移動平均收斂發散指標。</p>



<p>MACD指標的計算過程包括兩個移動平均線和一個差離值（DIF）線，以及一個平均差離值（DEA）線。具體計算過程如下：</p>



<p>計算短期（12天）和長期（26天）的移動平均線，分別為EMA12和EMA26；</p>



<p>計算DIF線，即EMA12減去EMA26的值；</p>



<p>計算DEA線，即前九天DIF的平均值，再用這個平均值進行EMA計算，得到DEA線；</p>



<p>計算MACD柱線，即DIF和DEA的差值，並繪製在股票K線圖下方的柱狀圖上。</p>



<p>MACD指標的作用是幫助分析市場的趨勢，當DIF線穿過DEA線向上移動時，為黃金交叉，意味著股票或期貨價格可能會上漲，為買進信號；相反，當DIF線穿過DEA線向下移動時，為死亡交叉，意味著股票或期貨價格可能會下跌，為賣出信號。</p>



<h3>MACD 指標背離的應用</h3>



<p>MACD技術指標的背離（Divergence）是廣為人知的技術指標應用。指在價格和指標之間出現了明顯的差異，通常是指在股票或期貨價格創新高或新低的同時，MACD指標的DIF線和DEA線卻沒有跟隨著創新高或新低，或者DIF線和DEA線的走勢與價格趨勢相反。</p>



<p>MACD指標背離通常被認為是趨勢反轉的信號之一，可以用來預測市場可能發生的轉折。具體而言，當MACD指標出現正向背離（bullish divergence）時，即股票或期貨價格創新低，但MACD指標卻沒有創新低，這時可能預示著市場可能會出現反彈行情；相反，當MACD指標出現負向背離（bearish divergence）時，即股票或期貨價格創新高，但MACD指標卻沒有創新高，這時可能預示著市場可能會出現下跌行情。</p>



<p>交易者可以利用MACD指標背離來判斷市場的轉折，並據此作出相應的交易決策。例如，在股票或期貨出現正向背離時，可以考慮買進；在股票或期貨出現負向背離時，可以考慮賣出或進行空頭交易。當然，MACD指標背離也需要注意市場風險，適當控制交易風險，合理制定止損策略，才能更好地應用MACD指標背離。</p>



<h3>為什麼會發生背離</h3>



<p>MACD技術指標出現背離的原因很多，下面列舉幾個可能的原因：</p>



<p>股票或期貨市場出現強烈的趨勢行情，MACD指標無法跟隨價格的變化。例如，當市場出現長時間的上漲或下跌行情時，MACD指標的走勢可能會滯後於價格的變化，從而出現背離。</p>



<p>MACD指標的參數設定不合適。MACD指標的參數包括短期移動平均線和長期移動平均線的天數，以及DEA線的天數。不同的參數設定會對MACD指標的判斷結果產生影響，如果參數設定不合適，可能會導致背離的出現。</p>



<p>股票或期貨市場受到外界因素的影響。股票或期貨市場受到多種因素的影響，包括政治、經濟、自然災害等，這些因素可能會導致股票或期貨價格的波動，而MACD指標可能無法及時反應這些變化，從而出現背離。</p>



<p>總之，MACD指標出現背離的原因很多，交易者在應用MACD指標時需要結合具體的市場情況和個人交易風格，對MACD指標進行適當的參數設定和解讀，才能更好地判斷市場的走勢。</p>



<h3>背離指標實作</h3>



<p>MACD是較長週期的指標，使用換股週期較長的「股價淨值比」策略來實驗。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/JA1xpBtmMKIaNxOO0DXn06JMLQtEa7P5PnUh-z_N08MRKGJum9E9WCVB8QqHSgEfWE9UZz7W21kWCDXjd74Md2ssRm4ctlGPkXaf32waGG_9KXW8kz-oQ3_kAdIVmK0JD1eQXQD9oeV-dwT8BniDGPo" alt="JA1xpBtmMKIaNxOO0DXn06JMLQtEa7P5PnUh z N08MRKGJum9E9WCVB8QqHSgEfWE9UZz7W21kWCDXjd74Md2ssRm4ctlGPkXaf32waGG 9KXW8kz oQ3 kAdIVmK0JD1eQXQD9oeV dwT8BniDGPo" title="飆股可以賺更多？| 台股賣出的技術 72"></figure>



<p>加入背離指標</p>



<ol><li>MACD 柱狀較10日前低</li><li>5日收盤移動平均線較10日前高</li><li>連續3日符合 條件1 &amp; 條件2</li></ol>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/1e2Re-ERE1yAYZHWO33h15iHBLJI0asWbE9bMBzg8RgFPGDt1is2TFptpgNNTKdzZc1oI93pGOjInGOVmWt_SHEsx9mK3gHT6j8S97haLzBFjtZOUtMdRVtBIUHXgFv8fZA86YuYaq4jX2g452gCD3A" alt="1e2Re" title="飆股可以賺更多？| 台股賣出的技術 73"></figure>



<p>發現這項廣為流傳的指標似乎沒特別效果。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/5nFS5vf_0WVBMQ2_79vPymTtx5F2mK1VDXN5mQWqTGDhPLsl5CzXljb44ALxxbpEYcQa_NzcB1YuRM5CNPPd6l2vdBsCvX0PWtbf9fnEzg6uVEuLbKBjbONwayIxeshxXXTathn9uAxlXjIXIOITVng" alt="" title="飆股可以賺更多？| 台股賣出的技術 74"></figure>



<h2>大盤指標</h2>



<p>有時個股狀態正常，但大環境進入系統性風險，覆巢之下難有完卵，這時要採取全員撤退的行動，確保戰果。</p>



<p>今天介紹的指標「創高家數指標」是 ADLs指標的變形，先來看ADLs的公式，接下來就會很好了解「創高家數指標」。</p>



<h3>ADLs</h3>



<p>參考「<a href="https://www.finlab.tw/adls-stock-indicator/">小型股噴發的日子結束了？ADLs 指標顯示：接下來是決定性的時刻！</a>」</p>



<p>ADLs = 上漲家數 / 總家數 – 0.5</p>



<p>可以很簡單了解到ADLs是計算上漲家數的動能，ADLs 代表當天大家的勝率，這個勝率每天影響你我的心情，試想你打開股票未實現損益，一片紅色，心情就超級好，反之一片綠色，心情也好不起來。所以 ADLs + 均線，就代表一段時間，市場平均的勝率（不是很精確的說法，但是容易瞭解）。</p>



<p><img loading="lazy" alt="image 1" src="https://lh7-us.googleusercontent.com/-wKvMJDnjCecdN9an1MLbjWE6sd8Vna6MNByEort6E9_9Sf_Pgr4DBnloNr2AkGnkdMCNrTnlgF3Xq7VHNmL5eRjm_GtUO1W9YvZ9MT3oTZ7uYNGVofqJKC1zTQnsKOYCg9XHC0N5A5nq3yw0N8TsmQ" width="602" height="133" title="飆股可以賺更多？| 台股賣出的技術 75">ADLs fast and slow</p>



<p>上圖中使用均線將原本的 ADLs 平滑雙均線，去除雜訊後，我們才看得到週期的規律，圖中的藍色就是 ADLs Fast，代表市場短期的勝率，而 ADLs Slow 就是代表長期的勝率，所以</p>



<p><em>ADLs Fast &gt; Slow 大家最近都賺錢</em></p>



<p>大家都賺了錢，自然就很開心，於是希望可以賺更多，市場一片喜氣洋洋，反之，就是大家都有點恐懼，造成市場信心潰散，就是比較危險的時刻了。</p>



<p>ADLs在FinLab之前的研究中證實對「中小型股」的操作很有用，能在高勝率的大環境平穩從中小型股的操作獲利。</p>



<p><strong></strong>ADLs策略與單純持有00733 富邦臺灣中小型股指數比較</p>



<p>上圖中藍色的為使用 ADLs 策略的績效，而紅色的則是單純持有，你可能會覺得「什麼？阿不是績效都差不多嗎？」「還要每天看買賣家數，也沒比較好？」。假如你有這種想法，就代表你可能剛開始在交易的路上，所以還沒見過太多大風大浪，對我來說，藍色的績效明顯的比紅色好非常多。雖然這兩種方法最後的績效差不多，但是中間的過程差很多，一個是幾乎沒有賠錢，另外一個載浮載沈，就像是人生的終點都是一樣的，但過程可以差很多！</p>



<h3>創高家數指標</h3>



<p>創高家數指標 = 收盤價創近20日新高的總家數 / 總家數</p>



<p>簡單來說就是動能條件要求比 ADLs 更嚴格，不只要上漲，還要求創新高價，創新高代表突破壓力區，往上噴漲的阻力小，訊號會比 ADLs 的上漲更明確，能排除 ADLs&nbsp; 數值好，但股價實際在整理區間裏小漲、無法突破壓力的情況。</p>



<p>當創高家數指標的短期均線低於長期均線時，代表市場上越來越少股票能創新高，使用動能策略想要抓到趨勢延續性的機率也變小，甚至很容易遭遇末升段後的大回檔。<br>我們可以將創高家數指標化成大盤濾網套入FinLab 的「<a href="https://doc.finlab.tw/tools/%E8%82%A1%E5%83%B9%E5%89%B5%E6%96%B0%E9%AB%98%E5%8B%95%E8%83%BD/#_3" target="_blank" rel="noopener">創新高延續動能策略</a>」。回測結果發現下檔風險壓得很低，每一年都是正報酬，躲避大盤下殺風險，能在大盤盤勢穩定時掌握把握度最高的一段。</p>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/zsIGXI9GG_N5KRj5uQMtf6i8tf0NlT5qdn6YWw6zNc3r-pxT6beKu_P1wPGFfLwMqoxsGDWwvmtsQfmRCJXiMumiZ57Ms7cJvn2ZgIuZtWgtYa4eTnco0sYKEQT5b-PNTKRR9tEGAzagH2qx7s1hpnA" alt="zsIGXI9GG N5KRj5uQMtf6i8tf0NlT5qdn6YWw6zNc3r pxT6beKu P1wPGFfLwMqoxsGDWwvmtsQfmRCJXiMumiZ57Ms7cJvn2ZgIuZtWgtYa4eTnco0sYKEQT5b" title="飆股可以賺更多？| 台股賣出的技術 76"></figure>



<figure class="wp-block-image"><img src="https://lh7-us.googleusercontent.com/lXGKSMwXT5WbNhlja-zimbcbCDNJo2jf5qRa8HUWTxjIiR4hU_Onn9Z1-JYzEM_quUXZJu38jUQr1UsvKxGhrrSlKd_ktsFlsBSRleeio5ato83ooKSSM4KZWN_g7tRlk1FShIiCF4nvm0EpGXR2dZM" alt="lXGKSMwXT5WbNhlja zimbcbCDNJo2jf5qRa8HUWTxjIiR4hU Onn9Z1" title="飆股可以賺更多？| 台股賣出的技術 77"></figure>



<h2>結論</h2>



<p>我們實驗了許多賣出指標，發現波段型的策略套入賣出指標，能讓策略波動更具穩定性，但不太好取得更高的報酬率，原因在波段策略靠大賺小賠支撐獲利，設置停利點很容易讓大賺的獲利縮小，區間震盪的策略由於獲利區間穩定，比較好去研究停利點去提高獲利。<br>區間型的策略如何開發，還有待之後的研究。</p>



<p><a href="https://colab.research.google.com/drive/17DO1HVpT5GT57nhtM5_LwKxRrN02UNZC?usp=sharing" target="_blank" rel="noopener">colab 檔案連結</a> 提供給大家本篇提到的賣出指標實作，大家可以試試看套入自己的策略喔！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e9%a3%86%e8%82%a1%e5%8f%af%e4%bb%a5%e8%b3%ba%e6%9b%b4%e5%a4%9a%ef%bc%9f-%e5%8f%b0%e8%82%a1%e8%b3%a3%e5%87%ba%e7%9a%84%e6%8a%80%e8%a1%93/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6144</post-id>	</item>
	</channel>
</rss>
