2013年7月31日 星期三

年複合成長率

年複合成長率常在新聞或理財書籍中看到, 今天在寫 "看懂新聞 2" 的閱讀筆記時, 剛好看到這詞彙, 找了一下網路資料 (如下), 原來就是用複利的觀念來看成長率, 複利公式 :

FV=PV(1+i)**n          終值=初值(1+利息)**周期

年複合成長率就是反求複利公式中的利息 :

i=(FV/PV)**(1/n)-1  

也就是終值除以初值, 開 n 次方後, 再減 1 即得.

例如台積電的損益表, 2003 年營收為 2030 億, 2012 年已成長為 5063 億, 平均每年成長 (5063-2030)/10=303.3 億, 平均成長率為 303.3/2030=14.94%, 十年來其年複合成長率為 9.41%. 可見平均成長率會比較大, 保險業務員常拿平均成長率來跟客戶說利息有多高, 但以年複合成長率來算, 就沒這麼高了.

我把這公式寫成 PHP 程式如下 :

年複合成長率 : http://mybidrobot.allalla.com/finance/cagr.php [看原始碼]

$PV=(float)$_REQUEST["PV"];
$FV=(float)$_REQUEST["FV"];
$n=(float)$_REQUEST["n"];
if ($PV != 0 && $n != 0) {
    $cagr=round((pow($FV/$PV,1/$n)-1)*100,2);
    echo "初值=$PV<br>終值=$FV<br>周期=$n<br>".
             "年複合成長率=$cagr%<br>".
             "<input type='button' value='回上一頁' ".
             "onclick='history.go(-1)'>";
     }
else {      
     echo "初值與周期不可為 0<br>".
              "<input type='button' value='回上一頁' ".
              "onclick='history.go(-1)'>";;
      }

參考資料 :

** 請問什麼是年複合成長率(CAGR, Compound Annual Growth Rate) ?
** 複利

專案進度 : 停掉 cron

因為 stockbot.x90x.net 被停權了, 但每天還是會收到空信, 所以晚上把 cron 清掉, 同時把 gaetrader (webabc999) 的 cron 也停掉, 以免沒用的 mail 一堆.
這兩天整理讀書心得, 所以專案沒什麼進度. 看懂新聞 2 這本書有人預約, 本週要還, 所以閱讀筆記要優先寫完.

大咪打疫苗

中午打電話回家時, 媽說早上載大咪去廟裡打狂犬病疫苗, 整個廣場人山人海, 都是~~狗, 貓比較少, 我想可能是貓比較少綁起來, 不容易抓去打針.
上個禮拜天, 爸就把大咪關進籠子裡, 不讓牠往外跑, 他一向自由慣了, 從沒被關過, 待在籠子裡看來挺難受的, 只要有人走近就發出可憐的低沉喵嗚聲.

2013年7月29日 星期一

當機長感到恐慌時

新聞說, 前疾管局長在臉書抨擊政府處理狂犬病問題過度樂觀, 證諸這幾天全台各地都已證實有野生動物感染, 相信以現在還漫不經心的作為, 全國淪陷恐怕將是不可避免之事. 當機長以恐慌的口吻廣播說, 左引擎失效, 請繫好安全帶時, 身為乘客的全國民眾, 這時應該感到恐慌嗎?
這個農委會跟衛生署在搞甚麼? 都跟主子一樣在睡覺嗎? 633 騙人就算了, 冤冤枉枉至少還活得下去; 現在搞出狂犬病蔓延, 變成全國性恐慌, 難道這是當初投下神聖一票的共業?
之前李惠仁為了政府隱匿禽流感疫情而槓上農委會時, 我就感覺不妙了, 流行病學跟感控這等關係全民性命之大事竟然還要一個社會人士花費巨資去追蹤揭發, 這個國家還有救嗎?

2013年7月28日 星期日

專案進度 : 我的免費網站又掛點了

昨晚連線 stockbot 專案網站發現無法顯示, 登入後台才發現帳號又被 x90x.net 停權了, 原因是執行太多次 MySQL 查詢, 建議我升級為付費方案. 而我在 Appfog 的相同網站卻依然運轉良好, 我打算以後就轉移到 Appfog, 而 x90x.net 就用作純測試用吧.

FreeSuspendedAbuseAccount stockbot.x90x.net has executed more than 70000 MySQL queries that took more than 1 second to complete. Our shared hosting servers are not designed to host websites that create excessive or slow MySQL queries. Please optimize your website or move it to VPS / dedicated server  

GY 的主管

新聞說, 下士虐死疑案已將旅長改列被告, 因為他是核定關禁閉的最高主官. 據說昨天下士的連長向軍檢說, 不知道士官照規定不能送禁閉云云, OK, 當到連長還搞不清楚, 當旅長的不會不知道吧? 我不清楚到底這位旅長是怎樣情形下蓋章, 但可以從這新聞思考 :

  1. 主官的位子不是阿貓阿狗隨便能坐的啊! 更不能只是橡皮圖章, 屬下呈上來看都不看就蓋章, 這樣易為下屬欺瞞, 更明白透露一個秘密 : 你不是個精明的主管, 所以要呼弄你很容易. 做主管的要讓下屬清楚一件事 : 不要以為我都不懂, 不要以為我只看大的, 不看細節. 能明察秋毫, 會在細節挑出毛病的主管才能讓屬下兢兢業業, 不放過任何一個可能出錯的地方. 寧可被屬下背後罵 GY, 絕不能讓他們看輕你, GY 的主管才是讓屬下敬畏的主管. 至於說出 "基於信賴原則信任部屬" 這樣的話的人, 根本不夠格當主管, 更別說當肩膀上掛星星的將官了. 御下不難, 敬畏而已. 
  2. 雖然討厭法律, 但做主管的一定要清楚業務相關法律, 否則一旦觸法, 或碰上比你懂法律的對手, 你只有挨打的份. 記住, 法律只保護懂法律之人.



2013年7月27日 星期六

遊義大世界

今天帶菁菁跟椏晴去義大世界玩,刺激的她們都不敢玩,我都笑她們都玩一些學齡前的遊戲,像咖啡杯之類的。老實說,我也不贊成小朋友去玩雲霄飛車,因為過大的重力容易對發育中的腦神經產生不可預知的後果。像義大最刺激的 U 型軌道跟一字棒,老實說我也不太敢坐啊,太恐怖囉。

在摩天輪頂端

兩個高年級玩學齡前兒童遊戲

2013年7月25日 星期四

新舊電視

在燦坤買的 LG 42LM6400 液晶電視經一個多禮拜使用,感覺是棒呆了,尤其是HD台,影像好到連毛細孔都看得清清楚楚。如果有 MOD 或藍光,效果一定很不錯。
至於舊電視,我問了回收商,自己載過去是 $120,還真是沒價值啊。我是念舊的人,特地給它照了張相 :

LG 42LM6400 42" (2013.7.12~)

SANYO 29" (1996~2013)

變異係數與標準差

評估兩組數據的穩定度時, 譬如兩個企業的營益率變化, 應該使用變異係數, 而不是標準差, 因為不同公司的營益率會有不同水準. 根據維基的解釋 :

"變異係數只對由比率純量計算出來的數值有意義, 變異係數是一個無因次量, 因此在比較兩組因次不同或均值不同的數據時, 應該用變異係數而不是標準差來作為比較的參考。"

變異係數=標準差/平均值

變異係數 CV : http://mybidrobot.allalla.com/finance/cv.php [看原始碼]

我們用一個簡單程式來說明, 例如一組五個數據 : 100,100,100,100,100, 標準差與變異係數當然是 0, 如果其中一個數據由 100 降一半為 50,100,100,100,100, 那麼標準差是 22.361, 而變異係數是 25. 這跟 10,20,20,20,20 這組同樣是有一個數據降一半的變異係數是一樣的, 都是 25, 但這組標準差是 4.472. 所以看標準差是無法比較的, 要化成變異係數去比. 這種除以平均值的手法其實也就是所謂的正規化的一種方式, 所以, 變異係數可以說是正規化的標準差.

$arr=Array(50,100,100,100,100);
$sum=0; //總和
$square=0;  //平方和
$count=count($arr);
for ($j=0; $j<$count $j++) { 
       $sum += $arr[$j]; //和累計
       $square += pow($arr[$j], 2); //平方和累計 (計算標準差用)
       } //end of for
$avg=round($sum/$count,2);  //計算平均值
$std=sqrt(($square-pow($sum,2)/
$count)/($count-1)); //計算樣本標準差
if ($avg != 0) {$CV=round(100*$std/$avg);}  // //計算變異係數
else {$CV=9999;}  //表示極大值


2013年7月24日 星期三

專案進度:修改月營收追蹤程式

今天重新修改月營收追蹤程式, 除了近三月營收年增率均為正以外, 加入新的追蹤變數 :

(1).近三月營收年增率是否遞增
(2).近三月營收年增率是否負轉正
(3).近三月營收年增率是否遞減
(4).近三月營收年增率是否正轉負

長短期營收年增率變化方面, 由於今年實施 IFRSs, 所以擷取24個月資料會新舊雜陳, 沒有意義, 等明年資料一致後再寫.