2018年8月23日 星期四

程式設計老手的股市初學淺見

多年以前就買過股票, 但根本就是矇著眼睛亂買, 也曾聽信名嘴買到下市股票。 最近為了籌退休金, 才開始認真爬文讀書學習股市常識。 還沒開始賺錢, 但現在買得很有方向感、 很心安。 真的, 沒有做功課就不要隨便進股市; 但做功課其實並沒有一開始想像的那麼困難。

對程式設計師來說, 買正確的股票, 比銀行定存或儲蓄險都要好太多倍了。 買儲蓄險之前, 請先搜尋 「儲蓄險 提前解約」。 當初我也覺得自己不會理財, 也鐵齒地認為自己不會需要用到那麼多現金, 所以每存了一些現金, 就買儲蓄險。 現在學會買股票, 才 (太晚) 體認到: 現金放在儲蓄險裡面因而失去流動性, 也是一種很大的風險。

對散戶而言, 現在的買股環境比二十年前的環境好太多了, 因為證交所及許多網站提供了豐富的公開資訊。 需要收盤價、 EPS、 ... 任何資訊, 只要搜尋一下, 就可以找到個股資訊, 進而知道如何用 wget 抓回所有股票資訊。 有時需要用 lynx -source 甚至可能還需要加 -useragent 才不會被擋。 抓資料時記得要在迴圈裡面加上適當 sleep, 並且盡量在半夜抓, 以免造成對方網站負擔。 抓回來的網頁原始碼可用 html2csv 跟 perl 的 csv 句型 轉成 csv 檔。

抓回所有股票是重點。 對於沒有興趣逐一產業爬文研究各類產業趨勢及關注每一則財經新聞的程式設計師而言, 我們的優勢在於會寫程式海撈, 可以挑出一些未被炒高的優質 (例如 高現金殖利率) 冷門股 :-)

買股票有兩大類方式。 第一類是波段甚至短線操作。 要學如何看 K 線, 也就是 「技術分析」, 例如某些情況下可以用 頭肩型態 判斷買賣時機。

另一類是看公司體質, (相對) 長期持有, 買賣次數較不頻繁的價值投資。 我沒力氣也暫時沒興趣學習與操做波段跟短線, 只能做價值投資。 對於想要做價值投資的程式設計師而言, 最簡單重要的方式, 就是認識財務報表裡的一些最基本術語。 其中最最重要的是 EPS (每股盈餘)。 一開始我只拿每支股票的今日股價跟歷年股利政策來分析, 結果買到 「以前配很好; 去年不賺錢甚至賠錢、 今年發不出利息」 的股票。 (所以股價才會低、 才會被程式撿到啊) 後來學會看今年前幾季 EPS, 把 (相對於去年同期) 退步太多甚至變負值的股票剔除, 這就已經可以避掉一大部分的地雷了。 其次需要知道幾個簡單的式子及裡面每個名詞的意義:

  1. 現金殖利率 (dividend yield) = 現金股利 (dividend) / 股價
  2. 資產 (asset) = 負債 + 股東權益 (equity)
  3. 每股淨值 (BVPS) 大約等於股東權益/發行股數 (我忽略令人頭昏的 複雜精確算式)
  4. ROE 大約等於 EPS / BVPS (第16頁)

有了這些基本名詞及觀念, 接下來爬文或讀書就比較容易懂了。 如果你只有時間讀半本股票的書, 那就讀這本吧: 「財報狗教你挖好股穩賺20%」。 書中舉的例子非常生活化, 淺顯易懂, 大推! (其實我也只認真讀了一部分)

再談一下 負債 跟現金流。 因為 適當的負債/股東權益比值是好事; 對不同產業而言, 「適當」 的比值又不盡相同, 很難有一個明確較佳的數字。 至於現金流, 搜尋 「negative cash flow」 會發現: 只要不是長期處於負值, 對企業主而言, 其實有很多正常合理的處理方式。 財報狗跟愛蜜莉都說負債跟自由現金流很重要; 但我不想誤刪好股, 例如被愛蜜莉在這兩項上扣分的 大聯大 之類經常借短期債提高營運效率的公司, 所以我的程式忽略負債跟現金流。 大多數時候我自己也沒在看完整的財報, 只參考 Goodinfo (以台積電為例) 之類, 「每季一列摘要」 的簡單版財報 (的其中少少幾個欄位)。

有了上述這些準備, 如果目標是定存股, 就可以 根據 當天收盤所有股價 很容易用試算表撈到現金殖利率 5% 或 6% 以上的股票。 有時若想更進一步分析, 還可以從 每日收盤行情 選歷史上的某一天、 全部、 查詢 => 下載 csv 抓到當天所有個股的股價。 程式/試算表海撈只是第一步; 真的下手之前還是要針對個別股票上網搜尋、 爬文, 以各種人工方式彌補程式過於寬鬆以及財報無法顯示的種種問題。 此外, 因為我不太會分析 K 線, 也沒有好的認賠殺出策略, 所以凡是打算長抱的股票, 不論買哪一支 都永遠堅持只買在近年低點附近。 尤其現在大環境是股票高點, 大家期待的股市崩盤又山雨欲來, 更不應該買已經高漲的個股。

分析財報的買股方式, 其實還可以每年做一次的波段。 每當 第三季財報公佈時 股海老牛會拿它來預估次年配息。 以這種方式挑選的股票, 我的策略不是要長抱, 而是想在隔年公告股利政策、 股價因而漲高時, 在配息前賣掉。 我的預估數學式及篩選條件跟老牛的不一樣, 而且從來還沒試過一次, 不過我的直覺是: 這大概會比 6% 多蠻多的吧。

用程式撈股票還有一個好處: 可以用資料視覺化工具呈現。 我說的不只是一支個股的各種曲線, 而是根據兩個或三個參數同時呈現很多個股的 scatter plot, 類似 各國氣溫/人口/身高圖 從太陽系諸衛星的軌道參數觀察出克卜勒第三定律 。 除了賺錢之外, 對我而言買股票最大的樂趣 (也是花最多時間的事) 就是用 d3.js / plotly / matplotlib 畫圖 :-) 如果有機關行號邀請我談資料視覺化 (data visualization) 這個主題, 我就可以拿最近畫的股票圖來做例子解說。 賺鐘點費比較辛苦一點, 但穩賺不賠, 錢半天就入手, 而且對我而言, 分享自由軟體賺錢術又很有趣, :-)

即使已經用財報慎選好股, 下買單時還是要小心, 還是要學一點點 K 線才好出手。 如果你這一輩子只打算花半小時研究 K 線, 那就以搞懂這句話為目標就好: 空頭排列時嚴禁下買單!

後續會再把相關超連結或搜尋關鍵詞補進此文。 歡迎留言詢問名詞或技術相關問題; 可是我不敢也不太想公開報明牌, 因為既怕報錯又怕報對 :-) 以前靠別人幫忙理財, 現在自己的股票自己買。 其實同樣都是盈虧自負, 但現在這種掌握自己投資成敗的感覺超好, 就像是從信任微軟或蘋果的世界走出來, 進入自由軟體的世界一樣。 祝小格讀者所有程式宅們都靠 linux 功力挑好股穩穩賺, 用你們年輕人最大的優勢 -- 時間 (複利公式裡面的那個乘方指數) -- 小步穩健邁向財務自由!

2 則留言:

  1. 由現金殖利率 , ROA , ROE + 杜邦分析 先找出公司體質比較好的績優股
    在分析其歷史股價與本益比的範圍 計算出公司落在約的股價範圍
    在給個安全邊際 在公司股價被低估的情形買入
    當然要配合kd <20 隻黃金交叉時買入更好
    以上供參考 不負責言論

    回覆刪除
  2. 至於負債的問題 一般而言 <50% 可接受
    但要看慘業 負債過多會導致財務槓桿高 風險就高
    觀察其損益表 更要看現金流量的流出情形
    多看看公司年報多了解公司的狀況才是真正投資之道

    回覆刪除