บอตอาร์บิทราจสัญญาเหตุการณ์ต้องจัดการช่วงเวลาที่ชุดสถานะที่เสนอเกิดขึ้นจริงเพียงบางส่วน ตัวสแกนอาจพบราคาที่ดูน่าสนใจเมื่อพิจารณาร่วมกัน แต่บัญชีได้รับคำสั่งและการจับคู่ทีละรายการ คำสั่งหนึ่งอาจได้รับการยอมรับขณะที่อีกคำสั่งถูกปฏิเสธ การยกเลิกอาจมาถึงหลังมีการจับคู่เพิ่ม การตอบกลับอาจหายไปแม้แพลตฟอร์มยอมรับคำขอแล้ว บอตต้องอธิบายสภาวะเหล่านี้โดยไม่แสร้งว่าคู่สถานะที่ตั้งใจมีอยู่แล้ว
โจทย์หลักในการออกแบบคือการประสานงานภายใต้ความไม่แน่นอน กันความสามารถรองรับที่จำเป็นสำหรับทั้งสองขา รักษาตัวระบุของแต่ละขา และวัดความเสี่ยงที่เหลือเมื่อทั้งคู่ไม่ได้คืบหน้าไปพร้อมกัน ตัวอย่างสมมติในที่นี้ใช้ผลตอบแทนสองทางหนึ่งดอลลาร์ที่ระบุชัดว่าเข้ากันได้ ตัวอย่างแสดงการควบคุมการส่งคำสั่ง ไม่ใช่การกล่าวอ้างว่าการซื้อขายข้ามแพลตฟอร์มจริงทำให้สำเร็จทั้งหมดเป็นธุรกรรมเดียวได้ หรือว่าอาร์บิทราจที่ดูเหมือนมีอยู่นั้นไร้ความเสี่ยง
การกันวงเงินของบอตอาร์บิทราจสัญญาเหตุการณ์เริ่มจากคู่ที่อนุมัติแล้ว
ระบบส่งคำสั่งควรได้รับนิยามคู่ที่ผ่านการทบทวน แทนที่จะได้รับเพียงชื่อตลาดสองชื่อที่เกี่ยวข้องกันหลวม ๆ นิยามนั้นรวมบริบทของแต่ละแพลตฟอร์ม ตัวระบุสัญญา ฝั่งผลลัพธ์ ฉบับกฎ และความสัมพันธ์ของการจ่ายผลตอบแทน ควรระบุด้วยว่าได้พิจารณาผลลัพธ์พิเศษใดแล้ว และเงื่อนไขใดทำให้การเชื่อมโยงนี้ใช้ไม่ได้ คู่สัญญาที่ยังสรุปความหมายไม่ได้ควรอยู่ในงานวิจัย ไม่ใช่คิวพร้อมทำงานของตัวส่งคำสั่ง
คำสั่งสำหรับโอกาสที่พิจารณาเพิ่มจำนวนปัจจุบัน เพดานราคา ค่าธรรมเนียมประมาณการ และเวลาสังเกตข้อมูล โดยระบุต้นทุนรวมสูงสุดที่ยอมรับได้และปริมาณความเสี่ยงจากสถานะที่ไม่มีคู่ซึ่งบัญชีพร้อมรับ ขีดจำกัดเหล่านี้เป็นคนละเรื่องกัน คู่หนึ่งอาจมีต้นทุนที่จ่ายไหวเมื่อทำครบ แต่ขาแรกสร้างความเสี่ยงตามทิศทางชั่วคราวมากเกินไปสำหรับบัญชี ทั้งสองคำถามต้องได้รับคำตอบก่อนส่งคำสั่งใด ๆ
ใช้รหัสกรณีที่เก็บคงทนเพื่อเชื่อมนิยาม คำแนะนำ การอนุมัติ และคำสั่งที่จะเกิดขึ้นในท้ายที่สุด แต่ละขาควรมีตัวระบุคำสั่งของตนเองที่คงที่ด้วย รหัสคู่ช่วยอธิบายว่าเหตุใดคำสั่งเหล่านั้นจึงอยู่ด้วยกัน ส่วนตัวระบุขาช่วยให้ระบบตรวจสอบการส่งคำสั่งแต่ละรายการได้ ไม่ควรเปลี่ยนรหัสใดเพียงเพราะคำขอเครือข่ายหมดเวลารอหรือกระบวนการเริ่มใหม่
บทความเดิมเรื่อง บอตอาร์บิทราจตลาดคาดการณ์ อธิบายความสัมพันธ์ในภาพกว้างระหว่างโอกาสที่ตรวจพบกับกระบวนการซื้อขาย การออกแบบนี้เริ่ม ณ จุดที่การวิเคราะห์ผลตอบแทนผ่านการทบทวนแล้ว หน้าที่คือทำให้ชุดสถานะจริงของบัญชียังคงมองเห็นได้ขณะที่คำสั่งเคลื่อนผ่านสภาวะต่าง ๆ
กันเงินทุนในแต่ละบัญชีและความสามารถรับความเสี่ยงร่วม
สมมติว่าคู่สมมติหนึ่งต้องซื้อ A Yes จำนวน 500 หน่วยที่ราคาสูงสุด $0.37 และ B No จำนวน 500 หน่วยที่ราคาสูงสุด $0.60 สมมติว่ากฎทำให้การถือแต่ละขาอย่างละหนึ่งหน่วยจ่ายรวมหนึ่งดอลลาร์ในผลลัพธ์ที่จำลองไว้ ยอดซื้อจะเป็น $185 และ $300 เมื่อรวมค่าธรรมเนียมสมมติ $3 และ $4 ต้นทุนการได้มาทั้งหมดเป็น $492 ซึ่งต่ำกว่าการจ่าย $500 ตามสมมติฐานอยู่ $8
ภายใต้สมมติฐานเหล่านั้น บอตต้องมีเงินพร้อมใช้ $188 สำหรับ A และ $304 สำหรับ B หากสองขาใช้คนละบัญชี การมี $492 อยู่ที่ใดสักแห่งในพอร์ตโดยรวมยังไม่เพียงพอ แต่ละบัญชีต้องมีความสามารถรองรับที่ใช้ได้ของตนเองก่อนส่งคำสั่ง การกันวงเงินควรรวมค่าใช้จ่ายที่เหมาะสมและเงินเผื่อกู้สถานการณ์เพิ่มเติมตามที่ผู้ดำเนินการเลือก เงินเผื่อนี้เป็นนโยบายควบคุม ไม่ใช่ส่วนหนึ่งของกำไรคาดการณ์ เว้นแต่จะนำไปใช้จ่ายจริง
ในระดับพอร์ต ให้กันความสามารถรับความเสี่ยงต่อเหตุการณ์ที่เกี่ยวข้องควบคู่กับเงินสดด้วย คู่ที่น่าพิจารณาหลายคู่อาจพึ่งพาเหตุการณ์เดียวกันหรือแพลตฟอร์มขาที่สองแห่งเดียวกัน การยอมให้แต่ละกรณีกันเงินอย่างอิสระโดยไม่ตรวจขีดจำกัดร่วมอาจทำให้สะสมขาแรกที่ยังไม่ครบมากเกินไป บริการความเสี่ยงส่วนกลางหรือวิธีประสานงานที่สอดคล้องกันแบบอื่นต้องป้องกันไม่ให้กรณีเหล่านั้นอ้างสิทธิ์ใช้ความสามารถรองรับที่เหลือก้อนเดียวกัน
วงเงินที่กันไว้ควรคงอยู่ตลอดช่วงที่ไม่แน่นอน คำสั่งที่ถูกปฏิเสธพร้อมการยืนยันจากแหล่งที่เชื่อถือเป็นข้อยุติสามารถคืนส่วนที่ไม่ได้ใช้ได้ แต่คำสั่งที่การตอบกลับหายไปทำเช่นนั้นไม่ได้ เมื่อกระบวนการเริ่มใหม่ ควรโหลดวงเงินที่กันไว้ซึ่งยังไม่คลี่คลายกลับมาก่อนรับกรณีใหม่ มิฉะนั้นโปรแกรมอาจดูเหมือนมีงบประมาณก้อนใหม่ ทั้งที่บัญชียังมีภาระผูกพันจากรอบการทำงานก่อน
เลือกลำดับการส่งคำสั่งอย่างมีเหตุผล
การส่งทั้งสองขาเกือบพร้อมกันช่วยลดความล่าช้าจากลำดับบางส่วน แต่ไม่รับประกันว่าจะได้รับการยอมรับหรือจับคู่พร้อมกัน การส่งขาหนึ่งก่อนอาจทำให้ประสานงานง่ายขึ้น แต่ก่อให้เกิดช่วงที่ทราบแน่นอนว่ามีความเสี่ยงตามทิศทาง ระบบควรเลือกลำดับจากสภาพคล่องที่สังเกต พฤติกรรมของแพลตฟอร์ม และความเสี่ยงที่บัญชีได้รับอนุญาตให้รับ แล้วประเมินผลของการเลือกนั้น แทนที่จะถือเป็นเพียงรายละเอียดในการนำระบบไปใช้งาน
สิ่งที่มักจูงใจคือการทำขาที่ยากกว่าก่อน วิธีนี้อาจสมเหตุสมผลสำหรับขั้นตอนที่ทดสอบแล้ว แต่ยังต้องกำหนดวิธีตอบสนองหากขาที่ง่ายกว่าหายไป อีกแนวทางหนึ่งใช้คำสั่งตั้งรอสำหรับฝั่งหนึ่งแล้วตอบสนองต่อการจับคู่ของมัน วิธีนี้อาจทำให้ราคาเข้าซื้อที่เสนอไว้ดีขึ้น ขณะเดียวกันเพิ่มโอกาสที่ราคาฝั่งชดเชยจะเปลี่ยนก่อนตอบสนอง ตัววัดที่เกี่ยวข้องคือชุดสถานะที่ทำครบและกรณีที่ยังทำไม่ครบ
ข้อกำหนดการดำเนินการสำหรับคำสั่งเดี่ยวไม่ได้สร้างธุรกรรมข้ามแพลตฟอร์ม ตัวอย่างเช่น ข้อกำหนดให้จับคู่ทั้งหมดหรือไม่ทำเลยอาจจำกัดขาหนึ่งบนแพลตฟอร์มที่รองรับ แต่ไม่ได้บังคับให้อีกแพลตฟอร์มจับคู่คำสั่งที่สอดคล้องกัน เอกสารวงจรชีวิตคำสั่งของ Polymarket อธิบายพฤติกรรมของคำสั่งเดี่ยวหลายแบบ บอตต้องตรวจสอบพฤติกรรมจริงที่แต่ละขารองรับ และหลีกเลี่ยงการขยายการรับประกันเฉพาะจุดให้ครอบคลุมทั้งคู่
บันทึกลำดับที่เลือกไว้ในบันทึกกรณี เก็บเวลาที่สร้างการอนุมัติแต่ละรายการ เวลาส่งคำขอแต่ละครั้ง และข้อมูลที่มีอยู่ก่อนส่งรายการที่สอง หลักฐานนี้ช่วยให้เปรียบเทียบนโยบายลำดับการส่งในภายหลังได้ หากไม่มี คู่ที่ทำสำเร็จอาจบดบังจุดอ่อนด้านเวลาเดียวกันซึ่งทำให้กรณีถัดไปจับคู่เพียงบางส่วนและมีต้นทุนสูง
ติดตามจำนวนในทุกขั้นตอน
สำหรับแต่ละขา ให้แยกจำนวนที่ร้องขอ ที่ได้รับการยอมรับ ที่จับคู่แล้ว ที่ยกเลิกแล้ว และที่ยังไม่แน่นอน ตัวเลขเหล่านี้ตอบคนละคำถาม จำนวนที่ร้องขอแสดงเจตนา จำนวนที่จับคู่แล้วทำให้เกิดสถานะ จำนวนที่ยังเปิดอยู่อาจเพิ่มสถานะนั้นได้ ส่วนจำนวนที่ไม่แน่นอนแสดงความเสี่ยงที่ระบบท้องถิ่นยังไม่ได้คลี่คลาย การรวมทั้งหมดเป็นเปอร์เซ็นต์ความสำเร็จค่าเดียวอาจซ่อนทิศทางและขนาดของความเสี่ยงที่เหลือ
จำนวนที่เข้าคู่คือจำนวนที่ได้สถานะที่จำเป็นมาแล้วจริงในสัดส่วนที่เข้ากันได้ ในตัวอย่างง่ายแบบหนึ่งต่อหนึ่ง หาก A จับคู่แล้ว 500 และ B จับคู่แล้ว 300 จำนวนที่เข้าคู่คือ 300 และ A ที่ยังไม่มีคู่คือ 200 หากผลตอบแทนที่ซับซ้อนกว่าต้องใช้สัดส่วนอื่น การคำนวณจับคู่ต้องเป็นไปตามสัดส่วนที่ทบทวนแล้วนั้น แทนที่จะสมมติว่าจำนวนเท่ากัน
แยกการคำนวณจำนวนออกจากยอดเงินสด การเปลี่ยนยอดคงเหลืออาจรวมค่าธรรมเนียม การโอน หรือการซื้อขายที่ไม่เกี่ยวข้อง จึงใช้แทนบันทึกการจับคู่ได้ไม่ดี เก็บตัวระบุ ฝั่ง จำนวน และราคาของการจับคู่แต่ละครั้ง และตัดการส่งข้อมูลซ้ำของการจับคู่เดียวกันออก เหตุการณ์ที่ส่งซ้ำควรยืนยันข้อมูลเดิม แทนการสร้างรายการสถานะครั้งที่สอง
คู่มือเดิมเรื่อง บอตอาร์บิทราจ Kalshi ช่วยวางกรอบบันทึกฝั่งบัญชีสำหรับการนำระบบไปใช้เฉพาะแพลตฟอร์มได้ กฎทั่วไปคือความครบของคู่ต้องได้มาจากจำนวนจริงของแต่ละขา ราคาเสนอรวมที่เป็นบวก ชุดคำสั่งที่ส่งแล้ว หรือคำขอสองรายการที่ได้รับการตอบรับ ไม่สามารถยืนยันสถานะที่ทำครบได้ด้วยตัวเอง
การจับคู่บางส่วนของบอตอาร์บิทราจสัญญาเหตุการณ์สร้างโจทย์ตัดสินใจใหม่
พิจารณาตัวอย่างสมมติต่อ โดย A ทั้ง 500 หน่วยจับคู่ที่ $0.37 แต่ B จับคู่เพียง 300 หน่วยที่ $0.60 ยอดซื้อคือ $185 และ $180 รวมเป็น $365 ก่อนค่าใช้จ่าย สามร้อยหน่วยเป็นคู่ครบชุด มีต้นทุน $291 ก่อนค่าใช้จ่าย ส่วน A ที่เหลือ 200 หน่วยมีต้นทุน $74 และมีความเสี่ยงตามทิศทาง ผลสุทธิเดิมที่คาดไว้ $8 สำหรับคู่ครบชุด 500 คู่จึงไม่อธิบายสภาวะบัญชีนี้อีกแล้ว
บอตควรหยุดประเมินกรณีนี้จากคะแนนโอกาสเดิมเพียงอย่างเดียว ตอนนี้ต้องตัดสินใจกู้สถานการณ์โดยใช้ราคาเสนอปัจจุบันและขีดจำกัดชัดเจน จะซื้อ B เพิ่มอีก 200 หน่วยภายในต้นทุนรวมที่อนุมัติได้หรือไม่ จะขาย A ที่ไม่มีคู่ภายในผลขาดทุนที่อนุญาตได้หรือไม่ อนุญาตให้ถือไว้ชั่วคราวหรือไม่ และนานเพียงใด แต่ละทางเลือกควรใช้สถานะจริงที่มีอยู่และจำนวนที่ซื้อขายได้จริงในขณะนั้น
สมมติว่ากฎที่ผู้ดำเนินการเขียนไว้อนุญาตให้ลด A ที่ไม่มีคู่ ณ ราคาเสนอซื้อไม่ต่ำกว่า $0.34 หลังยืนยันว่าคำสั่ง B ที่เหลือถูกยกเลิกแล้ว การขาย A จำนวน 200 หน่วยที่ราคานั้นได้เงิน $68 จากนั้นบัญชีถือคู่ครบชุด 300 คู่ ซึ่งจ่าย $300 ตามสมมติฐานของตัวอย่าง เงินรับรวมจึงเป็น $368 เทียบกับยอดซื้อ $365 เหลือ $3 ก่อนค่าใช้จ่าย หากค่าใช้จ่ายจริงรวมของเส้นทางนี้เป็น $5 ผลสุดท้ายจะขาดทุน $2
การขาดทุนนั้นไม่ได้เป็นหลักฐานว่าการคำนวณคู่ที่ทำครบด้วยต้นทุน $492 ผิด แต่แสดงว่าการซื้อขายตามที่ตั้งใจไม่เกิดขึ้น และการกู้สถานการณ์มีต้นทุน สมุดบันทึกควรเก็บการคำนวณทั้งสองไว้ การประเมินเฉพาะคู่ที่ทำครบและได้ผลดีโดยตัดกรณีจับคู่บางส่วนที่ต้องกู้สถานการณ์ออก จะทำให้ประโยชน์ของนโยบายส่งคำสั่งดูสูงเกินจริง
เมื่อการส่งคำขอหมดเวลารอ ต้องคงตัวระบุเดิมไว้
เมื่อคำขอหมดเวลารอ บอตรู้ว่าการสื่อสารฝั่งท้องถิ่นล้มเหลว แต่ยังไม่อาจรู้แน่ชัดว่าแพลตฟอร์มยอมรับคำสั่งหรือไม่ ย้ายขานั้นเข้าสู่สภาวะไม่แน่นอน คงวงเงินที่กันไว้ และสอบถามบันทึกคำสั่งกับบัญชีผ่านวิธีที่รองรับ ใช้ตัวระบุเดิมจากไคลเอนต์หรือแพลตฟอร์มเมื่อมี หากบันทึกเหล่านั้นยังคลี่คลายความพยายามนั้นไม่ได้ทันที ความไม่แน่นอนยังคงเป็นส่วนหนึ่งของการคำนวณความเสี่ยง
อย่าสร้างคำสั่งใหม่เพียงเพราะยังไม่เห็นจำนวนที่ต้องการในสถานะฝั่งท้องถิ่น คำสั่งเดิมอาจกำลังตั้งรอ จับคู่บางส่วนแล้ว หรือรออยู่ในขั้นประมวลผลเฉพาะของแพลตฟอร์ม คำสั่งที่สองอาจทำให้จำนวนที่ตั้งใจซ้ำขึ้นมา ในระบบแบบจับคู่ สิ่งนี้อาจทำให้ขาหนึ่งจับคู่เกินแม้อีกฝั่งทำครบแล้ว เปลี่ยนกรณีที่ดูเหมือนเข้าคู่กลับเป็นความเสี่ยงตามทิศทางอีกครั้ง
การกู้สถานการณ์ของบอตอาร์บิทราจสัญญาเหตุการณ์ต้องมีเงื่อนไขยกระดับการจัดการ หลังผ่านช่วงเวลาที่กำหนดหรือเกิดข้อผิดพลาดบางอย่าง ระบบอาจปิดการรับกรณีใหม่ในบัญชีที่ได้รับผลกระทบและขอให้ผู้ดำเนินการทบทวน นี่เป็นการตอบสนองเพื่อควบคุมเมื่อขาดหลักฐาน ไม่ใช่การประกาศว่าแพลตฟอร์มทำคำสั่งหาย บันทึกควรระบุให้แน่ชัดว่ายังไม่รู้อะไร และตรวจคำตอบจากการสอบถามหรือภาพข้อมูลบัญชี ณ ขณะใดไปแล้วบ้าง
เมื่อคลี่คลายความพยายามนั้นได้ในที่สุด ให้ปรับปรุงกรณีเดิมแทนที่จะซ่อนไว้หลังบันทึกทดแทน หากถูกปฏิเสธ ให้คืนวงเงินที่กันไว้ส่วนที่ไม่ได้ใช้ หากจับคู่สำเร็จ ให้นำข้อมูลการจับคู่มารวมและคำนวณจำนวนที่เข้าคู่ใหม่ หากยังเปิดอยู่ ให้ตัดสินใจคงไว้หรือยกเลิกจากสภาวะปัจจุบันของกรณี ทุกผลลัพธ์ควรรักษาความเชื่อมโยงกับการอนุมัติเดิม
การยกเลิกและการส่งคำสั่งแทนต้องมีขอบเขตของตนเอง
การยกเลิกคำสั่งไม่ได้ย้อนการจับคู่ที่เกิดไปแล้ว และไม่ได้ยืนยันว่าไม่มีการจับคู่ระหว่างที่คำขอยกเลิกกำลังเดินทาง บอตควรติดตามขานั้นต่อจนมีหลักฐานจากแหล่งที่เชื่อถือเป็นข้อยุติเพียงพอที่จะระบุจำนวนที่ซื้อขายสำเร็จสุดท้ายและจำนวนที่ไม่สามารถจับคู่ได้อีก การคืนวงเงินที่กันไว้ทั้งหมดทันทีหลังส่งคำขอยกเลิกอาจแสดงภาระผูกพันของบัญชีต่ำกว่าจริง
คำสั่งทดแทนทำให้เกิดปัญหาคล้ายกัน หากคำสั่งเดิมอาจยังทำงานอยู่ การส่งจำนวนที่ตั้งใจไว้เต็มจำนวนอีกครั้งอาจทำให้จำนวนที่พร้อมจับคู่เพิ่มเป็นสองเท่าชั่วคราว ตัวส่งคำสั่งต้องมีนโยบายส่งคำสั่งแทนที่บันทึกไว้และสอดคล้องกับพฤติกรรมจริงของแพลตฟอร์ม นโยบายอาจกำหนดให้ยืนยันก่อนส่งคำสั่งแทน หรือกันวงเงินสำหรับช่วงซ้อนทับที่ระบบรองรับ ต้องไม่อาศัยการที่ส่วนติดต่อฝั่งท้องถิ่นซ่อนคำสั่งเดิมเป็นหลักฐานว่าแพลตฟอร์มลบมันแล้ว
ในตัวอย่าง 500 เทียบกับ 300 สมมติว่า B อีก 40 หน่วยจับคู่ระหว่างยกเลิก จำนวนที่เข้าคู่จะกลายเป็น 340 และ A ที่ไม่มีคู่ลดเหลือ 160 การขาย A จำนวน 200 หน่วยเพื่อกู้สถานการณ์โดยอิงภาพข้อมูลก่อนหน้าจะปรับมากเกินไป ทำให้เหลือความเสี่ยง B ส่วนเกิน การตัดสินใจกู้สถานการณ์จึงต้องใช้สภาวะจำนวนที่กระทบยอดแล้ว หรือคำนึงถึงความไม่แน่นอนที่เหลือไว้อย่างชัดเจน
บทความที่เกี่ยวข้องเรื่อง บอตซื้อขายตลาดเหตุการณ์ พิจารณาการหยุดชะงักและการเปลี่ยนแปลงตามกำหนดการในภาพกว้างกว่า การส่งคำสั่งแบบจับคู่เพิ่มข้อกำหนดเฉพาะว่า การควบคุมขาหนึ่งอาจเปลี่ยนสิ่งที่ควรทำกับอีกขา ระบบต้องประสานการปรับปรุงเหล่านั้นผ่านสภาวะกรณีที่ใช้ร่วมกัน แทนที่จะปล่อยให้แต่ละขาทำงานเป็นโปรแกรมซื้อขายที่ไม่เกี่ยวข้องกัน
คงงบกู้สถานการณ์ไว้โดยไม่ไล่ทำให้ครบทุกกรณี
งบกู้สถานการณ์กำหนดว่าระบบยอมรับต้นทุนหรือผลขาดทุนเพิ่มเติมได้เท่าใดเพื่อลดความเสี่ยงจากงานที่ยังไม่เสร็จ ควรแยกจากเกณฑ์เปิดสถานะเดิม บัญชีอาจยอมขาดทุนจำกัดอย่างสมเหตุสมผลหลังจับคู่บางส่วน เพื่อหลีกเลี่ยงการคงความเสี่ยงเหตุการณ์ที่ใหญ่กว่าไว้ แต่ต้องระบุการอนุญาตนั้นให้ชัด มิฉะนั้นบอตอาจอ้างเหตุผลให้ราคาถึงระดับใดก็ได้โดยกล่าวว่ากำลังทำอาร์บิทราจให้ครบ
กำหนดงบในรูปที่ผู้ดำเนินการตรวจสอบได้ ได้แก่ ต้นทุนการได้มาสูงสุดของส่วนที่ไม่มีคู่ ต้นทุนเพิ่มเติมสูงสุดในการทำให้ครบ ผลขาดทุนสูงสุดที่อนุญาตในการลดสถานะ และเงื่อนไขที่ต้องใช้ดุลยพินิจมนุษย์ เพดานราคาของขาที่สองคำนวณใหม่จากต้นทุนจริงของขาแรกและผลลัพธ์ที่อนุญาตได้ การคำนวณควรรวมค่าใช้จ่ายจริงที่เกิดแล้วและประมาณการอย่างระมัดระวังสำหรับการกระทำที่เหลือ
งบประมาณไม่ใช่คำสั่งให้ใช้วงเงินที่อนุญาตทั้งหมด เปรียบเทียบทางเลือกที่มีด้วยจำนวนที่ซื้อขายได้จริงในปัจจุบัน หากการยกเลิกและลดสถานะเล็กน้อยทำให้กลับมามีสถานะที่ยอมรับได้ ระบบก็ไม่จำเป็นต้องฝืนทำให้ครบขนาดเดิม หากไม่มีทางเลือกใดอยู่ในขอบเขตที่อนุมัติ ให้หยุดชั่วคราวและแสดงสถานะที่ยังไม่คลี่คลายอย่างชัดเจน ความเสี่ยงที่บัญชียังมีควรมองเห็นได้แม้บอตแก้อัตโนมัติไม่ได้
บทความเดิมเรื่อง บอตอาร์บิทราจ Polymarket อัตโนมัติ ให้บริบทสำหรับการแยกการตรวจพบออกจากการดำเนินการที่ควบคุมได้ ตรรกะกู้สถานการณ์ควรมีชุดข้อมูลประเมินของตนเอง เพราะถูกเรียกใช้ภายใต้เงื่อนไขที่ต่างจากการเปิดสถานะปกติ พฤติกรรมที่ใช้ได้ในภาพข้อมูลช่วงสงบอาจล้มเหลวเมื่อสภาพคล่องหายไปพอดีกับที่ขาแรกจับคู่สำเร็จ
สถานะคงค้างอาจสะสมข้ามหลายกรณี
บอตอาจทำหลายคู่พร้อมกัน แต่บัญชีรับผลจากสถานะคงค้างรวมของทุกคู่ กรณีที่ยังทำไม่ครบสองกรณีอาจทิ้งความเสี่ยงต่อผลลัพธ์เดียวกัน แม้รหัสคู่จะต่างกัน รวมสถานะและภาระผูกพันที่ยังเปิดอยู่ตามเหตุการณ์และตามสถานการณ์เสียเปรียบที่เกี่ยวข้อง อย่าสมมติว่าการมีบันทึกกรณีแยกกันทำให้มีขีดจำกัดความเสี่ยงอิสระจากกัน
ผู้ดูแลสภาพคล่องสัญญาเหตุการณ์ ใช้สถานะคงค้างกำหนดการตัดสินใจเสนอราคาครั้งต่อไป บอตแบบจับคู่ได้ประโยชน์จากการตระหนักแบบเดียวกันเมื่อยังมีขาที่ทำไม่ครบอยู่ในบัญชี กรณีใหม่อาจลดความไม่สมดุลเดิม เพิ่มมัน หรือสร้างความเสี่ยงต่างออกไปภายใต้ผลลัพธ์พิเศษ ด่านตรวจความเสี่ยงควรประเมินพอร์ตหลังทำรายการ แทนที่จะถือว่าทุกคู่ที่เสนอเป็นกลางโดยอัตโนมัติ
หากบอตยังทำ การดูแลสภาพคล่องสัญญาเหตุการณ์ ด้วย ราคาเสนอที่ตั้งรอต้องอยู่ในแบบจำลองความเสี่ยงเดียวกัน ราคาเสนอเพื่อให้สภาพคล่องอาจจับคู่ขณะที่ระบบอาร์บิทราจกำลังกันความสามารถรองรับสำหรับขาที่สอง งบประมาณแยกกันที่ไม่รับรู้กันอาจผ่านการตรวจเฉพาะส่วนทั้งคู่แต่ล้มเหลวในระดับบัญชี การกันวงเงินร่วมและการกระทบยอดที่สอดคล้องกันจึงจำเป็น แม้กลยุทธ์จะมีเป้าหมายต่างกัน
การกระทบยอดตามระยะควรเปรียบเทียบแบบจำลองรวมฝั่งท้องถิ่นกับสถานะ คำสั่ง และค่าใช้จ่ายจากแหล่งที่เชื่อถือเป็นข้อยุติ กรณีหนึ่งจะทำเครื่องหมายว่าปิดในเชิงปฏิบัติการได้ก็ต่อเมื่อคำสั่งทั้งหมดคลี่คลายและจัดสรรสถานะที่เหลือให้ถูกต้องแล้ว หากจงใจส่งต่อสถานะตกค้างให้อีกกลยุทธ์ ให้บันทึกการโอนความรับผิดชอบนั้น การนำกรณีออกจากหน้าจอไม่ควรนำความเสี่ยงออกจากสมุดบันทึกด้วย
ทดสอบกรณีที่จะทำให้การตัดสินใจเปลี่ยน
ใช้การจำลองเหตุการณ์เดิมซ้ำเพื่อทดสอบการประสานงาน ไม่ใช่เพียงการส่งคำสั่งสำเร็จ การทดสอบหนึ่งควรยอมรับ A และปฏิเสธ B อีกการทดสอบควรจับคู่ B บางส่วนระหว่างยกเลิก การทดสอบที่สามควรส่งข้อมูลการจับคู่เดิมสองครั้ง และการทดสอบที่สี่ควรเริ่มกระบวนการใหม่หลังส่งคำขอแต่ก่อนบันทึกคำตอบ ผลที่คาดควรระบุจำนวน วงเงินที่กันไว้ การกระทำถัดไปที่อนุญาต และการหยุดชั่วคราวที่จำเป็น
สำหรับตัวอย่างจับคู่บางส่วนที่คำนวณไว้ ให้ตรวจเลขอย่างอิสระ ได้แก่ จ่าย $365 ได้คืน $68 จากการลด A ที่ไม่มีคู่ 200 หน่วย ได้รับ $300 จากคู่ที่เข้ากันได้ซึ่งเหลืออยู่ และมีค่าใช้จ่ายจริงตามสมมติฐาน $5 ส่งผลให้ขาดทุน $2 การทดสอบไม่ควรระบุว่ากรณีนี้เป็นคู่ขนาด 500 หน่วยที่ทำกำไรเพียงเพราะนั่นเป็นคำแนะนำเดิม แต่ควรเก็บเหตุผลที่ผลจริงต่างจากแผนไว้
ทดสอบการตัดสินใจไม่เริ่มด้วย ปฏิเสธคู่ที่กฎไม่ตรงกัน เงินทุนพร้อมใช้ในแต่ละบัญชีไม่เพียงพอ ข้อมูลความลึกเก่า หรือสภาวะบัญชียังไม่คลี่คลาย การปฏิเสธเหล่านี้เป็นส่วนหนึ่งของพฤติกรรมที่บอตตั้งใจให้มี ระบบที่ผ่านเฉพาะการทดสอบการลงมือส่งคำสั่งยังอาจไม่ปลอดภัย เพราะไม่เคยแสดงให้เห็นว่าเคารพเงื่อนไขที่ควรงดส่งคำสั่ง
การทบทวนสุดท้ายควรสร้างเส้นทางของทุกกรณีขึ้นใหม่ได้ตั้งแต่ความสัมพันธ์ผลตอบแทนที่อนุมัติไปจนถึงผลบัญชีที่กระทบยอดแล้ว บอตที่ทำงานเป็นคู่ขามีประโยชน์เมื่อแสดงชุดสถานะที่ยังไม่ครบให้ชัด จำกัดผลกระทบของมัน และเก็บหลักฐานเพียงพอที่จะอธิบายการกู้สถานการณ์ นั่นคือมาตรฐานเชิงปฏิบัติสำหรับระบบอัตโนมัติในกระบวนการที่ราคาน่าสนใจสองค่าไม่ได้รับประกันว่าการซื้อขายสองรายการจะสำเร็จ