การคำนวณ Mark Price มีความเชื่อมโยงกับ Funding Rate อย่างใกล้ชิด เเละในทางกลับกัน การคำนวณ Funding rate ก็มีความเชื่อมโยงกับ Mark Price อย่างใกล้ชิดเช่นกัน เราขอแนะนำให้คุณอ่านสองบทความเกี่ยวกับ "Mark Price" และ "Funding Rate" อย่างละเอียดเพื่อทำความเข้าใจว่าระบบการเทรด Futures มีการทำงานอย่างไร
เนื่องจาก Unrealized PnL เป็นตัวขับเคลื่อนหลักของกระบวนการ Liquidation สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่า Unrealized PnL ได้รับการคำนวณอย่างถูกต้องเพื่อหลีกเลี่ยง Liquidation โดยไม่จำเป็น พื้นฐานหลักของสัญญา Perpetual คือมูลค่าในตัวหรือมูลค่า "จริง" ของสัญญา “ดัชนีราคา (Price Index)” ซึ่งเป็นองค์ประกอบหลักของ Mark Price คือค่าเฉลี่ยของราคาในตลาดหลักที่สำคัญ
Price Index เป็นดัชนีผสมที่ได้มาจาก Basket ราคาตลาดแลกเปลี่ยน Spot รายใหญ่ซึ่งจะนำมาถ่วงน้ำหนักด้วยปริมาณการซื้อขาย ตลาดที่อ้างอิง ได้แก่ Binance, Huobi, Bittrex, HitBTC, Gate.io, Bitmax, Poloniex, FTX และ MXC
คลิกเพื่อดู ApolloX USDⓈ-M Perpetual Futures Price Index
นอกจากนี้ เรายังใช้มาตรการป้องกันเพิ่มเติมเพื่อหลีกเลี่ยงผลการดำเนินงานของตลาดที่ไม่เสถียรเนื่องด้วยการหยุดชะงักของการแสดงราคาในตลาด Spot และปัญหาการเชื่อมต่อของสัญญาณ โดยมาตรการป้องกันดังกล่าวมีดังต่อไปนี้
- Single Price Source Deviation:
เมื่อราคาล่าสุดของตลาดแลกเปลี่ยนแห่งหนึ่งเบี่ยงเบนไปมากกว่า 5% จากราคาเฉลี่ยของแหล่งราคาทั้งหมด น้ำหนักของตลาดแลกเปลี่ยนนั้นจะถูกกำหนดเป็นศูนย์ (0)
- Multi Price Source Deviation:
หากราคาล่าสุดของตลาดแลกเปลี่ยนมากกว่า 1 เเห่งแสดงการเบี่ยงเบนของราคามากกว่า 5% ราคาเฉลี่ยของแหล่งราคาทั้งหมดจะถูกใช้เป็นค่าดัชนี (Index Value) แทนค่าเฉลี่ยถ่วงน้ำหนัก
- ปัญหาการเชื่อมต่อของตลาดแลกเปลี่ยน:
หากเราไม่สามารถเข้าถึงฟีดข้อมูลสำหรับตลาดแลกเปลี่ยนที่มีการอัปเดตการซื้อขายในช่วง 10 วินาทีที่ผ่านมา เราสามารถใช้ข้อมูลราคาจากผลลัพธ์ล่าสุดเพื่อคำนวณ Price Index ได้
- หากข้อมูลการเทรดของตลาดแลกเปลี่ยนยังไม่มีการอัปเดตเป็นเวลา 10 วินาที น้ำหนักของตลาดแลกเปลี่ยนนี้จะถูกตั้งค่าเป็นศูนย์เมื่อคำนวณค่าเฉลี่ยถ่วงน้ำหนัก
- การคุ้มครองราคาเทรดล่าสุด:
เมื่อระบบการจับคู่ "Price Index" และ "Mark Price" ไม่สามารถหาข้อมูลอ้างอิงที่เสถียรและเชื่อถือได้ Price Index สำหรับ Single Price Index จะได้รับผลกระทบ (กล่าวคือ Price Index จะไม่เปลี่ยนแปลง) ในกรณีนี้ เราจะใช้กลไก "Last Trade Price Protection" เพื่ออัปเดต Mark Price จนกว่าระบบจะกลับมาเป็นปกติ กลไก “Last Trade Price Protection” เป็นวิธีการกำหนด Mark Price โดยจะกำหนดขีดจำกัดราคาเทรดล่าสุดของสัญญา ซึ่งจะทำให้ราคาอ้างอิงของสัญญาเปลี่ยนแปลงชั่วคราว วิธีนี้จะช่วยให้ระบบจับคู่สามารถคำนวณ Unrealized PnL และ Liquidation Level ซึ่งเป็นการหลีกเลี่ยง Liquidation โดยไม่จำเป็น
Price Index ก็เหมือน Spot Price ที่ยุติธรรม เราจะใช้ข้อมูลนี้ในการคำนวณ Mark Price ซึ่งใช้ในการคำนวณ Unrealized PnL สำหรับแต่ละสัญญา โปรดทราบว่า Realized PnL สำหรับบัญชีนั้นขึ้นอยู่กับ Market Price ของการเทรด ณ เวลาปิด Position
สูตร Mark Price สำหรับสัญญา Perpetual Futures มีดังนี้
Mark Price = Median × (Price 1 , Price 2 , Contract Price)
Price 1 = Price Index × (1 + Funding Rate × (Time to Next Funding Rate (h)/8 ))
Price 2 = Price Index + Moving Average (30-min basis)
*Moving Average (30-min basis) = Moving Average (( Bid 1 + Ask 1) / 2 – Price Index) โดยจะสุ่มตัวอย่างทุกๆ นาทีในรอบเวลา 30 นาที
*Median: ราคากลางจาก Price 1, Price 2 และ Contract Price ถือเป็นค่ามัธยฐาน ตัวอย่างเช่น หาก Price 1 < Price 2 < Contract Price ระบบจะถือว่า Price 2 เป็น Mark Price
โปรดทราบว่า ApolloX จะใช้มาตรการป้องกันเพิ่มเติมเมื่อมีการเบี่ยงเบนอย่างมากระหว่าง Spot Price และ Mark Price อันเนื่องมาจากสภาวะตลาดที่รุนแรงหรือการเบี่ยงเบนในแหล่งราคา ในกรณีดังกล่าว Price 2 จะถูกนำมาใช้เป็น Mark Price โดยตรง
Mark Price เป็นการประมาณค่าในตัวของสัญญาที่เหมาะสมกว่าเมื่อเทียบกับราคาสัญญา Perpetual Futures ซึ่งอาจมีความผันผวนสูงในระยะสั้น เราใช้ราคานี้เพื่อป้องกันไม่ให้เกิด Liquidation โดยไม่จำเป็นกับนักเทรดและเพื่อไม่ให้เกิดการปั่นตลาด