|

用學程式的方法來學習(上)

長年自學的我覺得最難學的是投資,每個方法都言之成理,且都宣稱別人不夠好,太多指標、數字彼此互相影響,很難形成框架,讓我很煩惱,於是我想到…

我們覺得考 90 分很棒,考 50 分很爛,但可汗學院的創辦人說,90 分表示還有 10% 沒懂,50 分還有 50% 沒懂,兩個人都有待加強!

但如果你學過編譯式程式語言(如 Java),就知道程式這玩意,如果沒把它 100% 搞定,是絕不會讓你過的,連一個錯誤都不能有。

那麼如果你用寫程式的心態來學習理工科目,應該就能學到 100% “吃透” 了!

學過最難的東西

多年前我從某個美國線上教寫程式的網站學 Java Script,過了幾百關、好多徽章,但是我一點也不敢說我會寫程式了,因為花了 1 個月坐在電腦前,但要寫個程式,完全不知從何做起,這種超沒信心的感覺,就是沒 “吃透”。

後來上了實體課,老師教了程式框架,學會用 psuedo code 來把想達成的功能分拆成一段一段,再一一寫成函式,這時就覺得有信心了,因為我知道這個程式如何工作,只是不熟悉要花很多時間查詢。

多數學到的東西都有一個 “對的” 框架,例如你在美國統計學跟我在台灣學並不會差別很大,但投資股市這件事卻完全沒準,我習慣在通勤時聽 Podcast,也讀一些書籍,每個單一聽起來都言之成理,但 B 說的剛好讓 A 說的成了錯誤。

我聽過一位華爾街基金經理人推薦《散戶賺起來》這本書,它是巴菲特的 “價值投資” 方法,和經理人想法類似,我就去買來讀了。

所謂價值投資就是你別管股價變化,先從公司經營指標計算公司每一股應該 “值” 多少錢,如果發現價值高過股價,表示這家企業被低估了,那你買進,然後別碰它,等很多年後這家公司憑它的實力增長太多時再賣掉獲利。

太有道理了啊!

另一位 Podcaster 說巴菲特價值投資已經很老了,大家都學會找低估股票的本事,怎麼還能輪到我們買到低估股票呢?所以要 “景氣投資”,就算你不可能買到低估的股票,但好股票也有高低,等它跌價時入場就好了!

也是太有道理了啊!但兩個相斥呢!我到底要信哪一個?

動手學,簡單做

這讓我知道,投資就像行銷一樣,是沒有標準答案的,與其想要學好一派方法,不如什麼都學,然後產生自己的方法,我們總要有一套框架才會有信心!

要了解就得動手做。

市面上有厚部頭的書教怎麼寫程式做自己的看盤軟體,但我覺得要把那些都搞定,可能大部分在學寫程式,只有小部分在學投資吧!

我決定用 Google Sheets 來做,省下很多做漂亮 App 的時間。

先別說分析,我至少先把有用的數據抓到 Google Sheets 上啊!不然沒有即時資料,也沒什麼可分析的了!

我想分作幾個層級來抓到數據:

  • 國家層級的數據:消費者物價指數、生產者物價指數、初領失業救濟金人數、道瓊、NASDAQ、S&P500等指數;
  • 產業等級的數據:產業的關鍵指標,例如晶片交付週期等;
  • 企業等級的數據:比較容易,股價、PE 等股市常用的指標。

這就像要舉辦一場大型運動會,國家就是主辦方,一切都準備好了嗎;一個產業就是一種運動賽事,100米賽跑和馬拉松的 “關鍵數據” 一定不同;而在一個產業中的不同企業就是比賽中的不同選手。

幾個做法

網上有好多技術大神講了不同的做法,小學程度如我就不班門弄斧講什麼技術方法了,我花了一天實驗能否把各種數據拿到。

Google Sheets 內建了 Google Finance 的函數,使用很簡單,就在格子中輸入 =GOOGLEFINANCE(NASDAQ:GOOG) 就會跳出 Google 的股價。

所以你得要知道哪一支股票在哪個交易所上市的,還好這很簡單,直接去 Google Finance 查就好了,不只股票,ETF 和指數也能查,這已經解決了很多問題。

在 Google Finance 搜尋 Google,選中時上面搜尋框就跳出呼叫它的正確名稱

Google Finance 還是有點弱點的,它在加密貨幣上很少收錄,但現在誰也會買點加密貨幣啊!這時就要用 Yahoo Finance 了.

裝上這個 Chrome 插件,不需要寫程式,就可以查詢,在 Google Sheets 格子裡輸入 =YAHOOFINANCE(GOOG) 就可以查詢 Google 的股價了,但如果要查加密貨幣,要寫成 YAHOOFINANCE(BTC-USD) 即可。

Google Finance 有的 Yahoo Finance 都有,只是這個插件允許你一天呼叫 API 300 次,超過要付費,所以我還是把它寫成先去呼叫 Google,當 Google 沒有時就呼叫 Yahoo,如果是加密貨幣就再加上 “-USD”。

先把價格可以抓到,以後再來分析吧!

在 F 那一欄輸入下面的公式即可:

=IF(isblank(C2),"",IF(ISNA(GOOGLEFINANCE(E2&":"&C2)),IF(D2="加密貨幣",YAHOOFINANCE(C2&"-USD"),YAHOOFINANCE(C2)),GOOGLEFINANCE(E2&":"&C2)))

這裡,已經解決了個股(公司)等級的數據,Google Finance 和 Yahoo Finance 都有很多其他的個股數據,只是下參數的問題了。

用 Google 和 Yahoo 缺乏的是政府層級的數據,比如 “消費者物價指數”、“恐慌指數” 都查不到,下一步要解決的就是這個問題了!

雖然聽節目幾個月,我對細節很多是聽老師說覺得懂了,但叫我說卻說不出來,為了做這個表,逼著我去細細了解每件事的細節。

這樣更容易吃透。

用程式學數學,不論 Excel, Google Sheets 或 Python,它會讓本來的含糊被定義得很清楚,而且你自己做過以後是不會忘的,這跟做題目是不一樣的吃透。

分享給朋友

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。