我讀 "壽司幹嘛轉來轉去? – 第二彈" – 上

話說 Hanna 公司在第一彈的故事中雖然轉危為安 (我假設大家都看過 “壽司幹嘛轉來轉去" 這本漫畫), 但是新的問題又來了. 這次的危機來自於更深入的會計管理問題. 故事要從 ERP (Enterprise Resource Planning) 講起.

Hanna 的年輕女社長矢吹由紀從其他老闆的口中聽到: 大公司都採用 ERP 系統來節省人力, 減少庫存, 增加營收. 為了怕落後於業界, 因此也以兩倍高薪挖角來了唐澤惠一先生擔任資訊系統部主任. 由他引進業界知名的 ERP 系統. 想不到這套系統不但沒有發揮應該的作用, 反而看到三年來的庫存愈來愈增加, 公司的利潤也變得相當微薄.

由於 ERP 系統不能適用 Hanna 的業務型態, 唐澤主任找來業界最知名的 NFI (日本財務系統公司) 為他們加上外掛模組, 不足之處也採取人工作業. 三年來, 這套 ERP 勉強還可以湊合著用, 不過它在某天終於當機了! 公司內部的主管對此交相指責:

會計部田丸文二主任: ERP 的追加預算, 資訊系統部總是二話不說就付了. 系統愈來愈難用, 該不會是唐澤和 NFI 有不可告人的關係吧?

製造部主任林田達也: 請款內容如果有問題, 會計部不是應該停止付款嗎?

會計部: 電腦我一竅不通, 社長不是也簽名了嗎?

資訊系統部: 只能把現在的系統放棄掉, 重新寫一套系統了. (工程師最愛做的是果然是砍掉重練!)

會計部: 舊系統花了兩年也無法正常運作, 新系統在半年內根本不可能運轉.

製造部: 事到如今, 只好請唐澤先生趕快 debug 了.

會計部: 林田君你太天真了, 辦不到的事情就是辦不到啊!

製造部: 那田丸先生你覺得應該怎麼辦呢?

會計部: 那是唐澤的事, 和使用者的我沒關係啊!

(無窮迴圈爭吵中)

社長: 只好再請出第一彈中的安曇捷大師了. 

這次大師還是美食吃透透, 只不過場景換成了歐洲和亞洲的泰國. 大師說 ERP 只是一套軟體, 裡面包括了接單、採購、生產、銷售、人事薪資、會計等等, 社長首先要知道自己要什麼? 公司像人一樣, 不是每個器官都好就叫做健康. ERP 最多只能提供資料 – 把業務資料轉換為會計資料, 公司需要改變工作方式, 把人、物質、金錢都和 ERP 整合, 如此才能發揮出系統真正的作用. 

舉例來說, Hanna 企業的產品有女裝、童裝、和休閒服三個產品線. 但是從會計部所提供的資料來看, 社長只能知道這樣:

矢吹社長認為: Hanna 的女裝應該是最成功的, 營業額也最高, 這個沒問題. 但是她每次到越南工廠巡視, 總是看到休閒服工廠的生產線停擺, 工人無所事事, 怎麼可能毛利最高呢? 這個直覺遭到會計部的強烈抵抗, 田丸認為它已經按照管理會計原則做出報告了. 而管銷費用和利息是沒辦法按照產品別劃分的, 只需要把預定毛利和實際毛利的差 (成本差異) 計算出來就夠了. 社長經過安曇的再次調教, 總算是強迫會計部同意提供按照 “產品別" 分開計算的管銷費用. 會計部的田丸消極地找了一位年輕的會計新人 – 木村真奈美來做這件事, 算是對社長交差.

新人經過社長的特別鼓勵, 決定無視直屬長官的排斥, 真的交出了漂亮的成績單. 為了將費用分攤到每個產品線, 遇到公司廣告上提到不同產品線的圖片或文字時, 她也按照面積比例把費用攤給每個產品. 

[Note] 童裝這部分數字有點問題, -2.2 + 0.2 – (1 + 0.7 + 1) = -4.7 並非 -2.7? 使得營運現金流的總和也從 -4 變成 -2 了.待確認.

如此一來 , 雖然休閒服看似毛利最高, 但是因為它的營業額較小 (20 億), 毛利較低 (10 億), 再考慮進管銷費用 (8.1 億) 之後, 營業利益只剩下 1.9 億. 再扣掉利息費用 0.5 億, 經常利益為 1.4 億. 雖然帳上的收益是正值, 好像是一門賺錢的生意. 不過把經常利益 (1.4 億) +  折舊 (0.1 億) – (庫存 + 應收帳款 + 應付帳款)(共 3 億) = 營運現金流 (-1.5 億) 算出來後, 就知道這個產品還沒有把帳面上賺到的錢變成現金. 簡單地說, 就好像買的股票上漲了, 但是沒賣掉之前不算是真正落袋為安.

其中, 實際毛利減去直接費用 (變動成本) 的部分稱為 “邊際貢獻" (contribution margin 或是 margin profit), 它和營業利益唯一的差別在於間接的管銷費用 (固定成本) 沒有列入計算. 過去我們常聽說 margin 要高, 生意才會賺錢. 不過安曇後面會說到, 間接成本也是成本.

故事講到這裡, 矢吹社長已經確定只有女裝在賺錢. 而其他兩個產品線不是不能做, 只是都在燒錢. 此外, 導入 ERP 之後, 庫存和應收帳款似乎比以前多? 而童裝的部分, 促銷費用明顯比營業額更大的女裝花得還多.  是的, 社長終於找到疑點了. 接下來就是如何解決問題啦!

我讀 «走進我的交易室» – 下

雖然在上一篇結束的時候, 本書的心得報告就可以告一段落了, 但是本書的第三部曲 – “走進我的交易室" 確實有一點值得提的東西. 所以特別把這個段落整理出來.

由於本書的作者以股票交易維生 , 所以他心目中的好交易人必須恪守紀律, 認真地研究股票. 就拿每支股票的交易紀錄來說, 他要求要紀錄的項目多達 19 項. 其中包括股票代號, 交易流水號, 數量, 進場價格, 出場價格, 特別是要幫自己打三個分數 – 進場分數, 出場分數, 和交易分數. 

所謂的進/出分數是指成交價落在當天高低價之間的幅度, 例如最高 100 元, 最低 90 元, 買到 97 元則進場分數是 30 分, 賣到 97 元則出場分數是 70 分. 交易分數就是所賺到的錢, 佔這支股票在壓力與支撐之間的比例, 比方說壓力在 120 元, 支撐在 80 元, 買進賣出後, 若賺到 10 塊錢就是 10/(120-80) = 25%. 這個比例若在 30% 以上就是 A 級交易, 落在 20% 以下就是 C 級交易. 如果連 10% 的獲利都沒有, 那很可能是白忙了一場. 好的交易人要幫自己打平均分數, 時時反省自己的表現.

除了上面的交易紀錄之外, 交易人要以自己的財產 “淨值" 來檢視自己的表現, 每天看看自己的淨值有多少, 曝險在 2% 單筆損失的部分有多少? 曝險在 6% 整體損失的部份有多少? 接著要寫個日記, 描述自己為何要買那支股票? 以什麼樣的心情賣掉?

當然, 以上都屬於事後的檢討, 在 PDCA 中只包括了 C -check. 如果要做好 P – Plan, 就要在收盤之後擬定下一個交易日的作戰計畫.  首先選定目標, 然後檢視它的線型, 把買賣價和停損點預先設好.

(第一個螢幕) 週線圖: EMA 上升, MACD 柱狀圖逐漸向下 

(第二個螢幕) 日線圖: MACD 柱狀圖空頭背離, 股價逐漸拉回 EMA

(第三個螢幕) 在 71.03 放空, 73 認賠出場, 65 獲利了結.

規劃好了之後, 開盤就按表操課. 但是作者也不完全認同機械式的操作, 如果確實看錯方向, 只要不違反原則, 他也可能會加碼或是反向操作. 

我特別整理出這篇的意思就是, 靠炒股維生絕非易事. 人家這麼認真在打仗, 閒人有閒錢時去號子 “玩股票", 99% 都是只有被宰的份! 當然, 如果像巴菲特一樣做長期投資, 就不用這麼辛苦守紀律. 相對地, 長期投資人必須有更高的財務素養做支撐, 不像是本書作者所寫的, 只要有心 (紀律), 有法 (技術), 有錢都可以當專業的交易人.

我讀 «走進我的交易室» – 中

前一篇讀書心得被我變造成 “權證與期貨" 專題, 這次正經地來看這本書. 本書的首部曲叫做 “初生之犢", 主要是講投資人和交易人差異, 以及每個市場 (股票, 期貨, 選擇權) 的不同.

基本上, 首部曲裡面沒有太特別的東西. 但是作者以心理醫生的角度, 把盲目的投資人比喻酗酒成癮的病患倒是非常傳神.

第二部曲所提到的 “交易成功三要素 – 心、法、錢", 確實讓我體會到賠錢的外行人只懂得用一維思考, 而專家的想法有好多個維度. 外行人遇到專家, 雖然也有微小的勝算, 但是最後的結果可想而知.

作者說到, 一個成熟的交易人要有紀律. 除了對交易作紀錄, 什麼時候該買? 什麼時候該賣? 都應該在前一天計算出來, 並且在開盤中適時依據行情作出買賣的動作.

作者認為在開盤前下單買賣的人不夠謹慎. 因為他們根據的是開盤前訊息, 並不能反映真實的情況. 我記得某個人曾經提過從開盤開始就要觀察 5 分鐘箱型有沒有突破? 作者的想法也是這樣, 他的買賣判斷都是即時反應的.

那麼, 他如何根據即時行情判斷買賣點呢? 首先要看懂指標. 指標分為 3 種, (1) 趨勢指標. (2) 擺盪指標, 和 (3) 其他指標. 趨勢指標用來判斷大方向, 大方向決定該買或是該賣. 擺盪指標用來決定交易點. 大方向往上, 短期指標向下, 造成擺盪的話, 作者認為這就是買點. 反之就是賣點.

那麼什麼是作者喜歡的指標呢? 他認為一個彈匣裝 5 顆子彈就夠了, 所以主要推薦五個指標. 但如果大家去看這本書, 就會發現作者提供的子彈根本滿出來裝不進彈匣了~~~

趨勢指標 移動平均線 SMA, EMA
MACD 包括柱狀圖
擺盪指標 力度指數 這是作者的發明
通道 包絡線, 布林格通道 = 標準差通道
隨機指標 KD
混合指標 艾爾德射線  這也是作者的發明 

對了! 作者不喜歡當日沖銷. 所以他總是以長期的觀察來選擇交易時機. 為了避免自己衝動, 它還發明了三螢幕法. 第一個螢幕用來看喜歡的交易時間單位的上一個單位 (例如週線), 第二個螢幕則是看自己喜歡的交易單位 (例如日線), 而第三個螢幕則是用來交易. 很辛苦吧!

作者特別為每一個指標背後的意義作註解, 所以這部分就厚達 60 頁.  雖然技術指標能夠幫助作者有一定的勝算, 那麼萬一看錯方向怎麼辦呢?

在這本書的第七章說到: 只能拿 6% 的資金可以承受風險. 每個投資標的只能損失 2%. 只要達到 2% 的損失就表示失誤了 – 例如被主力騙線, 他會立刻斷尾求生, 把機會留到下一次! 所謂的承受風險或損失, 意思是說他已經預設買價和停損點, 所以最大損失是可以預先知道的.

假設本金有 50K USD, 2% 是 1K USD. 那麼買價設在 20 USD, 而停損點在 18 USD 時, 風險就是 2USD. 1K/2 = 500, 表示作者最多買 500 股, 扣掉手續費和滑價 (就是買賣不到設定的價錢) 之後, 頂多只能買 400 股. 事實上, 400 X 20 USD = 8 K USD, 佔他所有資金的 16%.

我讀 «走進我的交易室» – 上

這本書的作者是 Dr. Alexander Elder, 他原本是一位心理醫師, 後來成為專業的投資人. 而這本書是他的第二部作品, 前一本書 “操作生涯不是夢" 似乎也很有名. 至於這本書裡面講甚麼呢? 我想大概要分好幾次才能整理完.

首先, 我介紹最近曾經提到過的 “權證"! 作者認為, 權證不是一個好的投資標的. 因為權證比股票還要複雜, 連專業交易人都不太想去碰, 反倒是很多交易新手對它有興趣.

附帶一提, 作者把長期投資者稱為投資人, 而以炒股為生的則稱為交易人. 作者自認是交易人, 所以他很少談基本面. 他認為基本面是必要的, 搞清基本面之後, 就應該用技術面等等來操作.

專業的交易人只有在行情大反轉的時候才會買權證, 當他們認為行情即將大跌, 交易人會考慮買入賣權. 為什麼呢? 因為行情即將轉折之時, 難免出現震盪. 此時不論把停損點設在哪裡都不保險! 不如先買入賣權", 等到真正大跌之後, 再高價賣出此一賣權.

假如交易人果真看錯方向, 行情並沒有大跌, 購買權證的損失比較少, 而且他們會設停損點, 而不是等權證失效. 另外, 作者認為不應該買入快要到期的賣權 (權證), 至少離到期日要有兩個月的時間, 才能發揮避險的效果.

另一方面, 由於股票下跌的速度是上漲時期的兩倍左右, 如果握有買權, 往往在權證的有效期間都等不到理想的價格而它變成廢紙! 所以作者認為看漲的時候應該買入的是股票, 而不是權證. 只有看到大跌在望才會買入賣權.

如果交易人沒有把握判斷股價會上漲或是下跌? 唯一的投資機會在於 “非常便宜的遠價外賣權" (far out of the money). 這是什麼東西呢? 首先它是賣權, 再來它非常便宜, 就像彩券一樣. 它能夠變得非常便宜的關鍵在於: 它的履約價低到似乎不可能兌現, 所以乏人問津.

比方說股價 100 元, 但是賣權在 50 元, 這個賣權看來沒有多少價值, 只能以最低面額 0.01 元交易. 不過當股票已經大跌到 75 元, 那麼半年一年後再跌到 50 元也不無可能, 此時原本的遠價外賣權就突然變得有交易 (避險) 價值了.

除了看壞買權證這項投機事業, 作者也認為賣權證有一定的風險. 如果賣方出售的是有抵押的認購權證, 那麼最差的情況下不外乎是賣方把手上既有的股票賣給權證的認購人.

至於沒有抵押品的權證賣方 (裸發售人) 風險基本上無上限, 因為他們發售認購權證時, 自己手上也沒有股票. 萬一認購權證的標的股票大漲, 賣方勢必承受巨大的虧損. 不過發生這種衰事的機會很低, 使得賣方往往都是最後贏家. 畢竟連賣方都賺不到錢的話, 這個產業早就消失了. 

從機率上來看, 股價在短期內大起大落的機會有限, 故買方可能會發現快到期的選擇權始終賣不到好價錢 – 每個買方都在求售買權, 而沒有人會買. 最後擁有買權的人只能按比例換成股票.

作者也提醒權證的賣方若已經獲利, 可以直接買回權證而平安出場, 無須面對未來的風險. 看來美國人好像很容易就可以當權證的買方, 不需要是法人才能發行. 

作者對於期貨也很悲觀. 他認為絕大多數的期貨玩家都是輸家. 真正的贏家是那些消耗大量原物料或是商品的買方或賣方, 期貨減少了他們的風險, 而企圖從期貨交易發跡的交易人則不然.

為什麼這樣說呢? 主要是期貨的起伏比股票還要大, 雖然理論上看對期貨的方向可以發財, 但是只要中間發生了逆向的雜音, 玩家的保證金就被斷頭了, 遑論能夠享受看對方向的暴利.

書上很有趣的一段話說: 農民和工程師是期貨市場上的兩大投機客群體. 農民理應對於商品的價格掌握有優勢, 但是他們可能跑去投機 S&P 500. 相對地, 比較懂得科技的工程師, 卻自認可以掌握黃小玉 (黃豆小麥玉米) 的價格趨勢. 這些都是讓他們賺不到錢的原因.

對沖基金喜歡做空, 投機客許歡做多. 但真正賺錢的期貨交易人往往以 “價差交易" 為主. 也就是說, 他們買入一個月份期貨, 又賣出一個月的期貨, 靠著兩個月份的價差來討生活. 這個方法據說獲利不錯, 保證金的要求又更低, 所以您買不到任何與此有關的好書. 圈內人並不想把它和門外漢分享.

以上大致涵蓋了本書的第六章 “交易" 的一小半, 其他的部分我有空再慢慢補上.

軟體開發中的七種浪費

Teddy 大的 "敏捷開發法的逆襲" 我還沒有看完, 不過裡面提到的七種浪費行為已經可以整理出來了. 所謂的 "七宗罪", 本來是針對豐田汽車生產過程中的品管. 但是拿來套用在軟體上確實也並無不可.

1. 半成品 (Partially Done Work)

很多功能我們做到一半, 說打通了嗎? 還沒有. 不過可以 demo 喔, 看著都會動, 要圖有圖, 要數據有數據. 這些半成品其實是不能量產的! 如果不能一口氣把半成品推向成品, 久了就會變成廢物. 後來不是規格改了, 就是人改了, 公司投進去的資本就在無形中被浪費掉.

2. 多餘功能 (Extra Feature)

基本上, 沒有主管的要求, 很少人會寫出多餘的功能. 具有要五毛給一塊性格的工程師非常罕見, 雖然他們有時候會被批評為想太多, 進度太慢. 但是比起想太少, bug 很多的人, 我還是比較喜歡前者.

如果說是多餘的或是無效率的代碼倒是很常見, 可以很精簡做完的一件事, 有些時候也會被很囉嗦的方法來達成. 像是我以前 trace GPS 的組合語言時, 就發現這邊的 sin(x) 代碼用泰勒展開式與查表法強化計算速度, 順便把泰勒展開式很接近的 atan(x) 也寫在同一函式節省 code size ; 那邊的 cos(x) 卻是用 sqrt(1-sinx(x)2) 暴力達成, 大吃 sin(x) 的豆腐. 可見不同的工程師自我要求也不相同, 主管的功能在這個地方也可以有所發揮.

[註] 講到豆腐, 我不得不推薦一下中華豆腐 (4205 的恆義), 它不錯.

3.  重複學習 (Relearning / Rework)

所謂的重複學習重點在於重複是個浪費, 但學習不是. 大家各寫各的 code, 為何會重複呢? Teddy 大比較著眼於測試的部分, 因為測試的人要學習如何測試. 如果把 test 做成自動化, 就可以減少測試人員學習的時間.

不過我感觸比較深的部分在於系統整合的階段. 如果我需要一個與使用者互動的功能, 上面包括 UI 的呈現, 中間牽涉 framework 的實施, 底層要把資訊 parsing 出來. 那麼誰要負責 study? 如果大家都去看 spec., 絕對是一種浪費. 若是指定某人去 study, 而他沒辦法把架構從上到下講清楚 (這也點有強人所難), 導致其他人必須在更短的時間內自行搞懂, 這也是重複學習. 雖然此時連一行 code 都還沒開始, 浪費在其中矣.

如何消除這種浪費呢? 我們想想今年的紐約尼克隊. 它需要一個能兼顧得分和助攻, 兩者都還不錯的後衛. 如果沒有這樣的人才, 教練只好要求得分主力偶而也幫忙助攻, …接著就會一團亂. 所以我覺得重點在於人才, 甚至是板凳深度.

4. 交接 (Handoff)

不用說, 交接一定是浪費. 大家都不希望有交接, 不管是主管或是工程師都一樣. 交接的接收人通常想完全沿用舊 code 不要去動它, 或是全部砍掉重練. 很少聽到接收人稱讚他收到的 code 完美無比, 通常將它評價為 "能用" 就很偷笑了. 畢竟就算是被接收人吐槽為很爛, 不能用, 主管也只好買單這種說法, 不然難道要找一個懂得欣賞的人來交接?

5. 工作切換 (Task Switching)

如果 assign 太多工作給同一個人, 對方幾乎都會抱怨的. 就算是努力做事不抱怨的人, 也很難在許多八竿子打不著的工作中迅速切換. 這就像是把許多工作同時丟給電腦, 最好的作業系統也只能保證優先級最高的工作先完成, 其他的…再說啦.

Scrum 的每日站立會議就用來確保大家所做的是都是最優先的.

6. 延遲 (Delay)

延遲的浪費在於導致下游的工作無法展開. 後手的人不得不撥一點心思來 polling 上游的狀況, 並且導致他/她的下游也跟著延遲.

7. 缺陷 (Defect / Bug)

有嚴重缺陷的成品或是半成品都會對下游造成不遜於延遲的傷害. 一個有問題的 commit 導致全 team 的人都編不出新版, 這個代價真是不小. 更不用說 bug 流落到客戶那邊後, 甚至可能造成退貨的危機. 據說某名牌 IC 設計公司的產品就是因為連續開機一萬小時後會自動關機而導致全部退貨. 追究其原因, 也不過就是設計者的觀念瑕疵而已 – 把測試休眠的時間參數寫成一萬小時, 反正客戶也不可能用那麼久不關機, code 就留著以後還可以回收 – 後來真的整個產品都回收了.

我個人也遇到過一個好笑的 bug. 當年做翻譯機的時候, 我自認已經交接完了, 大陸的同事忽然慌慌張張地打電話給我, 說這個 bug 他們解不了, 一定要我去現場看一下. 據說我們的翻譯機很怕遇到快譯通和女生, 只要是女生去試用或是和快譯通放在一起 demo 就會當機, 但是和它牌的同時 demo 倒是沒事.

我過去看了 code 之後, 發現 silence detection 的 zero crossing 寫在 share memory, 但用完後沒有清掉. Co-processer 以為這是 main chip 的 command code, 一執行當然就瘋掉了. 至於為何最怕快譯通呢? 原來快譯通為了聲音好聽, 特別提高輸出的 pitch. Pitch 高, zero crossing 就大到和 command code 剛好值一樣, 才會發生這個 bug. 這兩個故事告訴我們, QA 要找女生. 測試用的 code 一定要用 define 包起來, 這樣就不會導致把測試 code 變成量產版本的問題.