lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
หน้าแรก
AI
OPRR
ด่วน
ความลึก
กิจกรรม
BlockBeats Pro
เพิ่มเติม
การเงิน
พิเศษ
ระบบนิเวศบล็อกเชน
รายการ
พอดแคสต์
ข้อมูล
BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%

อัตราผลตอบแทน 86%? วิธีใช้โรบอตเพื่อ「ฟาร์มเงิน」บน Polymarket

อ่านบทความนี้ใน 29 นาที
โอกาสในตลาดนี้ยังมีมากกว่าจำนวนของหุ่นยนต์เอง.
หัวข้อเรื่องต้นฉบับ: ผมได้สร้างบอท Polymarket และทดสอบการตั้งค่าพารามิเตอร์หลายรูปแบบ นี่คือผลลัพธ์
ผู้เขียนต้นฉบับ: @the_smart_ape, นักวิจัยด้านสกุลเงินดิจิทัล
การแปลต้นฉบับ: Bitpush News


ไม่กี่สัปดาห์ที่ผ่านมา ผมตัดสินใจที่จะสร้างบอท Polymarket ของตัวเอง เวอร์ชันเต็ม นั้นได้ใช้เวลาให้ชิ้นส่วนของฉันจากไม่กี่สัปดาห์ของเวลา


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


ตรรถสร้างบอท


ตรรถของบอทนี้อิงตามชุดกลยึคของจดสั่งปางถ่ายภาพที่ผมทำมันเองในอดีตเพื่อเสรัจกวิเข้าสั่หาถ่ายอัตโนมัต บอทวิ่งอยู่ในตรรถติดตาตลาสูณและสามารถเปลี่ยนเป็นขอบที่มีโอย์มญถ่างัชปี / การขาย ราคาที่ดีที่สุด (best bid/ask) แสดงผลลัพธ์ส่วนต่ำลขณะทุ่ อะแอลยังสามาถปกำนสั้งโดทต่าเลยวุ้อ


บอทได้ทำงานด้วยระบบการวิเificateสทีงงดูพัสดุตไีกายะแบน ๆ้ยุอยใต้าวชักโชคีทรรถแผสยายวยัปทะีลิกดว่าสลตาสฉลีล้หรับผู้ใช้แแ้ขว่ต



ใต้าวดำแล็งทาว ณหหู่เตีบตาสั้งสั้งตัวรอง


ซื้อ สั้ง <ดอลลารก> / ซื้อ ต่ง <ดอลลรารทิง>: ซื้อคำณใจยปไม่งกบะงหยัดรรอกี


ซื้อสั้ชร ต่ป <หยัดẩน> / ถีมต่า ต่อ <หยัดารที่้ี>: ซื้กคำณใจตนอยือของรต ่ยี่ยป IQueryable มี1าการไม่่ิ야Selling์ลอปูสสทำที สี่ตำนา่่ที้งปีกค้ำนคอดญตห่ลีลขางอย่า้


รีย์ตมัจนำวง-กรงฟังางั ตำงตุอันคชเดีลคูป


สำรงทรง ณการจำนวาี-คถัยทีรหนยระบา ถ้่หลยอช่ตตำยหันาน รถุาำยแยี้ญ้อทอาบเรมย ฟิืหี้ในปปนย้ญันบ ปำกำเปีย ีุ่ยจํญี่ ลหกย่ ใต้าดี่้่นอันแพเสถัม้าไำรหยต่่าถ้ลอยสุ้ำท่า้พงยกสุงีาบเหลีี่


หลังจาก Leg 1 เสร็จสิ้นแล้ว หุ่นยนต์จะไม่ซื้อด้านเดียวกันอีกครั้ง มันจะรอ "Leg 2 (การล็อคราคาขาขวาง)" และจะกระตุ้นเมื่อเฉพาะเข้าตัวเงื่อนไขต่อไปนี้: leg1EntryPrice + oppositeAsk <= sumTarget


เมื่อเข้าถึงเงื่อนไขนี้ มันจะซื้อด้านที่ตรงกันข้าม หลังจาก Leg 2 เสร็จสิ้นแล้ว รอบนี้จบลง และหุ่นยนต์กลับสู่สถานะสำรวจ เพื่อรอสัญญาณการตกต่ำต่อไปที่ใช้พารามิเตอร์เดียวกัน


หากมีการเปลี่ยนการทำรอบ หุ่นยนต์จะยกเลิกรอบที่เปิดไว้และเริ่มใหม่ในการรอบถัดไปด้วยการตั้งค่าเดียวกัน


การตั้งค่าพารามิเตอร์ของโหมดอัตโนมัติคือดังนี้: auto on <การถือหุ้น> [sum=0.95] [move=0.15] [อ่านถือขั้นต่ำ=2]


· การถือหุ้น: ขนาดอพังงิตสำหรับการทำธุรกรรมสองรอบ

· อ่านถือขั้นต่ำ: ค่าภายในที่อนุญาตให้ลดความเสี่ยง

· ย้าย (movePct): ค่าภายในที่อนุญาตให้การตกต่ำ

· หน้าต่างอ่าน: เวลาที่อนุญาตให้ทำ Leg 1 ตั้งแต่ต้นทุกการรอบ


การทดสอบย้อนกลับ


ตรรกะของหุ่นยนต์คือง่ายๆ: รอการขาดทุนอย่างรุนแรง ซื้อด้านที่กำลังร่วง แล้วรอราคาคงที่และใช้เงินเปล่าเพื่อลดความเสี่ยง พร้อมทั้งตรวจสอบ: priceUP + priceDOWN < 1


แต่ตรรกะนี้ต้องผ่านการทดสอบ มันจะมีผลในระยะยาวหรือไม่? สำคัญกว่ากัน หุ่นยนต์มีพารามิเตอร์มากมาย (หุ้น ยอดรวม % การเคลื่อนที่ % นาฬิกาหน้าน้อย ๆ) ชุดพารามิเตอร์ไหนที่เป็นตัวเลือกที่ดีที่สุดและช่วยให้กำไรมากที่สุด?


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


ความคิดของฉันเป็นอย่างที่สอง คือใช้ข้อมูลประวัติออนไลน์จาก Polymarket CLOB API ในการทดสอบย้อนกลับ แสนเสียดายที่สำหรับตลาด BTC 15 นาทีของการลดราคา/สูงของราคา จุดสิ้นสุดในข้อมูลประวัติมีตอบรับในรูปแบบว่างเปล่า โดยไม่มีการระบุราคาประวัติ (ติ๊ก) การทดสอบย้อนกลับไม่สามารถตรวจจับ "การขาดทุนอย่างชะมัด" ที่เกิดประมาณ 3 วินาที ไม่สามารถกระตุ้น Leg 1 ไม่ว่าจะมีพารามิเตอร์อย่างไร จะสร้างรอบทดสอบเป็น 0 ครั้งและอัตราผลตอบแทนของการลงทุนเป็น 0%



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


เนื่องจากข้อจำกัดนี้ วิธีที่เรียบง่ายที่สุดในการทดสอบกลยุทธ์นี้คือตอนที่หุ้นโมเดลกำลังทำงาน จะทำการสร้างชุดข้อมูลประวัติของตัวเองโดยการบันทึกราคาซื้อที่ดีที่สุดโดยเร็อแทช



เครื่องมือบันทึกจะเขียนข้อมูลสรุปลงดิสก์ ซึ่งประกอบด้วย:


· ปัจจัยเวลา

· ตราแสดงรอบ

· วินาทีที่เหลือ

· รหัสสินทรัพย์ UP/DOWN

· ราคาซื้อที่ดีที่สุดของ UP/DOWN


ในขั้นตอนถัดมา การ "สร้างชุดข้อมูลประวัติ (recorded backtest)" จะเล่นอีกครั้งข้อมูลสรุปเหล่านี้และนำเสนอหลักสูตรอัตตราอันดับเดียวกันอย่างฟ้องตัวอย่าง สิ่งนี้ยืนยันว่าเราสามารถสร้างข้อมูลที่ถึงถี่ที่จำเป็นสำหรับการตรวจจับการแตกร้างและเงื่อนไขการป้องกันโดยที่ไม่ผิดพลาด


ฉันสะสมข้อมูลได้รวมเป็น 6 กิกะไบต์ในเวลา 4 วัน ถึงแม้ว่าฉันสามารถบันทึกข้อมูลได้มากกว่านี้ แต่ฉันคิดว่าพอต่อการทดสอบพารามิเตอร์ต่าง ๆ แล้ว



ฉันเริ่มทำการทดสอบกับกลุ่มพารามิเตอร์นี้:


· ยอดคงเหลือเริ่มต้น: $1,000

· ราคาหุ้นต่อครั้ง: 20 หุ้น

· sumTarget = 0.95

· มูลค่าที่หุ้นตก = 15%

· หน่ายขอดขั้นต่ำ = 2 นาที


ฉันยังปรับค่าค่าธรรมเนียมที่คงที่ไว้กับค่าอยู่ที่ 0.5% และสระผ monarchy 2% เพื่อให้มั่นใจในแหล่งข้อมูลที่จะทดสอบ


การทดสอบกลับแสดงออกมาว่า ROI อยู่ที่ 86% ในช่วงไม่กี่วันเป็น $1,000 กลายเป็น $1,869



ต่อมา ฉันทดสอบจับกุลุ่มพารามิเตอร์ที่เข้มงวยกว่า:


· ยอดคงเหลือเริ่มต้น: $1,000

· ราคาหุ้นต่อครั้ง: 20 หุ้น

· sumTarget = 0.6

· มูลค่าที่หุ้นตก = 1%

· หน่ายขอดลต่ำ = 15 นาที


ผลลัพธ์: หลังจาก 2 วัน ผลตอบแทนการลงทุนเป็น -50%



นี่เป็นการบ่งชี้ชัดเจนว่าการเลือกรายการตัวแปรเป็นปัจจัยที่สำคัญที่สุด ซึ่งอาจทำให้คุณกำไรมาก หรือเสียเป็นจำนวนมาก


ข้อจำกัดของการทดสอบย้อน


แม้ว่าจะรวมค่าใช้จ่ายและความต่างระหว่างราคา (spread) การทดสอบย้อนก็ยังมีข้อจำกัด


· ในทางทฤษฎี มันใช้ข้อมูลเพียงไม่กี่วันซึ่งอาจไม่เพียงพอสำหรับมุมมองที่เป็นรากฐานของตลาด


· มันขึ้นอยู่กับภาพถ่ายราคาขายที่ดีที่สุด แต่ในความเป็นจริง คำสั่งอาจทำธุรกรรมบางส่วน เข้าที่ฮอด หรือด้วยราคาต่าง ๆ กัน นอกจากนี้ ความลึกของคำสั่งและปริมาตรการซื้อขายที่มีอยู่มิได้ถูกจำลอง


· ยังไม่มีการจับความเคลื่อนไหวที่มีลักษณะเฉพาะต่ำกว่าเวลาที่ถูกสุ่มหย่อน (ข้อมูลถูกสุ่มทุกวินาที) การทดสอบย้อนมีตัวข้อมูลเวลาที่มีประโยชน์ แต่ความเคลื่อนไหวอาจเกิดขึ้นมากมายระหว่างวินาทีต่อวินาที


· ในการทดสอบ การลื่นไหลถือว่าคงที่ ไม่ได้จำลองการล่าช้าที่เปลี่ยนไป (เช่น 200–1500 มิลลิวินาที) หรือเส้นสูงสุดของเครือข่าย


· การซื้อขายแต่ละกระทำถือว่าเป็น "ทันที" มีการจับความว่าง่าย (ไม่มีการต่อคิวคำสั่ง ไม่มีคำสั่งพร้อม ๆ กัน)


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


เพื่อใช้ทดสอบอย่างระมัดระวังผมได้ปรับใช้กฎต่อๆ นี้: ถ้า Leg 2 ไม่ได้ดำเนินคำสั่งก่อนที่ตลาดจะปิด Leg 1 จะถือว่าเสียทั้งหมด


นี่คือเรื่องอย่างระมัดระวัง แต่ไม่ได้เป็นทุกกรณีที่ตรงกับความเป็นจริง:


· บางครั้ง Leg 1 อาจถูกปิดลงก่อน


· บางครั้งมันอยู่ในสถานะถูกนำไปใช้งาน (ITM) และชนะ


· บางครั้งความเสียหาพังบางมากไม่ใช่ทั้งหมด


อาจจะมีการประเมินค่าสูงไป แต่มันใช้การจำลองแนวการกระทำที่เลวร้ายที่สุดไป


สำคัญมากที่ทดสอบย้อนสลอองไม่สามารถจำลองผลกระทบจากคำสั่งของคุณที่เป็นการผสมอย่างมาก หรือการกระทำของผู้ซื้อขายคนอื่นที่ตามล่าคุณ ในความเป็นจริงพอร์เดอร์ของคุณอาจ:


· รบกวนคำสั่งการกำหนดซื้อขาย

· ดึงดูดหรือเผยผชื่นผู้ซื้อขายคนอื่น

· นำไปสู่การลื่นไหลที่เป็นตราบไม่ได้


การทดสอบย้อนสลองว่าคุณเป็นคนดึกกอัตโนมัตหาราคาแท่ะไม่ส่งผลลัทึก


สุดท้ายมันไม่เป็นมดลูกใช้จำลองคำจำกัดความถี่ ความผิดพลาด API คำสั่งที่ถูกปฏิเสธ การพัก การหมดเวลา การต่อใหม่ หรือการสัญญารปัส็ัยคลุกค้างานหรือคำสัังผช้ผ่านไป


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


พื้นฐาน


ฉันวางแผนที่จะเรียกใช้หุ่นยนต์นี้บน Raspberry Pi เพื่อหลีกเลี่ยงการใช้ทรัพยากรของเครื่องหลักและเพื่อให้การทำงานตลอด 24/7


แต่ยังมีข้อดีข้อเสียที่สำคัญอีกมากมาย:


· การใช้ Rust แทน JavaScript จะมอบประสิทธิภาพและเวลาการประมวลผลที่เหนือกว่าอย่างชัดเจน


· เรียกใช้โหนด RPC โพลีกอนเฉพาะของสำหรับลดความหน่วงลงเพิ่มเติม


· การจัดการบน VPS ใกล้กับเซิร์ฟเวอร์ Polymarket ยังจะลดความหน่วงอย่างมีนัยสำคัญ


แน่นอนว่ายังมีวิธีการปรับปรุงอื่น ๆ ที่ฉันยังไม่ได้ค้นพบ ปัจจุบันฉันกำลังศึกษา Rust เนื่องจากมันกำลังกลายเป็นภาษาที่สำคัญในการพัฒนา Web3


ลิ้งก์เดิม


ยินดีต้อนรับสู่ชุมชนทางการของ BlockBeats:

กลุ่ม Telegram สมัครสมาชิก: https://t.me/theblockbeats

กลุ่ม Telegram พูดคุย: https://t.me/BlockBeats_App

บัญชี Twitter ทางการ: https://twitter.com/BlockBeatsAsia

เลือกคลัง
เพิ่มคลัง
ยกเลิก
เสร็จสิ้น
เพิ่มคลัง
เห็นได้เฉพาะตัวเอง
สาธารณะ
บันทึก
แก้ไข/รายงาน
ส่ง