วันอาทิตย์ที่ 19 ตุลาคม พ.ศ. 2557

การทำ Backtest อย่างง่าย จากข้อมูล eFin Smart Portal Simulation ด้วย Excel #4

ดูจากสถิติการเยี่ยมชมของบล็อก เห็นว่ามีคนสนใจเรื่องนี้อยู่พอสมควรทีเดียว    ถ้ามีคำถามหรือคำแนะนำอะไรก็ขอเชิญคอมเมนต์ที่กล่องด้านล่างของแต่ละโพสต์ได้เลยนะครับ  เพราะผมเขียนในแบบที่ค่อยข้างจะรวบรัด  อาจจะไม่ได้ลงในรายละเอียดมากนัก เพื่อจะได้เห็นภาพรวมของวิธีการโดยเร็วว่ามันยากง่ายอย่างไรก่อน  แล้วค่อยๆว่ากันในส่วนของรายละเอียดต่างๆ ในภายหลัง

กลับมาเข้าเรื่องต่อกันนะครับ   ในภาพด้านบนเป็นส่วนของตาราง TRADES ที่อยู่ในไฟล์ตัวอย่าง   ลองดูบริเวณเซลล์ที่เป็นพื้นที่สีขาวภายในกรอบสีเขียว นี่คือเรคคอร์ดทั้งหมดที่ถูกกรองมาจาก Advanced Filter   จะเห็นว่ามีแถวเป็นราคาซื้อกับแถวที่เป็นราคาขาย สลับกันไปจากบนลงล่าง   ซึ่งมันจะถูกนำไปคำนวณตามค่าตั้งต้นที่กำหนดไว้ที่หน้า FRONT END ด้วยสูตรที่เขียนไว้ในเซลล์ที่เป็นพื้นที่สีเขียวด้านขวา

จากตัวอย่างในภาพด้านบน ถ้านับดูในพื้นที่สีขาว จะได้ข้อมูลทั้งหมด 46 แถว ซึ่งหมายถึงว่า ในระยะเวลาประมาณ 7 ปี ย้อนหลังไปนี้  Simulation Indicator ที่เราเลือกใช้  ได้ให้สัญญาณซื้อทั้งหมด 23 ครั้งและสัญญาณขายทั้งหมด 23 ครั้ง   ผลกำไรขาดทุนจากการนำราคาของแถวที่เป็นสัญญาณซื้อกับราคาของแถวที่เป็นสัญญาณขายที่อยู่ถัดลงไปมาคำนวณ จะปรากฏอยู่ในคอลัมน์ Profit ของแถวที่เป็นสัญญาณซื้อนั้น    ผลลัพธ์นี้จะสัมพันธ์กับการตั้งค่าในช่อง Trade Long only ในหน้า FRONT END ของไฟล์นี้   ข้อมูลในคอลัมน์อื่นๆ ของแถวก็เช่นเดียวกัน
   
บนตาราง TRADES นี้จะมีคอลัมน์ที่เป็นข้อมูลอันเกิดจากการคำนวณอยู่ 7 คอลัมน์ด้วยกัน ซึ่งจะเห็นว่าทั้งหมดอยู่ในพื้นที่สีเขียว คือ
  • Profit   จะเป็นข้อมูลผลกำไรขาดทุนจากการเทรดในแต่ละครั้ง
  • Position Value    มูลค่ารวมของค่าประกันสัญญาทั้งหมดที่เปิดในการเทรดครั้งหนึ่งๆ
  • Comm. fee   ค่าคอมมิสชั่นทั้งหมดที่ต้องจ่ายในการเทรดแต่ละครั้ง
  • % Profit   กำไรขาดทุนที่คิดเป็นเปอร์เซนต์
  • Cum. Profit  หรือ Cumulative profit   จะเป็นกำไรขาดทุนสะสม
  • Equity   มูลค่ารวมของ Portfolio ทีใช้ในการเทรด
  • % DD หรือ % DrawDown ของมูลค่ารวมของ Portfolio ที่เกิดจากการเทรดตามสัญญาณซื้อขายเหล่านี้

สำหรับรายละเอียดที่เกี่ยวกับการคำนวณในแต่ละคอลัมน์คงจะต้องเอาไว้เขียนถึงในโอกาสต่อๆไป แล้วกันนะครับ

ที่นี้ลองมาดูที่คอลัมน์ Timestamp กันหน่อยนะครับ คุณจะเห็นว่าข้อมูลวันที่ในแต่ละแถว จะชิดซ้ายบ้าง ชิดขวาบ้าง เหมือนกับข้อมูลที่ export มาจาก eFin Smart Portal เลย   ผมปล่อยมันไว้แบบนั้น เพราะเราไม่ได้ใช้มันในการประมวลผล  จะได้ลดขั้นตอนการจัดรูปแบบออกไป  แต่คุณสามารถจัดรูปแบบมันเองได้ถ้าต้องการ 

สำหรับไฟล์ตัวอย่างนี้  ผมเตรียมพื้นที่เซลล์ในตาราง TRADES ไว้รองรับสัญญาณซื้อขายได้ประมาณ 150 ครั้ง  ซึ่งถ้า Simulation Indicator ที่คุณเลือก ให้สัญญาณซื้อขายค่อนข้างถี่  พื้นที่ตรงนี้อาจไม่พอใช้  เราจึงต้องเพิ่มจำนวนแถวเข้าไปให้เพียงพอ โดยวิธีที่ต้องทำให้สูตรต่างๆ ที่อยู่ในหน้า FRONT END ปรับตามเซลล์ที่เพิ่มเข้ามาโดยอัตโนมัติ   แล้วผมจะเขียนถึงเรื่องนี้อีกครั้งแล้วกันนะครับ

ขอเพิ่มเติมอีกนิดเกี่ยวกับ ข้อความบรรยายที่ล่องลอยในส่วนต่างๆ ของเจ้า Simple XL Backtester นั้น  ถ้าเกะกะก็สามารถลบออกได้เลยนะครับ 

2 ความคิดเห็น:

  1. สูตรที่ใช้คำนวณ เปิดเผยได้หรือไม่ครับ

    ตอบลบ
    คำตอบ
    1. ในโพสต์ "การทำ Backtest อย่างง่าย จากข้อมูล eFin Smart Portal Simulation ด้วย Excel #1" จะมีสิ้งค์ให้ดาวน์โหลดไฟล์ Excel นี้ไปลองเล่น และสามารถเปิดดูสูตรต่างๆบนชีทนั้นๆได้เลยครับ

      ลบ