วันอังคารที่ 30 กรกฎาคม พ.ศ. 2556

Django Login Redirect

at login.html
<input type="hidden" name="next" value="{{ next }}" />


at urls.py
urlpatterns += patterns('',
    url(r'^login$', 'user_login'),
    ...
)


at method to process login (e.g. user_login())
def apu_login(request):     ...
    if request.method == "GET":
        return render(request, "login.html", {'next': request.GET.get('next', '/default_page')})
    ...
    return HttpResponseRedirect(request.POST.get('next', '/default_page'))



at method that require login, add decorator e.g. like below (require user to be staff)
from django.contrib.auth.decorators import user_passes_test
...
@user_passes_test(lambda u: u.is_staff)
def import_excel_view(request):

    ...

Django Sample Template 500 & 404

detail here >> http://david.feinzeig.com/blog/2012/02/18/tips-for-creating-404-page-not-found-and-500-server-error-templates-in-django-plus-configuring-email-alerts/

500.html (for server error)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
 <title>Page unavailable</title>
</head>

<body>
 <h1>Page unavailable</h1>

 <p>Sorry, but the requested page is unavailable due to a server hiccup.</p>

 <p>Our engineers have been notified, so check back later.</p>
</body>

</html>

404.html (for page not found)
{% extends "base.html" %}
{% load i18n %}

{% block title %}Page not found{% endblock %}

{% block content %}
<h1>Page not found</h1>

<p>Sorry, but the requested page could not be found.</p>
{% endblock %}

วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

The Little Book of Valuation - Aswath Damodaran (ตอนที่ 6/6)

10.     สรุปเนื้อหาส่วนอื่นๆ

10.1. ลักษณะเด่นของบริษัทแบบต่างๆ

Type
Characteristic
Young Company
·     no historical performance data (มีตัวเลขย้อนหลังน้อย)
·     small or no revenue, operating loss (รายได้ต่ำ ขาดทุนในช่วงแรก)
·     many don’t survive (มีโอกาสเจ๊งสูง)
·     low liquidation (จำนวนหุ้นน้อย เข้ายากออกยาก)
Growth Company
·     dynamic financial (งบการเงินเปลี่ยนแปลงเร็ว)
·     size disconnect (ราคาตลาดสูงมากๆเมื่อเทียบกับ book value รายได้หรือกำไร)
·     use of debt (หนี้ต่ำ เพราะไม่ค่อยมีใครยอมให้กู้)
·     short and unstable historical performance data (มีตัวเลขย้อนหลังน้อยและตัวเลขแกว่ง)
Mature Company
·     revenue growth converge to economy growth rate (อัตราการเติบโตเข้าใกล้อัตราการเติบโตของเศรษฐกิจโดยรวม)
·     stable margin (ยกเว้นพวก commodities และ cyclical firm)
·     diverse competitive advantages (ขึ้นกับว่ามีหรือไม่มี DCA)
·     debt capacity (มีความสามารถในการก่อหนี้สูงกว่า เพราะมีหลักทรัพย์มากกว่า แต่จะใช้หรือไม่ใช้แล้วแต่นโยบาย)
·     cash build-up and return (ถ้าไม่ปันผลสูง เงินก็ท่วมบริษัท เพราะ ความจำเป็นในการลงทุนเพิ่มจะน้อย)
·     acquisition-driven growth (growthของยอดขาย/กำไรจากการควบรวมกิจการ)
Declining Company
·     stagnant or declining revenues (ยอดขายไม่เพิ่มหรือลดลง)
·     shrinking or negative margins (กำไรหดหรือขาดทุน)
·     asset divestitures (ขายทรัพย์สินเพื่อต่อลมหายใจ)
·     big dividends and stock buybacks (ก็ไม่รู้จะเก็บเงินไว้ทำอะไรอีก ไม่ลงทุนเพิ่มแล้ว)
·     debt is risk (เสี่ยงเจ๊งได้ถ้าหนี้เยอะ)

10.2. Value Driver ของบริษัทแบบต่างๆ

Type
Value Driver
Young Company
·     revenue growth (รายได้ต้องเติบโตสูง)
·     target margin (แม้ตอนแรกจะขาดทุนอยู่ แต่สุดท้ายแล้วต้องทำกำไรได้)
·     survival probability (ต้องมีโอกาสรอดสูง)
Growth Company
·     scaling growth (ต้องรักษาอัตราการเติบโตสูงๆได้)
·     margin sustainability (ต้องรักษา margin ดีๆได้นานๆ)
Mature Company
·     operating slack (ธุรกิจบริหารแบบเนือยๆ คือสามารถทำให้ดีขึ้นได้อีก)
·     financial slack (โครงสร้างเงินทุนที่สามารถลดต้นทุนได้อีก เช่นหนี้ต่ำเกิน)
·     probability of management change (เผื่ออะไรๆมันจะดีขึ้น)
Declining Company
·     going concern value (จะรอดมั้ย ถ้ารอดจะมีมูลค่าเท่าไหร่)
·     default probability (โอกาสไม่รอดมีแค่ไหน)
·     default consequences (แล้วถ้าไม่รอด จะมีมูลค่าเท่าไหร่)
Financial Service Firm
·     equity risk (ความเสี่ยงมากน้อยแค่ไหน)
·     quality of growth (เติบโตโดยมีความเสี่ยงมากขึ้นหรือROEลดลงหรือเปล่า)
·     regulatory capital buffers (มีทุนสำรองมากกว่าที่กำหนดไว้มากแค่ไหน)
Commodity/Cyclical Firm
·     normalized earnings (รายได้เฉลี่ย)
·     excess return (ส่วนต่างระหว่างต้นทุนกับราคาขาย)
·     long-term growth (โอกาสโตในระยะยาวโดยไม่เจ๊งไประหว่าง cycle เสียก่อน)
Intangible Assets Firm
·     nature of intangible assets (อายุการใช้งานของ intangible asset ที่ลงทุนไป)
·     efficiency of investment in intangible assets (intangible asset ที่ลงทุนไปรุ่งหรือร่วง)

10.3. Value Play ของบริษัทแบบต่างๆ

Type
Value Play (เงื่อนไขในการประสบความสำเร็จ)
Young Company
·     ต้องมีตลาดรองรับให้โตได้พอสมควร
·     ต้องควบคุมค่าใช้จ่ายได้ดี
·     ต้องมีแหล่งเงินทุนพอ (โดยเฉพาะในช่วงแรกๆที่ยังขาดทุนอยู่)
·     ถ้าลดการพึ่งพิงตัวบุคคลได้ก็ดี
·     ต้องมีป้อมค่ายคูเมืองที่แข็งแรงพอ ไม่งั้นถ้ารายใหญ่เข้ามาแข่งด้วยได้ง่ายๆ ยังไม่ทันจะได้โตก็ตายซะก่อน
Growth Company
·     สามารถรักษาระดับของ growth ได้ เช่นด้วยการแตกไลน์สินค้าใหม่ๆ หรือขยายกลุ่มลูกค้า ไม่งั้น จะ growth ได้ไม่นาน
·     สามารถรักษาระดับของ margin ได้ในระหว่าง growth (ซึ่งจะมีคู่แข่งหน้าใหม่เข้ามาเรื่อยๆ)
·     ราคาหุ้นต้องไม่แพงเกินไป (ลองคำนวณ PEG ดู)
Mature Company
·     มองหาบริษัทที่มี margin ต่ำ ROIC ต่ำ และมีหนี้น้อย อาจจะมีโอกาสที่ตัวเลขพวกนี้จะดีขึ้น
·     มองหาบริษัทที่เปลี่ยนผู้บริหาร อะไรๆอาจจะดีขึ้น
·     มองหาบริษัทที่ผู้บริหารอายุมากแล้ว โอกาสเปลี่ยนผู้บริหารแล้วอะไรๆอาจจะดีขึ้น
Declining Company
·     ลุ้น cash flow จากบริษัทพวกนี้ (คือบริษัทไม่มีโอกาสฟื้นแล้ว ขายทิ้งแล้วปิดไปเลยดีกว่า)
·     ลุ้น turnaround คือธุรกิจไม่ได้แย่ แต่หนี้เยอะไปหน่อยเลยเสี่ยงเจ๊ง ให้มองหา
1.    บริษัทกำลังจะปรับโครงสร้างหนี้
2.    บริษัทมีแหล่งเงินทุนใหม่ๆ
Financial Service
·     หาบริษัทที่มี capital สูงกว่า regulatory requirement (ปลอดภัยกว่า)
·     หาบริษัทที่ทำ average/low risk business with healthy return
·     transparency firm
·     high barrier of entry
Commodity
·     ถ้าคิดว่าราคา commodity จะขึ้น ให้ลงทุนในบริษัทที่มี reserve มากที่สุด และมีเงินทุนมากพอที่จะไม่เจ๊งในระหว่างที่ราคา commodity ยังไม่ขึ้นด้วย
·     ถ้าเดาราคาไม่ถูก ให้ลงทุนในบริษัทที่มี reserve ต้นทุนต่ำหรือหาแหล่ง reserve ใหม่ๆได้เก่ง
·     ใช้ future/option ของ commodity นั้นๆในการ hedge ความเสี่ยงด้วย

10.4. วิธีประเมินมูลค่า financial service firm

หุ้นกลุ่ม financial service สามารถแบ่งเป็น 4 กลุ่มย่อยคือ
1.       bank (รายได้จากส่วนต่างดอกเบี้ย)
2.       insurance (รายได้จากเงินประกันและผลตอบแทนจากการลงทุน)
3.       investment bank (ให้บริการกับบริษัท รายได้จากค่าธรรมเนียม)
4.       investment firm (ให้บริการกับลูกค้าทั่วไป รายได้จากค่าธรรมเนียม)
ปัญหาของการประเมินมูลค่าหุ้นกลุ่มนี้คือ
1.       หนี้ไม่ได้เป็นแค่หนี้ แต่เป็นเสมือน raw material ที่จะเอาไปสร้างรายได้ต่อ
2.       การลงทุนเพิ่มส่วนใหญ่เพื่อสร้าง intangible asset อย่าง brand หรือ human capital ซึ่งจะถูกจัดเป็น operating expense
มีวิธีหามูลค่า 2 วิธี
1.       dividend discount model ตามตัวอย่าง
สมมุติ risk-free rate = 3.6%, equity risk premium = 5%, beta = 1.2
trailing ROE = 17.56%
% increase in capital = 30% (ถูกบังคับให้มี reserve เพิ่มขึ้น 30%)
dividend payout ratio = 54.63%
terminal growth rate = 3%, terminal ROE = cost of capital = 8.6%
จะคำนวณเป็นขั้นๆได้ดังนี้
cost of equity = 3.6% + 1.2 x 5% = 9.6%
expected ROE = current ROE / (1 + % increase in capital) = 17.56 / (1+0.3) = 13.51%
expected growth rate = ROE x (1 – dividend payout ratio) = 13.51% x (1 – 0.5463) = 6.13%
terminal payout ratio = 1 – (terminal growth/terminal ROE) = 1 – (3% / 8.6%) = 65.12%
terminal value = EPS year 6 x terminal payout ratio / (cost of equity – expected growth rate)
= 2.91 x 1.03 x 0.6512 / (0.086 – 0.03) = 34.85
Year
EPS
growth
payout ratio
dividends per share
present value
current
2.16
54.63%
1.18

1
2.29
6.13%
54.63%
1.25
1.14
2
2.43
6.13%
54.63%
1.33
1.11
3
2.58
6.13%
54.63%
1.41
1.07
4
2.74
6.13%
54.63%
1.50
1.04
5
2.91
6.13%
54.63%
1.59
1.00
terminal value
34.85
22.04
EPS year 1 = 2.16 x (1 + 0.0613) = 2.29
dividend year 1 = 2.29 x 54.63 = 1.25
หา present value โดยใช้ discount rate 9.6% จะได้มูลค่ารวมทั้งหมด 27.39 บาทต่อหุ้น
2.       cash flow to equity โดยมองว่า reinvestment คือเงินที่เข้า reserve เช่น
สมมุติว่า net income = 5 ล้าน
port loan current year = 100 ล้าน
equity current year = 6 ล้าน
ตั้งเป้าว่า (1) year 1 จะขยาย port loan เพิ่ม 10% = 100 x 1.10 = 110 ล้าน
(2) จะเพิ่ม reserve เป็น 7% = 110 x 7% = 7.7 ล้าน
ดังนั้น จาก net income 5 ล้าน ต้องเอาเงินไปลงเป็น reserve เพิ่ม 7.7 – 6 = 1.7 ล้าน
ดังนั้น จะเหลือ cash flow to equity = 5 – 1.7 = 3.3 ล้าน

10.5. อื่นๆ

-           หุ้นกลุ่ม commodity ซึ่งผลประกอบการขึ้นลงตาม cycle ทำให้หามูลค่าได้ยาก วิธีแก้คือ (1) ใช้ normalized earning ที่เป็นค่าเฉลี่ยหลายๆปีแทน และ (2) ประมาณการราคา commodity ที่เหมาะสมแล้วคูณด้วยราคาขายเพื่อหา normalized revenue
-           หุ้นกลุ่มที่มี intangible asset เยอะ ตัวเลขต่างๆจะเพี้ยนไปเนื่องจากว่า ค่าใช้จ่ายในการสร้าง intangible asset อย่างเช่น R&D expense สำหรับบริษัทยา advertising expense สำหรับบริษัทค้าปลีก หรือ HR expense สำหรับบริษัท consulting service นั้น ตามหลักการบัญชีถูกบังคับให้ลงเป็น operating expense แต่จริงๆแล้วมันเอามาสร้าง know-how สร้างแบรนด์หรือสร้างคนซึ่งเป็น asset ระยะยาว วิธีแก้คือ ให้เราปรับตัวเลขในบัญชีเสียใหม่ดังนี้ (ในหนังสือใช้ตัวอย่างของ R&D expense ของบริษัทยา)
1.       ประมาณอายุของ intangible asset เช่น ในการทำวิจัยยาตัวหนึ่ง ใช้เวลาเท่าไหร่กว่าจะขายได้ สมมุติให้เป็น 10 ปี
2.       จากนั้นเราหาค่าใช้จ่าย R&D ย้อนหลังไป 10 ปี ตั้งแต่ปีที่ y-1 ถึง y-10 ว่าแต่ละปีมีค่าใช้จ่ายเท่าไหร่
3.       แล้วเราก็ทำการหา expenseที่จะตัดเป็นค่าใช้จ่ายของปีนี้ และ expense ที่เหลือที่ยังไม่ได้ตัดเป็นค่าใช้จ่าย(เพื่อเอามาคิดเป็น asset)
Year
R&D Expense
Unamortized Portion
Amortization This Year
current
 3,030
           1.0
3,030.00
-1
 3,266
           0.9
2,939.40
    326.60
-2
 3,366
           0.8
2,692.80
    336.60
-3
 2,314
           0.7
1,619.80
    231.40
-4
 2,028
           0.6
1,216.80
    202.80
-5
 1,655
           0.5
    827.50
    165.50
-6
 1,117
           0.4
    446.80
    111.70
-7
     864
           0.3
    259.20
      86.40
-8
     845
           0.2
    169.00
      84.50
-9
     823
           0.1
      82.30
      82.30
-10
     663
             -  
             -  
      66.30
SUM
13,283.60
1,694.10
อธิบายตารางเพิ่มเติมเผื่อว่าจะงง
1)      R&D expense ที่เห็นไม่ใช่ค่า accumulate นะ แต่ว่ามันบังเอิญว่าเพิ่มขึ้นทุกปี
2)      ค่า R&D ของปีที่ -10 ที่ 663 ล้านนั้น ตัดเป็นค่าใช้จ่ายครบ 10 ปีแล้ว จึงไม่เหลือ unamortized portion อีก ส่วนปีที่ -9 ที่ 823 ล้านนั้น ตัดเป็นค่าใช้จ่ายไปแล้ว 9 ปี เหลือมูลค่าที่จะคิดเป็น asset อีก 0.1 ส่วน คือ 82.3 ล้าน
3)      ค่าใช้จ่ายที่จะตัดของปีนี้คือ R&D expense ย้อนหลังไป 10 ปี แต่ละปีตัดมา 10% รวมเป็น R&D expense ของปีนี้ที่ 1,694.10 ล้าน
4)      ส่วนที่ยังไม่ได้ตัดเป็นค่าใช้จ่ายที่เหลือรวมทั้งสิ้น 13,283.6 ล้าน จะคิดเป็น asset
4.       เอาตัวเลขที่ได้มาปรับตัวเลขในงบการเงินอีกที เริ่มจาก
-           adjusted book value = equity + capital invested in R&D
 = 17,869 + 13,284 = 31,153
-           adjusted operating income = operating income + R&D expense – R&D amortization
= 5,594 + 3,030 – 1,694 = 6,930
ประมาณว่า เอา R&D expense ที่ลงเป็นค่าใช้จ่ายปีนี้(ที่ 3,030 ล้านตามในตารางแถวที่เป็น current year) บวกกลับเข้าไป แล้วคิด expense แบบของเราเอง(ที่ตัดจ่าย 10 ปี จากตารางได้ 1,694 ล้าน)
-           adjusted net income = net income + R&D expense – R&D amortization
= 4,196 + 3,030 – 1,694 = 5,532
-           การปรับมูลค่าหุ้นโดยหักมูลค่าของ option ออก คิดได้ 3 วิธี สมมุติว่ามี book value = 102,345 ล้าน หุ้น 315.29 ล้านหุ้น กับ option อีก 13.97 ล้านหุ้น ที่ราคา 391.4 บาท
1.       คิดแบบ fully diluted เลย
adjusted book value = equity / (fully diluted number of shares) = 102,345 / (315.29+13.97) = 310.83 บาทต่อหุ้น
วิธีนี้จะได้มูลค่าต่อหุ้นที่ต่ำเกิน เพราะไม่ได้เอาราคาของ option เข้ามาคำนวณด้วย
2.       คิดแบบเอาราคาของ option เข้ามาคำนวณด้วย
adjusted book value = (equity + option outstanding x exercise price) / (fully diluted number of shares) = (102,345 + 13.97x391.4) / (315.29+13.97) = 327.44 บาทต่อหุ้น
วิธีนี้จะได้มูลค่าต่อหุ้นที่สูงเกิน เพราะเอาราคา exercise ในอนาคต(ซึ่งอาจจะสูงกว่าราคาหุ้นจริงตอนนี้)มาคิด

3.       คิดแบบเอาปีที่ exercise มาคำนวณด้วย

blogอื่นๆของหนังสือเล่มนี้