業外收入比例:用3個財報數據,選出年化報酬率 22% 以上的投資組合!

有些數據看似不起眼,但竟然可以這樣影響投資結果!

這次我們要用一些財經數據,來測試找出表現不錯的股票。你會發現投資其實很簡單。

別擔心,我會用最輕鬆的方式,說明一些內容,來揭示這些數據的力量。背後竟然有這麼多的秘密!

image 1

我們的目標,不只是找到一些表現不錯的公司,而是揭示這些數據的潛力,看看它們,能否真的帶來財務上的奇蹟。即便你沒有財務背景,也能輕鬆理解,這些數據的魔力。

投資應該是一件簡單的事,也是一件有趣的事。我們就以這樣的心態,一起進入這個,充滿可能性的探索旅程吧!

使用的數據

我們用了三個財報數據:

  • 營業外收入及支出:指公司除了主業以外的額外收入,就像早餐店除了賣早餐,還可能有其他收入來源,比如賣飲料、餅乾、甚至出租空間給鄰居擺攤。這些額外收入可以增加盈利,補貼主業的波動。如果早餐店能從這些業外收入中賺取足夠的錢,那麼即使早餐賣得沒那麼好,也能維持穩定的收入。這些業外收入對於公司來說是一個額外的保障,讓公司在面臨不利情況時,有更多的資金來源應對挑戰。
  • 現金及約當現金:現金就像早餐店老闆手上的現金流,隨時可以用來應對任何需要進貨或支付的狀況。這是公司的財務彈性,現金越多,意味著公司的風險應對能力越強,這在投資時是一個非常重要的考量。
  • 負債總額:負債就像早餐店老闆向朋友借錢進貨的情況,借得越多,壓力越大。如果負債少,老闆就能更輕鬆地運營,專心拓展生意。所以,負債越少,公司財務壓力越小,能夠更專注於擴展和發展業務。因此,我們也會關注公司的負債水平,特別是相對於現金的負債比率。
image 2

計算一個指標

我們把這些數據做了一個很簡單的計算:

指標 = 業外收入 / (現金與約當現金 * 負債總額)

FinLab

這個指標主要看營業外的收入相對於現金和負債的比例,數字越高的話,可能代表公司賺得比較多,而且負債相對沒那麼多。這個指標的意義在於找出那些在營業外也能夠創造價值的公司,同時又不會因為負債太高而影響財務穩定性。

公式的原理

這個公式的背後有一些簡單的財務邏輯:

  1. 營業外收入及支出:這個數據代表公司在核心業務之外的收入和支出。如果這個數字是正的,代表公司有額外的收入,像是投資收益;如果是負的,代表有額外支出,可能是借款利息或其他損失。這些收入或支出對公司整體的財務狀況也有著不小的影響。
  2. 現金及約當現金:這個數據代表公司手頭上有多少現金可以靈活運用。現金越多,公司的財務彈性就越大,應對突發情況的能力也越強。現金是公司在經濟波動或市場變化時的重要支撐,有充足的現金,公司才能在不利的情況下持續運營。然而,有這麼多的現金,有業外收入與支出其實並不奇怪,重點反而在於,是否能在有限的現金下,產生業外收入,代表公司可能有新的突破。
  3. 負債總額:負債是公司需要償還的義務,負債越高的話,公司財務壓力也就越大。負債是一把雙刃劍,一方面可以幫助公司擴張,但另一方面也會增加公司的風險。如果負債過高,公司就可能陷入財務困境。因此,在分析公司的時候,我們也會關注負債的狀況。

這個公式用營業外收入及支出去除以現金和負債的乘積,目的是要看公司能否在保持穩定現金流和控制負債的情況下,賺取額外的收入。如果這個指標越高,意味著公司在不依賴核心業務的情況下,也能有不錯的財務表現,並且負債不會讓現金流過度緊張。這樣的公司在投資上具有一定的吸引力,因為他們的財務狀況顯示出良好的穩健性。

這個指標的出處

你一定不相信,這個指標,是演算法自動找到的!

以往製作選股策略,如何看財報?是一個非常困難的問題。

然而透過演算法,它可以從茫茫數據中,找到能夠用來選股的公式,非常的厲害,我們再也不用需要財報專家,不需要財經達人,透過數據,來探索金融市場第一手的樣貌!我們也會在之後的文章中,分享如何自己探索有用的數據!

找出表現最好的50家公司

接著,我們找出了這個指標最高的50家公司。簡單來說,就是找沒有什麼資金與資源,就能擁有優秀的營業外收入的公司。這些公司能提供較好的財務回報,因為他們不僅在主營業務上有收入,還能在非主營業務上保持不錯的收益,同時控制住負債水平。

用回測來驗證

最後,我們用 FinLab 的工具來做回測,看看每週投資這些公司,會不會有不錯的收益。回測能夠給我們一些有趣的參考。

from finlab.backtest import sim
from finlab import data

營業外收入 = data.get('financial_statement:營業外收入及支出')
現金 = data.get('financial_statement:現金及約當現金')
負債 = data.get('financial_statement:負債總額')
adj_close = data.get('etl:adj_close')

y = 營業外收入 / (現金 * 負債)

pos = y.is_largest(50) & adj_close.notna()
r = sim(pos, resample='W', upload=False)
r.display()

透過這個回測,我們可以看到這些公司的表現是否穩定,也可以了解選股策略在歷史上的效果。

回測結果

以下是回測的部分結果:

image
  • 回測期間:2013年4月26日 到 2024年10月1日
  • 年化報酬率:22.17%
  • Alpha:0.15
  • Beta:0.55
  • 平均持股數量:41 支
  • 最大持股數量:54 支
  • 最大回撤:-24.01%
  • 平均回撤:-2.72%
  • 夏普比率:1.37
  • 索提諾比率:2.05

這些數據告訴我們,這些股票的回測表現還不錯,年化報酬率有 22.17%,但同時也有一定的風險,像是最大虧損達到 -24.01%。年化報酬率超過20%已經相當不錯,但我們也要考慮到回檔的風險,這意味著在某些時候我們可能會經歷資本的較大損失。因此,投資者需要有承受波動的心理準備。

另外,夏普比率和索提諾比率都顯示了投資的風險調整後收益還不錯,特別是索提諾比率達到 2.05,這意味著在只考慮下行風險的情況下,投資策略的表現相對穩健。而勝率 44.35% 也說明了並非每次投資都能獲利,但整體而言,收益大於損失,這就是策略可行的證明。但我發現選出來的公司,流動性都滿低的,在實際使用上需要讀者多多注意。

簡單的小結論

  • 我們用營業外收入、現金流、負債來找表現好的公司。
  • 找出指標最高的50家公司。
  • 用回測看看每週的表現,純粹看看會不會賺錢。

這個過程展示了如何利用一些簡單的財務指標來進行投資選擇,並且用歷史數據來驗證這些選擇的效果。財經其實不需要太複雜,只要你簡單了解概念,就可以做些有趣的實驗啦!不管是有經驗的投資者,還是剛開始學習的人,都可以通過這些實驗來增進對市場的理解。最重要的是,保持輕鬆的心態,享受這個過程,這樣才能在學習和投資中找到樂趣!

FinLab - 韓承佑

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