TWAP คืออะไร?

TongTanapat
2 min readMar 19, 2022

--

Time-Weighted Average Price (TWAP) ต่อเนื่องจากคราวที่แล้วกับ VWAP ที่ลิงค์นี้ครับ https://tongtanapat.medium.com/vwap-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-2fe434d18b34

https://pixabay.com/photos/clocks-alarm-clocks-time-6664622/

TWAP เป็นอีกหนึ่งตัวชี้วัดที่มีการคำนวณง่าย ไม่ซับซ้อน หากทุกคนจำได้เกี่ยวกับ VWAP ที่นำเอา Volume มาใช้ประกอบการคำนวณด้วย TWAP จะใช้เพียงแค่เวลา ที่เป็น Index และนำ Open, High, Low, Close มาหาค่าเฉลี่ยเท่านั้น

ฟังแบบนี้ VWAP อาจจะดีกว่าหรือเปล่า?

ก่อนอื่น เราลองไปดูสูตรการคำนวณกันครับ

ค่าเฉลี่ยแต่ละวัน = (Open+High+Low+Close)/4

ค่าเฉลี่ย 1 เดือน = (ค่าเฉลี่ยวันที่ 1 + ค่าเฉลี่ยวันที่ 2 + ค่าเฉลี่ยวันที่ N)/30

ตัวอย่างการหาค่า TWAP ด้วย Google Sheet

จะเห็นว่าสูตรนั้นไม่ได้ยุ่งยากแต่อย่างใดเลย แล้วมันเอาไว้ใช้ทำอะไรล่ะ?

TWAP ไม่ได้เป็นที่รู้จักหรือนิยมมากนักในนักลงทุนรายย่อย เนื่องจากการนำไปใช้ให้เกิดประสิทธิภาพสุงสุดนั้นไม่ได้เหมาะกับการซื้อขายจำนวนน้อย ๆ หรือนำไปใช้ในการเป็นสัญญาณเข้า-ออก แบบ Technical indicator ตัวอื่น ๆ

TWAP รู้จักกันดีในกลุ่มผู้ทำ Algorithmic trading หรือ Trading engineer ที่จะใช้เป็นตัวระบุราคาที่ถ่วงน้ำหนักด้วยเงื่อนไขเวลา การนำไปใช้มักใช้กับ Order คำสั่งขนาดใหญ่ ด้วยการนำ TWAP มาใช้ จะทำให้เทรดเดอร์สามารถแบ่ง Order ออกเป็น Order ย่อย ๆ และทำการ Execute ตามช่วงเวลาที่กำหนดได้นั่นเอง

แล้วทำไมเราถึงต้องใช้ TWAP?

ในการทำงานฝั่ง Market maker นั้น TWAP จะมีประโยชน์อย่างมากกับการสะสมราคา หรือการจะแบ่งขายให้ได้ตามเวลาที่กำหนด เช่น หากเราต้องการขายหุ้นจำนวน 100 ล้านหุ้นให้หมดภายในวัน แล้วเราต้องการหลีกเลี่ยง “การเกิด Impact ต่อราคาตลาด ณ ขณะนั้น” แทนที่เราจะคอยส่งคำสั่งซื้อขายออกไปเรื่อย ๆ ไม่ว่าจะเป็นขายใส่ฝั่ง Bid หรือทยอยวางฝั่ง Offer ถ้าเกิดบางช่วงของตลาดเกิดสภาพคล่องหดหายไป เช่นตลาดหุ้นไทยช่วง 11:00–12:30 ทำให้เราไม่สามารถส่งคำสั่งออกไปได้ ปัญหานั้นจะเกิดเมื่อสิ้นวันเราต้องทำการขายทิ้ง กลายเป็นการทุบราคาลงและส่งผลต่อตลาดขึ้น

TWAP จึงเข้ามาแก้ปัญหาตรงนี้ได้ด้วยการทยอยขายออกทุกชั่วโมง สมมติว่าตลาดเปิด 10 ชั่วโมง เราจะนำ 100 ล้าน หารด้วย 10 เราจะได้จำนวนที่จะขายทุกชั่วโมง แล้วเราจะขายที่ราคา TWAP นั่นเอง

เมื่อเป็นแบบนั้น จะทำให้เราสามารถขายออกได้เรื่อย ๆ ในราคาที่มีการซื้อขายโดยเฉลี่ย ทำให้เราไม่กดราคาเกินไป หรือไปขายที่ high จนทำให้ราคาเฉลี่ยเปลี่ยนไป เพราะต้องยอมรับว่า เราไม่สามารถรู้ได้ว่าราคาไหนจะ High หรือ Low แต่สิ่งที่เรารู้คือราคาเฉลี่ย เพื่อให้เราส่งคำสั่งได้ในสถานการณ์ที่มีเวลาเป็นเงื่อนไขบังคับ

และจุดที่ดีที่สุดในการนำไปใช้คือตรงไหน?

จะเห็นว่าผมยกตัวอย่างเป็นรายวัน และรายชั่วโมงมาให้ได้ทำความเข้าใจ แต่ Case ที่ดีที่สุดของ TWAP คือการนำไปใช้กับ High Frequency Trading (HFT) นั่นคือระดับต่ำกว่าวินาที !!

แต่เนื่องจากการนำไปใช้ระดับนั้น ยังเป็นเรื่องเข้าถึงยากของนักลงทุนทั่วไป ผู้ที่ใช้งานได้จะเป็น Algo developer ของสถาบันการลงทุน หรือ Hedge fund มากกว่า เพราะนอกความรู้เรื่องการเทรดที่ต้องมีแล้ว ยังต้องเข้าใจเรื่องของประเภทการรับส่งข้อมูล เรื่อง Hardware และประสิทธิภาพการทำงานของโค้ดรวมถึงภาษาที่ต้องใช้ด้วย

ปัจจุบันผมได้ใช้งานทั้ง VWAP และ TWAP ในการส่งคำสั่งซื้อขายโดยตรงกับฝั่ง Liquidity provider และ Exchange อยู่ด้วย ซึ่งยังอยู่ในระดับวินาที แต่ปัจจุบันกำลัง take course ตัว HFT เพื่อพัฒนาให้สามารถทำงานได้ดียิ่งขึ้น ในอนาคตจะมาเล่าให้ฟังเพิ่มเติมกันครับ :)

--

--