政府基金小檔案

我對政府操作的基金不是很感興趣, 勞保勞退甚至國民年金破產我也能想得開, 因為靠別人就不如靠自己. 不過, 搞清楚這是怎麼回事畢竟比較好, 所以花了一點時間 Google 一下, 把數字大概列出來.

這邊的數字都很大, 尤其是大家信賴的郵政儲金達到 5.6 兆元, 規模真是相當驚人. 相較於台灣今年的 GDP 大約是 15 兆左右, 若是全國國民都去把郵局的錢領出來花的話, GDP 可以成長 37%. 當然這是開玩笑的, 大家都去郵局擠兌的話, 台灣就天下大亂了, 有錢也沒地方花.

國安基金雖然和四大基金有所重疊, 不過它只動用尚未投資的部分, 總計 3 千億. 這筆錢很容易就可以從郵局取得, 來源不是問題. 另一個財源是以國庫所持有之公民營事業股票為擔保,向金融機構借款;借款最高額度為新臺幣2,000億元. 因此我們可以說國安基金護盤時, 人民出的錢比政府還多 (3,000 > 2,000).

  國安基金 四大基金 (億) 2011/10 (億)
郵儲儲金/簡易壽險基金 3,000 54,670 (未投資) 53,152 (未投資)
1,330 (已投資) 1,448 (已投資)
勞退基金 14,357 5,617 (舊制)
7,143 (新制)
公務員退撫基金 4,013 (估計) 4,866.88
勞保基金 5,346 4,452 (勞保)
1,009 (國民年金)
金融機構借款 2,000    
總值 5,000 29,000 [註 1]  

[註 1] 按照最右邊那行是去年的資料, 參考 [ref 2]. 四大基金這行的數字是今年的, 參考 [ref 3].

[ref]

1. 《國家金融安定基金設置及管理條例》,2000 PDF檔:PDFFiles/0714.pdf

2. 籌碼(一) : 何謂四大基金 (2011/10)

3. 政府四大基金績效 今年比去年好

4. 勞退、勞保基金今年彌平去年虧損 還淨賺了267億元

我讀 «不買飆股, 年均獲利 40%»

這本書名聳動的小書作者事喬伊葛林布雷 (Joel Greenblatt), 英文書名叫做 “The Big Secrete for the Samll Investor". 有 small, 有 Big, 不由得令人聯想到 ARM 在推的 big.LITTLE 架構. 不過那是另外一個話題了, 這邊講的是針對小企業的股票投資術.

如果要一針見血地進入主題, 那麼讀者可以忽略掉前 147 頁 – 裡面沒講什麼. 它不像論說文一樣有著起承轉合, 比較像是偵探小說一樣先告訴我們: 剛剛提到的都不是兇手. 那麼什麼才是投資祕笈呢? 就是價值加權指數.

我們如果買入大盤或是 ETF, 往往都以市值比例買進股票. 如此一來, 高價股就會買得更多, 而潛力股相對買得更少. 為了糾正這個缺點, 作者認為應該用企業的資金報酬率 – ROC (Return on Capital)、殖利率等等來選擇公司. 舉例來說, 公司的股價不高, 但是營收創新高. 它暫時不太可能進入台灣五十或是中型 100 的選股名單. 等到它進入名單, 其實往往已經漲多了.

作者說: 散戶沒有提供財報的壓力, 所以應該持有價值型的股票. 讓法人去追逐大型股, 這樣才能獲得優勢. 我們看到前陣子的盈正案和 “小型股禁養令" 正是如此, 法人為了避免出錯, 或者被大盤打敗, 只有拼命看好與看壞大型股, 並順勢進出. 散戶只要能堅守原則, 按照紀律長期持股, 並且只動用資金的 50~70%, 長期就能打敗大盤, 甚至短期都能勝出.

本書後面也附上一個清單, 列出台股殖利率與 ROC 較高的個股. 不過並沒有特別計算資金報酬率 ROC, 我假設 ROC 的算法是:

ROC = EPS * 現金股利 / (現金股利 + 股票股利) * 盈餘分配率

比方說每股賺 5 塊, 只分配 3 塊, 3 塊中只有 2 塊是現金, 那麼 ROC = 5/10 * 3/5 * 2/3 = 20%. 不過作者的投資組合裡面不是用比例的大小去買股票, 而是依據其絕對數字的比例. 這樣賺得多, 分得多的股票就會買得比較多, 未來它的市值上升了, 才能勝過 ETF 這種市值加權平均的選股方式.

最後, 有件好笑的事要講一下, 作者說他的第一本書 “你可以是股市天才", 本來他以為是散戶聖經. 不過他忽略了散戶沒有那麼多專業知識和時間. 後來他又以為他的第二本書 “打敗大盤的獲利公式" 才是散戶聖經, 不過這次他又錯了, 散戶並不想自己動手. 所以, 他的結論說: 這本才是真正的投資聖經! 呃…我想他還是錯了.

作者勝出的模型是基於擁有 800~1,000 檔股票 (p. 158), 這樣不但打敗 S&P 500 還能打敗羅素 1000. 但散戶絕對不可能滿足這樣的經濟規模. 如果要靠零股來達成購買 1000 檔股票的模型, 勢必有流動性的風險. 據作者說要滿足這樣的模型, 每年大約要周轉 80~100%, 光是每天要瀏覽 800 檔零股應該就足以讓人瘋掉了.

說了半天, 還是只能買基金. 據說美國市場的銳聯指數 (FTSE RAFI 1000 index) 和他有相似的理念, 買紐約證交所的 PRF (PowerShare FTSE RAFI US 1000 Portfolio) 這檔 ETF 基金就可以省去自己操作的麻煩.

或曰, 本書第 80 頁不是有個標題說: “別貪心, 固定投資幾家就好" 嗎? 其中還引用巴菲特的話, 強調 “集中持股" 的重要. 作者應該同意只持股少數幾檔才對啊? 非也, 除了極少數的人, 有誰真的只挑少數幾支股票就發大財的. 再說, 如果作者明確知道怎麼挑選少數幾支股票, 他就不需要用股海戰術和 S&P 500 或羅素 1000 PK 了. 用 800 檔股票算出來的模型, 放到 8 支股票上絕對是另外一回事.

因此, 我肯定作者的理念: ETF 追高殺低的確有一點激情, 以價值而非市值選股比較好. 至於自己建立龐大的投資組合絕對是不可行, 如果投資組合很小, 那就要靠個人功力了.

PRF 的淨值也供大家參考.

«深入淺出 – Android 系統移植與開發測試» 的補充

這本書的發行的時候, Android 的版本只是 2.2. 現在 Android 已經到 4.2 版了, 所以有些內容需要修改. 我把需要改變的地方整理如下:

0. 首先要安裝 64 bit 的 ubuntu

如果沒有光碟機, 會有點小麻煩. 因為 ubuntu 的 Windows installer 預設是安裝 32 bit 版本. 所以要先下載 64 bit (amd64) 版, 然後手動選取 iso 檔.

如果一定要用 ubuntu 32 bit 版本, 請參考這一篇 [註 0].

1. 在 ubuntu 上安裝以下的套件, 修改的地方用紅色, 並新增第四行.

sudo apt-get install git-core flex bison gperf libesd0-dev zip

sudo apt-get install libwxgtk2.8-dev zlib1g-dev build-essential libstdc++5

sudo apt-get install tofrodos  x-dev libx11-dev lib32ncurses5-dev xsltproc

sudo apt-get install gcc-multilib g++-multilib libc6-dev-i386 ia32-libs x11proto-core-dev lib32readline-gplv2-dev lib32z1-dev [註 1]

如果 apt-get 失敗, 請參考這篇 “回覆: 最近在安裝新的10.10無法更新


接下來就是 Java 了, 基本上 Java 套件會找不到. 所以要先讓 ubuntu 可以安裝過期軟體 [註 2].

apt-add-repository “deb http://old-releases.ubuntu.com/ubuntu/ jaunty multiverse"
apt-add-repository “deb http://old-releases.ubuntu.com/ubuntu/ jaunty-updates multiverse"

此時在 /etc/apt/sources.list 的最後四行會看到:

deb http://old-releases.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty multiverse
deb http://old-releases.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty-updates multiverse

接著就可以更新 source list.

sudo apt-get update

sudo apt-get install sun-java6-jdk


再來就可以安裝 repo.

cd ~/bin

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

chmod a+x ~/bin/repo

PATH=~/bin:$PATH


再來取得 Android source code.

repo init -u https://android.googlesource.com/platform/manifest.git

repo sync

經過了不知道多久….

接著做設定

lunch

畫面出現

You’re building on Linux

Lunch menu… pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. full_mips-eng
     5. full_grouper-userdebug
     6. full_tilapia-userdebug
     7. mini_armv7a_neon-userdebug
     8. mini_armv7a-userdebug
     9. mini_mips-userdebug
     10. mini_x86-userdebug
     11. full_phantasm-userdebug
     12. full_mako-userdebug
     13. full_maguro-userdebug
     14. full_manta-userdebug
     15. full_toroplus-userdebug
     16. full_toro-userdebug
     17. full_panda-userdebug

Which would you like? [full-eng]

預設就是第一項 full-eng.

make

如果 64 bits 編譯工具沒弄好, 可能看到錯誤訊息:

prebuilts/tools/gcc-sdk/gcc: line 40: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/i686-linux-glibc2.7-4.6/bin/i686-linux-gcc:

用了這招可以修好 [註 3]

cd prebuilts/tools ; git reset –hard HEAD^
cd external/qemu ; git reset –hard d4f5a3ae87a7246613188940c1667bf2880da402

如果看到

/bin/bash: prebuilt/linux-x86/sdl/bin/sdl-config: No such file or directory
/bin/bash: prebuilt/linux-x86/sdl/bin/
sdl-config: No such file or directory

可能是 repo init 時設錯. 我發現我是設錯 username, 此時用

repo init –config-name 重設一次 username 和 email address


錦上添花的設定:

1. 減少不必要的編譯.

export USE_CCACHE=1

2. 設定 USB 設備:

sudo vim /etc/udev/rules.d/51-android.rules
加入設定指令, 讓 Android user 可以直接使用 USB 設備, 忽略到 OWNER 就變成是 root 才能訪問.

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1″, ATTR{idProduct}=="4e12″, MODE="0600″, OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4″, ATTR{idProduct}=="0fff", MODE="0600″, OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1″, ATTR{idProduct}=="4e22″, MODE="0600″, OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1″, ATTR{idProduct}=="4e20″, MODE="0600″, OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8″, ATTR{idProduct}=="70a9″, MODE="0600″, OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1″, ATTR{idProduct}=="708c", MODE="0600″, OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8″, ATTR{idProduct}=="6860″, MODE="0600″, OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1″, ATTR{idProduct}=="4e30″, MODE="0600″, OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451″, ATTR{idProduct}=="d101″, MODE="0600″, OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451″, ATTR{idProduct}=="d022″, MODE="0600″, OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451″, ATTR{idProduct}=="d010″, MODE="0600″, OWNER="<username>"

sudo chmod a+rx /etc/udev/rules.d/51-android.rules


[註 0] ubuntu 11.10(32位系统)下编译android源码

[註 1] Ubuntu 64 bit 编译 Android

[註 2] ubuntu安裝sun-java5-jdk

[註 3] wrappers for 32/64-bit using wrong path?

[註 4] [Linux]ubuntu 11.04(64 bit)抓取android4.0.4原始碼跟編譯source code/SDK/kernel

Render Script 小檔案

因為 Render Script 的重要性似乎比我原先想像地還要厲害, 故整理 Render Script 的用法如下. 主要參考 Google 的文件 [註1].

1. Off line Compile:

以 llvm-rs-cc compile 一個 render script (rs) 檔案, 產生 bit code (bc) 檔案, 例如底下的 foo.bc. 如果不是編成 bit code, 也可以和其他的 Java 檔編成 .Java. 這個過程可以使用 Java Reflection 的概念.

Java Reflection 能夠分析未知的 class, 把新 class 裡面的 name of the constructors, declared fields 和 methods 都抓出來. 換言之, 我們原先所寫的 .rs 檔透過 Java Reflection 取得正確的 Java API 資訊, 產生確實可用的 Java code. 而不會在 run time 才發生錯誤. 包括 Python 也是這類的 script, 而 C# 也支援 reflection, 但 C++ 沒有這個觀念. 

2.  On Line JIT Flow

等到 .bc 檔和 Java 檔都準備好之後, .bc 檔進入到 Android 所支持的 libbcc, 而 Java code 進入到 Android 的 Dalvik JIT, 跑在 DVM 上. 由下圖可以看得出來, 只有 .bc 可以用 GPU 或 DSP 來執行, 而 Java 不能. 這就是 render script 大有前途的地方.

特別值得提的是 llvm-rs-cc 會做很多大量的優化, 以便產生可移植的 .bc 檔. 而 libbcc 就是一個輕量級的 compiler, 目標只是針對本地平台已知的特性優化.

上次提到 HoneyComb 首先釋出 rs 的 API, 此時它還沒有用到平行處理. 在 ICS 版, 有個 rsForEach() 把每個 reflected Java helper 都叫起來.

RS 的範例如下:

從參數我們可以得知, 它在計算 luminance = 0.299 red + 0.587 green + 0.114 blue, 不愧是 C99 like.

[註 1] http://llvm.org/devmtg/2011-11/Hines_AndroidRenderscript.pdf

 

阿淘哥詏館半日遊

因為 Facebook 上說, 阿淘哥 – 陳永淘要在峨眉的詏館辦個辯論, 所以老婆叫我載她去找素不相識的阿淘哥, 以便徵詢他對歌曲授權的意見.

詏館就是辯論的地方. 說是辯論, 但大家都是阿淘哥的粉絲, 所以我看到只有正方, 而沒有反方. 阿淘哥一面講他的理念, 一面隨興地唱歌. “釣魚台是屬於太平洋的, 是屬於燕鷗的…". “牽妳、牽我、牽牛花…." (太陽花的歌詞).

阿淘哥有時候說國語、有時候說客家話. 我對客家話算是 “略知二一", 也就是快要當掉二分之一的程度, 但還算能跟得上他說話的內容. 大概是海陸口音我比較熟悉的關係.

阿淘哥歌聲真的不錯, 有自己的想法和理念, 對人也很親切有禮, 難怪能夠吸引那麼多粉絲. 詏館這邊養狗養貓養雞養鴨又養豬, 有沒有養魚是不看出來, 但是有一個超大的池塘 (下圖左上方). 阿淘哥說他深愛大自然, 誠哉斯言.

唱歌告一段落之後, 阿淘哥餓了, 於是招呼大家吃飯. 客家話說 “詏又冇好食", 意思是說人不要好辯, 爭辯又不能當飯吃. 但遠很氣的阿淘哥偏偏讓大家辯論完後有得吃 – “詏有好食" (下圖右上方有三個竈). 至於餐費則是自由樂捐的, 讓我聯想到以前曾經拜訪過的麵包傀儡劇場 – 他們演完戲後一定會有麵包吃, 因為看戲和吃飯都很重要.

今天的主食是菜頭苦瓜白菜加鹹蛋湯 (右下圖), 不知道每次是否菜色都相同? 哈! 肚子餓的人也會添一大碗白飯 (左下圖那一大鍋就是飯), 不過我剛吃完 Lunner (Lunch+Dinner) 才來的, 沒有那麼大的胃口. 只見二三十人或站或坐地吃著大鍋飯和大鍋菜, 感覺有點人民公社或是嬉皮聚會的味道.

雖然我也很想在 A Cut 打卡讓 FB 上的朋友羨慕, 不過在詏館聽歌、吃大鍋飯也是別有一番風味.