<?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>finlab量化平台教學 &#8211; FinLab</title>
	<atom:link href="https://www.finlab.tw/tag/finlab%E9%87%8F%E5%8C%96%E5%B9%B3%E5%8F%B0%E6%95%99%E5%AD%B8/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.finlab.tw</link>
	<description>深入淺出的量化投資，讓你在在茫茫股海中，找到專屬於自己的投資方法</description>
	<lastBuildDate>Thu, 24 Nov 2022 03:53:35 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.9</generator>

<image>
	<url>https://www.finlab.tw/wp-content/uploads/2020/07/favicon.png</url>
	<title>finlab量化平台教學 &#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>選股策略系統性學習(1)｜新手初訪</title>
		<link>https://www.finlab.tw/stock_strategy_learning_system_for_beginner/</link>
					<comments>https://www.finlab.tw/stock_strategy_learning_system_for_beginner/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Wed, 23 Nov 2022 02:57:40 +0000</pubDate>
				<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[FinLab 量化平台]]></category>
		<category><![CDATA[投資新手]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<category><![CDATA[新手]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=4911</guid>

					<description><![CDATA[FinLab 策略實驗室 的選股策略程式範例琳瑯滿目，初來乍到，你是否有選擇障礙的困擾？感覺每一道都很厲害，但又不確定適不適合自己的口味與程度？擔心程式太難，導致自己體會不出精妙所在，該如何由淺入深來學習策略思維與程式？]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size"><a href="https://ai.finlab.tw/strategies?tab=FinLab%E7%AD%96%E7%95%A5" target="_blank" rel="noopener">FinLab 策略實驗室</a> 的選股策略程式範例琳瑯滿目，初來乍到，你是否有選擇障礙的困擾？感覺每一道都很厲害，但又不確定適不適合自己的口味與程度？擔心程式太難，導致自己體會不出精妙所在，該如何由淺入深來學習策略思維與程式？<br>量化投資和點菜很像，一開始你不一定要自己煮，可以先學如何點菜與品味，了解不同料理手法的差異，找到自己得品味後，再客製化屬於自己的料理，朝投資老饕的精進之路前進。<br>本篇舉出5個最精簡的<a href="https://ai.finlab.tw/strategies?tab=FinLab%E7%AD%96%E7%95%A5" target="_blank" rel="noopener">FinLab 策略實驗室</a> 的選股策略程式範例，介紹給初訪者體會量化投資好味道。</p>



<figure class="wp-block-image size-large"><img width="1024" height="744" src="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27-1024x744.png" alt="截圖 2022 11 22 上午11.31.27" class="wp-image-4912" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27-1024x744.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27-300x218.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27-768x558.png 768w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27-1536x1117.png 1536w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-22-上午11.31.27.png 1868w" sizes="(max-width: 1024px) 100vw, 1024px" title="選股策略系統性學習(1)｜新手初訪 1"></figure>



<h2>新手開胃策略</h2>



<p class="has-medium-font-size">股價淨值比和本益比是許多人都認識的評價指標，廣為人知的程度就像炸雞一樣。炸物料理，不少人覺得不就是食材新鮮拿去炸一炸就好吃了嗎？殊不知以炸為主要手法的高檔「天婦羅」料理。要做得好，牽涉到炸功、油品、油溫、麵粉，還要精準掌握溫度火候與時間，備料與烹過程中有很多細節得講究。<br>覺得股價淨值比和本益比太簡單，肯定沒用？免費的肯定沒好料？那你就大錯特錯了，雖然FinLab 策略清單上以下者兩個免費的策略程式都不到15行，十分清爽，但回測數據都有穩定的效果，許多進階策略也從這兩個策略的核心延伸出去，新手必吃的開胃菜啊！</p>



<ul class="has-medium-font-size"><li><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%82%A1%E5%83%B9%E6%B7%A8%E5%80%BC%E6%AF%94%E7%AD%96%E7%95%A5&amp;cid=sotMOMPufPwDHgGw8LQV" target="_blank" rel="noopener">股價淨值比</a></li><li><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E6%9C%AC%E7%9B%8A%E6%88%90%E9%95%B7%E6%AF%94&amp;cid=EdXeyxqxgng4CWTIWQpS" target="_blank" rel="noopener">本益成長比</a></li></ul>



<p class="has-medium-font-size">如果你仔細去了解策略備後的思維細節，會發現都是簡單而不簡單的好策略。<br>像是<a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%82%A1%E5%83%B9%E6%B7%A8%E5%80%BC%E6%AF%94%E7%AD%96%E7%95%A5&amp;cid=sotMOMPufPwDHgGw8LQV" target="_blank" rel="noopener">股價淨值比</a>策略中，為什麼要使用 （收盤價*股價淨值比）? 而非單純的股價淨值比？</p>



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

收盤價 = data.get('price:收盤價')
股價淨值比 = data.get("price_earning_ratio:股價淨值比")

# 條件 1
收盤價大於五 = 收盤價 &gt; 5

# 條件 2
季線 = 收盤價.rolling(60).mean()
收盤價在季線之上 = 收盤價 &gt; 季線

# 條件 3
總條件 = (收盤價 * 股價淨值比)[收盤價大於五&amp;收盤價在季線之上].is_smallest(20)


backtest.sim(總條件, resample='Q')</code></pre>



<p class="has-medium-font-size">因為股價淨值比高的通常也是高價股，如果是低價股，要小心財務安全性，所以有要求股價要大於5元，5元的標的若是高股價淨值比，例如2倍，就代表每股淨值2.5元，很危險，也會是全額交割股。</p>



<p class="has-medium-font-size">同樣的股價淨值比比較之下，因為篩選後面有用最小值篩選機制「is_smallest(20)」，所以股價低的會優先，帶入操作低價股為選股因子。越低價的標地可能有較高的風險報酬比。如果是小資族，低價股的策略由於有較高機會不用買零股，流動性風險也會較低。</p>



<p class="has-medium-font-size"><a href="https://www.finlab.tw/finlab-tw-stock-peg-strategy/">本益成長比 </a>則是重構傳統上PEG分母使用稅後盈餘成長率當分母的定義，改用本業成長純度高的營業利益率當分母，排除以往涵蓋過高一次性業外收入的雜訊。教你如何靈活應用財務指標，而不拘於傳統定義。</p>



<p class="has-medium-font-size">這兩個策略看似簡單，其實背後並不簡單，就像好吃的料理不一定要精雕細琢，大巧不工才是真味啊！就像<a href="https://www.facebook.com/PASTiTrattoria/posts/pfbid0eunFWfQnyfytxSuD5SbZEvexXvaxz2XwWV5P7k2yPAc9JzA25BG7AHwXpc9JZaXql" target="_blank" rel="noopener">PASTi 油量挺拔的炸芝麻葉</a> 與 <a href="https://mudantempura.com/tempura" target="_blank" rel="noopener">牡丹天婦羅招牌香魚</a> 把炸功發揮到極致！</p>



<figure class="wp-container-2 wp-block-gallery-1 wp-block-gallery has-nested-images columns-default is-cropped">
<figure class="wp-block-image size-large"><img loading="lazy" width="843" height="1501" data-id="4914" src="https://www.finlab.tw/wp-content/uploads/2022/11/pasti芝麻葉.jpeg" alt="pasti芝麻葉" class="wp-image-4914" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/pasti芝麻葉.jpeg 843w, https://www.finlab.tw/wp-content/uploads/2022/11/pasti芝麻葉-168x300.jpeg 168w, https://www.finlab.tw/wp-content/uploads/2022/11/pasti芝麻葉-575x1024.jpeg 575w, https://www.finlab.tw/wp-content/uploads/2022/11/pasti芝麻葉-768x1367.jpeg 768w" sizes="(max-width: 843px) 100vw, 843px" title="選股策略系統性學習(1)｜新手初訪 2"><figcaption><a href="https://www.facebook.com/PASTiTrattoria/posts/pfbid0eunFWfQnyfytxSuD5SbZEvexXvaxz2XwWV5P7k2yPAc9JzA25BG7AHwXpc9JZaXql" target="_blank" rel="noopener">PASTi 油量挺拔的炸芝麻葉</a></figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1000" height="1333" data-id="4913" src="https://www.finlab.tw/wp-content/uploads/2022/11/mudan_food_16.jpeg" alt="mudan food 16" class="wp-image-4913" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/mudan_food_16.jpeg 1000w, https://www.finlab.tw/wp-content/uploads/2022/11/mudan_food_16-225x300.jpeg 225w, https://www.finlab.tw/wp-content/uploads/2022/11/mudan_food_16-768x1024.jpeg 768w" sizes="(max-width: 1000px) 100vw, 1000px" title="選股策略系統性學習(1)｜新手初訪 3"><figcaption><a href="https://mudantempura.com/tempura" target="_blank" rel="noopener">牡丹天婦羅招牌香魚</a></figcaption></figure>
</figure>



<h2>新手雙主菜策略</h2>



<p class="has-medium-font-size">若你覺得開胃菜合胃口，但覺得味道稍平淡點，想試一點比較「刺激」的熱主菜，波動度比開胃菜策略更強，給想要試試重口味的人嚐嚐:</p>



<ul class="has-medium-font-size"><li><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></li><li><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%AD%B7%E5%9C%8B%E7%A5%9E%E5%B1%B1%E6%95%91%E9%9B%A3%E9%9A%8A&amp;cid=3aXcSOtYvy2aRD6UzhmK" target="_blank" rel="noopener">護國神山救難隊</a></li></ul>



<p class="has-medium-font-size">程式也都不到15行，概念很好理解，<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><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> 在原型階段已有很好的表現，如果經過優化，有變成「招牌主菜」的潛力。</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="選股策略系統性學習(1)｜新手初訪 4"><figcaption><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></figcaption></figure>



<p class="has-medium-font-size"><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%AD%B7%E5%9C%8B%E7%A5%9E%E5%B1%B1%E6%95%91%E9%9B%A3%E9%9A%8A&amp;cid=3aXcSOtYvy2aRD6UzhmK" target="_blank" rel="noopener">護國神山救難隊</a> 是逆勢搶反彈，賭權值股會均值回歸，是基本的布林通道理論應用，在大盤空頭時期有不錯表現，2022 實戰3連勝 ，有目共睹!</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="778" src="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-23-上午8.59.45-1024x778.png" alt="截圖 2022 11 23 上午8.59.45" class="wp-image-4916" srcset="https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-23-上午8.59.45-1024x778.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-23-上午8.59.45-300x228.png 300w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-23-上午8.59.45-768x583.png 768w, https://www.finlab.tw/wp-content/uploads/2022/11/截圖-2022-11-23-上午8.59.45.png 1338w" sizes="(max-width: 1024px) 100vw, 1024px" title="選股策略系統性學習(1)｜新手初訪 5"><figcaption><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%AD%B7%E5%9C%8B%E7%A5%9E%E5%B1%B1%E6%95%91%E9%9B%A3%E9%9A%8A&amp;cid=3aXcSOtYvy2aRD6UzhmK" target="_blank" rel="noopener">護國神山救難隊</a> </figcaption></figure>



<h2>新手甜點策略</h2>



<p class="has-medium-font-size">如果你還吃得下，那可以再點一個程式手法稍微繁複，但概念簡單的「<a href="https://ai.finlab.tw/strategyview/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%B2%A1%E5%8B%99%E6%8C%87%E6%A8%99%E8%A8%88%E5%88%86%E9%81%B8%E8%82%A1%E6%B3%95" target="_blank" rel="noopener">財務指標計分選股法</a>」做初訪菜單的收尾，體會 Python 函式庫強大的支援與語法精簡的美學，像是台分子料理機器，將複雜的財報計分功能實現出一道精美的料理。</p>



<h2>小結</h2>



<p class="has-medium-font-size"><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%82%A1%E5%83%B9%E6%B7%A8%E5%80%BC%E6%AF%94%E7%AD%96%E7%95%A5&amp;cid=sotMOMPufPwDHgGw8LQV" target="_blank" rel="noopener">股價淨值比</a><br><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E6%9C%AC%E7%9B%8A%E6%88%90%E9%95%B7%E6%AF%94&amp;cid=EdXeyxqxgng4CWTIWQpS" target="_blank" rel="noopener">本益成長比</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><a href="https://ai.finlab.tw/notebook/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%AD%B7%E5%9C%8B%E7%A5%9E%E5%B1%B1%E6%95%91%E9%9B%A3%E9%9A%8A&amp;cid=3aXcSOtYvy2aRD6UzhmK" target="_blank" rel="noopener">護國神山救難隊</a><br><a href="https://ai.finlab.tw/strategyview/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E8%B2%A1%E5%8B%99%E6%8C%87%E6%A8%99%E8%A8%88%E5%88%86%E9%81%B8%E8%82%A1%E6%B3%95" target="_blank" rel="noopener">財務指標計分選股法</a></p>



<p class="has-medium-font-size">五個入門級的經典招牌程式範例，推薦給初訪的你，下一次再來介紹升級版策略套餐。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/stock_strategy_learning_system_for_beginner/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4911</post-id>	</item>
		<item>
		<title>Python 財報月報股價爬蟲，台股資料庫終極解決之道！</title>
		<link>https://www.finlab.tw/python-%e8%b2%a1%e5%a0%b1%e6%9c%88%e5%a0%b1%e8%82%a1%e5%83%b9%e7%88%ac%e8%9f%b2%ef%bc%8c%e5%8f%b0%e8%82%a1%e8%b3%87%e6%96%99%e5%ba%ab%e7%b5%82%e6%a5%b5%e8%a7%a3%e6%b1%ba%e4%b9%8b%e9%81%93%ef%bc%81/</link>
					<comments>https://www.finlab.tw/python-%e8%b2%a1%e5%a0%b1%e6%9c%88%e5%a0%b1%e8%82%a1%e5%83%b9%e7%88%ac%e8%9f%b2%ef%bc%8c%e5%8f%b0%e8%82%a1%e8%b3%87%e6%96%99%e5%ba%ab%e7%b5%82%e6%a5%b5%e8%a7%a3%e6%b1%ba%e4%b9%8b%e9%81%93%ef%bc%81/#respond</comments>
		
		<dc:creator><![CDATA[FinLab - 韓承佑]]></dc:creator>
		<pubDate>Mon, 08 Nov 2021 01:14:54 +0000</pubDate>
				<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<category><![CDATA[PYTHON]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=2934</guid>

					<description><![CDATA[下載資料不要再涓涓細流，每一檔股票慢慢下載，每一天重複慢慢等待，現在是 5G 的時代，大數據這個名詞也已經用到 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>下載資料<strong>不要再涓涓細流</strong>，每一檔股票<strong>慢慢下載</strong>，每一天重複<strong>慢慢等待</strong>，現在是 5G 的時代，大數據這個名詞也已經用到爛，偏偏台股這種小數據，蒐集起來大費周章，不合理吧？今天就來解決這個問題。</p>



<h2>財經資料庫比較</h2>



<p>假如我告訴你，請找一款 Package 可以讓你徜徉在資料海之中，比較市面上的股票資料庫，你可能會找到以下幾個：</p>



<h3>CMoeny 貓頭鷹</h3>



<p><strong><a href="https://owl.cmoney.com.tw/Owl/" class="rank-math-link" target="_blank" rel="noopener">CMoney 數據貓頭鷹</a>，</strong>之前好像還可以用，但是好像已經沒有在開發了，API 檔案裡面，所謂的「服務網站」好像沒有公開（或關閉了），所以不知如何使用。</p>



<h3>TEJ 資料庫</h3>



<p>不過要是你在學校，可以用<strong> TEJ 可以下載到資料</strong>，但是所謂的「<a href="https://eshop.tej.com.tw/E-Shop/Edata_caseIntro/3" class="rank-math-link" target="_blank" rel="noopener">達人方案</a>」也需要每月 8888 ，能不能讓你發發發發，就不確定了。</p>



<h3>坊間 Python 教學</h3>



<p>查看部落格教學來下載，像是 2016 年，我開始在網路上分享的時候，也是先介紹怎麼寫不同的爬蟲，流量也都滿好的，因為大家都想知道怎麼抓資料，但是抓下來後，<strong>網站改版爬蟲壞掉要修改？要怎麼整裡儲存？抓下來的資料要如何串接回測？</strong>這些都非常瑣碎，導致很多人停留在這個階段就已經放棄了。</p>



<h3>FinMind</h3>



<p>當前最好的解決方案，是跟 FinLab 名字很像的 <strong><a href="https://finmindtrade.com/analysis/#/data/api" class="rank-math-link" target="_blank" rel="noopener">FinMind Package </a></strong>，秉持著開放的精神，讓你免費使用 600 次 request，每小時，其實已經很佛心了！但是台股有 2000 檔股票，代表你注定一小時沒辦法下載所有資料了。就算付費會員，資料下載下來，<strong>要怎麼合併整裡儲存，也是一番功夫呀</strong>。</p>



<h3>資料庫的掙扎</h3>



<p>我當初想要建構一個回測平台，資料庫希望可以跟別人合作，但是資料庫廠商很保守，「這些資料要做什麼用的呢？」「你是要對外使用嗎？」「你先說你需要哪些資料，我們再來估價看看喔！」。對他們來講，資料是公司命脈，當然需要謹慎把關，商品本來就是要拉高價格，以提升毛利率。但對我來講，<strong>這些公開資料，應該是開放的，易取得的，可分享的</strong>。<strong>假如大家都是想要賣資料庫，就注定了 Python 理財無法大眾化</strong>，因為大部分都卡死在資料處理這一關了，沒有一個好的資料庫，再好的回測系統也是枉然。</p>



<h2>FinLab：從今天起，你有不同的選擇</h2>



<blockquote class="wp-block-quote"><p>2000 檔股票、15 年資料，一次下載，一勞永逸，一行打趴！</p></blockquote>



<p>所以為了打造一個最好用的<a href="https://ai.finlab.tw" class="rank-math-link" target="_blank" rel="noopener"> Python 回測系統</a>，只好先從資料庫開始了。我們真的也是花了非常多心力在做這個資料庫上，上百則條目，包含上市櫃興櫃的股價財報月報、三大法人、集保庫存，你想得到的幾乎都有啦。但如何讓大家「最快」的拿到「大量」資料，並且將伺服器「傳輸成本降到最低」？用 SQL 資料庫都絕對無法達成，所以我們連資料庫都一併重寫。就算我們手上已經有很多爬蟲，但我跟 Ben 還是經歷了將近一年的調整，終於做出了像樣的資料庫。最近還新增了<a href="https://ai.finlab.tw/strategy/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E5%8A%A0%E5%AF%86%E8%B2%A8%E5%B9%A3%E9%80%90%E5%BA%95%E7%AD%96%E7%95%A5" class="rank-math-link" target="_blank" rel="noopener">加密貨幣的資料和回測</a>，持續更新中。</p>



<p>這個市面上最好用的資料庫，只是為了回測而順便打造的！簡單說，這只是前菜，主餐還在後面！好的 Package，不需要多解釋，只是要兩行即可說明：</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab import data
data.get('price:收盤價')</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="906" src="https://www.finlab.tw/wp-content/uploads/2021/11/image-1024x906.png" alt="image" class="wp-image-2936" srcset="https://www.finlab.tw/wp-content/uploads/2021/11/image-1024x906.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/11/image-300x266.png 300w, https://www.finlab.tw/wp-content/uploads/2021/11/image-768x680.png 768w, https://www.finlab.tw/wp-content/uploads/2021/11/image.png 1516w" sizes="(max-width: 1024px) 100vw, 1024px" title="Python 財報月報股價爬蟲，台股資料庫終極解決之道！ 6"></figure>



<p>接下來一系列，會帶你瞭解 FinLab Package 的好用之處！歡迎到 <a href="https://www.facebook.com/finlab.python" class="rank-math-link" target="_blank" rel="noopener">FB 粉專</a> 追蹤我們，才不會錯過接下來的內容喔！或是頁面又上方註冊 Email ，有新的文章就會提醒你。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/python-%e8%b2%a1%e5%a0%b1%e6%9c%88%e5%a0%b1%e8%82%a1%e5%83%b9%e7%88%ac%e8%9f%b2%ef%bc%8c%e5%8f%b0%e8%82%a1%e8%b3%87%e6%96%99%e5%ba%ab%e7%b5%82%e6%a5%b5%e8%a7%a3%e6%b1%ba%e4%b9%8b%e9%81%93%ef%bc%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2934</post-id>	</item>
		<item>
		<title>FinLab量化策略平台入門者操作指南</title>
		<link>https://www.finlab.tw/finlab_platform_intro/</link>
					<comments>https://www.finlab.tw/finlab_platform_intro/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Sat, 30 Oct 2021 07:04:49 +0000</pubDate>
				<category><![CDATA[生產力]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=2879</guid>

					<description><![CDATA[大家好，這項新的雲端服務將會是以後 Finlab 量化交易生態系的核心，也會在此平台逐步開發新功能，並利用 F [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>大家好，這項新的雲端服務將會是以後 Finlab 量化交易生態系的核心，也會在此平台逐步開發新功能，並利用 FinLab 模組做策略教學。可以幫大家省下維護大量程式與資料的成本，主功能由 FinLab 團隊維護，用很簡潔的代碼就能快速開發。模組採半開源模式，除了部分核心代碼，你可以將自身的 Python 開發與 FinLab 模組搭配，做更客製化的選擇。</p>



<h3>模組文件</h3>



<p><a href="https://ai.finlab.tw/document" class="rank-math-link" target="_blank" rel="noopener">文件連結</a></p>



<p>利用簡單的語法撰寫多樣化的策略。</p>



<h3>資料庫</h3>



<p><a href="https://ai.finlab.tw/database" class="rank-math-link" target="_blank" rel="noopener">資料庫文檔連結</a></p>



<p>資料主要來源公開資訊觀測站、台灣證交所與櫃買中心。</p>



<p>包含還原股價、上市櫃財報等多種資料，豐富各種運用。</p>



<h3>教學內容</h3>



<p><a href="https://www.finlab.tw/" class="rank-math-link">部落格連結</a></p>



<p>我們會不定時發布教學內容，一步步引導同學使用平台開發策略，初期以部落格文章形式為主，程式範例為統合開發環境，放在 colab 平台。</p>



<p>主要會包含策略撰寫、機器學習交易演算法、資料視覺化、程式新潮流應用，另外也會有各種資料應用、策略思維、實戰交易經驗、區塊鏈趨勢分享等等。<br>初期會以台股為主，最終目標是整合加密貨幣和美股進來，管理所有資產配置與策略。台灣的投資社群還是以主觀交易為大宗，希望藉此服務使量化交易更普及、生態圈更豐富，讓越來越多人用低成本來學習，有能力破解和驗證各種江湖傳說。</p>



<p>若對我們的服務有興趣，請進入<a href="https://ai.finlab.tw/" class="rank-math-link" target="_blank" rel="noopener">量化平台網站</a>，按右上角登錄或註冊。</p>



<h2>Discord 交流群組</h2>



<p><a class="rank-math-link" href="https://discord.gg/tAr4ysPqvR" target="_blank" rel="noopener">discord連結</a></p>



<p>量化平台的主要交流空間，無論是 API 操作、策略研討、程式開發、交易閒聊、Bug 回報、許願…都可以在相關頻道討論。還沒加入的夥伴趕緊點擊邀請連結進入這個大家庭!</p>



<h2>入門 colab 範例檔</h2>



<p><a href="https://colab.research.google.com/drive/1Af279lUGenjLxh0PaOEwozFRg-3s7NmW?usp=sharing" class="rank-math-link" target="_blank" rel="noopener">colab連結</a></p>



<p>這份檔案能帶領你快速進入 FinLab 的量化交易宇宙，將模組文件裡的重點程式內容、策略常見案例納進其中，將來無論是要以此範本撰寫策略程式，還是要複習內容都很方便。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/finlab_platform_intro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2879</post-id>	</item>
		<item>
		<title>本益比河流圖｜Python Plotly 應用教學</title>
		<link>https://www.finlab.tw/pepb-river-chart/</link>
					<comments>https://www.finlab.tw/pepb-river-chart/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Mon, 27 Sep 2021 07:11:50 +0000</pubDate>
				<category><![CDATA[生產力]]></category>
		<category><![CDATA[Python新手教學]]></category>
		<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<category><![CDATA[Plotly]]></category>
		<category><![CDATA[VIP限定]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=2816</guid>

					<description><![CDATA[本益比河流圖的用途 取標的一段時間內的本益比上下限，再決定要分割幾層，用來判斷獲利或成長性穩定的股票所處於的本 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2>本益比河流圖的用途</h2>



<p>取標的一段時間內的本益比上下限，再決定要分割幾層，用來判斷獲利或成長性穩定的股票所處於的本益比區間。</p>



<p>高成長股或獲利不夠穩定的企業不適用，本益比河流圖趨勢變化會太過劇烈。</p>



<p>本益比河流圖上升或層距擴大代表獲利逐漸成長，買在河流圖中下緣是理想位置。</p>



<p>本益比河流圖下降或層距縮小代表獲利逐步下掉，若股價位於河流圖上緣則風險偏高。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1024x264.png" alt="newplot 10" class="wp-image-2820" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 7"><figcaption>適合使用本益比的穩定企業</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11-1024x264.png" alt="newplot 11" class="wp-image-2821" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-11.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 8"><figcaption>不適合使用本益比的不穩定企業</figcaption></figure>



<h2>如何繪製?</h2>



<p>Plotly套件提供了<a href="https://plotly.com/python/filled-area-plots/" class="rank-math-link" target="_blank" rel="noopener">Filled Area Plot</a>函數讓我們可以應用繪製本益比河流圖。</p>



<p>使用Scatter物件帶入fill參數就能將折線圖填充區域顏色。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import plotly.graph_objects as go
# 設定畫布
fig = go.Figure()
# 使用add_trace加入線段
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[0, 2, 3, 5], fill='tozeroy')) # fill down to xaxis
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[3, 5, 1, 7], fill='tonexty')) # fill to trace0 y

fig.show()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12-1024x264.png" alt="newplot 12" class="wp-image-2822" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-12.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 9"></figure>



<p>我們將步驟拆解為二，第一步是生成繪製所需要的資料，第二步是將資料套入繪圖function。</p>



<h3>生成資料</h3>



<p>pe/close先求出eps，再用split_range設定本益比上下限要分幾層河流。河流邊界為各區間本益比倍數，與股價相乘後為該邊界本益比對應的股價序列。</p>



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


stock_id='2330'
#幾層河流
split_range=8

close = data.get('price:收盤價')
pe = data.get('price_earning_ratio:本益比')
df = pe[stock_id]
max_value = df.max()
min_value = df.min()
# 求本益比上下限間距
quan_value = (max_value - min_value) / split_range
# 求本益比各河流倍數
river_borders = [round(min_value + quan_value * i, 2) for i in range(0, split_range + 1)]
# 算出eps
result = (close[stock_id] / df).dropna().to_frame()
index_name = 'pe/close'
result.columns = [index_name]
result['close'] = close[stock_id]
result['pe'] = pe[stock_id]
# 各本益比對應價格
for r in river_borders:
    col_name = f"{r} pe"
    result[col_name] = result[index_name] * r
result = round(result, 2)</code></pre>



<p></p>



<p>資料目標範例如下列dataframe:</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="413" src="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39-1024x413.png" alt="截圖 2021 09 27 下午2.41.39" class="wp-image-2824" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39-1024x413.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39-300x121.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39-768x310.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39-1536x619.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-27-下午2.41.39.png 1593w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 10"></figure>



<h3>繪圖</h3>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab import data
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px

df=result.copy()
# 挑出欄位有數字的來畫河流圖，過濾pe/close,close,pe
col_name_set = [i for i in df.columns if any(map(str.isdigit, i))]

fig = go.Figure()

# 執行迴圈填入資料序列
for n, c in enumerate(col_name_set):
    # 第一道邊界下不要填充
    if n == 0:
        fill_mode = None
    else:
      fill_mode = 'tonexty'
    # colors.qualitative.Prism填入河流圖階層顏色
    fig.add_trace(
        go.Scatter(x=df.index, y=df[c], fill=fill_mode, line=dict(width=0, color=px.colors.qualitative.Prism[n]),
                    name=c))
    
# 製作客製化data項目用來製作hovertemplate，顯示浮動資料
customdata = [(c, p) for c, p in zip(df['close'], df['pe'])]
hovertemplate = "&lt;br&gt;date:%{x|%Y/%m/%d}&lt;br&gt;close:%{customdata[0]}" + f"&lt;br&gt;'pe'" + ":%{customdata[1]}"
fig.add_trace(go.Scatter(x=df.index, y=df['close'], line=dict(width=2.5, color='#2e4391'), customdata=customdata,
                          hovertemplate=hovertemplate, name='close'))

# 取股名製作title
security_categories = data.get('security_categories').set_index(['stock_id'])
stock_name = security_categories.loc[stock_id]['name']
fig.update_layout(title=f"{stock_id} {stock_name} {'PE'} River Chart",
                  template="ggplot2",
                  yaxis=dict(
                      title='price',
                  ),
                  # hovermode='x unified',
                  )
# 顯示十字線
fig.update_xaxes(showspikes=True)
fig.update_yaxes(showspikes=True)</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1024x264.png" alt="newplot 10" class="wp-image-2820" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-10.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 7"></figure>



<p>注意以下程式，若第一道邊界下沒設None，會變成以下形式，最低一層會被填入很大一塊區域，與河流間距不相符，有礙觀察，因此我們要讓第一道邊界以下不要填充才比較好。</p>



<pre class="wp-block-code"><code class="">for n, c in enumerate(col_name_set):
    fill_mode = 'tonexty'</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16-1024x264.png" alt="newplot 16" class="wp-image-2825" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-16.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 12"></figure>



<h2>封裝函數與多元應用</h2>



<p>除了本益比河流圖，常用的還有股價淨值比河流圖，計算和應用方式和本益比河流圖大同小異，我們可以將上面的程式封裝成函數，設定一個mode參數去選擇我們要哪一種河流圖。</p>



<p>完整程式如下:</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab import data
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px

# 控制資料範圍
def df_date_filter(df, start=None, end=None):
    if start:
        df = df[df.index &gt;= start]
    if end:
        df = df[df.index &lt;= end]
    return df


def get_pe_river_data(start=None, end=None, stock_id='2330', mode='pe', split_range=6):
    if mode not in ['pe', 'pb']:
        print('mode error')
        return None
    close = df_date_filter(data.get('price:收盤價'), start, end)
    pe = df_date_filter(data.get('price_earning_ratio:本益比'), start, end)
    pb = df_date_filter(data.get('price_earning_ratio:股價淨值比'), start, end)
    df = eval(mode)
    if stock_id not in df.columns:
        print('stock_id input is not in data.')
        return None
    df = df[stock_id]
    max_value = df.max()
    min_value = df.min()
    quan_value = (max_value - min_value) / split_range
    river_borders = [round(min_value + quan_value * i, 2) for i in range(0, split_range + 1)]
    result = (close[stock_id] / df).dropna().to_frame()
    index_name = f'{mode}/close'
    result.columns = [index_name]
    result['close'] = close[stock_id]
    result['pe'] = pe[stock_id]
    result['pb'] = pb[stock_id]
    for r in river_borders:
        col_name = f"{r} {mode}"
        result[col_name] = result[index_name] * r
    result = round(result, 2)
    return result

def plot_tw_stock_river(start=None, end=None, stock_id='2330', mode='pe', split_range=8):
    """Plot River chart for tw_stock

    Use maximum or minimum PE(PB) to calculate River.
    it is good for judging the  high and low in the historical interval.

    Args:
      start(str): The date of data start point.ex:2021-01-02
      end(str):The date of data end point.ex:2021-01-05
      stock_id(str): Target id in tw stock market ex:2330.
      mode(str): 'pe' or 'pb'.
      split_range(int):the quantity of river borders.
    Returns:
        figure
    """
    df = get_pe_river_data(start, end, stock_id, mode, split_range)
    if df is None:
        print('data error')
        return None
    col_name_set = [i for i in df.columns if any(map(str.isdigit, i))]

    fig = go.Figure()
    for n, c in enumerate(col_name_set):
        if n == 0:
            fill_mode = None
        else:
            fill_mode = 'tonexty'
        fig.add_trace(
            go.Scatter(x=df.index, y=df[c], fill=fill_mode, line=dict(width=0, color=px.colors.qualitative.Prism[n]),
                       name=c))
    customdata = [(c, p) for c, p in zip(df['close'], df[mode])]
    hovertemplate = "&lt;br&gt;date:%{x|%Y/%m/%d}&lt;br&gt;close:%{customdata[0]}" + f"&lt;br&gt;{mode}" + ":%{customdata[1]}"
    fig.add_trace(go.Scatter(x=df.index, y=df['close'], line=dict(width=2.5, color='#2e4391'), customdata=customdata,
                             hovertemplate=hovertemplate, name='close'))

    security_categories = data.get('security_categories').set_index(['stock_id'])
    stock_name = security_categories.loc[stock_id]['name']
    fig.update_layout(title=f"{stock_id} {stock_name} {mode.upper()} River Chart",
                      template="ggplot2",
                      yaxis=dict(
                          title='price',
                      ),
                      # hovermode='x unified',
                      )
    fig.update_xaxes(showspikes=True)
    fig.update_yaxes(showspikes=True)

    return fig


# plot_tw_stock_river(stock_id='2330',mode='pe',split_range=8)
plot_tw_stock_river(stock_id='2330',mode='pb',split_range=8)</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="264" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17-1024x264.png" alt="newplot 17" class="wp-image-2826" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17-1024x264.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17-300x77.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17-768x198.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17-1536x396.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-17.png 2038w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比河流圖｜Python Plotly 應用教學 13"><figcaption>股價淨值比河流圖</figcaption></figure>



<h2 id="block-e495eafc-9b2c-498f-a772-7e75e9aeb5d5">總結</h2>



<p>使用finlab和plotly套件可以做出各式各樣視覺化的應用，只要學會一些小技巧，就能客製化屬於自己的看盤工具。</p>



<p id="block-55168ab1-74c2-48d9-8026-9c0247c0d5c9">對本篇程式有興趣的可以參考文底連結附檔，記得要先註冊<a href="https://ai.finlab.tw/" target="_blank" rel="noopener">Finlab量化平台</a>才可有權限使用程式喔！</p>



<p id="block-08507cdf-ff03-4654-83bd-ea97a8476d7a"><a href="https://drive.google.com/file/d/14IrzzPzSbjBRToOU_rYFsmNskI-Gq8F_/view?usp=sharing" class="rank-math-link" target="_blank" rel="noopener">colab程式範例</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/pepb-river-chart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2816</post-id>	</item>
		<item>
		<title>本益比選股策略 &#124; 產業因子分析</title>
		<link>https://www.finlab.tw/finlab-tw-stock-pe-strategy/</link>
					<comments>https://www.finlab.tw/finlab-tw-stock-pe-strategy/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 23 Sep 2021 09:32:01 +0000</pubDate>
				<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[FinLab YouTube]]></category>
		<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[股票策略]]></category>
		<category><![CDATA[財經PYTHON教學]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<category><![CDATA[VIP限定]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=2777</guid>

					<description><![CDATA[本益比指標(Price-to-Earning Ratio 簡稱:PE)因概念非常直覺，是大家耳熟能詳的評價指標 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本益比指標(Price-to-Earning Ratio 簡稱:PE)因概念非常直覺，是大家耳熟能詳的評價指標，這篇文章會帶大家來驗證本益比指標的相關策略，示範如何使用使用Finlab量化平台工具幫助開發，說明策略撰寫的脈絡，進而延伸到結合產業因子的進階策略。</p>



<h2>開發環境安裝</h2>



<p>首先安裝最新版本的finlab套件:</p>



<pre class="wp-block-code"><code lang="python" class="language-python">pip install finlab</code></pre>



<p>再引入接下來會使用的套件準備開發:</p>



<pre class="wp-block-code"><code lang="python" class="language-python">from finlab import data
from finlab.backtest import sim
import pandas as pd
import numpy as np
import plotly.graph_objects as go
import plotly.express as px
import plotly.figure_factory as ff</code></pre>



<p></p>



<h2>本益比定義</h2>



<p>這篇文章使用的是來自<a href="https://www.twse.com.tw/zh/page/trading/exchange/BWIBBU_d.html" target="_blank" rel="noopener">證交所</a>與<a href="https://www.tpex.org.tw/web/stock/aftertrading/peratio_analysis/pera.php?l=zh-tw" target="_blank" rel="noopener">櫃買中心</a>每日的本益比資料，本益比計算方式如下:</p>



<blockquote class="wp-block-quote"><p>本益比 (倍) = 當前股價(Price) / 近四季每股稅後盈餘(EPS)</p></blockquote>



<p>例如公司A股價10元，而過去四季的每股盈餘EPS是1元，<br>每股稅後盈餘( 簡稱EPS)意思是你手上的每1股股票今年賺了多少錢。</p>



<p>本益比 = 股價10元/每年賺1元 = 10倍，換句話說，若獲利能力保持，需要10年才能回本。數字越小代表預期回本時間越少，數字越大代表預期回本時間越多。</p>



<h2>PE單因子回測</h2>



<p>PE真的是越低越好嗎？會不會PE評價高的標地更會飆？利用<code>finlab.data.sim</code>我們可以輕鬆的回測我們的想法。</p>



<h3>全市場PE區間倍率回測</h3>



<p>我們以PE間隔5倍分別回測，ex:0-5倍、5-10倍&#8230;、40-45倍、50-1000倍(高本益比區間)。設定每月初換股一次，持有PE於區間內的標的。</p>



<p>撰寫以下回測程式，並製作plotly視覺化使用的dataframe。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">def get_pe_return():
    # 下載本益比資料
    pe = data.get('price_earning_ratio:本益比')

    # 設定測試區間(最後測試 PE = 50 ~ 1000)
    test_range = list(np.arange(0,55,5)) + [1000]

    # 回測序列資料集
    return_dataset = {}

    for start, end in zip(test_range, test_range[1:]):

        # 選股條件
        position = (pe &gt; start) &amp; (pe &lt; end)

        # 進行回測，upload設為false，不上傳資料到平台，加快回測
        report = sim(position=position, resample='M', upload=False)

        # 製作繪圖dataframe
        return_dataset[f"{start}-{end}"] = report.creturn

    return_dataset = pd.DataFrame(return_dataset)
    return return_dataset

return_dataset = get_pe_return()
</code></pre>



<p>接著將dataframe導入plotly.express。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">fig = px.line(return_dataset, title='pe multiple backtest')
fig.show()

fig = px.bar(return_dataset.iloc[-1], color=return_dataset.iloc[-1].values, title='pe multiple backtest bar')
fig.show()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="310" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1-1024x310.png" alt="newplot 1" class="wp-image-2780" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1-1024x310.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1-300x91.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1-768x232.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1-1536x465.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-1.png 1736w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比選股策略 | 產業因子分析 14"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="310" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2-1024x310.png" alt="newplot 2" class="wp-image-2781" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2-1024x310.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2-300x91.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2-768x232.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2-1536x465.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-2.png 1736w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比選股策略 | 產業因子分析 15"></figure>



<p>由圖可知，PE區間10-15倍最好，大致呈現單調線性關係，PE越低的報酬率越好，但極高PE的區間的報酬率又再度高起，代表有不少高本益比的標的報酬率也不錯，顯示PE指標的趨勢分隔性可能不是太優。</p>



<h3>全市場策略範例</h3>



<p>我們將表現最好的10-15倍區間寫成策略，並上傳量化平台。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">pe = data.get('price_earning_ratio:本益比')
position = (pe&gt;10) &amp; (pe&lt;15)
report=sim(position=position,resample='M',name="策略教學範例:pe_single_factor",upload=True)
report.benchmark = data.get('benchmark_return:發行量加權股價報酬指數').squeeze()</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="396" src="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-1024x396.png" alt="截圖 2021 09 23 上午8.44.44" class="wp-image-2782" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-1024x396.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-300x116.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-768x297.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-1536x594.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-上午8.44.44-2048x792.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比選股策略 | 產業因子分析 16"></figure>



<p>可以發現報酬率相當貼近大盤，推測很難使用PE單因子策略打敗大盤，我們要進一步去思考PE評價模式適合用於每一個產業嗎？例如某些產業如半導體的市場評價較高，低倍本益比可能不適用。市場上常說景氣循環股獲利高峰常見本益比低點，成長延續性差，如鋼鐵航運族群要把本益比反著看，真的是如此嗎？接下來我們可以思索其他變因去優化，嘗試加入產業因子去分析。</p>



<h2>產業PE回測</h2>



<p>我們使用<code>data.set_universe(category='產業名')</code>來設定回測的產業範圍，帶入先前的回測程式得出各產業最終報酬率的熱力圖，方便觀察數據。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-3-1024x310.png" alt="newplot 3" class="wp-image-2783" width="967" height="291" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-3-300x91.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-3-768x232.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-3.png 1736w" sizes="(max-width: 967px) 100vw, 967px" title="本益比選股策略 | 產業因子分析 17"></figure>



<p>由熱力圖顏色深淺，可知每一個產業在不同PE區間的報酬率序列變化。若該產業適用於PE評價，報酬率應該要與PE倍數呈現線性關係，顏色應呈現漸層變化。</p>



<p>若規律跳動混亂，如其他、化工、電子通路族群，就不太適合套用PE評價。</p>



<p>若50-1000倍的報酬率在該產業的前幾名，如半導體、鋼鐵、電腦週邊，代表不太適合用低PE去抓潛在高報酬標的，該產業可能較多轉機飆股的整體PE評價偏高。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="310" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4-1024x310.png" alt="newplot 4" class="wp-image-2785" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4-1024x310.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4-300x91.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4-768x232.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4-1536x465.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-4.png 1736w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比選股策略 | 產業因子分析 18"></figure>



<p>我們可以將各產業於PE 10-15倍區間依大小排列，取前5高報酬率的產業&amp;PE v.s.報酬率變化呈現線性關係的產業做產業因子範圍，分別是 &#8216;食品工業&#8217;,&#8217;紡織纖維&#8217;,&#8217;航運業&#8217;,&#8217;油電燃氣業&#8217;,&#8217;橡膠工業&#8217;，都是傳統產業，本益比評價較科技業低，符合傳統假設，但景氣循環股不適用的假設和回測結果不同。</p>



<h3>PE&amp;產業因子策略範例</h3>



<p>接著將產業因子加入回測。</p>



<pre class="wp-block-code"><code lang="python" class="language-python">category = ['食品工業','紡織纖維','航運業','油電燃氣業','橡膠工業']
data.set_universe(category=category)
pe = data.get('price_earning_ratio:本益比')
cond1= (pe&gt;10) &amp; (pe&lt;15)
position=cond1
ind_report=sim(position=position,resample='M',name="策略教學範例:pe_industry_factor",upload=True)
data.universe_stocks = set()
ind_report.benchmark = data.get('benchmark_return:發行量加權股價報酬指數').squeeze()</code></pre>



<h3>策略比較</h3>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="396" src="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-1024x396.png" alt="截圖 2021 09 23 下午5.06.36" class="wp-image-2787" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-1024x396.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-300x116.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-768x297.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-1536x594.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.36-2048x792.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" title="本益比選股策略 | 產業因子分析 19"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="800" height="600" src="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-6.png" alt="newplot 6" class="wp-image-2789" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/newplot-6.png 800w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-6-300x225.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/newplot-6-768x576.png 768w" sizes="(max-width: 800px) 100vw, 800px" title="本益比選股策略 | 產業因子分析 20"></figure>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" src="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.56-1024x526.png" alt="截圖 2021 09 23 下午5.06.56" class="wp-image-2788" width="580" height="297" srcset="https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.56-1024x526.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.56-300x154.png 300w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.56-768x395.png 768w, https://www.finlab.tw/wp-content/uploads/2021/09/截圖-2021-09-23-下午5.06.56.png 1189w" sizes="(max-width: 580px) 100vw, 580px" title="本益比選股策略 | 產業因子分析 21"></figure>



<p>回測比較可以發現加入產業因子後，各項數據都較使用全市場標的有明顯的優化，年化報酬上升到21%，拉開與大盤的差距，只有2011年產生小幅虧損。</p>



<p>每一期的標地數介於10-40檔左右，無過少標地數影響報酬率的情況。</p>



<p>利用回測物件下的function:<code>creturn.calc_stats().return_table</code>獲取報酬率資料。在近12年度中，有2/3的年度優於未加入產業因子的情況，且輸都是小輸、贏都是大贏，並沒有勝率不穩定的情況。</p>



<p>還有沒有再優化的可能呢？加入其他財務或技術指標再限縮標地或停損停利來優化，就留給各位去發展了。</p>



<h2>總結</h2>



<p>PE無法做單因子選股去獨撐大樑，但確實是有用的因子，若加上其他條件相輔相成，有機會開發出不錯的策略，再開發其他策略時可以考慮加上PE去優化，如果是針對文中提到的特定產業的，可能有機會大大提升。</p>



<p>PE最為人詬病的地方就在於使用過去的獲利去評價，沒考量到未來的成長性會造成獲利得改變，下一篇會介紹本益成長比(簡稱:PEG)做更進階的應用。</p>



<p>對本篇程式有興趣的可以參考文底連結附檔，記得要先註冊<a href="https://ai.finlab.tw/" class="rank-math-link" target="_blank" rel="noopener">Finlab量化平台</a>才可有權限使用程式喔！</p>



<p><a class="rank-math-link" href="https://drive.google.com/file/d/16Mm6F6kPJP8WviwsfzQtKDXyr1n3Dypp/view?usp=sharing" target="_blank" rel="noopener">colab程式範例</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/finlab-tw-stock-pe-strategy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2777</post-id>	</item>
		<item>
		<title>合約負債 &#124; 營建業選股策略</title>
		<link>https://www.finlab.tw/building-contingent-liability-strategy/</link>
					<comments>https://www.finlab.tw/building-contingent-liability-strategy/#respond</comments>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Fri, 13 Aug 2021 10:43:20 +0000</pubDate>
				<category><![CDATA[股票策略]]></category>
		<category><![CDATA[PYTHON財經]]></category>
		<category><![CDATA[VIP文章]]></category>
		<category><![CDATA[基本面分析]]></category>
		<category><![CDATA[選股策略]]></category>
		<category><![CDATA[finlab量化平台教學]]></category>
		<category><![CDATA[台股]]></category>
		<category><![CDATA[營建類股]]></category>
		<guid isPermaLink="false">https://www.finlab.tw/?p=2766</guid>

					<description><![CDATA[疫情後的經濟迎來通膨增溫，通膨行情除了原物料與航海王，最具有抗通膨概念的還有房地產，美國解封後迎來房市的火熱潮 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">疫情後的經濟迎來通膨增溫，通膨行情除了原物料與航海王，最具有抗通膨概念的還有房地產，美國解封後迎來房市的火熱潮，疫情時期的需求遞延加上資金外溢，讓美國房市和相關產業類股飆漲，<a href="https://news.sina.com.tw/article/20210802/39432442.html" class="rank-math-link" target="_blank" rel="noopener">詳見新聞</a>。</p>



<p class="has-medium-font-size">台灣經過5月的國內疫情，現在逐步邁向解封，房地產剛性需求遞延，近期鋼價與工資大幅上漲將轉移到終端價格，<a class="rank-math-link" href="https://news.cnyes.com/news/id/4703141" target="_blank" rel="noopener">建商</a>開始出現台灣房地產上漲的預期，按疫情經濟發展脈絡，國內房地產趨勢確實有可能複製美國的進行式，然而營建類股也有不少家數，如何精益求精選出營建類股的王者，我們需要更多指標幫助我們挑選，為接下來的行情做準備。</p>



<h2>營建建材類股走勢</h2>



<p class="has-medium-font-size">簡單回測下營建類股，發現ifirs財報新制後的幾年，營建類股指數走勢長期落後大盤許多。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="469" src="https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-1024x469.png" alt="截圖 2021 08 13 下午5.21.16" class="wp-image-2767" srcset="https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-1024x469.png 1024w, https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-300x137.png 300w, https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-768x351.png 768w, https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-1536x703.png 1536w, https://www.finlab.tw/wp-content/uploads/2021/08/截圖-2021-08-13-下午5.21.16-2048x937.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" title="合約負債 | 營建業選股策略 22"></figure>



<h2>營建業產業特性</h2>



<p class="has-medium-font-size">1.營收波動劇烈，營收認列集中在完工交屋月份，未交屋前營收數值很低。</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>



<p class="has-medium-font-size">5.流動合約負債是營收與獲利的領先指標。</p>



<h2>什麼是流動合約負債？</h2>



<p class="has-medium-font-size">比起一般常用的獲利指標如毛利率、ROE，這項藏在資產負債表的項目比較少人在使用，主要包括「預收工程款」與「預收備料款」兩大科目，在營建類股常是“預售屋”的部分，設備業則是“機器專案訂單”，簡單說就是先跟客戶收錢，等完工驗收後交付，清償這筆對價的債權，若無發生毀約或交付瑕疵，方可轉列於營收。</p>



<p class="has-medium-font-size">預收款項的性質讓它成為營收獲利的領先指標，營建業與設備業的商業模式比其他產業更常採大量預收性質，也讓該指標在這兩個產業可能特別有效。月營收反而可能變落後指標。</p>



<h2>策略撰寫</h2>



<h3>條件:</h3>



<p class="has-text-align-justify has-medium-font-size">1.只挑選證交所分類的營建類股。</p>



<p class="has-medium-font-size">2.近一季”流動合約負債/股本“大於55%，潛在每股營收5元以上符合獲利爆發潛力。</p>



<p class="has-medium-font-size">3.產業內偏高或負數的本益比，代表流動合約負債尚未轉成獲利，更具轉機性質。</p>



<p class="has-medium-font-size">4.流動合約負債成長率：流動合約負債取代營收，算季成長率，取季成長，且成長不過高的，過高容易一次反映完短線利多，造成表現後續無力。</p>



<p class="has-medium-font-size">5.篩選到最後選“流動合約負債/股本”前5高，集中選股火力。</p>



<p class="has-medium-font-size">6.每月檢視一次持股訊號。</p>



<h3>策略範例</h3>



<p class="has-medium-font-size">若你是 FinLab 量化平台 VIP 可點此連結進入策略，輕鬆複製<a href="https://ai.finlab.tw/strategyview/?uid=TJN4FDuqrwU8DML7DAjUYFIMutp2&amp;sid=%E5%90%88%E7%B4%84%E8%B2%A0%E5%82%B5%E5%BB%BA%E7%AF%89%E5%B7%A5" target="_blank" rel="noopener">策略程式碼</a>。<br>運用 FinLab 的 <a href="https://doc.finlab.tw/details/limit_market/" target="_blank" rel="noopener">產業過濾器</a>，我們可以很方便針對特定產業來做選股實驗。</p>



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

# 限定回測產業範圍
with data.universe(category='建材營造'):
    # 資料引入
    close = data.get('price:收盤價')
    pe = data.get('price_earning_ratio:本益比')
    contract_debt = data.get('financial_statement:合約負債_流動')
    contract_debt_gr = (contract_debt/(contract_debt.shift())-1)
    equity = data.get('financial_statement:股本')

    # 計算合約負債佔股本的比率，比率越高代表未來潛在貢獻每股營收越高
    ce_ratio = (contract_debt / equity)

    # 選股條件
    cond1 = ce_ratio &gt; 0.55
    cond2 = (pe &gt; 10) | (pe.isna())
    cond3 = (contract_debt_gr &gt; 0.05) &amp; (contract_debt_gr&lt;0.5)
    cond_all = cond1 &amp; cond2 &amp; cond3

    result = ce_ratio * cond_all
    position = result[result &gt; 0].is_largest(5)
    strategy = sim(position,resample='M',stop_loss=0.08,fee_ratio=1.425/1000*0.3,name="合約負債建築工")</code></pre>



<h3>回測結果</h3>



<p class="has-medium-font-size">不論年化報酬率、夏普率、MDD都比整體營建類股好，運用合約負債的觀念，將營建類股的領頭羊挑選出來。<br>另外教大家一個小技巧，這邊使用上市建材營造類報酬指數當比較標準，取代預設的大盤加權報酬指數，想使用其他的類股指數當比較標準嗎？可以在 FinLab 資料庫的「<a href="https://ai.finlab.tw/database/#stock_index_price" target="_blank" rel="noopener">指數資訊</a>」取得。</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="876" src="https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.38.31-1024x876.png" alt="截圖 2022 10 24 下午7.38.31" class="wp-image-4697" srcset="https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.38.31-1024x876.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.38.31-300x257.png 300w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.38.31-768x657.png 768w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.38.31.png 1485w" sizes="(max-width: 1024px) 100vw, 1024px" title="合約負債 | 營建業選股策略 23"></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="746" src="https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.37.10-1024x746.png" alt="截圖 2022 10 24 下午7.37.10" class="wp-image-4698" srcset="https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.37.10-1024x746.png 1024w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.37.10-300x219.png 300w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.37.10-768x560.png 768w, https://www.finlab.tw/wp-content/uploads/2022/10/截圖-2022-10-24-下午7.37.10.png 1330w" sizes="(max-width: 1024px) 100vw, 1024px" title="合約負債 | 營建業選股策略 24"></figure>



<h2>結論</h2>



<p class="has-medium-font-size">運用此篇文章的內容，我們可以學到針對特定產業做回測、認識合約負債財務指標、自定義benchmark，使用更多 FinLab模組的小工具製作策略與完成實驗，更多<a href="https://doc.finlab.tw/tools/guide_for_beginners/" target="_blank" rel="noopener">免費的策略範例</a>等你來探索～</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.finlab.tw/building-contingent-liability-strategy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2766</post-id>	</item>
	</channel>
</rss>
