我讀 «不蝕本實戰操作»

這本書是 “平民股神" 蘇松泙先生的第二本作品, 買它的原因是在書店翻它時看到一個重點, 這個稍後再談.

第一篇 “平民股神的奇遇人生" 大概就是講一些小故事. 作者大致說到自己的生平, 以及總是賺錢的經歷. 從中可以知道蘇先生專做短線. 而操作的原則就是看線形. 不過作者講究靈活的操作, 不會等到站上或跌破均線才出手, 而是先下手為強.

經過長期的訓練, 蘇先生說到他可以預測明天的走勢. 這是怎麼辦到的呢? 基本原則就是只買強勢股. 絕對不會長抱股票.

第二篇 “散戶贏家該有的基本心態" 基本上就是衍繹只買強勢股的戰略, 賺錢就加碼, 賠錢則減碼. 不過絕對不會持股超過七成資金.

至於書中提到女人夢見男子裸奔要買 “台揚", 渡假時看見人面獅身像有"望"的感覺, 而開紅盤就決定要買 “蜜望實",這招叔叔有練過, 小朋友不要學!

雖然作者買股票看似怪力亂神, 但是他在買進前, 已經確認過: 台揚在一片跌勢中總是小漲或是逆勢不跌. 而蜜望實是當天漲跌幅前十名, 於是作者猜它明天續漲~~~

特別有用的實戰經驗應該是這項: 作者說在股市量縮的時候, 不要在單一支股票重壓, 所以多買幾檔, 讓每檔股票的張數減少. 最有趣的是寫他的朋友買國豐那一篇,根本整個人都被股價所制約了.

第三篇 “超越大盤指數輕鬆賺". 這裡面就寫了很多小撇步. 摘要幾個重點如下:

1. 以股票箱的方法低買高賣.

2. 以美日股開盤預測台股走勢. 如果美日股小漲小跌,就看前一天漲跌幅排行榜前十名是否續強續弱.如果由強轉弱, 就要拔檔.

3. 熊市時空手. 如果股王不能創新高則減碼弱勢股.這…股王干弱勢股什麼事呢? 作者選的股票其實都是前一天的強勢股, 他要減碼的是由強轉弱的股票.

4. 選股不選市.

5. 作者有 21 個買股票的理由, 如果買股的理由不存在了, 就該退場.基本上都是資金、股東會、選舉行情之類的外部因素.

6. 不要相信媒體的利多利空,個人恐懼和貪婪要和群眾相反.p154 提到媒體驅動群眾如 “江西趕鬼", 應該是指 “湘西趕屍".

第四篇 “長線、短線活用法" 其實偏重短線. 大多都是說長線的缺點. 作者做"長線"的經驗是因為早年某次颱風導致電話不通, 一個月沒辦法下單.

在偏短的操作週期中,作者說到股票漲不動就停利, 股票下跌了就換股而不是停損.因為把 A 股換 B 股, 那麼 A 股雖然沒賺到錢, 但是只要 B 股上漲就可以說沒虧損.

第五篇 “提高獲利的蹺蹺板比價術" 提到價量當中,以價為重, 因為沒有人會記得量. 作者說看 K 線不如看股票箱的三根線: 上軌、下軌、和中間線. 這根中間線是怎麼來的呢? 基本上可以想像為: 把達瓦斯的最近兩個股票箱畫成一個,這樣就有中間線了.

至於本篇的內容, 大概就是說到低價股上漲就換到中價股,…最後就會換到高價股.如果拿兩支股價相近的股票比價, 賣掉比較高估的, 去買比較委屈的. 經過反覆操作, 最後就會賺錢了! (?)

至於選那兩支股股票做蹺蹺板、日字操法 (某股低檔恰為另一股低檔)或是回字操作法 (假如股價成倍數, 就會有大口和小口)? 選那四支做田字操作法? 這就是叔叔才知道的絕技了.

第六篇 “追強勢股必勝教戰守則" 算是本書的精華. 總之作者就是買漲停板、破新高、漲不停的股票.遇到壓力不買、有支撐不賣、等反彈再賣.至於細節就請大家自己去翻書了.

最後來回顧一下我買本書的理由. 作者很喜歡利用強勢股的填權息來賺錢, 但是他會精算今年已經除息多少錢? 以免所得稅爆增. 

再來是最好只除息不除權, 息值愈小愈容易填息.最後是我聞所未聞的: 要挑資本公積配發股利比重高的股票, 因為這部份不用扣稅.

很多過去輝煌, 但是現在多半吃老本的公司, 其實都是用資本公積在發股利. 財報狗 [1] 就提到精英 (2331) 從 2007~2011 年的淨現金流入只有 27 億,2012 年卻可以發出 29 億的股息, 多數就是資本公積貢獻的.至於敢不敢買, 大家自行斟酌.

[ref] 

1. 獲利和創造現金能力比股息重要

第十六屆交大高階經理人培訓班第八課

這個禮拜上課的講師不是企業主, 而是交大的老師 – 楊千教授.  雖然楊教授來自學界, 但是他有很多業界的實務經驗. 特別有趣的是, 老師不想按照他原來的投影片講, 所以放出 "變革管理" 的投影片之後, 就隨大家點歌 – 他要講 "指定曲", 不要講 "自選曲".

第一個問題是老師翻名單點名同學問的: "應該如何因應現在的大環境?" 

老師說, 我們競爭的主要條件就是身體健康, 頭腦聰明, 和心地善良. 這些大部份都是出娘胎的時候就決定了, 所以…就…不用掙扎了嗎?話題一轉, 老師說到學習的意義. 為什麼我們要來上課呢?一個是 to know yourself, 一個是 to improve yourself. 既然能改善就還有希望. 

過去的環境也很競爭, 只不過競爭的速度和規模和以前大大不同了. 當初老師在交大讀書的時候, 學校有一顆 10 mega bytes 的硬碟, 以 1 mega byte 賣 40 萬新台幣來算, 價值足可以買兩棟豪宅. 到了近期, 老師也花過 2 萬塊買 2G bytes 的隨身碟. 隨著時代的改變, 人們致窮致富的方法也都不同了.

現代人不見得比古人聰明, 只不過是工具比以前進步. 像是電子業的節奏這麼快, 常常有人做出一些令其他同業都不開心的成果, 這使得有些聰明人都不想做高科技了.  但也就是這樣競爭的環境, 讓大家只好一直進步. 當你的客戶改變, 你就只好改變, 訂單的內容也會改變. 台灣能夠把 OEM 做好, 就是客戶操出來的.

如果企業主能高瞻遠矚, 企業的勝算就會提高. 但是比別人看得遠很困難. 

[改變] 

當你會背 99 乘法表, 你就是另外一個人了. 改變自己很難, 像是戒煙; 但是改變組織更難. 只要是一群人做的事就牽涉到管理. 而組織的特性有時候並不是管理者可以決定的, 而是老早寫在 "基因" 裡了. 像是軍隊, 並不是現在才沒人權, 它的特質就是要消除個性. 像是教授貪污事件, 據說這種認知差距可以上溯至漢代. 

在兩個穩定的狀態當中, 中間的不穩定狀態都是不快樂的. 

如果要改變, 希望是主動改變. 

改變本身就像是門弓器一樣, 一放開就恢復原狀. 在台灣想要變革更是不容易, 因為企業的面貌就在於企業主本身. 如果企業主不改變, 企業就不會改變.

[溝通] 

改變要看到成果, 需要溝通, 溝通, 再溝通. 除非誰擁有絕對的力量, 否則溝通絕不可少. 溝通也是一輩子的事.

當初台積電在決定官方語言為英文, 就是希望員工和客戶用的語言是一樣的. 語言一樣就沒有藉口, 也減少誤解. 老師舉的例子是甲骨文, 甲骨文是刻在龜甲上, 因為寫一個 byte 要很多時間, 所以只好簡化寫法, 讓一個字很有多意義 (overloading). 這個簡化就容易造成各說各話.

同學主動提問的部分:

[Q1] MTK 的薪水已經和產品的成績切割了, 收入太少怎麼辦… 呃, 同學是說, MTK 在台灣已經沒有對手可以 PK 了, 企業應如何自處?

[A1] 應該從勞方的觀點來看, 企業保持成長是很不容易的事情. 像是聯發科, 鴻海這些成功的企業, 本來就很難維持同樣的成長幅度.  企業主有企業主的困擾, 不是我們可以想像得到的. 按個 enter 就有一千萬的人, 一億對他才可能是困擾. 煩惱永遠比實力大十倍, 否則就不會是煩惱了. 這些大老闆只能靠著無可救藥的樂觀, 才能一直努力下去.

或許 analog 領域還有很多挑戰, 但是 digial IC 領域已經 converge 了. 我們也看到同一家公司的會計師, 律師, 在大陸上班的領的薪水比台灣高. 這是形勢比人強.

[Q2] 大企業最近都有傳子的跡象, 老師怎麼看?

[A2] 基本上, 只要企業主身體健康, 多數不想交班. 只要自己身體好, 總會覺得自己再做十年也不成問題. 但是人到了一個年紀, 很可能成事不足敗事有餘.

至於為什麼老闆不肯交棒, 也和幹部的能力有關. 當初公司小的時候, 一個小幹部就在做等同現在大主管的工作. 等到公司規模大了, 新一代的小幹部並沒有同等的歷練. (據我延伸老師的想法, 應該是說小幹部相對要花很多時間才能爬到可以擔大任的位置; 從老闆的眼光來看, 這些人當然沒有自己當年勇.)

換個角度看, 物競天擇, 業競人擇, 員工也可以挑自己喜歡的企業. 好比有些人喜歡挑戰, 那麼應該去鴻海. 有些人喜歡穩定, 那麼可以去奇美. 在奇美有 15 年年資都算是小弟級, 得供人使喚. 若是在電子業, 待 3,5 年就是資深工程師了.

[Q3] 企業中的董事長, CEO, 董事會, 總經理角色似乎重疊, 怎麼定位比較理想.

[A3] 公司的文化, 51% 要看老闆. 為何是 51%? 就是在股東會可以投票過半數的那個人. 董事長若是和總經理不合, 走的一定是總經理. 所以說 culture is the shadow of the leader. 

聰明人進到一個新環境就會觀察他們的文化, 然後設法融入. 就像是進入鴻海, 就自動會知道開會要記筆記, 桌上的水不要亂喝 – 以免會議太長一直跑廁所. 在宏碁, 今天叫你出差, 你可以說回家問一下老婆. 在鴻海, 話剛說出來就自動生效了; 如果不能配合, 就只能走人.

老師說, 有個東西和這個相關, 要先講. 文化的根柢是經驗 (experience), 有共同經驗才會產生共同信仰 (believe), 有共同的信仰才能反映在成功的行動(action), 看到最後的結果 (result). 想要有新的文化, 就要重共同的經驗開始 (共識). Change the cutlture, change the game.

[Q4] 在上面的模型中, 整個公司怎麼會有一樣的經驗?

[A4] 要經常互相 check. 大家把知道的東西 share 出來, 節奏就會一致. 夫妻也是一樣.

所以有時候公司喜歡自己開管理課程, 找外面的講師到公司來教, 而不是讓員工自己到外面受訓. 員工如果成長的比公司快, 長成大魚就不想待小池塘. 

[Q5] PM 不知道方向, 只能拿客戶的 roadmap 當 roadmap 怎麼辦?

[A5] PM 聽起來就像 "騙", 公司最大的 PM 就是老闆, 辛苦在下面當 coordinator 的都是小 PM. 當然有 PM 就有 AM, PM 是 product manager, AM 是 account manager, 同樣都是要以非專業的角度管一群專業的人, ensure 目標可以達成, 這就是騙了. 

早年在台灣有一個現象, 就是品牌的弱勢. 當初 D-link 做了 4 port 的 hub, 放了一年也沒人買. 等到 3Com 推出 4 port hub, 這東西就熱銷起來了. 如果 D-link 的網卡配上 IBM  電腦不通, 那就是 D-link 的問題. 若是 3Com 的網卡配上 acer 的電腦不通, 那就是 acer 的問題.

近年來, 台灣的形象已經有所提升, 像是漢微科 e-beam, Samsung 買的比 TSMC 還多. 當 Realtek 的 Box 配上 Intel 的 NB 有 WIDI 方面的問題, 客戶也說是 95% 是 Realtek 的問題 (雖然真相是…BJ4).

對公司來說, 研發能量是很重要的. 像是華碩與和碩分割, 明泰與 D-link 分割, 如果只做品牌, 壓力會很大, 拿客戶的 roadmap 當 roadmpa 就很自然. 我們假設 TSMC 和 UMC 都拿 7% 作研發經費好了, 由於 TSMC 的 7% 比 UMC 的 7% 多, 所以大者恆大.

除非這家公司真的有獨佔性, hard to copy, hard to own, 才可以不用擔心競爭. 

有創意當然是很好, 大家都講創意, 但是創意是一種 talent, 教不來的. 像是賈伯斯不需要民調就可以做出暢銷品, 軟體工程師會寫的就是會寫. 不會寫程式的, 我絕對不敢說可以把他教會. 寫程式有 bug  的人, bug 的創意也是源源不絕.

[Q6] 小 7 也在賣鴻海的電視了, 這招的背後還有什麼招?

[A6] 鴻海找我們當顧問的時候, 曾經簽過 NDA, 因為內容太長, 也沒仔細看. 簡單地說就是 10 個字, "一切的一切". 總幹事說: "這樣才五個字", 老師又說: "永遠的永遠".

Grow 和 profit 誰重要?除非是規模夠小, 大公司不想進去, 才會講究 profit. 不然只要有利可圖, 人人都會想進來分一杯羹. 這時候只好把自己不斷做大. 為了變大, 就會考慮各種可能.

[Q7] 很多企業都找外籍兵團來改善體質, 但是兩年大概就走人了, 這樣是不是太沒耐心了.

[A7] 東方人有家天下的概念, 其實不太願意放手給外人, 更不用說是外籍兵團. 找來一些說英文說日文的, 大家跟他們開會都很痛苦, 恨不得趕快開完, 再私下溝通. 如此改善成效不好是必然的.

有個代理理論 [1] 說, 每個人都是代理人. 這些外籍顧問只能算是 "局外人". 就好像公司的獨立董事, 有多少是真正的獨立的?其實還是要聽老闆的, 去留也看老闆臉色.

[Q8] 彼得杜拉克的理論, 看來不能適用於所有企業, 比方說鴻海. 有沒有一套理論可以涵蓋杜拉克, 又可以涵蓋鴻海的管理?

[A8] 知和行往往是兩回事. 如果自己不是老闆, 就要取得老闆的 mutual trust 和 mutual respect, 這時候講話才可能有用. 後來就完全看老闆了. 公司經營得好不好, 主要是看 decision 和 execution.  (沒說的部分,  就是不靠理論.)

[今日金句]

1. 一天不要學太多 每天都要學一點

2. 最重要的資源是時間.

3. 企業的存在是為了一世英名 (老闆早就賺夠了).

[Ref]

1. 代理理論

Newer New API 小註解

話說我們的 kernel 從 2.6.12 進版到 2.6.34 時, 網路速度似乎有點下滑. 為了瞭解這個進版對網路 driver 有什麼影響, 我發現了這個改良版的 New API – Newer New API.

原來的 New API [1] 是做啥的呢? 它是為了避免 CPU 太忙所產生的處理方式.

早期網路 driver 在收到 packet 的時候, 都會發 IRQ (interrupt request)去通知 CPU 搬 data. 隨著網路的速度愈來愈快, CPU 漸漸就沒辦法做這麼瑣碎的雜事了. 假如一個 MTU 是 1500 Bytes, 那麼, 15 Mbps 的影片就會在每秒發出 15,000,000 / (1,500 x 8) = 10000 / 8 = 1250 個中斷. [2].

只要網路流量低, 那麼 IRQ 還是可以用. 一旦網路流量超過某個界限, CPU 就改用 Polling (輪詢) 的方式去撈 data. 這就是 NAPI 的基本觀念. 由於不是看到 packet 就發 IRQ, 把更多 data 留在 buffer 裡, 也可以減低 re-order 的機會. 萬一 CPU 根本處理不了那麼多 data, 新的資料會直接覆蓋掉舊的, 不會讓 CPU 到了來不及的最後關頭才丟棄資料 [1].

在這組 API 裡面, 支援了設定網卡工作模式 (IRQ or Pollng), 進入或退出工作模式的幾個 function call.

到了 Linux 2.6.24, NAPI 的名字仍然被沿用, 但是內容已經更新了.  主要的改變分為幾點:

1. NAPI 和 net_device 不再是一對一, 一個 network device 可以支援好幾個 port, 每個 port 根據自己忙碌的程度, 決定它在哪一種工作模式.

2. 註冊輪詢的 API 異動

void netif_rx_schedule(struct net_device *dev); 

void netif_napi_add(struct net_device *dev, struct napi_struct *napi,  int (*poll)(struct napi_struct *, int), int weight)

也就是說原來可以加入輪詢的 API 多了指定獨立資料結構的 struct napi_struct *napi, 輪詢方法的  int (*poll)(struct napi_struct *, int), 也把 weight 從 dev→weight 的資料結構中拔出來明確指定.

3. 輪詢的 prototype 也改了, 不再依據 device.

int (*poll)(struct net_device *dev, int *budget); 

int (*poll)(struct napi_struct *napi, int budget); 

4.  關閉輪詢功能的 API 當然也改了, 以前是關 net_device, 現在是關某個輪詢方法. 

__netif_rx_complete(dev)

void netif_rx_complete(struct net_device *dev,  struct napi_struct *napi); 

更細微的改動我就不列了. 我好奇的是, 如果 driver 是用舊的 NAPI 寫的, 直接拿到 2.6.24 以後的版本去用, 會不會註冊不了 polling function, 只好一直發 IRQ 而導致 performance 不好呢?還是根本編不過?

今天已經快睡著又變餓了, 明天再繼續研究這個問題. 

[後記]

看了 Wireless network 的 driver, 裡面果然都是用 tasklet.

[ref]

1. New API

2. Linux网络性能优化方法简析

3. Linux kernel 2.6.24 Porting 雜記.

4. NAPI 技术在 Linux 网络驱动上的应用和完善

WIFI Direct 連線小註解

WIFI Direct 是 WiFi 聯盟所提出的規格, 目的在於讓兩個無線裝置不透過 AP (access point) 就直接溝通. 或曰, 不是有 TDLS 嗎? WIFI 聯盟說了 [1]:

TDLS operates in the background of a Wi-Fi network to optimize performance, while Wi-Fi Direct-certified devices can quickly connect to one another while on the go, even when a Wi-Fi network is unavailable.  Many devices will be certified for both solutions and use them in different situations.

WIFI Direct 不需要 AP 仲介, 也不需要已經建立的網路.首先雙方以 discovery 發現對方.如果有一方講話有人在聽的話, 對話就成立了. 這就是 search-listen 組合, device 1 發出的 probe request 收到了 device 2 的 probe response 的回應.

此後 device 1 開始 formation, 送出 GO negotiation request, 等待 device 回應 GO negotiation response, 如果對方沒有進入 formation 的階段, request 會得到 fail 的結果. 若是能夠正常回應, 這樣就可以準備 GO 了嗎?! 非也, 這裡的 GO 並不是英文 go! go! go! 的那個 go, 而是 group owner 的縮寫.  Device 1 是 client, 而 device 2 是 group owner, 相當於一台 AP 的角色. 所以一個 GO 也可以有很多 clients.

那麼如何決定誰是那麼如何決定誰是 group owner 呢? 方法就是圖中的比大小. Device 1 在送出 request 的時候, 會附上 intent = 3.可惜 device 出的 intent = 3, 既然 10 > 3, 所以 device 2 就當 GO. 要是雙方不巧平手的話,就看雙方誰做莊? 做莊的那個會在 tie-breaker bit 註明, 這個值是隨機的.如果雙方都出王牌 (intent value >= 15), 搶著當 GO, 那麼連線就會失敗.

雙方角色確定之後, 還要有一個 GO negotiation confirm 才算完成 request / response / confirmation 三部曲.這是 Formation 中決定角色的完整步驟. 到了 Formation 的後段, P2P 的 device 要互相鑑別對方 (authentification), 然後 client 要發 association request 和獲得 association response, 這樣才和 GO 完成所有的 standard formation 的工作.

另外一種 formation 叫做 persistent.它可以把 group 中的成員記下來, 後續再連線時,可以直接邀請 (invite) 對方加入 group.Invitation 也分成 3 種, 就是 GO 請 device 加入變成 client, 或是 client 邀請 device 變成 group member (前兩者 invitation request frame = 0), 以及先前 persistent formation 的 GO (一定要有 GO) 和 client 重建當時的連線關係 (invitation request frame = 1).

Persistent invitation 的好處就是不需要複雜的認證,只是做 WSC (WIFI simple configuration). 而 GO 要負責在 invite response 時, 提供這一堆資訊:P2P Group BSSID, Channel List, Operating Channel and Configuration Timeout attributes to indicate the Group BSSID, potential Operating Channels, intended Operating Channel and any GO Configuration Time 讓連線快速恢復上次的狀態.

[ref]

1. http://www.wi-fi.org/knowledge-center/faq/what-difference-between-tdls-and-wi-fi-direct

2. http://www.hughes-systique.com/Portals/0/Uploads/Articles/WFD_Technology_Whitepaper_v_1.7635035318321315728.pdf

BogoMips 小註解

BogoMips 顧名思義是 Bogus 的 MIPS (Million Instructions Per Second). Bogus 表示 "偽".BogoMIPS 就是假的 MIPS.

一般常用的 DMIPS (Dhrystone MIPS) 主要是測量文書處理的表現. 如果要比較 CPU 是否夠快, 看主頻率 (clock) 也是不準的. 比方說 Intel i7 是 23.860 MIPS/MHz, ARM Cortex A8 僅有 2 MIPS/MHz [1], 所以 1GHz 的 i7 還是比 2GHz 的 A8 快很多! 

為什麼 MIPS 也會有假的呢? 原因是 BogoMips 本來就不是用來比較 CPU 的計算能力的, 它是用來調校 Linux kernel 的計時單位.

假如我要 delay 1 mini-second (ms),那麼在不借助特殊硬體的情況之下, 我怎麼知道多久是 1 ms 呢? 最簡單的方法, 就是做一個簡單的迴圈,再看看繞完 X 圈後, 花掉多少時間, 然後反推繞幾圈是 1ms. 這個每秒繞幾圈就是 loops_per_jiffy.

因此在 [ref 2] 中, 我們可以看到它介紹 delay loop 怎麼做? loops_by_jiffy 怎麼做? 卻沒講到關鍵的 “為什麼?", 這部份只得去看[3]的說明, 配合 [4] 的程式. 總之, BogoMips 直接就對應到 loops_per_jiffy.

在 calibrate.c [4] 裡面有印出 BogoMips 的地方.

/* Round the value and print it */

		printk("%lu.%02lu BogoMIPS (lpj=%lu)n",
			loops_per_jiffy/(500000/HZ),
			(loops_per_jiffy/(5000/HZ)) % 100,
			loops_per_jiffy);

那麼一個 jiffy 是多久呢? Linux 預設為 4ms,但其實可以調整為 1~10 ms, 這也是 Linux 一個 tick 所需要的時間.至於一圈 loop 是幾條指令? 這個也不一定, 在 Linux C code 裡面,會用一個迴圈取多次的值平均.

如果只看一次,可以簡化成:

                pre_start = 0;
		read_current_timer(&start);
		start_jiffies = jiffies;
		while (jiffies <= (start_jiffies + 1)) {
			pre_start = start;
			read_current_timer(&start);
		}
		read_current_timer(&post_start);

		pre_end = 0;
		end = post_start;
		while (jiffies <=
		       (start_jiffies + 1 + DELAY_CALIBRATION_TICKS)) {
			pre_end = end;
			read_current_timer(&end);
		}
		read_current_timer(&post_end);

		tsc_rate_max = (post_end - pre_start) / DELAY_CALIBRATION_TICKS; // loops per jiffy

至於為何 start 和 end 都要有 pre_ 和 post_, 是為了抓到剛好跨過 jiffy 進 1 的點.

[ref]

1. MIPS (計算機)

2. BogoMIPS

3. What are BogoMips

4. calibrate.c

5. Jiffies