fbpx

คำนวนหาค่า EBIT rolling ย้อนหลัง 2 ปี อย่างนี้ถูกไหมครับ

SiamQuant Minimal Home – White Webboard ห้องโปร : Professional Membership Support คำนวนหาค่า EBIT rolling ย้อนหลัง 2 ปี อย่างนี้ถูกไหมครับ

  • ผู้สร้าง
    กระทู้
  • #10485
    ae_bundit
    Participant

    SQNP_ROLL_1 = ValueWhen(SQNP_ROLL != Ref(SQNP_ROLL, -1),SQNP_ROLL ,1);  —> ค่าปัจจุบัน

    SQNP_ROLL_2 = ValueWhen(SQNP_ROLL != Ref(SQNP_ROLL, -1),SQNP_ROLL,5);  —> ย้อนหลัง 4 q (1 year)

    SQNP_ROLL_3 = ValueWhen(SQNP_ROLL != Ref(SQNP_ROLL, -1),SQNP_ROLL,9);  —-> ย้อนหลัง 8 q (2 years)

     

     

     

กำลังดู 18 ข้อความตอบกลับ - 1 ผ่านทาง 18 (ของทั้งหมด 18)
  • ผู้เขียน
    ข้อความตอบกลับ
  • #10486
    ae_bundit
    Participant

    ลอง explore แล้วน่าจะถูกนะครับ

     

    #10488
    Amibroker Platform
    Participant

    พอดีผมไม่ได้อยู่หน้าคอมคับ

    เเต่บอกคราวๆก่อนคับ ไม่ได้เห็น Code ทั้งหมด

    เเต่ดูจาก Code น่าจะถูกคับ

    เเละถ้าใช่ มันก็จะเทียบกับไตรมาสปัจจุบันกับไตรมาสที่กำหนดเท่านั้นคับ ระหว่างไตรมาสที่ผ่านมา ถ้าเพิ่มหรือลด มันจะไม่รับรู้คับ

     

    #10489
    ae_bundit
    Participant

    ลอง apply หาค่า PEG โดยใช้ปีที่ 1 และ 4 ไม่แน่ใจถูกหรือปล่าวอ่าครับ

    PEG = nRoot(3,abs((SQNP_ROLL_1/SQNP_ROLL_4)))-1;

     

     

     

    #10491
    ae_bundit
    Participant

    สูตร PEG ตามนี้ https://clubvi.com/2012/10/04/peg/

     

    #10492
    Amibroker Platform
    Participant

    อธิบายได้มั้ยคับว่าสูตร PEG เขียนยังไง

    เพราะดูจาก Code ยัง งงๆ คับ

     

    จากที่ผมเข้าใจน่าจะใช้ % อัตตราการเติบโตคับ

    #10493
    ae_bundit
    Participant

    มีตัวอย่างและสูตร ใน link ด้านบนอะครับ

    #10494
    ae_bundit
    Participant

    #10496
    ae_bundit
    Participant

    nroot เป็น function หา root ที่ n ครับ (ลอกจาก stockwise)

    Function nRoot(index,number)

    {

    cond_r = index == 0 or number == 0 or number < 0;

    If_True = 0;

    If_False = (Exp ( (1 / index) * Log(number)));

    result = iif(cond_r, If_True, If_False);

     

    Return result;

    }

    #10497
    Oyoyo
    Participant

    เดี๋ยวโพสใหม่นะครับ กดแล้วค้างที่พิมพ์ไว้หายเกลี้ยงเลย :.(

     

    #10499
    Amibroker Platform
    Participant

    เยี่ยมมากคับพี่ Oyoyo

    เพิ่มเติมบางสูตรอาจจะใช้ 5 ปีคับ

    เพราะผมเห็นในเว็บก็มีมากกว่า 2-3 สูตรคับ

     

    #10505
    ae_bundit
    Participant

    ขอบคุณครับคุณ Oyoyo  ว่าแต่ cap ไว้ไม่ทันอะครับ T_T

    สูตรของผมด้านบนน่าจะผิดอะครับ เนื่องจากเป็น growth อย่างเดียว ต้องนำไปหาร PE ด้วย

    CAGR = IIf(SQNP_ROLL_1>SQNP_ROLL_4,abs(nRoot(3,abs((SQNP_ROLL_1/SQNP_ROLL_4)))-1)*100,abs(nRoot(3,abs((SQNP_ROLL_1/SQNP_ROLL_4)))-1)*-100);

    PEG = SQPE/CAGR;

    แต่เนื่องจาก PE เป็นค่าที่มาจาก Set (Annual) ถ้าให้สะท้อนความเป็นจริงที่สุด เราต้องใช้ Earning (EPS) ที่เป็น rolling ด้วยหรือเปล่า เช่น PE = C/EPS_ROLLING.

     

     

     

    #10508
    Oyoyo
    Participant

    สวัสดีครับ คุณ ae_bundit

    – PE ที่มาจากตลาดหลักทรัพย์ คำนวณจาก rolling 12 month ของ net profit ค่าเดียวกับที่คุณ ae_bundit ใช้คำนวณ growth อยู่แล้วจึงเหมาะสมแล้วครับ ถ้าคำนวณ PE จาก rolling 12 month ของ EPS แนะนำว่าค่าที่ใช้คำนวณ growth ควรจะเปลี่ยนไปใช้ EPS ด้วยจะดีกว่าครับ

    – ส่วนสูตรที่ใช้คำนวณ ขอเป็นไม่เกินวันเสาร์นะครับ กำลังตรวจสอบให้แน่ใจอยู่ครับผม : )

    #10513
    Oyoyo
    Participant

    สวัสดีครับ คุณ ae_bundit 

    สูตรการคำนวณ PEG ratio ครับผม

    – สามารถเรียกใช้จาก function -> trailPEG( yr )

    – โดยค่า yr ในวงเล็บคือจำนวนปีที่ต้องการใช้คำนวณ Average growth ครับ

    – ตัวอย่างเช่น trailPEG( 5 ) ข้างต้นคือการบอก amibroker ว่าให้ใช้ระยะเวลา 5 ปีในการคำนวณค่า Average growth

    – หากต้องการดูค่า PEG ratio ของหุ้นทุกตัวในตลาด ณ วันใดวันหนึ่ง สามารถกด explore ได้เลยครับ

     

    /*==================================================

    #Include

    ==================================================*/

    #include_once “C:\SiamQuant\SQ Library\SQ AFL V.1.0.2.0\SQ Include\SQ – Include Data Declaration.afl”

     

    /*==================================================

    Trailing PEG ratio

    ==================================================*/

    Function trailPEG( yr )

    {

    fv = ValueWhen( SQNP_ROLL != Ref( SQNP_ROLL, -1 ), SQNP_ROLL, 1 );

    pv = ValueWhen( SQNP_ROLL != Ref( SQNP_ROLL, -1 ), SQNP_ROLL, 1 + ( yr * 4 ) );

    filtered = ( yr == 0 ) or ( fv < pv ) or ( pv == 0 );

    result = iif( filtered, 0, Nz( SQPE / ( 100 * ( ( ( ( fv – pv + abs( pv ) ) / abs( pv ) ) ^ ( 1 / yr ) ) – 1 ) ) ) );

    return result;

    }

    PEGRatio = trailPEG( 5 );

     

    /*==================================================

    Explore & Plot

    ==================================================*/

    Filter = 1;

    AddColumn( PEGRatio, “PEGRatio”, 1.4 );

    #10516
    Amibroker Platform
    Participant

    เยี่ยมเลยคับพี่ Oyoyo ชาบู

    #10517
    ae_bundit
    Participant

    คุณ Oyoyo ขอบคุณมากครับ

    #10519
    kaluu
    Participant

    สุดยอดเลยครับ คุณoyoyo

    #10520
    Amibroker Platform
    Participant

    ผมว่ากระทู้นี้น่าจะปักหมุดไว้ จะได้เห็นทุกคนคับ เเล้วเปลี่ยนเป็น Code PEG

    #10535
    Oyoyo
    Participant

    – เห็นมีหลายคนถามทาง line อยู่เลยขออธิบายเพิ่มนะครับ

    – หาก net profit ปี 2014 และ 2016 เป็น 6 กรณีดังรูป

    – ผมใช้ Excel นะครับ

    : Gmean คือการคิด CAGR ตามสูตรมาตรฐาน ( ( FV / PV ) ^ ( 1 / n) ) – 1

    : Adj Gmean คือการคิด CAGR ด้วยสูตรที่ผมทำการปรับใหม่ ตาม code ที่ผมเขียนไว้ในให้ก่อนหน้านี้นะครับ

    – การคิด geometric growth แบบปกติจะทำให้ 3 กรณีหลังผิดเพี้ยนไปคือ net profit เติบโตขึ้นแต่ growth ติดลบหรือคำนวณไม่ได้(จำนวนจินตภาพ)

    – แต่หากใช้ adjusted geometric growth ที่ผมเขียนจะเห็นว่าถ้า net profit เพิ่มขึ้นเท่ากัน ไม่ว่าฐานนั้นจะมีค่า -/+ เช่น -10 หรือ 10 ค่าที่คิดได้ก็จะเท่ากัน

    – ด้วยการใช้ adjusted geometric growth นี้ จะทำให้เวลาเรา scan หาหุ้นที่มีการเติบโต เราจะไม่หลุด 2 กรณีนี้ไปครับ

    : กำไรจากลบเป็นลบน้อยลง

    : กำไรจากลบเป็นบวก

    – จุดอ่อนของวิธีนี้คือการแปลผลตัวเลข (absolute value) จะต่างไปจากเดิมคือต้องแปลผลเป็น “กำไรที่เพิ่มขึ้น/ลดลง เมื่อเทียบกับค่าสัมบูรณ์ของฐาน”

    – แต่ถ้าหากใช้ในการเปรียบเทียบ (relative value) วิธีนี้ถือว่าใช้ได้ผลดีทีเดียวครับ

    – code ที่ให้ไว้เป็นแค่ “แนวทางหนึ่ง” ในการแก้ปัญหาการคำนวณค่า Growth ซึ่งผมก็คิดว่ายังไม่ใช่แนวทางที่ดีที่สุด

    – หากผมสามารถคิดวิธีอื่นขึ้นใหม่ได้ ผมจะลองมา post แนะนำอีกครั้งนะครับ

    – หากท่านใดมีคำแนะนำ หรือพบข้อผิดพลาดอย่างไร บอกได้เลยนะครับ ผมจะได้เอาไปคิดแก้ใขให้

    – อีกเรื่องหนึ่งคือ สูตรที่ผมให้ไปจะดีที่สุด หากเราเขียน PE ratio ขึ้นใหม่เองนะครับ เพราะค่า PE ratio ที่มาจาก ตลท จะปรับค่า PE ratio ที่ < 0 ทุกตัวให้เป็น 0 ทั้งหมด ทำให้ “การคำนวณโดยใช้ PE ratio จากตลาดจะพลาดกรณีหนึ่งไปคือจากกำไรติดลบเป้นลบน้อยลง” นะครับ ขอให้ระมัดระวังด้วย แต่หากท่านใดเขียน PE ratio ขึ้นเองโดยให้มีค่า < 0 ได้ การใช้สูตรที่ผมคิดขึ้นจะไม่พลาดกรณีดังกล่าวไปครับ

    – ส่วนกรณีปีฐานมีค่า net profit เป็น 0 วิธีแก้ปัญหามีวิธีเดียวที่คิดได้ตอนนี้คือ ต้องเลื่อนปีฐานไปจนกว่าจะไม่เป็น 0 จึงเริ่มคำนวณ growth ได้ครับ

    ขอบคุณครับ

กำลังดู 18 ข้อความตอบกลับ - 1 ผ่านทาง 18 (ของทั้งหมด 18)
  • คุณต้องเข้าสู่ระบบเพื่อตอบกลับกระทู้นี้

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • เปิดใช้งานตลอด

บันทึกการตั้งค่า