我讀 «祖魯法則»

“散戶兵法 – 祖魯法則" 這本書…嗯…不是很值得推薦.

雖然說它取了一個很神秘的名字 “The Zulu Princeiple", 作者也曾經破產又變有錢, 但是這本書的內容廣泛但是空虛,  算不上是一本有助於選擇股票的好書.

我歸納出 3 個值得一提的地方:

1.   作者有何背景?

作者吉姆·史萊特 ( Jim Slater ) 曾在英國的報紙上寫專欄, 他推薦的股票在1963~1965 年上漲 68.9%, 而同期間大盤只上漲 3.6%. 1964~1974 的十年間, 他創立 Slater Walker Securities 並擔任董事長, 晉身為億萬英鎊富翁. 

1975 年, 因為總統蔣公過世, 事業大幅虧損….呃, 開玩笑的, 因為金融風暴, 所以他由億萬富翁變成負債 90 萬英鎊. 當時 46 歲的 Slater 反省自己過去的錯誤, 在 17 年後寫了這本 “祖魯法則", 轟動英國.  1997 年, 當他 68 歲的時候, 已經靠著投資重新回到億萬富翁的行列. 因此被譽為成長股投資大師.  

2.  為何要命名 “祖魯法則" ?   

因為作者的老婆在看了讀者文摘某篇報導有關 “祖魯" 這個民族的報導後,  對這個民族產生很大的興趣. 其用心的程度, 已經可以堪稱祖魯學的權威. 只不過花時間研究祖魯族不能賺錢, 也無法獲得學位,  他認為如果大家願意用她老婆研究祖魯族的精神來選股的話, 一定可以滿載而歸.

當時英國市面上沒有一本由英國人寫的理財書, 因此本書的名字雖然怪怪的, 內容也不怎麼樣, 卻可以震動英國金融界.

換言之, 我可以寫一本 “殺很大法則", 告訴讀者把玩殺 on-line 的時間省下來,  做點 OOXX ~~ 比較好, 依此類推.

3.  祖魯法則是甚麼呢?

本書拉拉雜雜地寫了一堆東西, 企圖介紹各類型的股票應該如何投資. 規格有點像是彼得林區那樣,  甚至連技術分析都談了一點. 不過我覺得作者的強項是選擇成長型的股票, 其他翻翻就好. 如果其他類型的股票, Slater 也可以玩得得心應手, 他就不會獨鍾成長股了.

或曰, 成長股不就是一直上漲的股票嗎? 那有甚麼學問呢? 非也! 本書提到一個不科學但是很合理的指標, 叫做本益成長比. 也就是說一家公司的成長率若是達到 25%, 那就應該享 25 倍的本益比. 如果一家公司的本益比只有成長率的 0.65, 那麼這家公司未來就會上漲. 買進這家股票的人同時可以享受到本益比上升 (因為市場重新評價) 與業績成長的雙重好處.

整個法則分為 3 大部分:

(1)   必要條件:

a. 有5 年的紀錄

b. 低本益成長比

c. 董事長的聲明樂觀

d. 強而有力的財務狀況 (速動比高, 低負債)

e. 競爭優勢 (品牌、專利)

(2)  重要標準

a. 有轉機或有題材

b.  股本小 (大約市值 1 億英鎊以下)

c.  相對強度高 (和大盤相比)

(3)  期望的標準

a. 股利率不低 (和公債相比, 一般殖利率要在 5% 以上)

b. 合理的資產部位 (淨資產 / 總市值)

c. 經營階層持股比重高 (30% 理想, 50% 以上可能不求進取)

按照這樣的法則來選股的話, 台股有哪些標的呢?

俺想想…

(有一次在大陸面試, 原本口音標準的面試者, 在接獲第一道考題之後, 就冒出了鄉音, 進入 kernel mode~~~, 引用之)

IEC 61937 Overview

SPDIF 界面的規格, 可以看 IEC 60958-3 的描述. 它是由 Sony 和 Philips 所共同制定的規格, 又稱作 S/PDIF. 主要是用來傳送壓縮後的音訊資料或是解壓縮後的立體聲資料.

如果 SPDIF 上面承載的是壓縮後的音訊資料, 那麼就要參考 IEC 61937. SPDIF 也傳不動的東西, 就要靠新的規格 HDMI 了. HDMI 可以傳送 4 倍 SPDIF 的速度, 相當於每個 sample 16 bits. 以 24 bits 的 LPCM 來說, 16 bits 相當於壓縮 66.7%. TrueHD 和 DTS-HD MA 差不多就是這種壓縮率.

61937 內容
part-1 general
part-2 burst info
part-3 AC-3
part-4 MPEG
part-5 DTS
part-6 AAC
part-7 ATRAC 1/2/3
part-8 WMA
part-9 Dolby MAT (Metadata-enhanced Audio Transimission)
part-10 MPEG4 – ALS
part-11 MPEG4 AAC in LATM/LOAS (streaming)
part-12 DRA

SPDIF 的介紹可以看這個網站: http://www.hardwarebook.info/S/PDIF

前輪變黑輪

我的福特車最近的確沒有很常洗給人家洗, 頂多是自己用水沖一沖.

不過, 我赫然發現我前輪的輪圈蓋愈來愈黑了. 這樣看起來很可怕, 好像漏了機油或是煞車油的感覺. 有時也真的聞到一些臭油味.

於是我提早了 500 公里做保養, 牽車的時候順便請技師幫我檢查漏油的問題.

衣著邋塌油汙的計師還真是個好人, 他說: “這個正常啦! 前輪的來令片磨出來的屑屑, 沾到輪圈蓋上了. 你看你這個後輪是鼓式的有沒有, 就不會黑黑的. 每部車都這樣啦!"

我看別的車真的沒有那麼黑, 我想他們一定有洗到輪圈蓋. 我聽說用冷水沖洗熱的煞車碟盤會導致煞車碟變形, 所以刻意不會沖洗煞車碟一帶.

至於油味嘛, 後來檢查出某個墊片真的有漏油.

而福特的技師衣服也愈來愈髒了, 是送洗的費用被 cost down 了嗎?

RealAudio 格式整理

RealMedia 雖然算是我們的合作夥伴, 但是我還是要吐槽他們格式紊亂! 我知道 Wiki 上有做整理, 不過有時忽然又會忘記下哪一個 keyword 才找得到, 乾脆整理在自己的網站上吧!

 

Format 格式名稱 技術 特性 對應 player
RA1     一說就是 RA2-LBR  
RA2-LBR lpcJ IS54,VSELP 過時, 14.4 kbps  
RA2-HBR 28.8 G.728,LD-CELP 過時, 28.8 Kbps  
RA3 dnet Dolby AC3-like 過時  
RA4        
RA5 sipr Sipro ACELP 過時 Real Voice
RA6 cook Cook 1-2 CH RealPlayer G2
RA7        
RA8-LBR cook Cook,Gecko2 12~64 Kbps RealPlayer G2
RA8-HBR atrc Sony ATRAC3 >64 kbps,過時  
RA9 raac MPEG LC-AAC    
RA10-LBR cook Cook,Gecko2 5.1 CH, 12~128Kbps RealOne Player
RA10-HBR racp MPEG HE-AAC 128~800 Kbps RealOne Player
RA10 ralf RA lossless   RealOne Player

 

[note] RealOne player is backward compatible to RealPlayer G2.

使用 Awk 的小筆記

因為需要把 link 出來的執行檔切到 .bss section 為止, 以便做成比較小的載入檔, 所以我們一直需要一個把大檔案切小的功能. 反正 .bss 是不需要初值的, 根本不用儲存那一塊.

原先我們的公用 makefile 是比較陽春的, 為了吃進參數方便, 在 makefile 中 run-time 去編譯一個 c++ 的小程式, 以便在 Linux 和 Cygwin 的環境都可以用.

不過最近遇到問題了, 假如某台 Linux server 不適合灌 development tool chain, 那根本就不能 make 了. 為了解決這個問題, 我決定用 gawk 來做它.

Gawk 來自 AT&T 的 awk, 加了 G 字頭之後, 就表示它是 Gnu 家族的 freeware 成員. 另外還有個 Nawk, N 字頭表示 New (新版).

Gawk  沒有型別定義, 變數可能是 string, 也可能是 number,  完全看場合而定. 它可以寫成一行文 gawk {}, 或是讀一個批次檔來執行 gawk -f batchfile.

因為一行文已不符合我的需求, 所以我這次是用檔案.

x = $1

就把參數 1 抓進來了. $2 表示參數 2, 依此類推. 但是 $0 表示一整行的所有參數.

那第二行怎麼辦呢?

用 getline, getline 之後, 原來的 $0, $1,…就都變成與下一行的對照關係了.

依據這樣的參數, 就可以計算出真正需要的 file size 有多大.

不過另外有一個問題. Gawk 有三角函數的計算能力, 我卻找不到計算 16 進位的加減法功能? 這時當然是上網找打手. 在 http://os.cqu.edu.au/cgi-bin/info/info2html.cgi?(gawk)Strtonum%20Function 有現成的 sting 到 number 轉換程式.

Gawk 是可以呼叫 function 的:

x = abs($1)

function abs(str)

{

…

}

因為 awk 沒有型別,  所以 function 的參數就直接是 variable. 我引用的這個網址使用了很漂亮的 index 技巧, 有興趣的人可以參考這個寫法.

if ((k = index(“abcdef", c)) > 0)

 k += 9

如此就把輸入 c = a, k = 9+ 1 (1 是 index = 1) 的計算給求出來了.

Gawk 還可以呼叫 system() 函數, 有這個功能就可以在 Gawk 裡面做很多事情. 總之, 這樣就可以把我要的 file size 計算出來了.

那麼怎麼砍檔案呢? 網路上有各式各樣的講法. 有人說可以寫一個 truncate function、有人說可以用 (c)split、有人說可以用 cut.  

split 會產生一大堆相同 size 的檔案, 而且也只適合於 text (line-based) 的文檔.

Binary 檔的切割, 用 cut 也不正確. 如果用 cut –help 去看, 就知道 cut -b 並不是要 cut 幾個 byte 出來, 而是每行 cut 這麼多 bytes!

所以用 head 或是 tail 才對, 他們才是適合切割 binary 檔的.

head -c 1000 BigFile > SmallFile

這樣就行了, 那個 1000 就用 gawk 來幫忙算. 如此即可以免去即時編譯 c++ 的困擾.

gawk 的使用手冊可以參考這個網址, 我都是用到多少才去了解多少, 沒手冊還真是不行.

http://www.grymoire.com/Unix/Awk.html