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

<channel>
	<title>技術面 &#8211; FinLab</title>
	<atom:link href="https://www.finlab.tw/category/%E6%8A%80%E8%A1%93%E9%9D%A2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.finlab.tw</link>
	<description>深入淺出的量化投資，讓你在在茫茫股海中，找到專屬於自己的投資方法</description>
	<lastBuildDate>Tue, 04 Nov 2025 16:39:46 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.11</generator>

<image>
	<url>https://www.finlab.tw/wp-content/uploads/2020/07/favicon.png</url>
	<title>技術面 &#8211; FinLab</title>
	<link>https://www.finlab.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">179699571</site>	<item>
		<title>Alpha Arena 背後的技術解析、缺陷與潛力</title>
		<link>https://www.finlab.tw/alpha-arena-%e8%83%8c%e5%be%8c%e7%9a%84%e6%8a%80%e8%a1%93%e8%a7%a3%e6%9e%90%e3%80%81%e7%bc%ba%e9%99%b7%e8%88%87%e6%bd%9b%e5%8a%9b/</link>
					<comments>https://www.finlab.tw/alpha-arena-%e8%83%8c%e5%be%8c%e7%9a%84%e6%8a%80%e8%a1%93%e8%a7%a3%e6%9e%90%e3%80%81%e7%bc%ba%e9%99%b7%e8%88%87%e6%bd%9b%e5%8a%9b/#respond</comments>
		
		<dc:creator><![CDATA[Andy]]></dc:creator>
		<pubDate>Tue, 04 Nov 2025 16:39:43 +0000</pubDate>
				<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[加密貨幣]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[投資新手]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[機器學習]]></category>
		<category><![CDATA[程式交易]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6730</guid>

					<description><![CDATA[近期熱門的 Alpha Arena 專案，將 ChatGPT、Gemini、Grok 等不同的大型語言模型 ( [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img width="1024" height="699" src="https://www.finlab.tw/wp-content/uploads/2025/11/image-2-1024x699.png" alt="image 2" class="wp-image-6735" srcset="https://www.finlab.tw/wp-content/uploads/2025/11/image-2-1024x699.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/11/image-2-300x205.png 300w, https://www.finlab.tw/wp-content/uploads/2025/11/image-2-768x524.png 768w, https://www.finlab.tw/wp-content/uploads/2025/11/image-2-1536x1049.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/11/image-2-2048x1398.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" title="Alpha Arena 背後的技術解析、缺陷與潛力 1"></figure>



<p>近期熱門的 <a href="https://nof1.ai/" target="_blank" rel="noopener">Alpha Arena</a> 專案，將 ChatGPT、Gemini、Grok 等不同的大型語言模型 (LLM)，推上了金融交易的競技場，讓這些前沿 AI 模型槓桿交易Crypto，網頁是公開顯示歷史資金和持倉變化。這個概念極具吸引力：讓最強的 AI 們同台競技，比較它們的交易績效。</p>



<p>在令人興奮的「<strong>AI 交易</strong>」敘事之下，本文將從技術層面拆解 Alpha Arena 的運作機制，看看技術原理是否真的無懈可擊 ？</p>



<h2>一、 運作機制：當 LLM 成為量化交易員</h2>



<p>Alpha Arena 的核心是利用呼叫大型語言模型 API，讓多個 LLM 扮演交易決策者的角色。其運作流程可以拆解為「輸入」、「處理」與「輸出」三階段。</p>



<h3>輸入：將市場「<strong>文本化</strong>」的提示詞 </h3>



<p>系統會向 LLM 發送一個設計好的提示詞，其內容包含：</p>



<ul><li><strong>狀態數據 :</strong> 當前帳戶績效、倉位、交易次數等。<br></li></ul>



<figure class="wp-block-image size-full"><img loading="lazy" width="918" height="410" src="https://www.finlab.tw/wp-content/uploads/2025/11/image.png" alt="image" class="wp-image-6731" srcset="https://www.finlab.tw/wp-content/uploads/2025/11/image.png 918w, https://www.finlab.tw/wp-content/uploads/2025/11/image-300x134.png 300w, https://www.finlab.tw/wp-content/uploads/2025/11/image-768x343.png 768w" sizes="(max-width: 918px) 100vw, 918px" title="Alpha Arena 背後的技術解析、缺陷與潛力 2"><figcaption>交易狀態提示詞範例</figcaption></figure>



<ul><li><strong>市場數據 :</strong> 中間價、EMA (指數移動平均線) 等技術指標資料。<br></li></ul>



<figure class="wp-block-image size-full"><img loading="lazy" width="898" height="1018" src="https://www.finlab.tw/wp-content/uploads/2025/11/image-1.png" alt="image 1" class="wp-image-6732" srcset="https://www.finlab.tw/wp-content/uploads/2025/11/image-1.png 898w, https://www.finlab.tw/wp-content/uploads/2025/11/image-1-265x300.png 265w, https://www.finlab.tw/wp-content/uploads/2025/11/image-1-768x871.png 768w" sizes="(max-width: 898px) 100vw, 898px" title="Alpha Arena 背後的技術解析、缺陷與潛力 3"><figcaption>市場狀態提示詞範例</figcaption></figure>



<ul><li><strong>關鍵指標文本化:</strong> 這是本專案的特色之一。它將 MACD、RSI 這類傳統的時間序列數據，用<strong>自然語言</strong>描述出來（例如：「RSI 目前為 46.4」），強迫 LLM 在文本層面理解技術指標。</li></ul>



<h3>處理：模型的「思考鏈」 (Chain of Thought)</h3>



<p>下面是網頁上實際的 GPT-5 API 回應結果:</p>



<pre class="wp-block-code"><code lang="json" class="language-json">{"cot_trace": "**Examining liquidation risk**\n\nWhen it comes to a short position, liquidation happens if the price rises above a certain level. In my case, the liquidation price is 0.17 and it matches the entry, which gives me pause. Since the current price is 0.167, I’m feeling safe for now. Yet, the liquidation price being so close means I can't widen my stop, especially since it is set at 0.171712. That puts me at critical risk, as the stop is above the liquidation price.\n**Assessing long position risks**\n\nIt seems the liquidation price might be rounded, like 0.170 when it could have more decimals. If liquidation happens at 0.17, hitting 0.1717 would liquidate before the stop, which doesn’t seem feasible. While we shouldn't close early, I’m checking my long position in BNB. Invalidation requires a 4-hour candle close below 990 and open interest over 62000. Currently, the price is 993.635 and OI is 65954.12, which doesn’t trigger invalidation. Although the 4-hour trend is negative, I’ll stick to my strategy.\n**Confirming holding positions**\n\nI need to hold all six positions without any adjustments since modifications like adjusting stops or profit targets aren’t allowed. For each coin, I have to provide an object that includes several fields: coin, signal (which will be 'hold'), the full quantity size, profit target, stop loss, invalidation condition, leverage, confidence, and risk in USD. \n\nFor example, with ETH having a quantity of -1.3, I’m writing it as is since the instructions specify using the full current size. There’s a bit of confusion about sign conventions, but I’ll follow the guidelines provided for holding.\n**Finalizing position details**\n\nI’m confirming the details for short positions, where negative quantities matter. For example, the quantity for my first position is -1.3, so I’ll output that. The profit target is 3407.47, the stop loss is 3719.44, the leverage is 12, confidence is 0.63, and the risk is 156.53. \n\nI’ll check other positions too, like SOL with quantity -35.79, XRP -1509.0, and BTC -0.02. For BNB, I have a quantity of 3.5, a profit target of 1073.65, and a specific invalidation condition related to open interest that isn’t met yet.\n**Creating hold signal JSON**\n\nI need to ensure the hold signal is set correctly. If any stops or targets were triggered since entry, the system will handle that automatically. I won't enter new trades since we have existing positions in all symbols, and we can't increase size. \n\nThe output will be a single JSON object with keys for each coin: ETH, SOL, XRP, BTC, DOGE, and BNB. Each will have the required fields formatted as floats. I'll ensure precision and check if any invalidation for BNB has triggered, but we can't infer anything from the current status. Now, I’ll produce the JSON accordingly.\n",
"cot_trace_summary": "My current strategy is to hold all positions as my analysis suggests current market conditions do not warrant adjustments despite a significant overall loss. I'm maintaining my short positions in ETH, SOL, XRP, BTC, and DOGE, as well as my long position in BNB, focusing on their individual exit plans and risk management parameters."}</code></pre>



<p>如 <code>cot_trace</code> 所示，LLM 會接收提示詞，並進行一段類似人類的「思考過程」。它會評估風險（&#8221;Examining liquidation risk&#8221;）、評估倉位（&#8221;Assessing long position risks&#8221;），並最終決定其行動。</p>



<h3>輸出：結構化的 JSON 交易決策</h3>



<p>LLM 最終會回傳一個標準化的 JSON 物件，作為其交易指令。這個 JSON 包含了所有關鍵決策：</p>



<ul><li><strong>交易訊號 (Signal):</strong> <code>hold</code> (持有) 或 <code>sell</code> (賣出)。</li><li><strong>風險參數 (Risk Parameters):</strong> <code>profit_target</code> (止盈) 和 <code>stop_loss</code> (止損)。</li><li><strong>退出條件 (Invalidation Condition):</strong> 一個 LLM <strong>即時生成</strong>的、基於技術指標的出場規則（例如：「4 小時 K 線收盤價高於 3800 並且 4 小時的 MACD 柱狀圖連續 2 根為正值」）。</li><li><strong>信心指數 (Confidence):</strong> 一個 0 到 1 的數字，表示模型對此決策的信心。</li></ul>



<p>範例格式如下：</p>



<pre class="wp-block-code"><code lang="json" class="language-json">{
"ETH": {
          "risk_usd": 156.53,
          "leverage": 12,
          "confidence": 0.63,
          "quantity": -1.3,
          "invalidation_condition": "Close early only if a 4h candle closes above 3800 AND the 4h MACD histogram turns positive for 2 consecutive bars.",
          "profit_target": 3407.47,
          "stop_loss": 3719.44,
          "justification": "",
          "coin": "ETH",
          "signal": "hold"
        }
}</code></pre>



<h2>二、 方法論缺陷：是「策略」還是「幻覺」？</h2>



<p>儘管機制看似完整，但從嚴謹的量化交易角度審視，Alpha Arena 在方法論上存在幾個根本性的缺陷。</p>



<h3>缺陷一：策略是「幻覺」，而非「回測」的產物</h3>



<p>這是最核心的問題。LLM 產出的 <code>invalidation_condition</code>（退出條件）並<strong>不是一個經過系統性回測證明其有效的策略</strong>。</p>



<p>相反地，它更像是 LLM 基於其龐大的訓練數據（網路論壇、分析文章），「<strong>幻覺</strong>」或「<strong>拼湊</strong>」出來的、<strong>當下聽起來最合理的交易規則</strong>。這如同要求 AI「<strong>即時創造</strong>」一道新菜，而非嚴格執行一道經過千次測試的米其林食譜——聽起來很棒，但穩定性與安全性存疑。</p>



<h3>缺陷二：缺乏一致性與可重複性</h3>



<p>傳統的量化交易程式是確定性的：相同的輸入（RSI &gt; 70）永遠會觸發相同的條件。</p>



<p>但 LLM 本質上是機率性的。這意味著，即使下次遇到完全相同的市場數據和提示詞，LLM 也不保證會生成完全相同的 <code>cot_trace</code> 或 <code>invalidation_condition</code>。它下一次可能認為「RSI 跌破 50」才是出場條件。這使得整個系統極度不穩定、無法驗證，也無法回測一個「隨機變動」的策略。</p>



<h3>缺陷三：不科學的「自信度」評分</h3>



<p>經過分析顯示，模型給出的 <code>confidence</code> 分數高度集中在 0.6-0.7 之間，且未見低於 0.6 的分佈。這種集中的數值分佈，不像科學計算的結果，反而更像 LLM 作為評判者（LLM as a judge）時產生的「幻覺分數」。<br>我們直接去抓取網頁的 api 回應，實際去分析 LLM 的輸出，統計所有模型的 LLM Response ，分析發現 0.6-0.7 出現的頻率非常高且頻繁，且沒有出現低於 0.6 信心的分佈，不是很合理情況。</p>



<p>正常情況下，如果分數是經過科學計算的，它應該是一個連續的分佈。<br></p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="610" src="https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x-1024x610.png" alt="CleanShot 2025 11 04 at 15.49.10@2x" class="wp-image-6733" srcset="https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x-1024x610.png 1024w, https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x-300x179.png 300w, https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x-768x458.png 768w, https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x-1536x915.png 1536w, https://www.finlab.tw/wp-content/uploads/2025/11/CleanShot-2025-11-04-at-15.49.10@2x.png 1990w" sizes="(max-width: 1024px) 100vw, 1024px" title="Alpha Arena 背後的技術解析、缺陷與潛力 4"><figcaption>信心分布統計</figcaption></figure>



<pre class="wp-block-code"><code class="">--- confidence 分數的出現次數 ---
分數 0.62: 48 次
分數 0.63: 32 次
分數 0.64: 16 次
分數 0.65: 85 次
分數 0.67: 17 次
分數 0.7: 100 次
分數 0.75: 62 次
分數 0.78: 24 次
分數 0.8: 12 次
分數 0.85: 12 次
分數 0.9: 12 次</code></pre>



<h3>缺陷四：時間序列「文本化」導致時間意義缺失</h3>



<p>將 MACD、RSI 這類時序數據轉換為文本序列，是為了迎合 LLM 的輸入格式。然而，Transformer 架構是基於 <em>token</em> 的順序去預測下一個 <em>token</em>，它<strong>無法真正理解「時間的連續性」</strong>。</p>



<p>當時間序列被「壓平」成文字時，LLM 的「腦海」中缺乏了時間的維度。雖然它可能在預訓練中學到了 MACD 和 RSI 的基本概念（這或許能解釋 Deepseek 表現較好的原因），但要求它基於這種「<strong>無時間感</strong>」的文本去做出精確的時序預測，是有難度的。</p>



<h2>三、 潛在價值：為何 Alpha Arena 仍有價值</h2>



<p>儘管缺陷明顯， Alpha Arena 也是有其價值。它的真正價值不在於當下的交易績效，而在於它展示的潛力：</p>



<h3>潛力一：革命性的「可解釋性」 (Explainable AI)</h3>



<p>LLM 的<strong>思維鏈</strong>是這個專案最有趣的部分。傳統量化交易的「黑盒子」模型（例如 SVM 或神經網路）很難解釋為什麼它要買入。</p>



<p>而 Alpha Arena 迫使 LLM 用人類可讀的語言來「解釋」它的決策過程（&#8221;Examining liquidation risk&#8230;&#8221;）。對於某些機構而言，這種<strong>決策過程透明化</strong>的特性是有價值的，可以使用 AI 輔助決策。</p>



<h3>2. 潛力二：「非結構化數據」的巨大潛力</h3>



<p>目前專案僅將「<strong>結構化</strong>」的技術指標文本化，這確實是上面說的缺陷之一。</p>



<p>但如果在這個框架中，讓 LLM 在 Prompt 中加入，去處理<strong>非結構化數據</strong>，這就是 LLM 相較於傳統模型，最具壓倒性優勢的地方。<br>例如：</p>



<ul><li>「這是過去 1 小時社群平台上關於 BTC 的恐慌指數」</li><li>「聯準會主席在 5 分鐘前的發言偏向鷹派」</li></ul>



<p>傳統模型難以理解這些文本的語意和情緒。而 LLM 交易機器人是有潛力將「<strong>市場情緒</strong>」、「<strong>新聞事件</strong>」和「<strong>技術指標</strong>」真正融合在同一個決策模型中的架構。</p>



<h3>潛力三：一個極具價值的「元實驗」</h3>



<p>Alpha Arena（阿爾法競技場）這個名字本身就點出了其價值。它不是在宣稱誰是最好的交易模型，而是建立了一個「競技場」讓所有模型同台競技。</p>



<p>這本身就是一個非常有價值的實驗。它讓我們首次有機會在相同的規則下，橫向比較不同 LLM（GPT-5, Gemini,Grok&#8230;）的金融推理能力。</p>



<h2>四、 結論：一個「有趣」但尚未成熟的未來</h2>



<p>從技術層面分析來看，Alpha Arena 目前更像是一台令人興奮的「概念車」。它存在「策略幻覺」、「缺乏一致性」等根本性的方法論缺陷，使其目前的交易結果不具備嚴謹的科學意義。</p>



<p>然而，它的價值絕非零。Alpha Arena 成功地展示了 LLM 在<strong>決策可解釋性和融合非結構化數據</strong>方面的巨大潛力。它作為一個「AI 競技場」的實驗，其價值遠高於它產生的帳面損益。</p>



<p>總體而言，這是一個「<strong>好玩有趣</strong>」且極具啟發性的專案，它為我們揭開了 AI 金融交易未來樣貌。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/alpha-arena-%e8%83%8c%e5%be%8c%e7%9a%84%e6%8a%80%e8%a1%93%e8%a7%a3%e6%9e%90%e3%80%81%e7%bc%ba%e9%99%b7%e8%88%87%e6%bd%9b%e5%8a%9b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6730</post-id>	</item>
		<item>
		<title>槓桿動態調控策略的量化分析</title>
		<link>https://www.finlab.tw/leverage-dynamic-adjustment-strategy/</link>
					<comments>https://www.finlab.tw/leverage-dynamic-adjustment-strategy/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Wed, 22 May 2024 04:55:00 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[PYTHON]]></category>
		<category><![CDATA[歷史回測]]></category>
		<category><![CDATA[選股策略]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6193</guid>

					<description><![CDATA[在投資市場中，槓桿是一種常見的放大收益工具。然而，槓桿同時也會放大風險，如何在獲取高收益的同時有效控制風險是投資者面臨的主要挑戰之一。本研究旨在探討一種動態調控槓桿策略，該策略基於最大下跌 (Maximum Drawdown, MDD) 的控制來動態調整投資部位，從而在控制風險的同時獲取可觀的收益。]]></description>
										<content:encoded><![CDATA[
<p>在投資市場中，槓桿是一種常見的放大收益工具。然而，槓桿同時也會放大風險，如何在獲取高收益的同時有效控制風險是投資者面臨的主要挑戰之一。本研究旨在探討一種動態調控槓桿策略，該策略基於最大下跌 (Maximum Drawdown, MDD) 的控制來動態調整投資部位，從而在控制風險的同時獲取可觀的收益。</p>



<h2>相關概念</h2>





<h3>最大下跌</h3>



<p>最大下跌是衡量投資組合在特定期間內從峰值到谷底的最大資產價值跌幅。具體定義為：</p>



<img src="https://s0.wp.com/latex.php?latex=MDD%28k%29+%3D+%5Cfrac%7BV_%7B%5Ctext%7Bmax%7D%7D%28k%29+-+V%28k%29%7D%7BV_%7B%5Ctext%7Bmax%7D%7D%28k%29%7D&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="MDD(k) = &#092;frac{V_{&#092;text{max}}(k) - V(k)}{V_{&#092;text{max}}(k)}" class="latex" title="槓桿動態調控策略的量化分析 5">



<p>其中，<img src="https://s0.wp.com/latex.php?latex=V%28k%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="V(k)" class="latex" title="槓桿動態調控策略的量化分析 6"> 是時間 <img src="https://s0.wp.com/latex.php?latex=k&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k" class="latex" title="槓桿動態調控策略的量化分析 7"> 的資產價值，<img src="https://s0.wp.com/latex.php?latex=V_%7B%5Ctext%7Bmax%7D%7D%28k%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="V_{&#092;text{max}}(k)" class="latex" title="槓桿動態調控策略的量化分析 8"> 是時間 <img src="https://s0.wp.com/latex.php?latex=k&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k" class="latex" title="槓桿動態調控策略的量化分析 7"> 之前的最大資產價值。MDD 是一個重要的風險衡量指標，因為它直接反映了投資者可能面臨的最大損失。</p>



<h2>動機</h2>



<p>在牛市中，投資者希望利用槓桿放大收益，但在熊市中又希望能有效控制風險。傳統的槓桿策略往往在市場下跌時面臨巨大風險，而不使用槓桿則可能錯失市場上漲帶來的收益。因此，本文提出基於 MDD 的動態調控槓桿策略，旨在實現高收益與低風險之間的平衡。</p>



<h2>方法</h2>



<p>本文採用宗翰教授所發表「On Data-Driven Drawdown Control with Restart Mechanism in Trading」的論文中提出的「下跌調控反饋控制」策略，其公式如下：</p>



<img src="https://s0.wp.com/latex.php?latex=M%28k%29+%3D+%5Cgamma+%5Cfrac%7Bd_%7B%5Ctext%7Bmax%7D%7D+-+d%28k%29%7D%7B1+-+d%28k%29%7D&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(k) = &#092;gamma &#092;frac{d_{&#092;text{max}} - d(k)}{1 - d(k)}" class="latex" title="槓桿動態調控策略的量化分析 10">



<p>其中，M(k) 是調整部位的係數，隨時間 k 變化。<img src="https://s0.wp.com/latex.php?latex=d%28k%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d(k)" class="latex" title="槓桿動態調控策略的量化分析 11"> 是時間 <img src="https://s0.wp.com/latex.php?latex=k&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k" class="latex" title="槓桿動態調控策略的量化分析 7"> 的最大下跌比例，<img src="https://s0.wp.com/latex.php?latex=d_%7B%5Ctext%7Bmax%7D%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d_{&#092;text{max}} " class="latex" title="槓桿動態調控策略的量化分析 13"> 是使用者設定的最大可容許下跌，<img src="https://s0.wp.com/latex.php?latex=%5Cgamma&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="&#092;gamma" class="latex" title="槓桿動態調控策略的量化分析 14"> 是類似於槓桿倍數的調整參數。</p>



<p>具體操作步驟如下：</p>



<ul><li>設定初始投資金額及最大可容許下跌比例 <img src="https://s0.wp.com/latex.php?latex=d_%7B%5Ctext%7Bmax%7D%7D&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d_{&#092;text{max}}" class="latex" title="槓桿動態調控策略的量化分析 15">。</li><li>根據市場走勢計算每個時刻的最大下跌 <img src="https://s0.wp.com/latex.php?latex=d%28k%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d(k)" class="latex" title="槓桿動態調控策略的量化分析 11">。</li><li>根據公式動態調整槓桿比例 M(k)，以控制風險。</li></ul>



<h3>數字範例</h3>



<p>讓我們透過一些數字範例來更詳細說明：</p>



<p>假設我們設定的最大可容許下跌比例 <img src="https://s0.wp.com/latex.php?latex=d_%7B%5Ctext%7Bmax%7D%7D&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d_{&#092;text{max}}" class="latex" title="槓桿動態調控策略的量化分析 15"> 為 0.2（即 20%），初始投資金額為 100,000 元，並選擇 <img src="https://s0.wp.com/latex.php?latex=%5Cgamma&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="&#092;gamma" class="latex" title="槓桿動態調控策略的量化分析 14"> 為 2。</p>



<h3>初始狀態 <img src="https://s0.wp.com/latex.php?latex=k%3D0&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k=0" class="latex" title="槓桿動態調控策略的量化分析 19"></h3>



<ul><li>投資金額：100,000 元</li><li>最大下跌 <img src="https://s0.wp.com/latex.php?latex=d%280%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d(0)" class="latex" title="槓桿動態調控策略的量化分析 20">：0</li><li>調整係數 <img src="https://s0.wp.com/latex.php?latex=M%280%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(0)" class="latex" title="槓桿動態調控策略的量化分析 21">：
<img src="https://s0.wp.com/latex.php?latex=M%280%29+%3D+2+%5Ctimes+%5Cfrac%7B0.2+-+0%7D%7B1+-+0%7D+%3D+0.4&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(0) = 2 &#092;times &#092;frac{0.2 - 0}{1 - 0} = 0.4" class="latex" title="槓桿動態調控策略的量化分析 22">
</li></ul>



<h3>第 1 天 <img src="https://s0.wp.com/latex.php?latex=k%3D1&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k=1" class="latex" title="槓桿動態調控策略的量化分析 23"></h3>



<ul><li>假設市場價格下跌 5%，投資金額變為 95,000 元</li><li>當前最大下跌 <img src="https://s0.wp.com/latex.php?latex=d%281%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d(1)" class="latex" title="槓桿動態調控策略的量化分析 24">：0.05（即 5%）</li><li>調整係數 <img src="https://s0.wp.com/latex.php?latex=M%281%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(1)" class="latex" title="槓桿動態調控策略的量化分析 25">：
<img src="https://s0.wp.com/latex.php?latex=M%281%29+%3D+2+%5Ctimes+%5Cfrac%7B0.2+-+0.05%7D%7B1+-+0.05%7D+%3D+0.3158&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(1) = 2 &#092;times &#092;frac{0.2 - 0.05}{1 - 0.05} = 0.3158" class="latex" title="槓桿動態調控策略的量化分析 26">
</li></ul>



<h3>第 2 天 <img src="https://s0.wp.com/latex.php?latex=k%3D2&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="k=2" class="latex" title="槓桿動態調控策略的量化分析 27"></h3>



<ul><li>假設市場價格再下跌 10%，投資金額變為 85,500 元</li><li>當前最大下跌 <img src="https://s0.wp.com/latex.php?latex=d%282%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="d(2)" class="latex" title="槓桿動態調控策略的量化分析 28">：0.145（即 14.5%）</li><li>調整係數 <img src="https://s0.wp.com/latex.php?latex=M%282%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(2)" class="latex" title="槓桿動態調控策略的量化分析 29">：
<img src="https://s0.wp.com/latex.php?latex=M%282%29+%3D+2+%5Ctimes+%5Cfrac%7B0.2+-+0.145%7D%7B1+-+0.145%7D+%3D+0.1286&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(2) = 2 &#092;times &#092;frac{0.2 - 0.145}{1 - 0.145} = 0.1286" class="latex" title="槓桿動態調控策略的量化分析 30">
</li></ul>



<p>從這些範例中可以看出，隨著市場下跌，調整係數 <img src="https://s0.wp.com/latex.php?latex=M%28k%29&#038;bg=ffffff&#038;fg=000&#038;s=0&#038;c=20201002" alt="M(k)" class="latex" title="槓桿動態調控策略的量化分析 31"> 會逐漸減小，從而減少投資部位，達到風險控制的效果。相反，當市場上升時，調整係數會增大，從而增加投資部位，實現槓桿效應。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-finlab wp-block-embed-finlab"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="wp-embedded-content" data-secret="5bK5RIjbVo"><a href="https://www.finlab.tw/pb-data-analysis-explain/">股價淨值比能找到好股票？用歷史數據讓你感受它的厲害！</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="股價淨值比能找到好股票？用歷史數據讓你感受它的厲害！ &#8212; FinLab" src="https://www.finlab.tw/pb-data-analysis-explain/embed/#?secret=GFDv4ebAK2#?secret=5bK5RIjbVo" data-secret="5bK5RIjbVo" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>
</div></figure>



<h2>實驗</h2>



<p>本實驗通過隨機漫步 (random walk) 模擬報酬曲線，並對其最大風險和終端報酬率進行分析。共進行1000次模擬，並將結果分別用淺灰色、紅色和藍色表示不同的策略：</p>



<ul><li><strong>淺灰色</strong>：不使用槓桿的買入並持有 (buy-and-hold) 策略。</li><li><strong>紅色</strong>：單純使用兩倍槓桿的策略。</li><li><strong>藍色</strong>：使用上述公式進行動態調節部位的兩倍槓桿策略。</li></ul>



<p>以下是詳細的程式碼和註解：</p>



<pre class="wp-block-code"><code lang="python" class="language-python line-numbers"># 匯入所需的函式庫
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 設定圖表尺寸
plt.rcParams['figure.figsize'] = (16, 6)
# 計算移動平均最大下跌
def mm(s):
    return ((s.cummax() - s) / s.cummax()).shift().rolling(10).mean()
# 初始化數據儲存的列表
means = []
means2 = []
mdds = []
mdds2 = []
means3 = []
mdds3 = []
# 進行3000次模擬
for i in range(3000):
    # 生成隨機漫步序列，模擬股票價格
    s = pd.Series(np.random.randn(250)+0.01, index=pd.date_range('1/1/2000', periods=250)).div(100).add(1).cumprod()
    
    # 計算最大下跌
    mdd = ((s.cummax() - s) / s.cummax()).max()
    # 計算動態槓桿比例
    gamma = 1.7 / (mdd + 0.1)
    size = (gamma * ((mdd + 0.1 - mm(s)) / (1 - mm(s))))
    
    # 計算動態槓桿策略的回報
    r = (s.pct_change() * size + 1).cumprod()
    rmdd = ((r.cummax() - r) / r.cummax()).max()
    # 儲存結果
    means.append(s[-1])
    means2.append(r[-1])
</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="395" src="https://www.finlab.tw/wp-content/uploads/2024/05/output-1024x395.png" alt="output" class="wp-image-6197" srcset="https://www.finlab.tw/wp-content/uploads/2024/05/output-1024x395.png 1024w, https://www.finlab.tw/wp-content/uploads/2024/05/output-300x116.png 300w, https://www.finlab.tw/wp-content/uploads/2024/05/output-768x296.png 768w, https://www.finlab.tw/wp-content/uploads/2024/05/output.png 1309w" sizes="(max-width: 1024px) 100vw, 1024px" title="槓桿動態調控策略的量化分析 32"><figcaption>最大下跌分佈（左）與終端報酬率（右）</figcaption></figure>



<h3>結果分析</h3>



<ol><li> <strong>藍色線條的最大風險控制效果顯著</strong>：藍色線條在左側的最大下跌分佈顯示，動態調節槓桿的策略有效降低了風險，最大下跌值相比紅色和淺灰色顯著減少。</li><li><strong>正終端報酬率時的表現</strong>：在終端報酬率為正的情況下，藍色和紅色線條的分佈相似，這表示動態調節槓桿策略在收益表現上與單純兩倍槓桿策略相當。 </li><li><strong>避免大額虧損</strong>：當終端報酬率接近0時，藍色線條顯示出更多的小額虧損，但總體而言，藍色線條有效避免了許多大額虧損，這顯示動態調節槓桿策略在風險管理上有明顯優勢。 

本研究提出的基於最大下跌調控的動態槓桿策略能夠在控制風險的同時實現與傳統槓桿策略相近的收益表現。通過動態調整投資部位，我們可以有效減少市場下跌時的風險，並在市場上漲時獲取可觀收益。這一策略為投資者提供了一種在牛市中放大收益、熊市中控制風險的有效工具。 </li></ol>



<h2>結論</h2>



<p>參考文獻: Hsieh, Chung-Han. &#8220;Generalization of affine feedback stock trading results to include stop-loss orders.&#8221; Automatica 136 (2022): 110051.</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-finlab wp-block-embed-finlab"><div class="wp-block-embed__wrapper">
<div class="oceanwp-oembed-wrap clr"><blockquote class="wp-embedded-content" data-secret="UZxPY5S326"><a href="https://www.finlab.tw/%e9%81%b8%e8%82%a1%e7%ad%96%e7%95%a5%e5%9b%9e%e6%b8%ac%e6%96%b0%e5%8a%9f%e8%83%bd%e6%ac%8a%e9%87%8d%e5%a4%9a%e7%a9%ba%e5%b0%8d%e6%b2%96sunburst-%e7%94%a2%e6%a5%ad%e5%88%86%e6%9e%90pandasta-%e6%8a%80/">選股策略回測有新功能！包含權重多空對沖、Sunburst 產業分析、PandasTA 技術指標 &#8211; FinLab 0.3.2.dev 再進化！</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="選股策略回測有新功能！包含權重多空對沖、Sunburst 產業分析、PandasTA 技術指標 &#8211; FinLab 0.3.2.dev 再進化！ &#8212; FinLab" src="https://www.finlab.tw/%e9%81%b8%e8%82%a1%e7%ad%96%e7%95%a5%e5%9b%9e%e6%b8%ac%e6%96%b0%e5%8a%9f%e8%83%bd%e6%ac%8a%e9%87%8d%e5%a4%9a%e7%a9%ba%e5%b0%8d%e6%b2%96sunburst-%e7%94%a2%e6%a5%ad%e5%88%86%e6%9e%90pandasta-%e6%8a%80/embed/#?secret=l0Y9fyysf4#?secret=UZxPY5S326" data-secret="UZxPY5S326" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></div>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/leverage-dynamic-adjustment-strategy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6193</post-id>	</item>
		<item>
		<title>利用 0050 的概念，優化選股的績效</title>
		<link>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/</link>
					<comments>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 06:47:06 +0000</pubDate>
				<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[0050]]></category>
		<category><![CDATA[均線]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=6080</guid>

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



<h2>ETF 的起源</h2>



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



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



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



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



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



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



<h2>0050 介紹</h2>



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



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



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



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



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



<h2>0050 實做</h2>



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



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



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



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

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

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

# 權重
weight = market_cap * float_ratio

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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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

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

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<h2>結論</h2>



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



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



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



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



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/0050%e7%9a%84%e5%84%aa%e5%8c%96%e4%bb%a5%e5%8f%8a%e5%8f%b0%e7%81%a3%e5%b8%82%e5%a0%b4%e5%b8%82%e5%80%bc%e7%a0%94%e7%a9%b6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6080</post-id>	</item>
		<item>
		<title>脫離韭菜命運的關鍵：利用MAE分析實踐正確的停損</title>
		<link>https://www.finlab.tw/mae-distribution-stop-loss-setting/</link>
					<comments>https://www.finlab.tw/mae-distribution-stop-loss-setting/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 17 Aug 2023 03:06:06 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[MAE]]></category>
		<category><![CDATA[停損]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=5476</guid>

					<description><![CDATA[停損砍不下手怎麼辦？
最近股市明顯回檔，很多人都套牢了，有人整天憂鬱地想等解套，有人心狠的砍停損，你是哪一種?
要脫離韭菜，最重要的一步就是「停損」要砍得下手，把資金放到有希望的地方，而不是一直在絕望的深淵等待「奇蹟」，「奇蹟」之所以為奇蹟，是因為他不會一直發生，而量化交易要成功，就是高機率的事情重複做。]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">停損砍不下手怎麼辦？<br>最近股市明顯回檔，很多人都套牢了，有人整天憂鬱地想等解套，有人心狠的砍停損，你是哪一種?<br>要脫離韭菜，最重要的一步就是「停損」要砍得下手，把資金放到有希望的地方，而不是一直在絕望的深淵等待「奇蹟」，「奇蹟」之所以為奇蹟，是因為他不會一直發生，而量化交易要成功，就是高機率的事情重複做。<br>如果你有做過量化，就知道交易虧損是常態，60%勝率的策略已相當不錯，但也代表仍有 40%的虧損交易是你要面對的。<br>這些虧損放到長時間的策略報酬曲線，會顯示回檔只是小小的過程，重點是不要讓他變大賠！讓你可以長期待在市場享受利滾利。</p>



<h2>如何將虧損控制在可控的範圍？</h2>



<p class="has-medium-font-size">finlab package 針對此問題有對應的檢測法，一般的投顧老師不會跟你提，學會這招你就不用怕停損在最低點，而是停損在最關鍵位置。<br>使用MAE波動分析工具: <code>report.display_mae_mfe_analysis()</code>就可以輕鬆顯示分析圖表，如果你想了解 API 的詳細功能，可見 <a href="https://doc.finlab.tw/reference/report/#finlab.analysis.Report.display_mae_mfe_analysis" target="_blank" rel="noopener">文檔</a> 和 <a href="https://www.finlab.tw/display_mae_mfe_analysis/">部落格相關教學</a>。</p>



<h2>歷史波動視覺化</h2>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="843" src="https://www.finlab.tw/wp-content/uploads/2023/08/截圖-2023-08-16-下午5.00.58-1024x843.png" alt="截圖 2023 08 16 下午5.00.58" class="wp-image-5477" srcset="https://www.finlab.tw/wp-content/uploads/2023/08/截圖-2023-08-16-下午5.00.58-1024x843.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/08/截圖-2023-08-16-下午5.00.58-300x247.png 300w, https://www.finlab.tw/wp-content/uploads/2023/08/截圖-2023-08-16-下午5.00.58-768x632.png 768w, https://www.finlab.tw/wp-content/uploads/2023/08/截圖-2023-08-16-下午5.00.58.png 1327w" sizes="(max-width: 1024px) 100vw, 1024px" title="脫離韭菜命運的關鍵：利用MAE分析實踐正確的停損 40"></figure>



<p class="has-medium-font-size">範例圖中藍色的部分是獲利的交易、紅色是虧損的交易，可以知道多數獲利的交易在持有歷程中比起虧損交易擁有較小的「最大不利方向跌幅(MAE)」。</p>



<p class="has-medium-font-size">幾乎全部獲利的交易對都不會在持有過程中面臨 -10% 的套牢窘境，換句話說，只要持有歷程的報酬率是小於 -10% ，那最終都很難翻身變成獲利的交易，繼續放反而容易有大賠風險。</p>



<p class="has-medium-font-size">而虧損交易有 25% 在持有過程中面臨 超過 -10% 的套牢窘境，也就是說若停損設在 -10%，有機會將大賠的交易有機會縮小到 -10% 左右。</p>



<p class="has-medium-font-size">總結來說，藉由這個分析圖，可以發現將停損設在 -10% 是很不錯的位置，保留獲利，提早止血，藉由統計分析，讓你知道你停損的點位是在做「正確」的事。</p>



<h2>其他 MAE 分析要注意的重點</h2>



<ul class="has-medium-font-size"><li>不同策略有不同波動特性，有些高報酬的策略波動大，若停損設太緊，獲利交易對容易被洗掉。</li><li>如果你不喜歡下檔波動，那就要降低交易對的 MAE，一個好的交易對是除了最中有獲利，持有歷程也經歷較低的下檔波動，可以用來檢測進場點的漂亮成度。</li><li>如果獲利交易對有很大的 MAE，可能代表策略無法明顯區分獲利與虧損交易的體質，獲利部位也容易在停損的大刀下被犧牲太多，造成停損線很難設定。</li></ul>



<h2>結論</h2>



<p class="has-medium-font-size">好的策略不是只有高報酬、高夏普率，還有很多細節可以研究，你的策略擁有怎樣的 MAE 分佈圖呢？趕快來試試吧。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/mae-distribution-stop-loss-setting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5476</post-id>	</item>
		<item>
		<title>V轉指標：台股市場 ATR 波動率指標</title>
		<link>https://www.finlab.tw/tw-stock-market-atr/</link>
					<comments>https://www.finlab.tw/tw-stock-market-atr/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Wed, 16 Aug 2023 04:06:13 +0000</pubDate>
				<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[大盤漲跌]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[ATR]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=5471</guid>

					<description><![CDATA[最近市場在7月成交量明顯放大後，在8月面臨較劇烈的小型回檔，大盤不到半個月就跌了6%。很多人說股票振震幅好大，是不是要泡沫化了？ 於是 Ben 編就來小小研究一下波動率， 波動率像是地震釋放能量，一般來說地震釋出巨幅能量後，會讓賣壓宣洩，有助於未來上攻的表現，是不是真的如此呢？]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">最近市場在7月成交量明顯放大後，在8月面臨較劇烈的小型回檔，大盤不到半個月就跌了6%。很多人說股票振震幅好大，是不是要泡沫化了？ 於是 Ben 編就來小小研究一下波動率， 波動率像是地震釋放能量，一般來說地震釋出巨幅能量後，會讓賣壓宣洩，有助於未來上攻的表現，是不是真的如此呢？</p>



<h2>波動率的定義</h2>



<p class="has-medium-font-size">使用還原全息股價，計算 ATR/收盤價。 使用 ATR 的好處在除了最高最低價，還會會考慮 K 棒跳空因素，會比較符合波動真實情況。 接著再取每日市場前 20% 波動率高的標地，計算市場上波動大的股票當市場指標，排掉波動過小的標地。 最後取指標的5日均線做平滑。 </p>



<h2>測試結果</h2>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="299" src="https://www.finlab.tw/wp-content/uploads/2023/08/newplot-1024x299.png" alt="newplot" class="wp-image-5472" srcset="https://www.finlab.tw/wp-content/uploads/2023/08/newplot-1024x299.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/08/newplot-300x87.png 300w, https://www.finlab.tw/wp-content/uploads/2023/08/newplot-768x224.png 768w, https://www.finlab.tw/wp-content/uploads/2023/08/newplot-1536x448.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/08/newplot.png 1801w" sizes="(max-width: 1024px) 100vw, 1024px" title="V轉指標：台股市場 ATR 波動率指標 41"></figure>



<p class="has-medium-font-size">結果發現幾個現象： </p>



<ul class="has-medium-font-size"><li>高波動(8%以上)是買點，超高波動往往出現在大盤急跌末段，許多股票殺低後V轉的時候，最近2次都和疫情的恐慌有關。之後的波動率會開始往下掉。 目前該指標約在 0.06 左右，波動率未達過去指數崩跌後的 V轉 水準，能量還在釋放中，持續有餘震，要小心。</li><li>低波動時期(4%以下)是買點，股票逐底沈澱的階段，最近一次是今年2月，指數相對低點的時候，市場人氣低迷，沒人買股票。這時若展開牛市，波動率會開始變高。 </li><li>指數若上漲一大段後，要注意指數不動、波動率開始降低的時候，可能是人氣退潮的訊號。</li><li>現在的市場 ATR波動率 確實創今年新高，不過和歷史比，目前並沒有特別高，雖然感覺 AI 概念股很旺，但其可能在整體市場的檔數沒想像中多。 </li></ul>



<h2>附檔</h2>



<p class="has-medium-font-size"><a href="https://colab.research.google.com/drive/1qzV59q_ydeUhlPiPeGGz-WsHrkpZd1rG?usp=sharing" target="_blank" rel="noopener">colab檔案</a>，有興趣可自行取用，一起來研究波動率的影響力。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/tw-stock-market-atr/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5471</post-id>	</item>
		<item>
		<title>新手看價，老手看量，高手看波動率</title>
		<link>https://www.finlab.tw/low_volatility_research/</link>
					<comments>https://www.finlab.tw/low_volatility_research/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Wed, 17 May 2023 04:25:40 +0000</pubDate>
				<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[VIP限定]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=5357</guid>

					<description><![CDATA[瘋狂波動下的投資秘訣！極簡方法改良選股策略大揭密]]></description>
										<content:encoded><![CDATA[
<p>想快速了解內容的話，可先觀看 YT 影片「<a href="https://www.youtube.com/watch?v=FMGlTrjD8d4" target="_blank" rel="noopener">瘋狂波動下的投資秘訣！極簡方法改良選股策略大揭密</a>」</p>



<h2><strong>前情回顧</strong></h2>



<p>2月的時候傳授了「<a href="https://www.youtube.com/watch?v=Fv8ePbCGVSI&amp;t=10s" target="_blank" rel="noopener">低價股策略的實戰訣竅</a>」給小資族的 Andy，Andy也將策略上線，用小資金實戰，來問問 Andy的操作心得吧！</p>



<p>Andy:「低價股投資組合在上月表現不錯耶! 單月報酬率有近4%，大盤同期是1.6%。小賺一波，所以我今晚的麥當勞直接升級豪華套餐，不考慮價錢就點餐的感覺真爽。」</p>



<p>FinLab:「恭喜恭喜！那投組中個股的表現是如何呢？」</p>



<p>Andy:「投資組合果然和上次教學說的一樣，這檔策略勝率普通，靠大賺小賠來獲利。上期的持股戰績是3勝2敗，其中有一檔大賺24%，一夫當關，撐起主要報酬率。」</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="300" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-5-1024x300.png" alt="image 5" class="wp-image-5363" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-5-1024x300.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-5-300x88.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-5-768x225.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-5-1536x450.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-5.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 42"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="269" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-1-1024x269.png" alt="image 1" class="wp-image-5359" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-1-1024x269.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-1-300x79.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-1-768x202.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-1.png 1390w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 43"></figure>



<figure class="wp-block-image"><img/></figure>



<p>FinLab:「量化投資的持有過程有什麼體會呢？可能你觀察到的一些現象，會對策略再優化有幫助喔！」</p>



<ol><li>Andy:「目前使用起來用兩點疑問～<br>體會到停損蠻重要的，像這次有一檔 8429 就觸發5%停損訊號，如果拖延到3/1才出場，又要多賠一些，這次有止血到，感覺 8429 好像是假突破走勢，急拉後騙人買在高點，有辦法避免假突破嗎？</li><li>另外低價股策略只有用到價量，沒用到基本面條件，好像會選到一些財務面看來很高的股票，像這次停損的8429 營收看起來好可怕，幾乎是崩盤式衰退，沒安全感持有。<img loading="lazy" src="blob:https://www.finlab.tw/b2e31c6d-f787-4af0-831e-91fc744f14a4" width="602" height="428" alt="b2e31c6d f787 4af0 831e 91fc744f14a4" title="新手看價，老手看量，高手看波動率 44"></li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="730" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-17-1024x730.png" alt="image 17" class="wp-image-5375" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-17-1024x730.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-17-300x214.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-17-768x547.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-17-1536x1094.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-17.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 45"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="940" height="1024" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-16-940x1024.png" alt="image 16" class="wp-image-5374" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-16-940x1024.png 940w, https://www.finlab.tw/wp-content/uploads/2023/05/image-16-275x300.png 275w, https://www.finlab.tw/wp-content/uploads/2023/05/image-16-768x837.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-16-1409x1536.png 1409w, https://www.finlab.tw/wp-content/uploads/2023/05/image-16.png 1459w" sizes="(max-width: 940px) 100vw, 940px" title="新手看價，老手看量，高手看波動率 46"></figure>



<p>FinLab:「Andy 你的觀察很棒！策略構思就是在發想 、實作驗證、觀察的過程中反覆精進，確實我們上次著重在討論進場點，對賣點比較少著墨，還記得低價股策略用到的參考書籍『飆股的長相』嗎？書中後半段就有提用『波動率』避免買到過熱的假突破股票。讓我們一探究竟吧！」</p>



<h2><strong>最強大的技術指標？K線波動率</strong></h2>



<h3>創新高選股與股價波動</h3>



<p>飆股的長相：「在股價創新高的當日，波動率越低，後續飆漲的機會越高。」</p>



<p>你喜歡衝漲停還是漲不停的股票？<br>創新高價的選股方式最怕買到過熱的股票，股價波動就像登山，一鼓作氣想登頂者，反而容易過早氣力放盡而失速回檔，反而是波動小的股票容易細水長流，慢慢飄上去。<br>近年台股當沖和隔日沖當道，很喜歡去找波動大的股票鎖漲停，這類的股票就容易短期再急跌回檔，也就是波動大的股票容易有不安定籌碼，造成股價公式不順，反而低波動慢慢創新高的股票，背後推進股票的買家比較不會短期出貨，更容易穩定上漲，降低假突破的機率。</p>



<p>可從下圖兩張K線圖了解，股價波動率(k線長短)與趨勢關係。</p>



<figure class="wp-block-image"><img/></figure>



<figure class="wp-block-image"><img/></figure>



<h3>波動率的概念</h3>



<p>看波幅而不注重股價變動方向。<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" width="960" height="540" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-9.png" alt="image 9" class="wp-image-5367" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-9.png 960w, https://www.finlab.tw/wp-content/uploads/2023/05/image-9-300x169.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-9-768x432.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-9-800x450.png 800w" sizes="(max-width: 960px) 100vw, 960px" title="新手看價，老手看量，高手看波動率 47"></figure>



<h3>K 線波動率的定義與公式</h3>



<p>K線波動率（K-Line volatility）是一種股市波動率的計算方法，常用於股票市場技術分析中。它是基於K線圖樣的變化來計算的，可以用來評估股票市場的波動程度。</p>



<p>K線圖是用來表示股票市場走勢的一種圖表。每個K線包含了一段時間內的開盤價、最高價、最低價和收盤價。</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="600" height="446" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-4.png" alt="image 4" class="wp-image-5362" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-4.png 600w, https://www.finlab.tw/wp-content/uploads/2023/05/image-4-300x223.png 300w" sizes="(max-width: 600px) 100vw, 600px" title="新手看價，老手看量，高手看波動率 48"></figure>



<p>K線波動率的計算基於這些價格資訊所計算，這個指標是由飆股的長相作者所自創，比起另一個常用的波動指標 ATR ，更能完整涵蓋波動細節。<br>在計算K線波動率之前，首先要先計算出「單日股價漲跌幅幅度」。</p>



<h4>單日股價漲跌幅幅度公式</h4>



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



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



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



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



<h4>飆股的長相 &#8211; 自創K線波動率算法</h4>



<p>波動率(%) = 「單日波動幅度」的月平均值 / 收盤價的月平均值 * 100</p>



<h3>波動率應用</h3>



<p>參考自「飆股的長相」，作者認為股價創新高的當日，波動率若越低，後續飆漲的機率越高。<br>作者以日本股市的標準，建議投資風險謹慎的投資人最好選擇波動率4%以下的股票，避開6%以上的高風險股票。<br>不過作者也指出這樣的標準不一定適用每一國股市和類股，小型股波動越高。但波動率越低愈有飆漲潛力的原則，無論在哪一國都成立。</p>



<figure class="wp-block-table"><table><tbody><tr><td>波動率</td><td>創新高延續成功機率</td><td>投資風險</td></tr><tr><td>低於4%</td><td>40%</td><td>小</td></tr><tr><td>4% &#8211; 6%</td><td>35%</td><td>中</td></tr><tr><td>6% 以上</td><td>25%</td><td>大</td></tr></tbody></table></figure>



<h4>創新高回測</h4>



<p>飆股的長相：「在股價創新高的當日，波動率越低，後續飆漲的機會越高。」也適用於台股嗎？</p>



<p>使用 Finlab 模組來驗證上述論點是否適用，上市櫃個股創200日新高，每月底換股，加上不同數值的波動率濾網做條件，可以發現夏普比率、MDD 與波動率呈現明顯反向關係(排除2%超低波動率情況。)，年化報酬率最高的為波動率為8%以下的情況，若波動率拉高，追突破動能的風險也會開始增加。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="293" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-10-1024x293.png" alt="image 10" class="wp-image-5368" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-10-1024x293.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-10-300x86.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-10-768x220.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-10-1536x440.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-10.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 49"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="293" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-1024x293.png" alt="image" class="wp-image-5358" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-1024x293.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-300x86.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-768x220.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-1536x440.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 50"></figure>



<h4>個股回測</h4>



<p>以 2330 台積電近3年波動率來看，範圍大概在2-8%，創高趨勢若碰上K線波動率到 6-8% ，後續面臨回檔的風險會變高。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="458" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-18-1024x458.png" alt="image 18" class="wp-image-5376" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-18-1024x458.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-18-300x134.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-18-768x343.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-18-1536x686.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-18.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 51"></figure>



<p>再看一張圖，標的是「低價股策略」上期大漲的 2017 官田鋼，可以發現小型股本的股票再創高時，確實波動率越小時進場，回檔風險越小。波動率比大型股高很多，可以高達20%以上，如果用「飆股的長相」作者的標準，看到波動率飆破8就賣掉，可能會錯過小型股主噴段。</p>



<h3><img loading="lazy" src="blob:https://www.finlab.tw/fdab33c4-6504-4ff6-abd4-5b15ae0b44f8" width="602" height="269" alt="fdab33c4 6504 4ff6 abd4 5b15ae0b44f8" title="新手看價，老手看量，高手看波動率 52"></h3>



<h3>低波動的好處</h3>



<p>追創新高的股票最怕買到假突破而買到最高點，或是中間被震出場，小賺一點就跑了，結果後來又噴上去，買對卻大賺不到，這種結果常讓人欲哭無淚！</p>



<p>如何避免此問題？</p>



<p>那就是採用「低波動進場」來控制風險，這對新手是很重要的觀念。</p>



<p>若股價上漲，但波動很大，仍是我們要避免的高風險股票，持有過程波動劇烈也比較容易提早停損停利而被洗出場，不容易控制持有過程。</p>



<p>若股價下跌，但低波動，下檔波動變小，比較能將停損訊號設緊，並降低移動出場訊號的觸發頻率過高，滑價風險也較小。交易最重要的是避免大陪風險，少虧為盈。</p>



<p>做波段的新手持有低波動的股票，持有過程比較舒服，避開獵殺高波動股票的當沖族，有比較高的機率抱到創高大波段。當沖難度在於進場點多在高波動，觸發停損機率高，若做不到出場紀律，容易只有慘賠的份。</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="960" height="540" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-12.png" alt="image 12" class="wp-image-5370" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-12.png 960w, https://www.finlab.tw/wp-content/uploads/2023/05/image-12-300x169.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-12-768x432.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-12-800x450.png 800w" sizes="(max-width: 960px) 100vw, 960px" title="新手看價，老手看量，高手看波動率 53"></figure>



<h2>低價股策略+低波動率進場</h2>



<p>將原本的低價股策略加入低波動進場條件，測試K線波動率小於特定數值範圍[4,6,8,10,12,14]，看看不同數值的結果。</p>



<p>結果發現越低的波動率越無法帶有報酬率攻擊性，並無法帶來較多報酬。<br>低波動比較偏防禦屬性，最大回檔、勝率、個股交易回檔數值都明顯比高波動情況好。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="300" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-8-1024x300.png" alt="image 8" class="wp-image-5366" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-8-1024x300.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-8-300x88.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-8-768x225.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-8-1536x450.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-8.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 54"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="300" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-2-1024x300.png" alt="image 2" class="wp-image-5360" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-2-1024x300.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-2-300x88.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-2-768x225.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-2-1536x450.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-2.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 55"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="207" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-13-1024x207.png" alt="image 13" class="wp-image-5371" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-13-1024x207.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-13-300x61.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-13-768x155.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-13-1536x310.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-13.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 56"></figure>



<p>加入低波動前</p>



<p><strong></strong><strong><br></strong>加入低波動10%以下後</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="1020" height="932" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-11.png" alt="image 11" class="wp-image-5369" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-11.png 1020w, https://www.finlab.tw/wp-content/uploads/2023/05/image-11-300x274.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-11-768x702.png 768w" sizes="(max-width: 1020px) 100vw, 1020px" title="新手看價，老手看量，高手看波動率 57"></figure>



<h2>加入基本面指標會更好？</h2>



<p>Andy:「低價股策略沒用到基本面指標，也許多個基本面條件加上低波動率有不錯效果，可以試試看嗎？」</p>



<p>FinLab:「加入短期營收大於長期營收的要件看看，這是蠻常用的基本面成長指標，如此能找到營收成長或步入旺季的公司，避開衰退個個股，像前面提到的8429金麗KY就會被過濾掉。習慣使用近2月營收大於近12月營收，短期用2月是考量過年因素，過年可能在1-2月，兩月加在一起會比單月公準。」</p>



<h3><br>營收趨勢示例<br></h3>



<p>紅線：短期(近2月平均營收)，黑色：長期(近12月平均營收)</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="960" height="540" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-6.png" alt="image 6" class="wp-image-5364" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-6.png 960w, https://www.finlab.tw/wp-content/uploads/2023/05/image-6-300x169.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-6-768x432.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-6-800x450.png 800w" sizes="(max-width: 960px) 100vw, 960px" title="新手看價，老手看量，高手看波動率 58"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="940" height="1024" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-15-940x1024.png" alt="image 15" class="wp-image-5373" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-15-940x1024.png 940w, https://www.finlab.tw/wp-content/uploads/2023/05/image-15-275x300.png 275w, https://www.finlab.tw/wp-content/uploads/2023/05/image-15-768x837.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-15-1409x1536.png 1409w, https://www.finlab.tw/wp-content/uploads/2023/05/image-15.png 1459w" sizes="(max-width: 940px) 100vw, 940px" title="新手看價，老手看量，高手看波動率 59"></figure>



<h3>低波動+營收成長</h3>



<p>回測的結果還真的被Andy說中了，低波動低價股策略加上加了基本面指標後，在波動率為8%的情況下，連獲利相關指標都升到第一名，綜合評分的結果與第二名有一段差距。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="300" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-7-1024x300.png" alt="image 7" class="wp-image-5365" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-7-1024x300.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-7-300x88.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-7-768x225.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-7-1536x450.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-7.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 60"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="300" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-3-1024x300.png" alt="image 3" class="wp-image-5361" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-3-1024x300.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-3-300x88.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-3-768x225.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-3-1536x450.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-3.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 61"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="224" src="https://www.finlab.tw/wp-content/uploads/2023/05/image-14-1024x224.png" alt="image 14" class="wp-image-5372" srcset="https://www.finlab.tw/wp-content/uploads/2023/05/image-14-1024x224.png 1024w, https://www.finlab.tw/wp-content/uploads/2023/05/image-14-300x66.png 300w, https://www.finlab.tw/wp-content/uploads/2023/05/image-14-768x168.png 768w, https://www.finlab.tw/wp-content/uploads/2023/05/image-14-1536x336.png 1536w, https://www.finlab.tw/wp-content/uploads/2023/05/image-14.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" title="新手看價，老手看量，高手看波動率 62"></figure>



<p>限制在低波動情況下，過濾掉不穩定的股票，往下震盪空間變小，停損設緊一點(3%)更能有效止血，將夏普率、MDD控制的比先前更好，2008至2023年只有一年虧損。</p>



<h2><strong></strong></h2>



<p>Andy:「太棒了！我的問題獲得解決了，想不到低波動率有這樣的好處，策略加上基本面後，也有效解決選到高衰退股的機率，策略獲利能力也提升，我抱股也比較安心了。」</p>



<h2>下期預告</h2>



<p>找到漂亮的買點等於掌握風險，立於不「大敗」之地，了解低波動的概念對小資族非常重要。</p>



<p>K線波動率不只對找安全的買點有幫助，更能應用在「賣點」的判斷。<br>股市江湖有句老話：「會買是徒弟，會賣是師傅。」，找到漂亮的賣點幫助我們鎖住獲利，這也是比較難的部分，有了K線波動率的概念後，下一集我們會來研究不同波動率之下適用的賣出指標：</p>



<ul><li><strong>閃崩賣出指標 &#8211; 賣出轉換線</strong></li><li>摸頭賣出指標 &#8211; 順位相關係數</li></ul>



<p>持續讓小資族的量化選股能力進擊！</p>



<p><a href="https://drive.google.com/file/d/1YHzthYj1-ruAFsHIrtdz5WsHMpBlthaW/view?usp=sharingRApKLJsttedOBcGm?usp=sharing" target="_blank" rel="noopener">colab 檔案連結</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/low_volatility_research/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5357</post-id>	</item>
		<item>
		<title>成長飆股怎麼找？超級績效選股法大解密</title>
		<link>https://www.finlab.tw/%e6%88%90%e9%95%b7%e9%a3%86%e8%82%a1%e6%80%8e%e9%ba%bc%e6%89%be-%e8%b6%85%e7%b4%9a%e7%b8%be%e6%95%88%e9%81%b8%e8%82%a1%e6%b3%95%e5%a4%a7%e8%a7%a3%e5%af%86/</link>
					<comments>https://www.finlab.tw/%e6%88%90%e9%95%b7%e9%a3%86%e8%82%a1%e6%80%8e%e9%ba%bc%e6%89%be-%e8%b6%85%e7%b4%9a%e7%b8%be%e6%95%88%e9%81%b8%e8%82%a1%e6%b3%95%e5%a4%a7%e8%a7%a3%e5%af%86/#respond</comments>
		
		<dc:creator><![CDATA[Henya]]></dc:creator>
		<pubDate>Mon, 20 Mar 2023 09:32:33 +0000</pubDate>
				<category><![CDATA[投資新手]]></category>
		<category><![CDATA[FinLab YouTube]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[技術面]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[成長股]]></category>
		<category><![CDATA[投資風險]]></category>
		<category><![CDATA[賺錢]]></category>
		<category><![CDATA[超級績效]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=5129</guid>

					<description><![CDATA[美國投資冠軍的著名著作《超級績效》你看過了嗎？其中到底有甚麼選股奧秘，要如何獲得超額報酬，我們一起來一探究竟。 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img loading="lazy" width="471" height="464" src="https://www.finlab.tw/wp-content/uploads/2023/02/image-3.png" alt="image 3" class="wp-image-5148" srcset="https://www.finlab.tw/wp-content/uploads/2023/02/image-3.png 471w, https://www.finlab.tw/wp-content/uploads/2023/02/image-3-300x296.png 300w" sizes="(max-width: 471px) 100vw, 471px" title="成長飆股怎麼找？超級績效選股法大解密 68"></figure>



<p class="has-medium-font-size">美國投資冠軍的著名著作《超級績效》你看過了嗎？其中到底有甚麼選股奧秘，要如何獲得超額報酬，我們一起來一探究竟。</p>



<h2>這位投資冠軍是什麼人物</h2>



<p class="has-medium-font-size">作者馬克．米奈爾維尼是1997年美國投資大賽的最終冠軍，那一年比賽較特別的是，有別於以往開始適用了新規定，也就是參賽者可以任意交易股票、選擇權、期貨或各種組合，所以聽起來，若沒有跟著運用槓桿，像作者這樣的純粹股票交易者勢必會在投資競賽中處於劣勢。不過，最後他在比賽中透過股票交易獲得的全年總報酬是155%，幾乎是第二名的兩倍。</p>



<p class="has-medium-font-size">大家也許會開始好奇他的背景，是不是金融相關領域出身、是不是早年就受到高人指點、或是天生擁有卓越交易天分等，但事實上，他只是個15歲就高中輟學的平凡小散戶，而在那個年代，他所擁有的工具、技術、資源肯定還比現在現在看到這篇文章的你還少，最初他自己開始交易時也只有幾千塊錢(美金)的資本，跟多數人一樣，也都會犯投資新手會犯的錯誤，也是經過多年的研究磨練，才找到如此創造超級績效的方法。</p>



<p class="has-medium-font-size">而作者寫這本書的宗旨正是要告訴大家如何發展出這方面的專業技巧，Finlab這次想選用這主題，也是想向大家分享散戶起家卻如此成功的案例與法門，並邀請使用者們繼續跟我們一起從中學習。</p>



<p class="has-medium-font-size">如果你是完全的投資新手、想開始學投資但不知道從哪裡下手的人、想嘗試做量化選股但不知道有什麼工具的人、或是有一定市場經驗但總是賺不到錢的人，那麼非常推薦你繼續看下去。</p>



<p class="has-medium-font-size">本文除了重點介紹書中精華，也將嘗試把書中選股邏輯程式化，首先驗證看看是否能單純用程式於美股複製出超級績效策略，並且帶大家一起將這套簡短程式應用於台股。我們究竟能不能也在台股中創造出同樣的超級績效策略呢？</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2>論投資心態</h2>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>在成功能夠發生在現實世界之前，首先必須發生在心靈上。</em></p></blockquote>



<p class="has-medium-font-size">大家點進來這篇文章，也許會想急著問，所以到底要買什麼股票、還是有什麼特殊秘訣才能賺錢？或是其實也已經對超級績效不陌生，知道要找技術成長線型、知道VCP，但想重新看看還有什麼專業知識點是自己漏掉的。不過我認為，超級績效選股法大解密的重點不會是在選股法，而是在作者建立起這套超級績效過程的心態效仿。</p>



<p class="has-medium-font-size">投資理論看來看去就是這些，很多可用來賺錢的資訊、資源、技術也是公開的、大家都可取得的，但能實際做得到的人有多少呢，差別還是在我們自身的心態與思考模式上，畢竟我們也知道思維方式影響行為，行為影響習慣，習慣決定性格，性格決定命運，也就是關乎我們到底會不會賺到錢。</p>



<p class="has-medium-font-size">作者在書中一開始就花了一定篇幅講述投資心態，這邊也為大家整理也許已經聽到爛的精神雞湯，但希望能為大家再次建立更為健全的交易心態。</p>



<p class="has-medium-font-size">如果你自認為累積了很多交易知識，卻也一直尚未實際獲利，那也不妨回頭檢視自己在交易心態上是否有調整空間。</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>自我認識 / 自我管理</h3>



<h4 class="has-medium-font-size">首先要投資自己—有準備，才有機會</h4>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>多數人都曾經對於交易產生過興趣，但很少有人會真正許下承諾。</em><strong><em>「產生興趣」與「許下承諾」之間的差別，在於堅持的意志力。當你對於某件事許下真正的承諾，除了成功之外，將別無其他選擇。</em></strong></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>股票市場的賺錢機會可能會突然出現。如果想要有效掌握這些機會，你就必須要有所準備，隨時讓自己能夠付諸行動。</em></p></blockquote>



<h4 class="has-medium-font-size">揮灑你的熱情</h4>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>以我個人來說，當我決定忘卻金錢，而把注意力完全集中在如何讓自己成為頂尖交易者時，那就成為了我獲致成功的關鍵；至於錢財，他們自然會來找你。</em></p></blockquote>



<h4 class="has-medium-font-size">最好的開始時機</h4>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>只擁有知識、夢想和熱情是不夠的；如何實際發揮這一切，才是決定勝負的關鍵。即使不能成為富豪，熱情追求本身也起碼能夠讓你覺得快樂。從事自己喜歡的工作，投入自己所擁有的一切，這就是人生獲致成功的最佳機會。這種機會就開始於今天，最佳時機就是當下。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>除非你實際採取行動，否則不會有任何成果。你如果要等待最佳時機，或等到所有的條件具備，你很可能永遠都不會開始。動手做些不完美的事情，往往勝過完美地無所作為。</em></p></blockquote>



<h4 class="has-medium-font-size">你想要的是什麼-判斷正確？還是賺錢？</h4>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>股票市場隨時會冒出機會或危機。交易者必須採取迅速而果斷行動，才能及時掌握機會，或排除危機。認賠一筆重大的失敗交易，最能考驗投資人的勇氣。我要的是裡子，不是面子。我要賺錢，沒必要強行維護自尊。</em></p></blockquote>



<h4 class="has-medium-font-size">交易是一門事業</h4>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>大多數投資人只是把交易當成一種嗜好，因為他們另有全職的工作。可是，你如果把交易當作事業經營，他就會提供經營事業的報酬。如果你只是把交易當作嗜好，那麼他也就只會像個嗜好來報答你，但嗜好是不會提供報酬的，它反而只會讓你付出代價。</em></p></blockquote>



<p class="has-medium-font-size">在1980年代，作者剛開始從事交易時，沒有所謂的即時報價、沒有價格走勢圖，也沒有任何研究工具，甚至當時他也沒有網路可以使用、沒有線上交易，每天只能查閱報紙所刊載的收盤價，透過手工方式繪製股價走勢圖。但是，他依然每個禮拜投入七、八十個鐘頭學習，日以繼夜研究股價走勢與企業財報。</p>



<p class="has-medium-font-size">如果我們對於做交易一樣有如此堅定的意志力，搭配在現代唾手可得的各種技術資源，相信賺錢獲利只是個確定會發生的已知結果。</p>



<p class="has-medium-font-size">對於揮灑熱情、把注意力集中於手頭事項這個部分，我也非常認同。各個領域的成功人士，不論是像諾貝爾獎得主、企業家、歌手、演員、或是我們自身曾經取得任何印象深刻的突破時，幾乎都不會是因為我們一心想著要取得某個固定成就，而是單純投入於其中，在不知不覺間那長久的累積都會有它的回報。當專注在生活中每個當下，做有所熱情的事，豐盛自然會到來。</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>風險管理 / 永遠備妥計畫</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>風險來自於你不知道自己在幹嘛。</em> &#8211; <em>華倫巴菲特</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>如果想要避免發生重大虧損，唯一辦法就是在小損失累積為大虧損之前斷然認賠。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>投機者如果想賺大錢，避免發生重大虧損是不二法門。我們不能控制股價漲跌，但通常可以控制虧損程度。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>投機活動是預期某些即將發生的事態，然後等待事實證明所預期的事態是否發生。你備妥一份計畫，然後開始執行。交易完成之後，你評估結果，作出必要的修正，然後準備新的計畫。關鍵是你應該客觀看待真實的狀況，不會因為恐懼而把事態看得更糟，也不會因為貪婪而把狀況看得更好。</em></p></blockquote>



<p class="has-medium-font-size">開頭提到作者在投資大賽中與其他期貨選擇權交易者的競爭中依然勝出甚多，作者在書中表示，這是因為他並沒有因此而過分冒險或過分交易，當他發現自己成績大幅落後時，也沒有因此而慌張，更沒有因此修改自己的規則，而是單純更專注於自己的交易計畫，還有兩個致勝關鍵：一致性與風險管理。</p>



<p class="has-medium-font-size">一般投資人經常在完成部位建立之後，開始陷入猶豫及迷惘的階段，不知道接下來應該如何處理。如果沒有備妥計畫，所有的交易者不免會擺盪於猶豫與懊悔兩種情緒之間。像是猶豫：是否應該買進、是否應該賣出、是否應該持續持有，或是懊悔：我原本應該買進、我原本應該賣出、我原本應該繼續持有。</p>



<p class="has-medium-font-size">制定計畫、擁有一套具一致性的交易法則是作者強調的重點。而我想在這邊，程式交易也正是能有效幫助我們達成此目標的必要工具。</p>



<p class="has-medium-font-size">透過把選股邏輯程式化，對於是否該進場該出場，馬上能有個精準確定的依據，而根據回測系統的結果展示，也能清楚知道各個選股邏輯是否真正有效、還有哪裡可以修正。</p>



<p class="has-medium-font-size">本篇文章後半將會集合書中所提到的找成長股/市場領導股邏輯，寫成一支順勢策略，若大家已熟悉程式交易、自動/半自動下單等的操作，那也許多認識了這支擁有超額報酬的策略確實就能馬上實際運用賺到更多錢。</p>



<p class="has-medium-font-size">不過若是投資新手，不管是技術上因素或是心態上因素無法做到跟著策略訊號買賣，例如說出現買出訊號，但主觀上想等待更好時機反而錯過有效進場點；或是相對的，已經看到策略出現賣出訊號，卻可能對其中幾檔個股存有莫名信心、有感情，遲遲沒有實際賣出而導致超出預期的虧損；或甚至，在開始虧損後則馬上對策略失去信心而回到主觀、純手動、相對沒紀律的操作，這都是非常可惜但絕對可以從心態調整或透過技術提升避免的。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2>投資小白要從哪些面向切入研究呢？–特定進場點分析SEPA</h2>



<p class="has-medium-font-size">特定進場點分析SEPA(Specific Entry Point Analysis)是作者自行發展出的一套選股原則，而這也是非常適合推薦給投資新手，當不知道從哪裡開始研究、或是不知道原本自有的交易策略要如何改善時的重點探討面相。</p>



<p class="has-medium-font-size">SEPA的五大要素分別是1.趨勢2.基本面 3.催化事件 4.進場點 5.出場點，結合了企業基本面與股價技術面行為的資訊。學投資做交易要認識的內容實在太多，不知道從哪裡下手就由這幾個面向切入吧，也可以用來檢視自己在實際交易時是否在這幾個面向的觀察運用上還有優化空間。以下也簡短節錄各項重點：</p>



<h4 class="has-medium-font-size">趨勢</h4>



<p class="has-medium-font-size">每支超級強勢股的積極發展階段，幾乎都發生在明確的股價上升趨勢中。而且這些趨勢幾乎都可以在超級漲勢發動初期獲得辨識。</p>



<h4 class="has-medium-font-size">基本面</h4>



<p class="has-medium-font-size">超級強勢發展階段的驅動力量，大多來自於盈餘、收益、毛利等因素的改善。</p>



<h4 class="has-medium-font-size">催化事件</h4>



<p class="has-medium-font-size">價格曾經大漲的每支股票，其背後都有催化事件。這些催化事件乍看之下未必明顯，但只要針對公司資料稍作探索，就不難找到與超級潛能有關的線索。</p>



<h4 class="has-medium-font-size">進場點</h4>



<p class="has-medium-font-size">拿捏進場時效很關鍵，如果進場時效拿捏不正確，可能就會遭遇不必要的停損。多頭行情發展過程中，正確拿捏進場時效，可以讓交易部位立即處於獲利狀態。</p>



<h4 class="has-medium-font-size">出場點</h4>



<p class="has-medium-font-size">展現超級績效強勢股性質的股票，最後未必都能成功。對於這些潛力股，即使進場時機拿捏正確，同樣未必能夠賺錢。所以，為了保障交易資本，部位必須設定停損，迫使失敗部位認賠。</p>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size">SEPA的目的，是運用所有重要資訊，針對高勝算交易，選定精確的進場點。目標是買進股票後，部位立即處於獲利狀態。</p>



<p class="has-medium-font-size">而作者也提到，他會綜合考慮所有相關的基本面、技術面、市場面等因素，讓整體支撐條件都彼此收斂。所以唯有當全部的考量因素（包括：公司基本面、股價、成交量活動，乃至於大盤市況）都彼此配合時，才會執行交易。</p>



<p class="has-medium-font-size">作者實際運用SEPA的篩選程序為：</p>



<p class="has-medium-font-size">1.股票必須符合「趨勢樣板」(下一段落即會提到，本文的範例策略也將用此作為技術面主要選股邏輯)的條件，才能視為是潛在的SEPA候選股。</p>



<p class="has-medium-font-size">2.符合「趨勢樣板」條件的股票，還需要經由一系列濾網（盈餘、銷貨、毛利成長、相對強度、價格波動程度等）做篩選。符合「趨勢樣板」條件的股票當中，大約有百分之九十五會在這個篩選程序被剔除。</p>



<p class="has-medium-font-size">3.將候選股票與「領導股輪廓側寫」比對。也就是評估特定候選股所具備的各項因素，並與過去超級強勢股所建構之歷史模型基本面和技術面條件相比對，觀察兩者之間的符合程度。</p>



<p class="has-medium-font-size">4.最後階段採用人工評估。濃縮候選清單中的每個標的，都會個別進行檢定，再根據「相對優先順序」評估程序打分數，而該評估程序包括：盈餘與銷貨數據、盈餘與銷貨意外事件的歷史、每股盈餘成長與加速狀況、收益成長與加速狀況、專業分析師盈餘估計修正、毛利率、產業與市場地位、潛在催化事件、與相同類股中其他股票的績效比較、流動性風險等。</p>



<h3>股票篩選程序</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>進行定量分析時，盡量保持單純，不要採用複雜的模型。每次篩選時，不要同時考慮太多篩選準則，否則可能就會不經意地剔除掉適當的候選股，只因為該股票不符合某單一篩選準則。比較好的辦法，是採用多層次篩選，但每次篩選不要納入太多準則。第一：針對相對強度和趨勢做篩選、第二：針對盈餘與銷貨等基本面因素做篩選。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em><em>如果想取得具有一致性的超級績效，我們就需要把袖子捲起來，做些傳統的人工分析。</em></em></p></blockquote>



<p class="has-medium-font-size">由作者實際運用SEPA的篩選程序與他整體的股票篩選大方向，可以看出他會運用到大量人工(不論是用人力看大量技術線型圖表或是閱讀財報、找產業相關書面資訊、分析師報告等)，並且有多層次的篩選。不過像本篇文章開頭提到的，除了帶大家理解相關知識點之外，我們正是也想驗證看看，這套超級績效選股是否能完全透過程式複製出來，所以我們將直接篩選使用其中部分邏輯，寫進程式策略。</p>



<p class="has-medium-font-size">但不管回測績效如何，我們也不該摒棄原本的人工篩選方法，我們依然可以從中找到能用來輔助並加強程式的關鍵邏輯。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2>順勢交易—成長股怎麼找</h2>



<p class="has-medium-font-size">在眾多類型的交易策略中，最純粹也最好理解的概念就是找到成長飆股做順勢交易，買低賣高，進場出場，就這麼簡單，而在超級績效中運用的核心邏輯，其實就也就只是這樣，身為投資新手的你一定也能完全理解。</p>



<p class="has-medium-font-size">不過實際上是透過哪些面向鎖定成長股的特徵，我們繼續由SEPA中所提到的趨勢、基本面、進場點、出場點等因素中探討下去。</p>



<h3>趨勢—成長型股票生命週期</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>一支股票的基本面如果發生了狀況，在問題明朗化之前，價格行為經常會先出現重大變化，提前透露出訊息。即使我們完全看不出市場人氣發生變化的理由，但對於這類變化務必要予以尊重。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>法人機構龐大買盤所創造的長期趨勢，才是乘風破浪所需要的順風，你必須想辦法讓自己跟這股龐大力量配合。指買進上升趨勢明確的股票，才更有機會掌握真正的超級強勢股。</em></p></blockquote>



<p class="has-medium-font-size">有些投資者也許秉持著純基本面派的精神，不過作者的看法是，價格除非經過市場確認，否則對於特定企業的基本面看法，從來不敢保有太大信心。因為一家公司的管理與產品真的很棒，這方面基本面條件就遲早該反應在股價行為上。強勁的基本面條件，如果不能獲得股價行為的確認，未來展望看起來恐怕就沒那麼光明。唯有當機構買盤大舉進場，推升股價顯著走高，再考慮進場。如果要達到這個目的，在進場之前，我們就必須先確定這類的資金流入已經發生。</p>



<p class="has-medium-font-size">依據股價價格行為，可以將四個階段劃分為：</p>



<p class="has-medium-font-size">第一階段—忽略階段：整理</p>



<p class="has-medium-font-size">第二階段—上升階段：承接</p>



<p class="has-medium-font-size">第三階段—做頭階段：出貨</p>



<p class="has-medium-font-size">第四階段—下降階段：投降</p>



<p class="has-small-font-size"><img loading="lazy" width="553" height="274" src="https://lh3.googleusercontent.com/Ohm2vzsMOECkn64E-YpZ-274FFdhIupYyDVXmMpoSlNjLx3vTOVMYITffF-A4AdCCWf_O5e2FLE1aasGixSMdXF_fEc6H7ErAOCqOdaatnGUIa3PECLclQt82_sOgKN8JAhHA7cDIcRHU2FQBWou3Nk" alt="Ohm2vzsMOECkn64E YpZ 274FFdhIupYyDVXmMpoSlNjLx3vTOVMYITffF" title="成長飆股怎麼找？超級績效選股法大解密 69"></p>



<p class="has-small-font-size">股票價格生命週期四階段</p>



<p class="has-medium-font-size">其中持上升趨勢的第二階段，正是我們順勢策略中想找來做多的成長股階段。在這個階段，隨著由盈餘動能的累積，大型金融機構的買盤會開始積極進場。股價將呈現階梯狀上升，波段高點與回檔低點會持續墊高。公司如果能夠繼續提供好表現，成長狀況就能夠吸引投資大眾，而買盤也就仍然會源源不斷。</p>



<p class="has-medium-font-size">也許有的選股方式是想要逢低承接、逆勢找低點操作，所以選擇在第一階段提早進場，或是等到第四階段試著抄底，不過作者的思路是，如果資本想要加速複利，就必須找到最有搞頭的場所，我們絕對禁不起讓資金被套住，只為了等待另一個我們認為的基本面偉大故事慢慢醞釀成形、慢慢獲得世界其他人的認同。所以作者也表示，他寧願把股價走勢的第一隻腳拱手讓人，藉以換取確認，顯示股票已經蓄積足夠動能而明確邁入了第二階段，畢竟我們的<strong>目標不是買進最低價，而是要在最短時間內，賺取最大的報酬。</strong></p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>重要基本面要素—超級強勢股的驅動力量</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>股票市場不太關心過去，包括企業過去所累積的地位在內。股票市場真正關心的是未來，也就是成長。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><strong><em>超級強勢股會透過盈餘、銷貨、營運利潤的成長和提升，展現其力量。</em></strong><em>這些強勢企業每季所公布的營運績效，總是優於華爾街的預期，然後藉由這類利多意外，驅動股價走高。千萬不要只因為「名氣」而愛上那些價格大跌的股票。很多真正的贏家，可能是你從來沒聽過名字的股票。它們的光榮日子出現在未來，而不在過去。股票市場存在著許多基本面條件傑出的企業；一家公司不論規模、地位、聲譽如何傲人，投資人都沒有理由去接受較差的績效紀錄。</em></p></blockquote>



<p class="has-medium-font-size">在「趨勢」的分析中我們已經知道要尋找處於價格成長週期第二階段的股票，而一支股票處在第二階段的時間長短，將會取決於企業基本面條件，也就是強勁的盈餘成長型態能夠維持多久。</p>



<p class="has-medium-font-size">作者觀察出，價格表現最傑出的股票，其最近一季盈餘都會較去年同期呈現顯著成長。我們想要看到的，不只是最近一季顯著增加，也希望先前兩、三季有顯著成長。</p>



<p class="has-medium-font-size">因此，我們將運用財報中的盈餘、銷貨收入(營業收入)、營運利潤(或營業毛利)，篩選出近季有所成長的標的。</p>



<h3>鎖定進場點—VCP(價格波動收縮型態, Volatility contraction pattern)</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>我們只能挑選那些法人機構介入明顯的股票。我們絕對不想成為第一個進場的先知先覺；反之，我們要尋找行情動能點火待升、失敗風險相對偏低的機會。</em></p></blockquote>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>走勢圖所呈現的價格型態，必須放在較長期趨勢內做評估。進場如果過早，股價可能重新恢復下降趨勢；進場過晚，則可能碰上最後階段的底部，既有上升趨勢太明顯而隨時可能結束。</em></p><p><em>身為使用停損單的交易者，你就是弱勢持股者。重點是要成為最後的弱勢持股者；你希望在自己買進之前，所有其他弱勢持股者都已經出場。</em></p></blockquote>



<p class="has-medium-font-size">找到價格位於成長階段且基本面過關的股票後，我們需要決定較佳的進場點位置。VCP，價格波動收縮型態，是作者所觀察出來具有效力的精準進場點，他所進行的每筆交易，幾乎都符合這個概念。</p>



<p class="has-medium-font-size">作者表示，凡是具有建設性意義的價格結構(股票處於承接狀態)，其底部結構的某個區域，幾乎一定會出現價格波動收縮的現象，而且成交量也會顯著收縮，因此才稱它為「價格波動收縮型態」。</p>



<p class="has-medium-font-size">若市場籌碼不再浮動，成交量會顯著萎縮，價格波動也會明顯趨於緩和。設定這種條件，可以避免誤入擁擠的交易，鎖定的股票也不致於成為公眾追逐的焦點，如此可以提高勝算。<br>關於VCP的介紹，網路上也已有其他更為詳細的<a href="https://blog.stockviva.com/%E6%8A%95%E8%B3%87%E6%95%99%E5%AD%B8/vcp%E5%9E%8B%E6%85%8B-vcp%E9%81%B8%E8%82%A1%E6%A2%9D%E4%BB%B6-%E8%82%A1%E7%A5%A8%E5%9C%96%E8%A1%A8%E6%95%99%E5%AD%B8" target="_blank" rel="noreferrer noopener">文章</a>及<a href="https://www.youtube.com/watch?v=NBOgyj-2L2A" target="_blank" rel="noreferrer noopener">影片</a>教學分享，可以自行參考。</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>出場警訊—交易如果沒有按照計畫發展</h3>



<p class="has-medium-font-size">任何計劃都需要考慮到負面發展，實際操作中，進行的交易可能有一大部分不會按照預期發展，即使篩選出的股票完美符合事先設定的條件，但有可能進場時機就是不對，也許應該等待更好的架構，但在已經持有部位的情況下，如果實際發展不符預期，或者股價走勢不對勁，我們都必須知道。</p>



<p class="has-medium-font-size">以下是作者採用的某些「違反條件」，我們可以考慮將這些判斷當作出場依據。</p>



<p class="has-medium-font-size">1. 突破之後，留意二十天移動平均</p>



<p class="has-medium-font-size">2. 低價夾量連續三天創新低</p>



<p class="has-medium-font-size">3. 小量上漲、大量拉回，代表警訊</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>類型、產業類別與催化事件</h3>



<blockquote class="wp-block-quote has-medium-font-size"><p><em>將公司做歸類，能夠有效協助我整理思緒與看法。這種程序可以幫助我決定一支股票所屬的市場類型，並藉此評估該股票處在成熟化循環或發展曲線上的位置。任何公司都不會永遠停留在發展曲線上的相同位置，有些股票會花更長時間待在循環的某個階段；可是，幾乎所有企業都會展現自然的成熟化程序。</em></p></blockquote>



<p class="has-medium-font-size">作者考慮買進某支股票時，會判斷自己所處理的情況屬於哪種類型。對於相關公司營運所屬產業的性質，必須能夠知道如何預期盈餘成長，而且也了解市場對這方面展望的普遍看法，並觀察目前股價是否已經反應相關資訊。</p>



<p class="has-medium-font-size">他將股票劃分為六大類型：1.市場領導股2.頂級競爭股3.機構青睞股4.轉機股5.景氣循環股6.過氣領導股與落後股</p>



<p class="has-medium-font-size">本文所寫出的順勢策略主要希望選到市場領導股類型的股票，這也是讓作者賺到最多錢的股票類型。在此先不過多探討，但大家可另行觀察核對。</p>



<p class="has-medium-font-size">關於市場領導股：</p>



<p class="has-medium-font-size">這類企業會展現出最快速的盈餘成長。任何產業表現最傑出的企業，其銷貨、盈餘與市場佔有率的排名，通常都能保持在前三位。行情最初的上漲過程裡，市場領導股通常會有最大漲幅。它們會領均錢進，開疆闢土。</p>



<p class="has-medium-font-size">在成長相對遲緩的產業哩，一家企業如果能夠持續擴張市占率，同樣可以展現出很好的盈餘成長。關鍵重點是：公司必須賺大錢。財務狀況健全、獲利成長、淨值報酬率高、債務結構合理，這些都是企業管理健全的現象。</p>



<p class="has-medium-font-size">市場領導股在高速成長階段，有可能創造出驚人的價格漲勢。一般來說，它們的盈餘成長能夠保持在百分之二十或更高的程度。在表現最傑出的五年或十年期間裡，很多市場領導股能夠保持平均百分之三十五～四十五的盈餘成長。在成長最快速的時間裡，某些市場領導股甚至能夠創下三位數的成長。</p>



<h3>成長股重點邏輯整理</h3>



<p class="has-medium-font-size">綜合以上，本篇文章的示範策略將會透過以下條件，試著寫出擁有超級績效的策略。</p>



<h4 class="has-medium-font-size">技術面(趨勢)：</h4>



<p class="has-medium-font-size">找位於股票生命週期第二階段，也就是符合<strong>趨勢樣板</strong>(其中部分參數使用作者於他的付費課程中所揭露)的個股</p>



<p class="has-medium-font-size">1. 股價高於150日與200日移動平均</p>



<p class="has-medium-font-size">2. 150日移動平均高於200日移動平均</p>



<p class="has-medium-font-size">3. 200日移動平均至少有一個月期間處於上升狀態</p>



<p class="has-medium-font-size">4. 50日移動平均同時高於150日與200日移動平均</p>



<p class="has-medium-font-size">5. 股價超出52週低點25%</p>



<p class="has-medium-font-size">6. 股價距離52週高點不超過25%</p>



<p class="has-medium-font-size">7. 相對強度評等(RS Ranking)不低於70，最好是80多或90多</p>



<p class="has-medium-font-size">8. 股價高於50日移動平均</p>



<h4 class="has-medium-font-size">基本面：營收連兩月成長、盈餘大於零且連兩季成長、營業毛利連兩季成長</h4>



<h4 class="has-medium-font-size">VCP型態確認：量縮、盤整</h4>



<h4 class="has-medium-font-size">出場：簡單運用跌破20日均線作為出場依據</h4>



<p class="has-medium-font-size">其中，趨勢樣板中的相對強度評等這項數據，作者是直接使用付費資料源，大部分的人想自行寫出這項條件可能容易卡關，不過透過運用python與finlab package，我們就能輕鬆計算出來。</p>



<p class="has-medium-font-size">而VCP是多數人早想透過程式模擬的技術型態，不過也是難於清楚定義，在這邊我們把他簡單分為1.量縮與2.盤整兩個部分。量縮可以輕易透過成交量變化寫出，而盤整的概念則較為模糊，但從「價格收縮」的角度出發，我們可以試著單純運用價格波動(標準差的運用)變化來達到。</p>



<p class="has-medium-font-size">在下一段落，馬上就能來看看如何實際寫成程式。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2>台股實作回測(美股績效大公開)</h2>



<h3 class="has-medium-font-size">選股條件</h3>



<p class="has-medium-font-size">技術面：符合趨勢模板(也是位於成長型股票生命週期第二階段)的股票</p>



<p class="has-medium-font-size">基本面：營收、盈餘、營業毛利近季有成長趨勢</p>



<p class="has-medium-font-size">濾網：VCP型態確認 -量縮、盤整</p>



<p class="has-medium-font-size">出場：跌破20日均線</p>



<h3>美股回測績效展示</h3>



<p class="has-medium-font-size">開始動手前先來看看實作在美股的回測績效。</p>



<p class="has-medium-font-size">除了使用原始技術面+基本面條件，我們也加入其他濾網。</p>



<p class="has-medium-font-size">1.原條件滿足三天再實際進場：等待型態更為正確，降低一進場則被洗盤的現象。(作者表示很多專業玩家非常擅長於引發散戶的停損，他們會設法讓股價跌破明顯支撐區，清出手中的浮動籌碼。)</p>



<p class="has-medium-font-size">2.VCP型態確認：尋找滿足作者所說的價格噴發前夕現象，量縮盤整時，當需求一放大、買盤出現則將加速價格向上帶動。</p>



<p class="has-medium-font-size">3.排除金融股：金融類股較不常有大幅價格波動，較不符合我們想找的位於價格成長階段的飆股特徵。</p>



<p class="has-medium-font-size">4.以乖離率排序，只持有前15名：集中持有與均線乖離大的個股，若是上方乖離大則預期他具有更大動能，若是在下方乖離大則也預期該個股能有個由低處拉回彈升的現象。</p>



<p class="has-medium-font-size">5.出場條件拿掉(不滿足原進場條件則出場)：確保持有個股都依然維持強勢狀態，即使還沒跌破均線，但若已經開始表現疲乏則立馬換掉。</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="730" height="489" src="https://www.finlab.tw/wp-content/uploads/2023/03/image.png" alt="image" class="wp-image-5189" srcset="https://www.finlab.tw/wp-content/uploads/2023/03/image.png 730w, https://www.finlab.tw/wp-content/uploads/2023/03/image-300x201.png 300w" sizes="(max-width: 730px) 100vw, 730px" title="成長飆股怎麼找？超級績效選股法大解密 70"></figure>



<p class="has-medium-font-size">可以看到在美股的表現，年化報酬已超過50%，最大下跌甚至下降到20%左右，可以說是非常優秀。</p>



<p class="has-medium-font-size">將超級績效選股法搭配程式交易，在美股確實是可行的。而實作於台股的話呢？我們一起寫寫看。</p>



<h3>台股實作</h3>



<p class="has-medium-font-size">import 模組及抓取價量、財報資料。</p>



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

# 抓取資料
close = data.get('price:收盤價')
low = data.get('price:最低價')
high = data.get('price:最高價')
revenue = data.get('monthly_revenue:當月營收')
eps = data.get('financial_statement:每股盈餘')
grossprofit = data.get('financial_statement:營業毛利')
volume = data.get('price:成交股數')</code></pre>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size">接下來就是選股條件的撰寫了，在趨勢樣板中，其實主要只用到了移動平均及一些高低點的比較，很簡單吧。</p>



<p class="has-medium-font-size">唯一要說明的是第七項相對強度(Relative Strength, RS)評等，他並不是我們常見的RSI相對強弱指標，而是表達一個個股在整個大盤群體裡的強度的數值。作者在使用上是抓取<a href="https://www.investors.com/" target="_blank" rel="noopener">investor網站</a>的數值，而我們可以運用計算過去一年個股漲跌幅，搭配FinlabDataFrame的強大語法糖<code>quantile_row()</code>抓取百分位數，輕鬆優雅地寫出來。</p>



<p class="has-medium-font-size"><a href="https://www.money.com.tw/invest/article/577218" target="_blank" rel="noopener">這篇文章</a>把我們運用在這的相對強度邏輯解釋地非常清楚，可另行參考。</p>



<pre class="wp-block-code"><code lang="python" class="language-python"># 技術面選股(趨勢樣板) 
cond1 = ((close &gt; close.average(200)) &amp; (close &gt; close.average(150)))
cond2 = (close.average(150) &gt; close.average(200))
cond3 = close.average(200) &gt; close.average(200).shift(25)
cond4 = ((close.average(50) &gt; close.average(200)) &amp; (close.average(50) &gt; close.average(150)))
cond5 = close &gt; low.rolling(250).min()*1.25
cond6 = close &gt; high.rolling(250).max()*0.75
rs = close / close.shift(250)
cond7 = rs &gt; rs.quantile_row(0.9)
cond8 = (close &gt; close.average(50))</code></pre>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size">在基本面條件撰寫中，也主要是<code>rise()</code>(上漲)搭配<code>sustain()</code>(維持幾個資料單位)的連環運用。</p>



<pre class="wp-block-code"><code lang="python" class="language-python"># 基本面選股
revenue_cond = revenue.rise().sustain(2)
eps_cond = eps.rise().sustain(2) &amp; (eps &gt; 0) 
grossprofit_cond = grossprofit.rise().sustain(2)</code></pre>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size">VCP的量縮與盤整條件，這邊隨意取了兩個時間段(10日均與60日均)的比較，並加入自設參數，大家可再自行調整。</p>



<pre class="wp-block-code"><code lang="python" class="language-python"># vcp條件 量縮+盤整(價格收縮)
volumereduce = volume.average(10) &lt; (volume.average(60)*0.6)
pricecontract = close.rolling(10).std() &lt; (close.rolling(60).std()*0.5)
vcp = volumereduce &amp; pricecontract

# 進場條件取交集
buy = cond1 &amp; cond2 &amp; cond3 &amp; cond4 &amp; cond5 &amp; cond6 &amp; cond7 &amp; cond8 &amp; revenue_cond &amp; eps_cond &amp; grossprofit_cond &amp; vcp

# 出場
exits = (close &lt; close.average(20))
position = buy.hold_until(exits)

# 回測
report = sim(position, name='超級績效',fee_ratio=1.425/1000/3)</code></pre>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-medium-font-size">回測結果</p>



<p><img loading="lazy" width="602" height="256" src="https://lh3.googleusercontent.com/81lWzl6wVhGA32wz5am-Q1zilz9JakoYK7OhFnCOPjKBS3i29Cv-VgR3FeyjieMNgBgBr0f4PfsA48u-RuPFNiANCRnGAiipo3tuJNWDNfkyOI5_ho21WjOUT0gvSRJ5LTMrpPyleStvkH25MMpmyQI" alt="81lWzl6wVhGA32wz5am Q1zilz9JakoYK7OhFnCOPjKBS3i29Cv VgR3FeyjieMNgBgBr0f4PfsA48u RuPFNiANCRnGAiipo3tuJNWDNfkyOI5 ho21WjOUT0gvSRJ5LTMrpPyleStvkH25MMpmyQI" title="成長飆股怎麼找？超級績效選股法大解密 71"></p>



<p class="has-medium-font-size">可以看到，除了在多頭年2021有抓到超級強勢股，但在大盤空頭走勢中完全沒有防守能力，最大下跌甚至超過年化報酬的兩倍，可以說這支策略離可以正式上線使用、穩定獲利還有一段遙遠的距離，接下來我們就繼續分析與優化。</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>績效解說-為什麼會有落差？</h3>



<p class="has-medium-font-size">1.產業組成不同</p>



<p class="has-medium-font-size">美國上市公司眾多(近上萬家)、且產業組成較為平均，很容易找到實際走出一個完整價格成長循環的案例；而台灣公司數量少，且除了主要的科技金融股，大多就為一般中小型企業，比較不容易看到我們策略邏輯中所想找的「市場領導股」類型股票。</p>



<p class="has-medium-font-size">2.市場大小、市值大小、投資人結構差異</p>



<p class="has-medium-font-size">美國市場大且公司市值大、投資人類型眾多且分散，股價走勢結果較為貼近市場實際供需；而台灣當沖散戶比例較高、且公司市值小，股價容易出現異常拉抬現象，技術線型參考性降低，因此使用程式選股的效率性相對運用於美股會更為低落。</p>



<p class="has-medium-font-size">3.台股具有10%漲跌幅限制</p>



<p class="has-medium-font-size">當成長飆股起漲時，也許他的潛力遠超過一日10%，但台股的漲跌幅限制卻局限住了成長空間。</p>



<p class="has-medium-font-size">4.手續費差異</p>



<p class="has-medium-font-size">若使用Firstrade網路交易美股能享有0元手續費優惠，是以目前在美股回測中手續費直接設定為0元(回測中也尚未考慮交易稅)；而在台灣不管用哪家券商，即使有手續費打折還是會被固定收取一定比例手續費與交易稅。長年回測下來成交筆數多的狀態下，台股交易會有很大比例的手續費與稅的成本。</p>



<div style="height:35px" aria-hidden="true" class="wp-block-spacer"></div>



<h3>其他調整</h3>



<p class="has-medium-font-size">如在美股我們從一開始主邏輯中另外加入各層條件濾網，績效是大幅提升，在台股我們也試著運用一些相應的條件。</p>



<p class="has-medium-font-size">1.排除金融股 -在抓取資料時限定範圍</p>



<pre class="wp-block-code"><code lang="python" class="language-python">df = data.get('security_categories')
# 排除金融股
category_range = [ind for ind in list(set(df['category'])) if '金融' not in ind]
with data.universe(market='TSE_OTC',category=category_range):
    close = data.get('price:收盤價')
    low = data.get('price:最低價')
    high = data.get('price:最高價')
    revenue = data.get('monthly_revenue:當月營收')
    eps = data.get('financial_statement:每股盈餘')
    grossprofit = data.get('financial_statement:營業毛利')
    volume = data.get('price:成交股數')</code></pre>



<p><img loading="lazy" src="https://lh5.googleusercontent.com/rdsQrEAeU5PSEx2QthZjgz2rgaeif4Fo9786Of0WghqO-FPs8XlmIAyGIcUOTbH7-weWC_ItiEsCThU4zvjuZbNeRXglPbsR86bNpi607OXTGFPtlZgy1Pxezrh8SS7UBSJg9Uubg-uE5rk2k1xQOsk" width="602" height="243" alt="rdsQrEAeU5PSEx2QthZjgz2rgaeif4Fo9786Of0WghqO FPs8XlmIAyGIcUOTbH7 weWC ItiEsCThU4zvjuZbNeRXglPbsR86bNpi607OXTGFPtlZgy1Pxezrh8SS7UBSJg9Uubg" title="成長飆股怎麼找？超級績效選股法大解密 72"></p>



<p class="has-medium-font-size">2. 出場條件改為跌破25日均線</p>



<pre class="wp-block-code"><code lang="python" class="language-python"># 出場條件更動
exits = (close &lt; close.average(25))
position = buy.hold_until(exits)</code></pre>



<p><img loading="lazy" src="https://lh6.googleusercontent.com/_prylPWE11GVKgXTi1hGi2O12Hciu4fpmYbO_ZuSosvc4lkCPB5T5dhXWX7C4m7BYTGJvutaLM-YDlSJLYlgGz2NSRNJL8fPNfouIE2VB2OcTpDIR0WY-CG0OYv7v3lBNE3Zx1XkIEgM9By3BQKxOCY" width="602" height="245" alt="prylPWE11GVKgXTi1hGi2O12Hciu4fpmYbO ZuSosvc4lkCPB5T5dhXWX7C4m7BYTGJvutaLM YDlSJLYlgGz2NSRNJL8fPNfouIE2VB2OcTpDIR0WY" title="成長飆股怎麼找？超級績效選股法大解密 73"></p>



<p class="has-medium-font-size">3. 增加排序條件：以與5日均線的乖離程度排序，乖離越大則排序越前面，選擇只持有前3名的個股。</p>



<pre class="wp-block-code"><code lang="python" class="language-python"># 以與均線的乖離程度排序個股
bias = abs((close - close.average(5)) / close.average(5))
exits = (close &lt; close.average(25))
position = buy.hold_until(exits,nstocks_limit=3,rank=bias.rank(1,ascending=True))</code></pre>



<p><img loading="lazy" src="https://lh6.googleusercontent.com/Fy11zZ88llbUYr0ttL0caUZC7Fd5YUWlqyfe9fS0FsVVDrJq2URmjRgRMkPt1oaBDWIAW7yVbV2e2v1sSPpTe2i2wI8_zdwiaswwRfhgVX8mXmwts_w1BGhZpkFP-yNQHv8Ay7oHwW1SJZOWnMDAMFg" width="602" height="248" alt="Fy11zZ88llbUYr0ttL0caUZC7Fd5YUWlqyfe9fS0FsVVDrJq2URmjRgRMkPt1oaBDWIAW7yVbV2e2v1sSPpTe2i2wI8 zdwiaswwRfhgVX8mXmwts w1BGhZpkFP yNQHv8Ay7oHwW1SJZOWnMDAMFg" title="成長飆股怎麼找？超級績效選股法大解密 74"></p>



<p class="has-medium-font-size">很遺憾的，在台股實作我們初步的結論是：把超級績效找成長股的方式直接應用於台股，並無法得到與在美股相當的超額報酬。</p>



<p class="has-medium-font-size">不過，透過適當調整參數與增加其他濾網、或是排序，我們依然可以將此策略優化至一定水準，雖然目前在這示範的結果還不到特佳，但還有許多可能有用的條件還沒用上呢，相信大家還是可以以此為基底繼續嘗試。</p>



<p></p>



<p class="has-medium-font-size">(寫完文章後，韓老師也已經默默做了一番優化，績效媲美美股表現(我也再去練練)，程式碼可在Finlab VIP策略中看到，立即訂閱起來你就可以直接將此策略使用於台股摟！)</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2>結語-身為散戶要如何繼續精進？</h2>



<h3>由此策略進一步優化</h3>



<p class="has-medium-font-size">如上一段所展示，一樣的策略由美股直接挪用來應用在台股並不能獲得一樣的超額報酬，即使稍微調整了還是會有落差，不過，不管是由技術面、或基本面的條件，大家都可以再試著找出較為適合的參數或寫法，像是基本面中，原本只使用連兩季上升的條件，可以改成連三季、或是運用移動平均的判斷、使用與去年同比的變動；VCP型態中，量縮或盤整的日期長度判斷區間也能再自行調整；而出場條件也能由跌破均線再加入其他作者提到的「違反條件」(低價夾量連續三天創新低、小量上漲大量拉回等)。</p>



<p class="has-medium-font-size">或是從其他層面優化，例如再增加相關濾網、自行定義新的資料變數來設定個股排序依據、集中持有固定檔數；另外，也能考慮加入大盤走勢數據，以大盤是否為多頭來當作濾網之一想必也能大幅增加此順勢策略防守能力。一個策略，永遠都存在優化空間。</p>



<h3>買書來看-增加知識點</h3>



<p class="has-medium-font-size">本篇文章所做出來的策略其實只運用了超級績效中有提到的部分內容，除非你已經能做到完全自動化程式交易(完全不受任何操作上的限制而達到逼近回測的績效)，就算是固定使用這一套策略，要能實際長期獲利，絕對還有很多眉角要注意。如果你能持續精進、有一套自己的研究，除了複製程式碼，你甚至能在程式篩選出來一籃子股票中，也運用對於財報的理解，做到更細部的人工挑選，篩出其他人看不到但其實更為適合你的投資的個股。</p>



<p class="has-medium-font-size">而書中其他內容都可再衍生其他各種策略，例如運用價格下降週期做空個股、抓盈餘由負轉正找轉機股做多等。而除了策略主邏輯，另外像停損設置、判斷市場為多頭空頭來決定使用不同策略、或是多策略資金管理、策略加簡碼等，還有各種學問等著我們來發掘呢。所以也邀請大家自行靜下來閱讀書中內容，找出屬於自己的成功因子。</p>



<h3>給懶惰的你-直接投美股吧！</h3>



<p class="has-medium-font-size">如果懶得自己優化策略用於台股(誰知道參數要放什麼才對，其他選股條件？沒靈感啦)，也不想買書來看(內容實在太多了太冗長了是吧)，不想看其他推薦影片(生活太忙碌？耍廢時間都不夠了)，怎麼辦呢？其實也沒關係，我們絕對理解，身為投資新手的你願意看到這也真是辛苦了(掌聲鼓勵鼓勵！)，好消息是，看完這篇文章的同時你也已經擁有一個美股超級績效策略了(啊你如果沒認真吸收也沒思考其中程式碼在做什麼也不算數，快點把文章存起來多看幾次)，你絕對可以運用本篇提到的邏輯，即日起開始操作美股買賣。</p>



<p class="has-medium-font-size">而日後Finlab也會讓美股資料或相關功能更為完整，讓大家自己在下實單之前，多運用finlab package多跑幾次不同的回測看看，增加信心！</p>



<h3>給積極的你-你所需要的資源與成長路徑，也盡在Finlab</h3>



<p class="has-medium-font-size">投資與股票交易是一條沒有盡頭的成長之路，有太多面向、太多細節要去學習要去注意，而所需要的資源，Finlab也都幫你準備好了(如果這是你第一次看到Finlab文章，真是恭喜你來到金礦密集區，這邊有太多寶物等你來挖)，不管是各面向知識文章、資料運用教學、選股操作工具、或是視覺化回測系統，應有盡有，而且我們也在持續茁壯中。</p>



<p class="has-medium-font-size">如果還不想花錢成為VIP用戶，這邊也一定有讓你看不完的免費資源，若基本內容吸收得差不多了、想挑戰更進階的概念、直接使用更酷炫策略、並且想獲得最新數據協助回測，歡迎加入訂閱Finlab VIP的行列！</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/%e6%88%90%e9%95%b7%e9%a3%86%e8%82%a1%e6%80%8e%e9%ba%bc%e6%89%be-%e8%b6%85%e7%b4%9a%e7%b8%be%e6%95%88%e9%81%b8%e8%82%a1%e6%b3%95%e5%a4%a7%e8%a7%a3%e5%af%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5129</post-id>	</item>
		<item>
		<title>給小資族的禮物｜低價股量化策略的實戰訣竅</title>
		<link>https://www.finlab.tw/low_price_strategy_tw_stock/</link>
					<comments>https://www.finlab.tw/low_price_strategy_tw_stock/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 16 Feb 2023 12:00:00 +0000</pubDate>
				<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=5121</guid>

					<description><![CDATA[模擬剛畢業的一般社會新鮮人，考量在有限的資金與以低價股的限制下，如何擬定交易攻略？
翻倍的低價股再起漲前有沒有共同特徵？還是垃圾堆裡根本挖不出黃金？低價股策略的風險在哪裡？都會深入探討。
最後使用量化平台建構策略，回測驗證能否達到「在xx歲前達到資產XXX萬」的目標。]]></description>
										<content:encoded><![CDATA[
<h2><strong>不可能的任務?! 小資族 30 歲達到資產 500 萬！</strong></h2>



<p>Andy 是我的籃球球友，每到週末，我們都會一同打球。23歲年輕的他是我們隊上的流川楓，然而今天卻手感失常，睡眼惺忪顯得無精打采，大家問他怎麼了？</p>



<p>Andy：「現在剛好是會計簽證忙季，有很多帳務要整理，剛好團隊的同事離職，業務又加重在我身上，連續幾天加班到很晚。上班上到有點厭世啊！然而沒收入就不能過日子，物價又一直高漲，不知道何時才能存到第一桶金？讓日子輕鬆點。」</p>



<p>另一位球友 Ben 問到：「你第一桶金的定義是100萬嗎？」</p>



<p>Andy：「起碼500萬吧！我想在30歲做右買房，覺得100萬太少了，繳買房的頭期款都嫌吃力，500萬繳個頭期款，還可能剩2-300萬好準備成家，還有點資金進行投資，獲利拿些來當旅費。理想上希望在30歲達到這個目標！」</p>



<p>Ben:「哇！感覺是有點難度的目標耶！光靠本業收入很難達成。現在已經存到多少了呢？」</p>



<p>Andy:「現在存到少少的20萬了，月薪大概4萬，每個月大概有1.5萬元結餘。有想學投資，但不知道從何學起？感覺投資很危險，記得小時候家中有長輩投資碰到股災，搞得家裡充滿低氣壓，時常被告誡不要碰投資，定存就好。」</p>



<p>Ben:「這樣要達到財務目標根本是不可能的任務啊！其他人覺得呢？」</p>



<h3><strong>財務曲線的理想大夢</strong></h3>



<p>「人生就像滾雪球。重要的是要找到夠溼的雪和一道長長的山坡。」 ～ 股神巴菲特。</p>



<p>投資成功的關鍵在找到適合的投資工具與足夠的時間，及早投資享有複利優勢，人人都懂，問題是要如何挑適合自己的工具與知道要等多久？畢竟每個人得的慾望及規劃不同。</p>



<p>「Andy 的春秋大夢能夠實現嗎？我們為了預測 Andy 未來的財務狀況，特別寫了一個程式來模擬他未來的資產變化，讓 Andy 可以看到 30、40、50歲後的資產是多少，如此一來， Andy 就可以知道每個月要存多少？什麼時候達到他短期財務目標？我們把這個工具稱為「財務曲線計算機！」這個計算機的用法非常簡單，只需要打開連結，輸入個人理財條件後，可以模擬在不同年化報酬率(0-50%)、每月定期投資、複利再投入的條件下得知財務曲線的變化，如果連模擬都無法達成，那目標可達性就很低，要考慮調整規劃。</p>



<p><em>想知道人生財務曲線預測的實作細節，可以參考FinLab在Hahow的線上課程 </em><a href="https://hahow.in/cr/python-finance" target="_blank" rel="noopener"><em>「Python 理財：打造小資族選股策略」</em></a><em>。</em></p>



<p>Andy 說他不是醫牙電資的背景出身，就是個普通上班族，收入不高，經常性每月薪資約4萬，每月開銷大概2.5萬，每月結餘約有1.5萬元可進行投資，現在手上有20萬存款，胸懷大志想在30歲達到500萬資產，將他到條件輸入進程式，得到的結果是…</p>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/gBF9TN5mbjiNVt1pbH2nMJtBOr8gPRuxylmvayfPXUpVa_foXhAwuyhr58dCequGTQnv-M6gPsf7wbs3XpjxWJR1dxjrt-qIklQoMaSGVbeEKJb7-TFU8gP9XbxCTifcumCD2okDyQNJIDQW0I5L0jw" alt="gBF9TN5mbjiNVt1pbH2nMJtBOr8gPRuxylmvayfPXUpVa foXhAwuyhr58dCequGTQnv M6gPsf7wbs3XpjxWJR1dxjrt qIklQoMaSGVbeEKJb7" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 75"></figure>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/c_ezpsX6a1iS9hrN5dnwQPsVKuzy8kEUE_RrsYZbwORCYMQcpaxBwA32LMsY7f7n3_uTt22qp6PxEm2E1EZFHEjj2ZLqNJr9DqpsLDnb2mo1T27hoe0TZFA3TOnF7HShe1v1CN_uoiqy-VnhjenYfIM" alt="c ezpsX6a1iS9hrN5dnwQPsVKuzy8kEUE RrsYZbwORCYMQcpaxBwA32LMsY7f7n3 uTt22qp6PxEm2E1EZFHEjj2ZLqNJr9DqpsLDnb2mo1T27hoe0TZFA3TOnF7HShe1v1CN uoiqy VnhjenYfIM" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 76"></figure>



<p>同表的X軸是年紀，Y軸是模擬資產數值，不同顏色的線代表不同年化報酬率的結果，可以發現投資的前5年看不出明顯效果，但28歲後，複利的差距開始拉大。</p>



<p>如果 Andy 只有活存，到30歲最終有146萬存款，離 500 萬目標甚遠。<br>從圖表得知，若年化投資報酬率是30%，最終資產是483.45萬，接近他的目標，也就是說要達到他的目標大概要30-35%的報酬率！</p>



<p><strong>0050 ETF 適合嗎？</strong></p>



<p>Andy 天真地問：「要如何達到每年30%的報酬率呢？坊間很多老師和書本 都說 0050 元大台灣50 這類指數型 ETF 很棒！印象前幾年指數大漲，好像有達到年漲30%!穩定性也不差，還可以領股息，只要台灣沒倒，這個標的就不會倒。」</p>



<p>來簡單回測一下，讓Andy了解現實的殘酷，如果策略沒經過空頭的考驗，那很容易會以為年年可發大財，2019-2020 受惠FED大撒幣，台股指數確實達到30-35%，但市場有循環，2008、2011、2015、2018、2022的空頭就會讓投資者虧損，虧損高達20%也是有可能發生的。</p>



<figure class="wp-block-image"><img src="https://lh3.googleusercontent.com/10-o6UMOAkoRRLrUvXEZBnFKU4YvvoKKJAcJV3XBnvBDh8qX2CEcUKW2S9uExF1AVGP7vE2DaDJRWivugqLHypLfs6c3E7oG_lG9OJ9jFUh7r2u8DaDjStPZ0bXl7a_HJ7QfIV0EyJCUGV0rVqLGuig" alt="10" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 77"></figure>



<p>牛熊輪迴平均下來，年化報酬率 10% 才是合理的期待，要期待 0050 未來每年都上漲，並不太實際。</p>



<p>Andy 的財務曲線模擬在年化報酬率 10% 的情況下，最終只會累積到 217萬。<br>另外若遇到熊市， 0050 波動風險比你想像中還大，2008年 最大回撤率高達55%，2020、2022也有30%回檔，定力不夠的投資新手不見得能扛住。</p>



<figure class="wp-block-image"><img src="https://lh4.googleusercontent.com/MRvQBn4gsyDCYTWaF2EyczMbl4edyWnfMHk0uYdWSFNcvCTUWmacrT0gLVC18WEeSFQHtQyaQRjYzHQYj9zVo8RKxjTkdB-U7DryHl6zXq6zQtQlBVElmuSmeaT78xHb50E7LQuHtaSgtYwGETcej9M" alt="MRvQBn4gsyDCYTWaF2EyczMbl4edyWnfMHk0uYdWSFNcvCTUWmacrT0gLVC18WEeSFQHtQyaQRjYzHQYj9zVo8RKxjTkdB" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 78"></figure>



<p>Andy 聽完分析後，有點氣餒，看來他的目標不是無腦投入指數型投資那麼簡單！目前看起來他有幾個選擇</p>



<ol><li>努力投資自己拉高薪資</li><li>降低慾望或延長達標時間</li><li>研究別的投資發法，ex:主動投資選股技巧</li></ol>



<p>Andy 說他已經放棄靠努力工作拉高薪資了，覺得再怎麼努力也是社畜，只能活在底層。</p>



<p>Andy 截圖一張網路上「台灣人大學志願選填指南」給我看，Andy說:「按我的條件，長相與能力普普，沒特別的興趣，很幸運的家裡沒負債、需要給一點孝親費、有想買房，按圖中路徑，只能電資醫牙/科技業，問題是我對理工沒興趣也沒能力啊！」</p>



<p>聽的有點令人哭笑不得，現實的殘酷是選擇比努力重要，在台灣想在追求高薪的話，除了科技業，選擇不多，如果對數理沒天份，確實很難。</p>



<p>但我想圖上少寫了一條路徑，那就是靠「投資或金融交易」，不管你職涯選哪條路，如果想買房或致富，那必定會接觸到「投資或金融交易」，靠錢去滾錢，而不是只靠勞力與時間去換取有限的報酬。</p>



<figure class="wp-block-image"><img src="https://lh3.googleusercontent.com/Z1kyJ2n4E28lsQC5mnNkHZxh4KQbI0O8Ehx5His__IAFTj6CX_auVZ8H6zlPKL_YzztFPBOV21mpyUM9luh13v1UqD6HyKEWjHlb0GpqwkFq-DPnLhfhetl0wEKeikC_49ZwOoo996f2zrTQdTYFYdY" alt="Z1kyJ2n4E28lsQC5mnNkHZxh4KQbI0O8Ehx5His IAFTj6CX auVZ8H6zlPKL YzztFPBOV21mpyUM9luh13v1UqD6HyKEWjHlb0GpqwkFq DPnLhfhetl0wEKeikC 49ZwOoo996f2zrTQdTYFYdY" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 79"></figure>



<p><a href="https://www.facebook.com/CodeInLife/photos/a.109359127540371/663415615468050/" target="_blank" rel="noopener">資料來源：生活中的程式</a></p>



<p>當然選擇長期持有 0050 也可能達標，10%年化報酬只要等到36歲就有機會達標，畢竟學習主動投資也是要花心思，不是無腦持有。多等6年好像還好，Andy 你要不要考慮一下？</p>



<p>Andy 沈思了一會兒說：「多6年蠻久的，等於多2倍的時間！剛剛經過延長試算，如果達到年化 30% 報酬率，那在36歲就有機會達到2500萬！會是10%績效的5倍！接近我不敢說的財富自由，或將脫離社畜人生，且 0050 好像沒我想像中的優。人生苦短，生命該恣意浪費在美好的事物上，能花越少時間是越好。有沒有什麼選股策略可以給小資族別的選擇方向？」</p>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/V8EHWHeuJq452jidF1T8Ms5li7QVYxrHqo5wk1HB53UnKDIS0IHYimn_l5nqT-d5_h24dL1LWwvvhcQqoDLqEX8AAziCkeLa34Xbpi_wAo_LPwYQ-NHNnGGhgr1TbfbFYYYHoqT1Azp9fk0e7LCMqVs" alt="V8EHWHeuJq452jidF1T8Ms5li7QVYxrHqo5wk1HB53UnKDIS0IHYimn l5nqT d5 h24dL1LWwvvhcQqoDLqEX8AAziCkeLa34Xbpi wAo LPwYQ NHNnGGhgr1TbfbFYYYHoqT1Azp9fk0e7LCMqVs" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 80"></figure>



<p>Andy 雖然是小資族，但及早有理財意識，已經勝過當年的我，如果再讓我回到23歲的小資時代，會如何規劃呢？<br></p>



<h2><strong>小資族的翻身計畫</strong></h2>



<h3><strong>資金少該怎麼辦？</strong></h3>



<p>像 Andy 這樣的新手小資族最大特點就是資金少。<br>如果只操作現貨、不開槓桿開始，該如何用少少資金就能參與市場？<br>首要是將標的限縮在低價股。操作高價股如果買零股，交易比較不方便，與一般市場的價差大。限縮在低價股比較方便交易。</p>



<p>另一個選擇低價股操作的原因是聽說低價股潛在報酬可能比較大，之前有聽說過低價股樂效應，10元的股票要翻倍感覺比100元翻倍容易，真的如此嗎？<br>我們目標是比較高的報酬率，從飆股多的池子篩選股票比較容易，低價股裡真的有樂透般的股票嗎？</p>



<h3><strong>低價股的樂透效應</strong></h3>



<p>低價股真的比較會漲嗎？讓我們來看低價股效應的相關研究：</p>



<p>「Weld, W. C., R. Michaely,R. H. Thaler, and S. Benartzi (2009)和林韋伶 (2018)主張投資人對於低價股具一定之幻覺，認為低價股具有較高的上漲空間，因此藉由此特性組成投資策略，能獲取超額報酬，相對高價股而言，反而較不具上漲空間，且會有更高之下跌風險。</p>



<p>Kumar(2009) 提出低價股如同樂透彩票一般，如果投資人正在尋找『便宜的賭注』，低價股將具極大吸引力，因此認為股票市場可能具低價股效應。」</p>



<p>– 摘自(<a href="https://ndltd.ncl.edu.tw/cgi-bin/gs32/gsweb.cgi/login?o=dnclcdr&amp;s=id=%22110TKU05304052%22.&amp;searchmode=basic" target="_blank" rel="noopener">臺灣股票市場之低價股效應探討 </a>蔡承祐)</p>



<p>研究利用每月最後一個交易日的收盤價來組建所需的投資組合，首先，於每月底，依照最後一日收盤價的高低平均分成 5 個股價組合，組合 1 為最低股價之組合，依序組合 5 為最高股價之組合。接著，計算 5 組股價組合次月的等權報酬，並同時買進組合 1 與賣出組合 5 形成淨投資為零的套利組合(zero-investment arbitrage portfolio)，進行後續低價股效應之探討。</p>



<figure class="wp-block-image"><img src="https://lh5.googleusercontent.com/MPk1Dt_c0zy0NmJvDF51EK1X37GwBpDzl6DHAJQ9qXiza9SrdrFLRyfE8xxSk_EA_o1GdwuME-EnkDqNL8zgCr-BY1YtGxy40bd9G-IZBKB916zMMlqz8poSojQqUSUl82AeLoQYIIRGDHRRdyiXEoo" alt="MPk1Dt c0zy0NmJvDF51EK1X37GwBpDzl6DHAJQ9qXiza9SrdrFLRyfE8xxSk EA o1GdwuME EnkDqNL8zgCr BY1YtGxy40bd9G IZBKB916zMMlqz8poSojQqUSUl82AeLoQYIIRGDHRRdyiXEoo" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 81"></figure>



<p>此篇論文能給我們幾個低價股策略開發的指引：</p>



<ol><li>低價股效應存在於台股整體市場交易熱絡的時期，簡單說就是低價股在牛市較有機會狂飆，而在熊市或流動性較低的時候則會沈寂很久，這暗示低價股搭配動能因子(追突破、出量)會較容易抓到低價股效應的漲勢。</li><li>1、2 月份春節子期間的低價股效應較為明顯</li><li>非金電類股存在相對顯著之低價股效應，金融類股不具低價股效應(長期低價，大股本、低波動)。</li></ol>



<p>看完低價股研究的論文後，看起來低價股小資族策略可能有搞頭，不過還是要寫成程式來驗證，我們可依此推衍3個策略擬定步驟：</p>



<ol><li>定義低價股</li><li>定義動能突破</li><li>排除金融股</li></ol>



<h3><strong>關鍵策略條件</strong></h3>



<h4><strong>定義低價股</strong></h4>



<p>有兩種方式：</p>



<ol><li>絕對值定義：比如定義25元以下就算低價股。你以為25元以下標的不多嗎？以近年來說，有超過30%的股票在這價位以下，在熊市時，整體市場可能有超過一半以上的標的低於25元。</li><li>移動式分級比較：用分位數的觀念定義低價股時間序列，跟絕對值比起來，優點是會隨整體市況做調整，取每時期一定比例的標的，定義比較客觀。<br>缺點是若在2008的大熊市，許多股票跌爛，有快一半的股票到10元以下，級距縮小到差異不明顯的狀況，如果你只取前10%低價當選股池，那可能會錯過很多標的。<br>要解決此問題，可以設定每期前30%低價的條件，加上股價低於25元的條件，如此可以想有依照市況來決定標準，又可避免熊市時錯過許多低價標地的機會。</li></ol>



<figure class="wp-block-image"><img src="https://lh5.googleusercontent.com/wUMT23303vUt-d-YDwjPbJ6tPUtHWHbvA7CpEql31hT9KEASGVITwB178sYrRmLrA94fFwg7zTlEych2kIRoDRcnQZn6b7KnMKTr5yHD7GQimY3NCdwy-JiH9VUz2zpBMdVNNw8QBGndeu0t9yAI3LQ" alt="wUMT23303vUt d YDwjPbJ6tPUtHWHbvA7CpEql31hT9KEASGVITwB178sYrRmLrA94fFwg7zTlEych2kIRoDRcnQZn6b7KnMKTr5yHD7GQimY3NCdwy JiH9VUz2zpBMdVNNw8QBGndeu0t9yAI3LQ" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 82"></figure>



<figure class="wp-block-image"><img src="https://lh4.googleusercontent.com/vKIyW7WxtIfO9vPYYxCfoTNxckbLZtqqUBq7Ae5R9cSP6Um-D2zfsBAdRQujDkHqYWdPXwyj57VDhQ-AcpyoxjKfo9rcJjesEq8ZRHjYD3Kf4YP__J1hoAJMsGXaAACkK1z7JEPRJQf_X0fgYyrmRTQ" alt="vKIyW7WxtIfO9vPYYxCfoTNxckbLZtqqUBq7Ae5R9cSP6Um D2zfsBAdRQujDkHqYWdPXwyj57VDhQ" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 83"></figure>



<h4><strong>定義動能突破</strong></h4>



<p>小資金最有效率的方式應該是追突破，買在漲勢的發動點，適合小資金去拚高週轉率，用高效率的方式去滾報酬。如果買到低價的殭屍股，也就是交易冷清的股票，你可能會持有到懷疑人生。</p>



<p>很多散戶害怕追高，但其實股價越來越貴對短線交易者是好事，越買越便宜代表你是虧損的。重點在漲多少就不追？如何判斷剛從底部起漲？</p>



<p><a href="https://www.books.com.tw/products/0010888993" target="_blank" rel="noopener">飆股的長相</a> 是我很喜歡的台股投資書籍，給我不少啟發：<img loading="lazy" src="https://lh3.googleusercontent.com/KygMje63HXKQQPYNamI5LlzhkwYh9u6IvLxSdqHblAehRNNEqgqYJe9JSQP3RtutujlLqtwmo_RAXdOgqK4z1RAE-gJ6_QXTWo3Xjx1sABlODbdnBCy6g8TwJM_Zf-PQZiuPjK7dHqxgmW1n2fsMwkg" width="387" height="471" alt="KygMje63HXKQQPYNamI5LlzhkwYh9u6IvLxSdqHblAehRNNEqgqYJe9JSQP3RtutujlLqtwmo RAXdOgqK4z1RAE gJ6 QXTWo3Xjx1sABlODbdnBCy6g8TwJM Zf" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 84"></p>



<p>像是作者對起漲點的判斷：「股票飆漲前，必須有一段細長的平穩期，股價波動變小，代表飆漲前的寧靜，不安定籌碼都已出場。一旦突破穩定期，就是新一波浪潮的開始」</p>



<p>如何定義穩定期？書中提供很簡單的做法，ex:120天內股價短期高低區間在30%以下。<br>公式為「範圍(%) = (1-最低價/最高價」)*100」。</p>



<p><br>如何定義股價技術面突破？這代表股價突破長期壓力，上空萬里無雲，ex:收盤價創120天新高。</p>



<p>藉由突破穩定期的做法，可以降低追高的風險，儘量買在靠近起漲點的位置。</p>



<figure class="wp-block-image"><img src="https://lh4.googleusercontent.com/ZzpW9o1R606-ff9kfvQydM4zbTbUJZkZB3Sreg-nGCmvN-lGPJxWFWiCVJWifLywuHH6cmNL49ig-WHBJOd15ZIwI5yLxmWl2JfgD_4gVIaeYofmQGMKHKZTveMtfHM7zblndiGk70IG0Q42GOCVotQ" alt="ZzpW9o1R606 ff9kfvQydM4zbTbUJZkZB3Sreg nGCmvN lGPJxWFWiCVJWifLywuHH6cmNL49ig" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 85"></figure>



<h4><strong>排除金融股</strong></h4>



<p>金融股很多都是低價股，但也是不太波動的大牛皮股，低價股效應不顯著就將之排除。</p>



<h2><strong>策略程式實作</strong></h2>



<pre class="wp-block-code"><code class=""></code></pre>



<p>程式很簡單，另外說明一些小細節。</p>



<p>由於小資族不是專業操盤人，不適合太高頻的交易週期，如果每月都有新資金可以投入，那每月換股是較實在的選擇。<br><br>由於資金有限及考量操作容易度，我們將每期持股檔數最高設定為5檔，不然若選到20檔，也沒足夠資金買滿標的。我們將符合條件的股票，再選股價最低的前5檔，以更符合低價股效應。<br><br>position_limit 參數設定單檔持股上限，因為不是每期都會選滿5檔，如果只有一檔，沒設定position_limit會變成100%重壓，不要不信邪，很多人往往重壓那一次就倒。想知道更多回測細節可以參考 <a href="https://doc.finlab.tw/reference/backtest/" target="_blank" rel="noopener">量化平台文件</a>。<br><br>這樣適當地分散就像我們打籃球，5檔標的就像5個人團結合作，如果有幾個人狀況不好，還可以有其他人互相支援，不會像今天的球賽，你手感不好，沒得分，我們就輸很大。<br><br>position_limit 參數設定單檔持股上限，因為不是每期都會選滿5檔，如果只有一檔，沒設定position_limit會變成100%重壓，不要不信邪，很多人往往重壓那一次就倒。<br></p>



<h3><strong>策略統計分析</strong></h3>



<p>來開講回測結果啦！</p>



<figure class="wp-block-image"><img src="https://lh4.googleusercontent.com/ItzH93C743Med1UlSbtmrnBPkDfZ1g3UQBA9pMaEpc8Bjn13Hh6b4rEmOZZ8JgFlD29Gm7Ot2EKeQNueDDLBlHtIzIrO9fZyGc46L6LLTvIpWMUwyrodFob9Eb3Oz_tGfKRHJ28JAKSkPb9biAFtR_w" alt="ItzH93C743Med1UlSbtmrnBPkDfZ1g3UQBA9pMaEpc8Bjn13Hh6b4rEmOZZ8JgFlD29Gm7Ot2EKeQNueDDLBlHtIzIrO9fZyGc46L6LLTvIpWMUwyrodFob9Eb3Oz tGfKRHJ28JAKSkPb9biAFtR w" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 86"></figure>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/zJ4pYmnynGX1e5_LfHWLKsKnQU8IH9dv2NCMCd8bW8Wr48pJ0laDYZZrsAaULYY8Uewv9dZAXUfLGebAQ7nLJY6v2AHUyyOvmI43kYAMRzza67d6eub9lVO_YmPJIuomoAXtUOYO09jBzBjDRPZSwLQ" alt="zJ4pYmnynGX1e5 LfHWLKsKnQU8IH9dv2NCMCd8bW8Wr48pJ0laDYZZrsAaULYY8Uewv9dZAXUfLGebAQ7nLJY6v2AHUyyOvmI43kYAMRzza67d6eub9lVO YmPJIuomoAXtUOYO09jBzBjDRPZSwLQ" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 87"></figure>



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


df = data.get('security_categories')

# 排除金融股
category_range = [ind for ind in list(set(df['category'])) if '金融' not in ind]


with data.universe(market='TSE_OTC',category=category_range):

    close = data.get("price:收盤價")
    high = data.get("price:最高價")
    low = data.get("price:最低價")
    vol =  data.get("price:成交股數")
    
    # 收盤價近5日至少有1日創收盤價近120日創新
    condition1 = (close == close.rolling(120).max()).sustain(5,1)
    # 近60日股價高低區間在30%內
    condition2 = (1 - low.rolling(60).min()/high.rolling(60).max()) &lt; 0.3
    # 收盤價低於整體市場分級的40%
    condition3 = close &lt;= close.quantile_row(0.4)
    # 收盤價低於25元
    condition4 = close &lt;= 25
    # 5日均大於100張
    condition5 = vol.average(5) &gt; 100*1000

    # 交集所有條件
    position = condition1 &amp; condition2 &amp; condition3 &amp; condition4 &amp; condition5

    # 最後再挑選前5低價的標地
    position = close * (position.astype(int))
    position = position[position &gt; 0].is_smallest(5)
    
    # 每月底產生訊號、隔月第一個交易日進場、開盤價進出、每檔標的持有部位上限為20%、設定交易手續費折扣
    report = sim(position, resample="M", name="低價股策略", upload=True, stop_loss=0.05, trade_at_price='open',position_limit=1/5, fee_ratio=1.425/1000*0.3, mae_mfe_window=40)</code></pre>



<p>Andy 看了都驚呆了！沒想到30% up 的策略這麼快被生成出來了，年化報酬、夏普率、最大下跌都比單純持有0050優秀，2007-2022年共16個年份，只有3年虧損，且有12年(75%)年報酬打敗0050!2007、2012、2015、2016輸給大盤，但空頭年份2008、2011、2018、2022 年皆明顯優於大盤。</p>



<p>當然很少策略是完美的，這隻策略的勝率偏低，未達50%，若投資組合沒買齊全，容易會不如預期的效果。</p>



<p>在輸多勝少的情況下還能大賺，代表獲利的交易有高機率產生爆擊，中到飆股樂透。</p>



<p>另一個明顯缺點是下跌幅度多數時候都比大盤高，所以接下來，我們就必須針對這個策略來優化，適度的增加停損停利點，將風險控制在合理的範圍中。</p>



<h2>停損的重要性</h2>



<p>散戶有個致命缺點是不執行停損，認為賠錢不賣等於沒賠。<br>就有論文指出台股散戶投資人習慣賣出強勢股、留下弱勢股，已實現獲利是已實現損失的2.5倍，相比美國投資人則是1.5倍，有較強的處分效應（引自：台灣散戶交易行為探討 黃佳雯 2019年）。在帳面大幅虧損下為了急於翻本而過度交易，反而滿手套牢股。</p>



<p>學會勇敢停損絕對是散戶必學的一課，要懂得汰弱留強！</p>



<p>Andy 疑惑地問：「我也知道停損很重要，可是我很怕我停損後，他就給我繼續漲啊！要怎麼知道何時才該停損呢？」</p>



<p>Andy 這問題問的很好？市面上很多人會用絕對值停損法，例如賠10%就停損，然而這是很粗糙的做法，無法解決停損最佳點的問題</p>



<p>藉由 <a href="https://www.finlab.tw/display_mae_mfe_analysis/">MAE &amp; MFE</a> 分析去觀察策略波動的規律，讓我們可快速得知停損甜蜜點的區間大概在哪裡，在認識 <a href="https://www.finlab.tw/display_mae_mfe_analysis/">MAE &amp; MFE</a> 之前，我們先來了解一些基礎概念：</p>



<h3>波動分析基礎名詞</h3>



<figure class="wp-block-image"><img src="https://lh3.googleusercontent.com/G-fDCO6O8PhAubzYmvvn-3JHYG3Bm0rUs6MG8Ipu6fuOS5ncqRJA6ID9NsFQZRCKFKLV4W8F44pVIGrIJgDEFZGxqJjIwQChNpeZglfnmEFmZSuH2SYWJYAEEtakGx_aXjATQ-XZQEt6P-5kN2yR5LI" alt="G fDCO6O8PhAubzYmvvn 3JHYG3Bm0rUs6MG8Ipu6fuOS5ncqRJA6ID9NsFQZRCKFKLV4W8F44pVIGrIJgDEFZGxqJjIwQChNpeZglfnmEFmZSuH2SYWJYAEEtakGx aXjATQ XZQEt6P 5kN2yR5LI" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 88"></figure>



<h3>策略波動分析</h3>



<p>藉由 FinLab量化回測模組，我們可以很方便取得策略頗動分析圖。</p>



<figure class="wp-block-image"><img src="https://lh3.googleusercontent.com/BFNGw5iqNePikJzBj1ggmC0TGWI5XEnMeIMrTxuQ937LfkbO5nSuB7JA1Lxc_uWXaBRZVPrOTyEUqvUwznYnvggSRPFYW_JgEGlVgq0C_0mt3jGf9abx9uD6-t7RPAbzYr4DnjHpJwfreJX1a4_9CfU" alt="BFNGw5iqNePikJzBj1ggmC0TGWI5XEnMeIMrTxuQ937LfkbO5nSuB7JA1Lxc uWXaBRZVPrOTyEUqvUwznYnvggSRPFYW JgEGlVgq0C 0mt3jGf9abx9uD6 t7RPAbzYr4DnjHpJwfreJX1a4 9CfU" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 89"></figure>



<p>藍色為獲利的交易、紅色為虧損的交易。</p>



<p>由GMFE/MAE圖表得知，確實很多爆擊獲利(左上角藍點的部分)，靠大賺小賠維持獲利。虧損多落於-10~-20%，在未設定停損機制的情況下，這樣算是非常不錯的成果，回檔波動有叢聚性，代表策略有一定規則可循。</p>



<p>再從MAE分佈圖來看，可以發現藍紅雙峰有分離情況，藍色虛線代表獲利交易的75%百分位數 MAE 為3.09%，也就是說多數獲利的交易大部分都很少面臨回檔，幾乎多數就是一買就賺，然而紅色虛線代表虧損交易的75%百分位數，就明顯比較差，達11.76％。</p>



<p>而兩條分佈曲線的交界處就可能是停損甜蜜點，代表過了這個點位後，就大部分都是虧損交易，很難漲回到損益兩平，獲利交易則在持有過程很少會觸及此點。</p>



<p>以策略來說，停損甜蜜點大概是5%，可以保留多數獲利交易，且有機會讓多數虧損的交易及早止血。</p>



<p>這類波動特性可解釋為追創新高突破，有不小的機率會失敗，買入後就虧損超過5%的容易回天乏術，要及早停損，讓剩下獲利的標的去奔跑。</p>



<h3>加入停損後的回測結果</h3>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/BQWgg30wnKClBNBARMvOsV0uI_M_LQ57W9HxVark9xYAAzuWmJPgbzGWLDUHi0huqUSoZujqCZsjSo0QeU--CJOQUjb-ralo-qqmpF2EJcxf9CB1dh_CtlUkPpZAh56IwFDoDdTdIiDeIML9Gkmv0M0" alt="BQWgg30wnKClBNBARMvOsV0uI M LQ57W9HxVark9xYAAzuWmJPgbzGWLDUHi0huqUSoZujqCZsjSo0QeU CJOQUjb ralo" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 90"></figure>



<figure class="wp-block-image"><img src="https://lh4.googleusercontent.com/dxeq1PG9UqCniy7GpV5ToJx1mnLOWt3686CTIvodFLjdfxR0CtFJl3wGmdRzR_qpdOL8fK_fyqc8LgvhBeeRYH8cXYfyn6YsmhJuJWauDq5GUFaHLm5HfwyPVKaXMu_kQpnPZgryywe-0w3iqVaQIuc" alt="dxeq1PG9UqCniy7GpV5ToJx1mnLOWt3686CTIvodFLjdfxR0CtFJl3wGmdRzR qpdOL8fK fyqc8LgvhBeeRYH8cXYfyn6YsmhJuJWauDq5GUFaHLm5HfwyPVKaXMu kQpnPZgryywe 0w3iqVaQIuc" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 91"></figure>



<p>可以發現加入停損機制-5%(停損訊號產生後高一個交易日出場)後，年化報酬率雖然微幅下降，但策略體質變的更穩定了，原先虧損20%以上的紅點，都往內縮，降低損失。</p>



<figure class="wp-block-image"><img src="https://lh6.googleusercontent.com/DqcSJg3DRetVXJvYtEf40Vco3W7eVqJRd9q8pi4KjfnjYKun9FOJIeUYLe9Wx-FREPNk_VCPBWS03vTQW_R7XFigWfSYYVy8vB-b2L8njjfy6qBknPM3Hy7Fi76xxUWC_rt-WHjj1ff5JFZbPtW1jaE" alt="DqcSJg3DRetVXJvYtEf40Vco3W7eVqJRd9q8pi4KjfnjYKun9FOJIeUYLe9Wx FREPNk VCPBWS03vTQW R7XFigWfSYYVy8vB b2L8njjfy6qBknPM3Hy7Fi76xxUWC rt WHjj1ff5JFZbPtW1jaE" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 92"></figure>



<p>最大下跌與下跌幅曲線也被有效縮小，虧最多的年份是2011的-5%，這個幅度 Andy 可以靠工作的積蓄來cover，即使當年績效吃鱉，仍可靠工作收入來讓當年資產成長，是實務上較能接受的回檔標準。</p>



<p>勝率變的更低是正常的，因為為了止血，會有一些獲利的交易被犧牲掉，所以勝率和報酬率下降都是正常的。</p>



<p>Andy：「哇！這樣確實比較清楚在哪個位置該跑掉，有了這個我就不會瞎猜、害怕砍在最低點。」</p>



<h2><strong>策略未來優化方向</strong></h2>



<p>Andy ：「策略模擬結果可以達到年化30%報酬率！想不到光用技術面就能做出不錯的效果，操作低價股來賭樂透比去買彩券實在，感覺人生又有點希望了，但這個策略沒用到企業基本面，感覺持有起來少了安心感，畢竟我是會計人，如果想加入基本面到低價股策略該怎麼做呢？」</p>



<p>可以提供一個方向，再次回到前面提到的參考書籍「標股的長相」，書中提到一個很有道理的觀念，一個乏人問津的低價股票會突然飆漲，通常是基本面產生「關鍵的質變」，像是「轉虧為盈」，低價股之所以會是低價股，通常都是獲利體質不佳，乏人問津，但如果企業開始賺錢、甚至大成長了，比起業績與股價穩定的企業，低價股由於低價優勢，是不是有可能產生倍數獲利的黑馬評價？</p>



<p>如果有100人對此影片按讚，會在做「轉虧為盈」低價股策略的教學。</p>



<figure class="wp-block-image"><img src="https://lh3.googleusercontent.com/KygMje63HXKQQPYNamI5LlzhkwYh9u6IvLxSdqHblAehRNNEqgqYJe9JSQP3RtutujlLqtwmo_RAXdOgqK4z1RAE-gJ6_QXTWo3Xjx1sABlODbdnBCy6g8TwJM_Zf-PQZiuPjK7dHqxgmW1n2fsMwkg" alt="KygMje63HXKQQPYNamI5LlzhkwYh9u6IvLxSdqHblAehRNNEqgqYJe9JSQP3RtutujlLqtwmo RAXdOgqK4z1RAE gJ6 QXTWo3Xjx1sABlODbdnBCy6g8TwJM Zf" title="&lt;strong&gt;給小資族的禮物｜低價股量化策略的實戰訣竅&lt;/strong&gt; 93"></figure>



<h2><strong>贈送策略小禮物</strong></h2>



<p>看完這一系列分析，是不是對台股量化交易與低價股策略有完整的認識呢？</p>



<p>即使是小資族，仍有別的選擇，可藉由低價股效應去打造適合自己的策略，藉由對波動的分析技巧，了解策略風險，進出有據。</p>



<p>策略程式碼放在<a href="https://colab.research.google.com/drive/12k1ZT8bcE9uptWg8pRz2GiOIfSASm0Cl?usp=sharing" target="_blank" rel="noopener">連結</a>，歡迎大家下載交流，小資族一起來成長，策略可能還可以再進化喔！就等你來挑戰～如果想要有完整資料庫和教學內容權限，記得要加入 <a href="https://ai.finlab.tw/pricing" target="_blank" rel="noopener">FinLab VIP</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/low_price_strategy_tw_stock/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5121</post-id>	</item>
		<item>
		<title>技術指標教室｜動量指標 AROON</title>
		<link>https://www.finlab.tw/aroon_indicator/</link>
					<comments>https://www.finlab.tw/aroon_indicator/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 22 Dec 2022 08:05:38 +0000</pubDate>
				<category><![CDATA[技術面]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[投資新手]]></category>
		<category><![CDATA[AROON]]></category>
		<category><![CDATA[Talib]]></category>
		<category><![CDATA[動量指標]]></category>
		<category><![CDATA[氣數指標]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=4979</guid>

					<description><![CDATA[TA-Lib（Technical Analysis Library）是一個開源的技術分析模組，可以免費使用，用 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size"><a href="https://mrjbq7.github.io/ta-lib/" target="_blank" rel="noopener">TA-Lib</a>（Technical Analysis Library）是一個開源的技術分析模組，可以免費使用，用於計算股票技術指標。包含了超過 200 種技術指標的實現，包括常見的指標如移動平均線（Moving Average）、布林通道 (Bollinger Bands)、RSI 和 MACD 等，以及較少使用的指標如 KST、Vortex Indicator 和 Chande Momentum Oscillator等。<br>這麼好用的模組，你使用到多少呢？除了耳熟能詳的KD、RSI和MACD？還有許多你沒聽過的技術指標～越少人用的指標是否越有效？值得挖寶，技術指標教室將逐一探索較少見的指標，例如這次要介紹的動量指標「AROON」。</p>



<h2>Momentum indicators（動量指標）是什麼？</h2>



<p class="has-medium-font-size">動量指標的核心含義是：「如果股票的價格正在上漲，那麼它就具有正的動量，反之亦然。因此，動量指標通常用於確定股票的趨勢，並預測價格的未来變化。</p>



<p class="has-medium-font-size">常見的動量指標包括相對强弱指標（Relative Strength Index，RSI）和快速隨機指標（Fast Stochastic Oscillator）等。這些指標通常使用股票的收盤架或成交量来计算，並與股票的過去一段時間的價格或成交量進行比較。</p>



<h2>Aroon 技術指標是什麼？</h2>



<p class="has-medium-font-size">AROON 是一種股票技術指標，用於評估股票或其他市場資產的趨勢強度和持續時間。 Aroon指標包括兩條曲線：Aroon Up和Aroon Down。 Aroon Up指標衡量股票在過去多少天內出現過新高，而Aroon Down指標則衡量股票在過去多少天內出現過新低。</p>



<h3>AROON 技術指標公式</h3>



<p class="has-medium-font-size">AROON 指標可以用於識別股票的趨勢轉折點，並評估趨勢的強度和持續時間。它也可以與其他技術指標一起使用，以更精確地分析市場趨勢。</p>



<p class="has-medium-font-size">Aroon Up指標的公式如下：</p>



<p class="has-medium-font-size">Aroon Up = (Number of periods &#8211; Days since the highest high) / Number of periods x 100</p>



<p class="has-medium-font-size">Aroon Down指標的公式如下：</p>



<p class="has-medium-font-size">Aroon Down = (Number of periods &#8211; Days since the lowest low) / Number of periods x 100</p>



<p class="has-medium-font-size">在這些公式中，「Number of periods」是指要使用的時間段數量，通常為25天或50天。「Days since the highest high」是指自上一個新高以來的天數，而「Days since the lowest low」則是指自上一個新低以來的天數。</p>



<p class="has-medium-font-size">為了計算Aroon Up和Aroon Down指標，需要對股票的每一天的最高價和最低價進行追蹤，並計算自上一個新高或新低以來的天數。然後，可以使用公式計算 Aroon Up 和 Aroon Down 指標的值。</p>



<p class="has-medium-font-size">比方計算25天內的 AROON，若最高價出現在第3天，則 Aroon Up 為 12 (3/25*100)，若最高價出現在最近一日，則 Aroon Up 為 100。若最低價出現在第10天，則 Aroon DOWN 為 40 (10/25*100)。</p>



<p class="has-medium-font-size">Ta-lib 的 AROON 函數如下：</p>



<pre class="wp-block-preformatted">aroondown, aroonup = AROON(high, low, timeperiod=14)</pre>



<h3>AROON技術指標分析應用</h3>



<p class="has-medium-font-size">Aroon Up 和 Aroon Down 指標的值介於0到100之間，Aroon Up 越大代表股價在越近期創新高。Aroon Down 越大代表股價在越近期創新低。<br>AroonOsc 為延伸應用，定義為 Aroon Up 與 Aroon Down 相減。</p>



<p class="has-medium-font-size">當 AroonOsc 為正數時，代表創高日離近期較近，創低日較近期較遠，通常意味著股票正在處於創高的強勢過程，而當 AroonOsc 為負數 時，則意味著股票正在下跌創低的過程。</p>



<p class="has-medium-font-size">當 Aroon Up 指標向下跌破 50 時，表示向上的趨勢正在失去動力；當 Aroon Down 指标向下跌破50時，表示向下的趨勢正在失去動力；如果兩個指標都在低位，表示股價没有明確的趨勢；如果指標在70 以上，表示趨勢十分强烈；如果在30 以下，表明相反的趨勢正在醞釀。通常來說，AroonOsc 在0附近時，是典型的無趨勢特徵，股票處於盤整階段 (<a href="https://wizardforcel.gitbooks.io/python-quant-uqer/content/78.html" target="_blank" rel="noopener">參考來源</a>)。</p>



<h2>FinLab 量化平台實驗 AROON 指標選股</h2>



<p class="has-medium-font-size">第一次接觸該指標，不知道怎麼做才最好？<br>可以使用 FinLab 模組的<a href="https://doc.finlab.tw/reference/optimize/" target="_blank" rel="noopener">選股條件組合優化器</a>，將可能的條件都先寫出來，最後讓組合優化器將個條件組合全跑一遍，看哪一種效果最好。這次實驗的條件都以AROON指標相關，實驗市場通常使用的條件。</p>



<h3>實驗條件</h3>



<h4>持有條件</h4>



<ul class="has-medium-font-size"><li>AROON 指標週期設定25日</li><li>aroonup &gt; aroondown : 創高日比創低日較近期發生</li><li>aroonup &gt; 70</li><li>aroondown &lt; 30</li><li>每月換股</li></ul>



<h4>出場條件</h4>



<ul class="has-medium-font-size"><li>aroonup &lt; aroondown : 創低日比創高日較近期發生</li></ul>



<h3>程式範例</h3>



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

with data.universe(market='TSE_OTC'):
    close = data.get("price:收盤價")
    aroondown, aroonup = data.indicator("AROON", adjust_price=True, timeperiod=25)
    c1 = aroonup &gt; aroondown
    c2 = aroonup &gt; 70
    c3 = aroondown &lt; 30
    exits = aroonup &lt; aroondown

    conditions = {'c1':c1, 'c2':c2, 'c3':c3}
    report_collection = sim_conditions(conditions=conditions, resample='M', hold_until={'exit':exits, 'stop_loss':0.1}, position_limit=0.1, upload=False)

# 策略分組指標報告
report_collection.plot_creturns().show()
report_collection.plot_stats('bar').show()
report_collection.plot_stats('heatmap')
</code></pre>



<h3>回測結果</h3>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="291" src="https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43-1024x291.png" alt="newplot 43" class="wp-image-4990" srcset="https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43-1024x291.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43-300x85.png 300w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43-768x218.png 768w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43-1536x437.png 1536w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-43.png 1847w" sizes="(max-width: 1024px) 100vw, 1024px" title="技術指標教室｜動量指標 AROON 94"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="291" src="https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45-1024x291.png" alt="newplot 45" class="wp-image-4991" srcset="https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45-1024x291.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45-300x85.png 300w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45-768x218.png 768w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45-1536x437.png 1536w, https://www.finlab.tw/wp-content/uploads/2022/12/newplot-45.png 1847w" sizes="(max-width: 1024px) 100vw, 1024px" title="技術指標教室｜動量指標 AROON 95"></figure>



<p class="has-medium-font-size">aroonup &gt; aroondown 的條件回測效果最好，但年化報酬只有6%，同樣都是股價創新高的動能因子，AROON指標跟先前介紹的「<a href="https://www.finlab.tw/breakthrough_stock_picking_strategies/">創新高延續度動能策略</a>」相比，實在遜色太多，若依照市場一般的參數使用，無法得到太好的效果，有帶進一步的優化研究。</p>



<h2>相關資源</h2>



<ul class="has-medium-font-size"><li><a href="https://colab.research.google.com/drive/1pEUO_YxJPgvHB5Qk1jT7rvIgIb8HQkN5?usp=sharing" target="_blank" rel="noopener">colab範例檔</a></li><li><a href="https://wizardforcel.gitbooks.io/python-quant-uqer/content/78.html" target="_blank" rel="noopener">阿隆指标 • 技术指标阿隆（ Aroon ）全解析</a></li></ul>



<h2><br></h2>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/aroon_indicator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4979</post-id>	</item>
		<item>
		<title>月營收選股｜股價創新高｜新手必學的雙動能策略</title>
		<link>https://www.finlab.tw/revenue_and_price_engine_strategy/</link>
					<comments>https://www.finlab.tw/revenue_and_price_engine_strategy/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 06:55:47 +0000</pubDate>
				<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[技術面]]></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=4884</guid>

					<description><![CDATA[月營收是台股獨特的基本面因子，操作台股的玩家，都知道月營收的影響性，常可先預判季財報，究竟月營收選股條件要怎麼寫？這篇就用超簡單的語法，結合「突破策略豆知識」技巧寫出15年來年化報酬37%的高報酬率策略，讓你迅速上手月營收突破這個台股經典的策略。]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">月營收是台股獨特的基本面因子，操作台股的玩家，都知道月營收的影響性，常可先預判季財報，究竟月營收選股條件要怎麼寫？這篇就用超簡單的語法，結合「<a href="https://www.finlab.tw/breakthrough_stock_picking_strategies/">突破策略豆知識</a>」技巧寫出15年來年化報酬37%的高報酬率策略，讓你迅速上手月營收突破這個台股經典的策略。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="654" src="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-1024x654.png" alt="截圖 2022 11 16 下午12.47.28 e1668593619128" class="wp-image-4885" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-1024x654.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-300x192.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-768x491.png 768w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128.png 1396w" sizes="(max-width: 1024px) 100vw, 1024px" title="月營收選股｜股價創新高｜新手必學的雙動能策略 96"></figure>



<h2>月營收選股策略 &#8211; 創高基礎型態</h2>



<h3>程式範例</h3>



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

rev = data.get('monthly_revenue:當月營收')
rev_yoy_growth = data.get('monthly_revenue:去年同月增減(%)')

# 近2月平均營收
rev_ma = rev.average(2)

# 近2月平均營收創12個月來新高
condition = rev_ma == rev_ma.rolling(12, min_periods=6).max()

# 單月營收年增率與訊號相乘，若訊號為False，相乘結果為0
position= rev_yoy_growth*condition

# 符合選股條件的名單中，再選出單月營收年增率前10強，並在營收公告截止日換股。
position=position[position&gt;0].is_largest(10)

report=sim(position ,name="營收動能",upload=False)
report.display()</code></pre>



<p class="has-medium-font-size">程式非常簡單，只有10來行。說明幾個關鍵處。<br>月營收有個關鍵在要注意過年效應，有時候年假在1月、有時在2月中旬前，由於台股多數企業的營運區域都在華人地區，年假通常會停工或減班，如果是在1月過年，訂單常遞延到2月。因此在比較營收時，為了平滑過年效應，我會習慣取近2月平均營收來取代單月營收，不然1、2月若碰到年假，單月營收要創近12月新高的可能性實在太低。</p>



<p class="has-medium-font-size"><br>如果策略要實戰，縮減檔數是必須的，因為多數人沒那麼多資金全買，所以範例簡單用單月月營收來選最後10強。你可能會疑惑為何要寫<code>position[position&gt;0].is_largest(10)</code>，而不是<code>position.is_largest(10)</code>就好？那是因為<code>is_largest(10)</code>會選數值前10高的，若沒有排除不符合營收創高的標的，前10高的數值可能會選到不合條件的，會從股號小的標的開始補到10檔為止。</p>



<p class="has-medium-font-size">此策略的換股週期是用月營收索引，也就是月營收公告截止日，好處是貼近營收因子發酵期。<br>來看看策略的表現，非常不錯，15年來，年化高達 26% ! <br>你以為這樣就結束了嗎？其實還可以優化，繼續看下去。</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="800" height="600" src="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-36.png" alt="newplot 36" class="wp-image-4886" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-36.png 800w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-36-300x225.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-36-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" title="月營收選股｜股價創新高｜新手必學的雙動能策略 97"></figure>



<h2>營收股價雙創高的渦輪效應</h2>



<h3>股價創新高動能</h3>



<p class="has-medium-font-size">營收利多，最怕利多不漲，那很可能是市場早就反應，因此我們的目標是股價與營收連動，一同創高，代表股價的動能和營收創新高的關聯較大，如何寫出好棒棒的股價創新高動能策略，可以看先前的文章「<a href="https://www.finlab.tw/breakthrough_stock_picking_strategies/">突破策略豆知識</a>」，運用FinlabDataframe好用的sustiain方法確認突破強度。<br>程式與回測結果如下：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab.backtest import sim
from finlab import data
with data.universe(market='TSE_OTC'):
    close = data.get("price:收盤價")
    # 近5日內有3日以上的股價創前200日新高
    position = (close == close.rolling(200).max()).sustain(5,2)
    report = sim(position, resample="M", name="創新高延續動能策略", upload=False)
    report.display()</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" width="800" height="600" src="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-38.png" alt="newplot 38" class="wp-image-4887" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-38.png 800w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-38-300x225.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-38-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" title="月營收選股｜股價創新高｜新手必學的雙動能策略 98"></figure>



<h3>雙渦輪</h3>



<p class="has-medium-font-size">如果把營收創新高和股價創新高的程式做結合，會發生什麼事？</p>



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

close = data.get('price:收盤價')
vol = data.get('price:成交股數')
rev = data.get('monthly_revenue:當月營收')
rev_yoy_growth = data.get('monthly_revenue:去年同月增減(%)')

# 近2月平均營收
rev_ma = rev.average(2)

# 近2月平均營收創12個月來新高
condition1 = rev_ma == rev_ma.rolling(12, min_periods=6).max()
# 近5日內有2日股價創新高
condition2 = (close == close.rolling(200).max()).sustain(5,2)
# 近五日成交均量大於500張
condition3 = vol.average(5) &gt; 500*1000
conditions = condition1 &amp; condition2 &amp; condition3

# 符合選股條件的名單中，再選出單月營收年增率前10強，並在營收公告截止日換股。
position= rev_yoy_growth*conditions

position=position[position&gt;0].is_largest(10).reindex(rev.index_str_to_date().index, method='ffill')

# 設定position_limit避免重壓
report = sim(position=position,stop_loss=0.2,take_profit=0.8, position_limit=0.25, fee_ratio=1.425/1000*0.3,name="營收股價雙渦輪",upload=False)
report.display()</code></pre>



<p class="has-medium-font-size">上面程式要注意的小地方是有加上流動性條件，只買近五日成交均量大於500張的標的，避免太冷門的標的很難入手。由於月營收創高和股價創高的條件交集後，會轉成日週期索引，若要使用月營收截止日換股，必須要做reindex的動作，<code>rev.index_str_to_date</code> 會將月營收文字格式日期轉成月營收公告截止日，例如 2022-M10 變成 2022-11-11。<br><br>最後為避免重壓標地，設定position_limit=0.25，代表單擋持股上限為25%，避免只選到1-2檔全壓的大波動狀況。如果偏好降低波動，也可調成0.1，如此一來若只選到4檔標的，總持股比例只會有40%，在熊市時由於創新高標的本來就少，因此持股比例自然降低，具自然避險躲空頭的效果。<br><br>停損不建議設定小，此策略波動較大，設太小容易被洗掉。最後來看看加乘的效果吧！<br>15年來年化報酬37%！夏普率1.3，幾乎每一年都獲利，比前述單因子選股的表現優異許多，熊市年 2022 竟然還有16%正報酬，以條件這麼簡單的策略來說，算是很神的成績！</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="800" height="600" src="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-39.png" alt="newplot 39" class="wp-image-4888" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/newplot-39.png 800w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-39-300x225.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/newplot-39-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" title="月營收選股｜股價創新高｜新手必學的雙動能策略 99"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="654" src="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-1024x654.png" alt="截圖 2022 11 16 下午12.47.28 e1668593619128" class="wp-image-4885" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-1024x654.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-300x192.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128-768x491.png 768w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-16-下午12.47.28-e1668593619128.png 1396w" sizes="(max-width: 1024px) 100vw, 1024px" title="月營收選股｜股價創新高｜新手必學的雙動能策略 96"></figure>



<h2>結論</h2>



<p class="has-medium-font-size"><a href="https://colab.research.google.com/drive/1qp-5ZPtJXFIc6x4EkCJezzMcwpFdc5jY?usp=sharing" target="_blank" rel="noopener">colab 範例</a><br><a href="https://ai.finlab.tw/strategyview/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E7%87%9F%E6%94%B6%E8%82%A1%E5%83%B9%E9%9B%99%E6%B8%A6%E8%BC%AA" target="_blank" rel="noopener">量化平台部署範例</a><br>簡單卻很有實戰性，這就是FinLab與其他地方不同之處，不走太學術的路線，考慮實戰面，除了完整公開程式碼，還跟你講策略背後的思維。<br>此策略當然還有優化的空間～但這就是大家各自的功課了，Ben 把最核心的條件交給你了，一起去找股海的大秘寶吧！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/revenue_and_price_engine_strategy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4884</post-id>	</item>
	</channel>
</rss>
