คำนวณ P&L ของสัญญา perpetual แบบ inverse อย่างไร?
สำหรับสัญญา perpetual แบบ inverse มาตรฐานที่มีมูลค่าหน้าสัญญาเป็นดอลลาร์คงที่ต่อสัญญา ให้คำนวณ P&L จากการเทรดโดยใช้ส่วนกลับของราคา ผลลัพธ์จะอยู่ในหน่วยเหรียญที่ใช้ชำระราคา การนำการเปลี่ยนแปลงของราคาไปคูณกับจำนวน BTC คงที่จะกลายเป็นเครื่องมือทางการเงินคนละแบบ
สมมติว่าสัญญา BTC แบบ inverse ที่สมมติขึ้นมีมูลค่าหน้าสัญญา $1 คุณซื้อ 100,000 สัญญาที่ราคา $50,000 ต่อ BTC และปิดสถานะทั้งหมดที่ราคา $55,000 ก่อนหักค่าธรรมเนียมและ funding:
Q = signed contract count; positive for a long
C = dollar face value per contract
P&L_BTC = Q × C × (1 / entry_price − 1 / exit_price)
= 100,000 × $1 × (1 / $50,000 − 1 / $55,000)
= 0.18181818 BTC
P&L_USD_at_exit = 0.18181818 × $55,000
= $10,000
สถานะนี้มีมูลค่าหน้าสัญญา $100,000 มูลค่าเทียบเท่า BTC เปลี่ยนไปตามราคา: 2 BTC ตอนเปิดสถานะ และประมาณ 1.818182 BTC ตอนปิดสถานะ การแปลงค่าที่เปลี่ยนไปนี้เป็นเหตุผลที่ฉันอยากให้ข้อมูลจำเพาะของสัญญาอยู่ข้างโค้ดบัญชี คอลัมน์ที่ชื่อ size ชวนให้คุณใช้เย็นวันศุกร์ไปกับการค้นหาว่าคนตั้งใจระบุหน่วยอะไรกันแน่
ตรวจสอบตัวคูณของแพลตฟอร์ม สกุลเงินที่ใช้ชำระราคา และกฎการปัดเศษ คำว่า “inverse” อธิบายรูปแบบการคำนวณผลตอบแทน แต่ไม่ได้รับประกันว่าทุกแพลตฟอร์มจะกำหนดให้หนึ่งสัญญาหมายถึงหนึ่งดอลลาร์
ทำไมบัญชีของฉันมีกำไรเป็นดอลลาร์มากกว่ากำไรจากการเทรด?
เพราะหลักประกันก็มีราคาเช่นกัน
เริ่มจากหลักประกัน 1 BTC ซึ่งมีมูลค่า $50,000 แล้วทำการเทรดข้างต้น สมมติว่าไม่มีการฝาก ถอน ค่าธรรมเนียม หรือ funding และมีมาร์จินเพียงพอตลอด หลังปิดสถานะ บัญชีจะมี 1.18181818 BTC ที่ราคา $55,000 ต่อ BTC คิดเป็นมูลค่า $65,000
| องค์ประกอบ | การคำนวณ | การเปลี่ยนแปลงเป็นดอลลาร์ |
|---|---|---|
| หลักประกันเดิม | 1 BTC × ($55,000 − $50,000) | +$5,000 |
| P&L ของอนุพันธ์ คิดมูลค่าที่ราคาปิดสถานะ | 0.18181818 BTC × $55,000 | +$10,000 |
| มูลค่าทุนรวมในบัญชี | $65,000 − $50,000 | +$15,000 |
บัญชีรายการเทรดกับเส้นทุนของบัญชีตอบคำถามคนละข้อ หากรายงานของคุณระบุว่า $15,000 ทั้งหมดเป็น P&L จากสัญญาณ ก็เท่ากับให้เครดิตกลยุทธ์จากการถือหลักประกันไว้ในช่วงที่ตลาดปรับตัวขึ้น
และในทางกลับกันก็เกิดขึ้นได้ กลยุทธ์อาจสะสม BTC เพิ่มขึ้น ขณะที่มูลค่าทุนในบัญชีเมื่อคิดเป็นดอลลาร์ลดลง กราฟทั้งสองแบบไม่ได้ผิดในตัวเอง จุดที่ผิดคือการสลับไปมาระหว่างกราฟโดยไม่บอกให้ชัด
ควรวัดผลตอบแทนจากการทดสอบย้อนหลังเป็น BTC หรือ USD?
กำหนดสกุลเงินที่ใช้รายงานก่อนเปรียบเทียบกลยุทธ์ แล้วเก็บทั้งสองมุมมองไว้ สำหรับบัญชีนี้ ผลตอบแทนเป็น BTC อยู่ที่ 18.18% ส่วนผลตอบแทนเป็นดอลลาร์อยู่ที่ 30% ตัวเลขทั้งสองเป็นการวัดผลลัพธ์เดียวกัน
เมื่อต้องเปรียบเทียบหุ้นสหรัฐฯ ฟิวเจอร์สที่ชำระราคาเป็น stablecoin และสัญญาที่ชำระราคาเป็นเหรียญ โดยทั่วไปฉันใช้มูลค่าทุนในบัญชีที่คิดเป็นดอลลาร์เป็นชุดข้อมูลกลางสำหรับรายงาน หากโจทย์วิจัยกำหนดเป้าหมายให้สะสม BTC ก็ควรให้ความสำคัญกับชุดข้อมูล BTC เท่าเทียมกัน การเลือกนี้เปลี่ยนการกระจายของผลตอบแทน การขาดทุนสูงสุด และ Sharpe ratio
ใส่ดัชนีเปรียบเทียบแบบถือหลักประกันไว้เฉย ๆ ด้วย ในกรณีนี้ การเก็บ 1 BTC เริ่มต้นไว้เฉย ๆ จะให้ผลตอบแทนเป็นดอลลาร์ 10% บัญชีนี้ทำผลงานเหนือดัชนีดังกล่าว 20 จุดเปอร์เซ็นต์ในช่วงเวลานี้ ผลต่างนั้นอธิบายตัวอย่างนี้เท่านั้น ไม่ได้ยืนยันว่ามี alpha หรือปรับตามความเสี่ยงจากอนุพันธ์ที่รับไว้ระหว่างทาง
ระบุหน่วยไว้ในชื่อฟิลด์ ใช้ equity_btc, equity_usd และ pnl_btc คอลัมน์ equity ที่ไม่ระบุหน่วยจะกลายเป็นความเสี่ยงทันทีที่มีสัญญาสองประเภทอยู่ในรายงานเดียวกัน
ควรบันทึกค่าธรรมเนียมและ funding ที่จ่ายเป็น BTC ในการทดสอบย้อนหลังอย่างไร?
บันทึกการเคลื่อนไหวของเหรียญจริง ณ เวลาที่เกิดขึ้น ค่าธรรมเนียมเป็น BTC ทำให้ยอดในกระเป๋า BTC ลดลง ส่วน funding ที่ได้รับเป็น BTC ทำให้ยอดเพิ่มขึ้น คำนวณจำนวนเหล่านั้นตามกฎของสัญญาและอัตราย้อนหลังที่เกี่ยวข้อง
จากนั้นแยกการระบุที่มาของธุรกรรมออกจากการประเมินมูลค่าบัญชี ค่าธรรมเนียม 0.001 BTC ที่จ่ายตอน BTC ซื้อขายอยู่ที่ $50,000 มีมูลค่า $50 ขณะจ่าย หากราคา BTC ขึ้นไปถึง $55,000 ในภายหลัง บัญชีจะมีเงินน้อยกว่าบัญชีที่เหมือนกันทุกประการแต่ไม่ได้จ่ายค่าธรรมเนียมนั้นอยู่ $55 ส่วนต่างเพิ่มอีก $5 คือผลจากการเปลี่ยนแปลงราคาภายหลังของเหรียญที่ออกจากบัญชีไปแล้ว
ตัวเลขทั้งสองแบบมีประโยชน์ การนำกระแสเงินสดในอดีตที่ตีมูลค่าเป็นดอลลาร์มาบวกกับมูลค่าทุนเริ่มต้นที่เป็นดอลลาร์ จะทำให้ผลจากค่าเงินส่วนนี้หายไป เว้นแต่คุณจะกระทบยอดไว้อย่างชัดเจน
ฉันเลือกใช้บัญชีรายการเหรียญเป็นแหล่งข้อมูลหลัก แล้วคำนวณมูลค่าเป็นดอลลาร์จากบัญชีนั้น ณ เวลาบันทึกภาพสถานะ ให้ประเมินยอดคงเหลือในกระเป๋าบวกกับ P&L ของเหรียญที่ยังไม่รับรู้ โดยใช้ราคาแปลงค่าที่มีการบันทึกวิธีไว้และตรงกับเวลา บันทึกส่วนต่างที่ตั้งใจให้เกิดขึ้นระหว่างราคาประเมินของสัญญากับราคาแปลงค่าที่ใช้รายงานด้วย
การทดสอบแบบใดช่วยจับข้อผิดพลาดในการบัญชีสัญญา inverse?
ฉันเริ่มจากเส้นทางราคาจำลองขนาดเล็กที่คำนวณคำตอบลงบนกระดาษได้ ข้อมูลตลาดจริงซ่อนข้อผิดพลาดเรื่องหน่วยไว้ในเส้นทุนที่ดูน่าเชื่อถือได้เก่งเป็นพิเศษ
| การทดสอบ โดยไม่รวมต้นทุน | ผลลัพธ์ที่คาดหวัง |
|---|---|
| เปิดและปิดสถานะที่ราคาเดียวกัน | P&L ของอนุพันธ์เป็น BTC เท่ากับศูนย์ |
| กลับเครื่องหมายของสถานะบนเส้นทางราคาเดียวกัน | เครื่องหมายของ P&L อนุพันธ์เปลี่ยนตรงกันพอดี |
| ถือ 1 BTC โดยไม่มีสถานะอนุพันธ์ ราคาเพิ่มจาก $50,000 เป็น $55,000 | มูลค่าทุนเป็น BTC คงที่ที่ 1; มูลค่าทุนเป็นดอลลาร์เพิ่มขึ้น $5,000 |
| ปิดสถานะตัวอย่างที่ราคาประเมินปัจจุบัน | P&L ที่ยังไม่รับรู้ย้ายเข้ากระเป๋า โดยมูลค่าทุนรวมไม่เปลี่ยนแปลง |
การทดสอบสุดท้ายนี้จับการนับซ้ำได้: engine ลง P&L ที่รับรู้ให้บัญชีแล้ว แต่ลืมตัดยอดที่ยังไม่รับรู้ออก ทดสอบการปิดสถานะบางส่วนด้วย ควรชำระ P&L เฉพาะสัญญาที่ปิดไปแล้ว ส่วนที่เหลือต้องคงต้นทุนเข้าให้ถูกต้องตามแนวทางบัญชีของแพลตฟอร์ม
AI research agent ควรรายงานอะไรสำหรับกลยุทธ์ inverse?
จำนวนสัญญาและตัวคูณ สกุลเงินที่ใช้ชำระราคา หลักประกันเริ่มต้น กระแสเงินสดที่เป็นเหรียญ และมูลค่าทุนในสกุลเงินที่ประกาศไว้สำหรับรายงาน แสดงเส้นทุนหลักประกันที่ถือไว้เฉย ๆ ควบคู่กับเส้นทุนของกลยุทธ์ แล้วกระทบยอดผลต่างให้เห็น
ในกระบวนการวิจัยอัตโนมัติ ฉันจะกำหนดให้การกระทบยอดนี้เป็นเงื่อนไขก่อนยอมรับผลทดสอบย้อนหลัง optimizer จัดอันดับตัวเลขอะไรก็ได้ที่คุณป้อนให้ หากระบบนับมูลค่าที่เพิ่มขึ้นของสินทรัพย์ BTC ว่าเกิดจากสัญญาณเทรด มันก็จะปรับแต่งข้อผิดพลาดทางบัญชีนั้นอย่างกระตือรือร้น
รายงานที่มีประโยชน์ควรอธิบายได้ว่าทำไมการเทรดนี้ทำกำไร $10,000 ขณะที่บัญชีมีมูลค่าเพิ่มขึ้น $15,000 พร้อมแจกแจงรายการชำระราคาทุกรายการ นั่นคือผลลัพธ์ที่นักวิจัยคนอื่นตรวจสอบย้อนกลับได้จริง
← บทความทั้งหมด
