Thursday, June 2, 2016

การเลือก แพลตฟอร์ม สำหรับ backtesting และ การดำเนินการ อัตโนมัติ






+

การเลือกแพลตฟอร์มสำหรับ Backtesting และการดำเนินการอัตโนมัติ โดยไมเคิลฮอลล์มัวร์เมื่อวันที่ 26 กุมภาพันธ์ 2014 ในบทความนี้แนวคิดของการดำเนินการโดยอัตโนมัติจะมีการหารือ พูดกว้างนี้เป็นกระบวนการของการช่วยให้กลยุทธ์การซื้อขายที่ผ่านเวทีการค้าอิเล็กทรอนิกส์ในการสร้างสัญญาณการดำเนินการค้ามนุษย์โดยปราศจากการแทรกแซงใด ๆ ที่ตามมา ที่สุดของระบบที่กล่าวถึงใน QuantStart วันที่ได้รับการออกแบบมาเพื่อนำมาใช้เป็นกลยุทธ์ในการดำเนินการโดยอัตโนมัติ บทความนี้จะอธิบายถึงซอฟแวร์และการเขียนโปรแกรมภาษาที่ให้ทั้ง backtesting และความสามารถในการดำเนินการโดยอัตโนมัติ พิจารณาครั้งแรกคือวิธีการ backtest กลยุทธ์ มุมมองส่วนตัวของฉันคือว่าการพัฒนาที่กำหนดเองของสภาพแวดล้อมภายใน backtesting การเขียนโปรแกรมภาษาชั้นแรกมีความยืดหยุ่นมากที่สุด ตรงกันข้ามแพลตฟอร์ม backtesting แบบบูรณาการการพัฒนาผู้ขายจะต้องทำให้สมมติฐานเกี่ยวกับวิธีการ backtests จะดำเนินการ อย่างไรก็ตามเรื่องนี้ทางเลือกของการเขียนโปรแกรมภาษาที่มีขนาดใหญ่และมีความหลากหลายซึ่งมักจะสามารถครอบงำ มันไม่ได้เป็นที่เห็นได้ชัดก่อนที่จะพัฒนาภาษาที่มีแนวโน้มที่จะมีความเหมาะสม เมื่อหมวดหมู่กลยุทธ์เป็นกฎเป็นระบบที่ผู้ประกอบการเชิงปริมาณจะต้องมั่นใจว่าผลการดำเนินงานในอนาคตจะสะท้อนผลการดำเนินงานที่ผ่านมา โดยทั่วไปมีสองรูปแบบของระบบ backtesting ที่ใช้ในการทดสอบสมมติฐานนี้ กว้างพวกเขาจะแบ่งออกเป็นการทดสอบหลังการวิจัยและเหตุการณ์ที่ขับเคลื่อนด้วยกลับมาทดสอบ เราจะพิจารณา backtesters กำหนดเองเมื่อเทียบกับผลิตภัณฑ์ของผู้ขายสำหรับทั้งสองกระบวนทัศน์และดูว่าพวกเขาเปรียบเทียบ เครื่องมือวิจัย เมื่อระบุกลยุทธ์การซื้อขายอัลกอริทึมก็มักจะไม่จำเป็นในการรองรับการ simualte ทุกแง่มุมของการทำงานร่วมกันในตลาด แต่ใกล้เคียงสามารถทำที่ให้ความมุ่งมั่นอย่างรวดเร็วของผลการดำเนินงานกลยุทธ์ที่มีศักยภาพ เครื่องมือในการวิจัยดังกล่าวมักจะทำให้สมมติฐานที่ไม่สมจริงเกี่ยวกับต้นทุนการทำธุรกรรมมีแนวโน้มเติมราคา จำกัด shorting พึ่งพาสถานที่การบริหารความเสี่ยงและตำแหน่งการปรับขนาด แม้จะมีข้อบกพร่องเหล่านี้ประสิทธิภาพของกลยุทธ์ดังกล่าวยังสามารถประเมินผลได้อย่างมีประสิทธิภาพ เครื่องมือทั่วไปสำหรับการวิจัยรวมถึง MATLAB, R, งูหลามและ Excel เหล่านี้ซอฟแวร์ที่มีความสามารถเรือ vectorisation ที่ช่วยให้ความเร็วในการทำงานได้อย่างรวดเร็วและง่ายต่อการดำเนินกลยุทธ์ MATLAB และหมีแพนด้าเป็นตัวอย่างของระบบ vectorised ด้วยเครื่องมือวิจัยดังกล่าวก็เป็นไปได้ในการทดสอบกลยุทธ์หลายชุดและตัวแปรในอย่างรวดเร็วลักษณะซ้ำโดยไม่จำเป็นต้องได้อย่างเต็มที่ "เนื้อออก" ตลาดจริงการจำลองการทำงานร่วมกัน ในขณะที่เครื่องมือดังกล่าวมักจะใช้สำหรับทั้ง backtesting และการดำเนินการและสภาพแวดล้อมการวิจัยเหล่านี้มักจะไม่เหมาะสำหรับกลยุทธ์ที่วิธีการซื้อขายระหว่างวันที่ความถี่ที่สูงขึ้นในระดับย่อยนาที ห้องสมุดเหล่านี้ไม่ได้มีแนวโน้มที่จะสามารถได้อย่างมีประสิทธิภาพเชื่อมต่อกับเวลาจริงผู้ขายข้อมูลการตลาดหรืออินเตอร์เฟซกับ APIs นายหน้าซื้อขายหลักทรัพย์ในลักษณะที่มีประสิทธิภาพ แม้จะมีข้อบกพร่องเหล่านี้ executional สภาพแวดล้อมการวิจัยถูกนำมาใช้อย่างมากในอุตสาหกรรมการค้าเชิงปริมาณที่เป็นมืออาชีพ พวกเขาให้ "ร่างแรก" สำหรับทุกความคิดกลยุทธ์โปรโมชั่นก่อนที่จะไปสู่​​การตรวจสอบอย่างเข้มงวดมากขึ้นในสภาพแวดล้อมที่สมจริง backtesting เหตุการณ์ที่ขับเคลื่อนด้วย Backtesting เมื่อกลยุทธ์ถือว่าเหมาะสมในการวิจัยนั้นจะต้องได้รับการประเมินแนบเนียนมากขึ้น สมจริงดังกล่าวพยายามที่จะคิดเป็นส่วนใหญ่ (ถ้าไม่ทั้งหมด) ของปัญหาที่อธิบายไว้ในบทความก่อนหน้านี้ สถานการณ์ที่เหมาะที่จะสามารถที่จะใช้การค้าเดียวกันรหัสรุ่นสำหรับ backtesting ประวัติศาสตร์เช่นเดียวกับการดำเนินการถ่ายทอดสด นี่คือความสำเร็จผ่านเหตุการณ์ที่ขับเคลื่อนด้วย backtester ระบบเหตุการณ์ที่ขับเคลื่อนจะมีการใช้กันอย่างแพร่หลายในวิศวกรรมซอฟต์แวร์สำหรับการจัดการทั่วไปส่วนติดต่อผู้ใช้แบบกราฟิก (GUI) ภายในหน้าต่างการป้อนข้อมูลที่ใช้ระบบปฏิบัติการ พวกเขายังเหมาะสำหรับการซื้อขายอัลกอริทึมเป็นความคิดของเวลาจริงคำสั่งซื้อหรือเติมตลาดการค้าที่สามารถห่อหุ้มเป็นเหตุการณ์ ระบบดังกล่าวมักจะเขียนในภาษาที่มีประสิทธิภาพสูงเช่น C ++, C # และ Java พิจารณาสถานการณ์ที่กลยุทธ์การซื้อขายอัตโนมัติเชื่อมต่อกับเวลาจริงฟีดของตลาดและนายหน้า (ที่สองคนนี้อาจจะเป็นหนึ่งเดียวกัน) ข้อมูลการตลาดใหม่จะถูกส่งไปยังระบบซึ่งเป็นต้นเหตุของเหตุการณ์ที่จะสร้างสัญญาณการค้าใหม่และทำให้เหตุการณ์การดำเนินการ ระบบเหล่านี้ทำงานในวงอย่างต่อเนื่องรอรับเหตุการณ์และจัดการกับพวกเขาอย่างเหมาะสม มันเป็นไปได้ในการสร้างชิ้นส่วนย่อยเช่นการจัดการข้อมูลทางประวัติศาสตร์และจำลองการเป็นนายหน้าซื้อขายซึ่งสามารถเลียนแบบคู่ของพวกเขาอาศัยอยู่ นี้จะช่วยให้กลยุทธ์ backtesting ในลักษณะที่คล้ายกันมากกับที่ของการดำเนินการถ่ายทอดสด ข้อเสียของระบบดังกล่าวอยู่ในการออกแบบที่ซับซ้อนของพวกเขาเมื่อเทียบกับเครื่องมือในการวิจัยที่เรียบง่าย ดังนั้น "เวลาในการตลาด" เป็นอีกต่อไป พวกเขามีแนวโน้มที่จะต้องมีข้อบกพร่องและความรู้ที่ดีของการเขียนโปรแกรมและวิธีการพัฒนาซอฟแวร์ แฝงในแง่วิศวกรรมถูกกำหนดให้เป็นช่วงเวลาระหว่างการจำลองและการตอบสนองที่ ในเชิงปริมาณการซื้อขายนั้นโดยทั่วไปหมายถึงความล่าช้าตลอดเวลาการเดินทางระหว่างรุ่นของสัญญาณการดำเนินการที่และได้รับข้อมูลการเติมจากโบรกเกอร์ที่ดำเนินการการดำเนินการ ความล่าช้าดังกล่าวจะไม่ค่อยมีปัญหาในความถี่ต่ำกลยุทธ์ interday การเคลื่อนไหวของราคาที่คาดว่าในช่วงระยะแฝงจะไม่มีผลต่อกลยุทธ์ในการในระดับที่ดีใด ๆ เช่นเดียวกับที่ไม่เป็นความจริงของกลยุทธ์ความถี่สูงที่แฝงจะกลายเป็นสิ่งสำคัญอย่างยิ่ง เป้าหมายสูงสุดใน HFT คือการลดความล่าช้ามากที่สุดเท่าที่เป็นไปได้ที่จะลดการลื่นไถล การลดความล่าช้าที่เกี่ยวข้องกับการลด "ระยะทาง" ระหว่างระบบการซื้อขายอัลกอริทึมและการแลกเปลี่ยนที่ดีที่สุดที่มีคำสั่งจะถูกดำเนินการ นี้สามารถเกี่ยวข้องกับการลดระยะทางภูมิศาสตร์ระหว่างระบบซึ่งจะช่วยลดเวลาในการเดินทางไปตามสายเคเบิลเครือข่าย นอกจากนี้ยังสามารถมีส่วนร่วมลดการประมวลผลการดำเนินการในฮาร์ดแวร์เครือข่ายหรือการเลือกหลักทรัพย์ที่มีโครงสร้างพื้นฐานที่มีความซับซ้อนมากขึ้น โบรกเกอร์หลายแฝงแข่งขันในธุรกิจที่จะชนะ การลดความล่าช้าจะกลายเป็นราคาแพงมากขึ้นชี้แจงเป็นหน้าที่ของ "ระยะทางอินเทอร์เน็ต" ซึ่งถูกกำหนดให้เป็นเครือข่ายระยะทางระหว่างสองเซิร์ฟเวอร์ ดังนั้นสำหรับผู้ประกอบการค้าความถี่สูงประนีประนอมจะต้องมาถึงระหว่างค่าใช้จ่ายแฝงลดและกำไรจากการลดการลื่นไถล ปัญหาเหล​​่านี้จะมีการหารือในส่วนที่เกี่ยวกับ Colocation ด้านล่าง เลือกภาษา บางประเด็นที่ผลักดันทางเลือกภาษาได้รับการระบุไว้ ตอนนี้เราจะพิจารณาผลประโยชน์และข้อเสียของการเขียนโปรแกรมภาษาของแต่ละบุคคล ฉันได้ในวงกว้างแบ่งออกเป็นภาษาที่มีประสิทธิภาพสูง / พัฒนายากเทียบกับผลการดำเนินงานที่ต่ำกว่า / พัฒนาได้ง่ายขึ้น เหล่านี้เป็นคำอัตนัยและบางส่วนจะไม่เห็นด้วยขึ้นอยู่กับพื้นหลังของพวกเขา ด้านหนึ่งที่สำคัญที่สุดของการเขียนโปรแกรมสภาพแวดล้อม backtesting ที่กำหนดเองคือโปรแกรมที่มีความคุ้นเคยกับเครื่องมือที่ถูกนำมาใช้ สำหรับผู้ที่ยังใหม่กับภูมิทัศน์ภาษาการเขียนโปรแกรมต่อไปนี้จะชี้แจงสิ่งที่มีแนวโน้มที่จะนำไปใช้อัลกอริทึมที่อยู่ในการซื้อขาย C ++, C # และ Java C ++, C # และ Java เป็นตัวอย่างของจุดประสงค์ทั่วไปเชิงวัตถุการเขียนโปรแกรมภาษา ซึ่งหมายความว่าพวกเขาสามารถนำมาใช้โดยไม่ต้องบูรณาการการพัฒนาสภาพแวดล้อมที่สอดคล้องกัน (IDE) มีทั้งหมดข้ามแพลตฟอร์มมีความหลากหลายของห้องสมุดสำหรับเกือบทุกงานเท่าและช่วยให้ความเร็วในการทำงานอย่างรวดเร็วเมื่อใช้อย่างถูกต้อง หากการดำเนินการที่ดีที่สุดที่ความเร็วเป็นที่ต้องการแล้ว C ++ (หรือ C) มีแนวโน้มที่จะเลือกที่ดีที่สุด มันมีความยืดหยุ่นมากที่สุดสำหรับการจัดการหน่วยความจำและการเพิ่มประสิทธิภาพการดำเนินความเร็ว ความยืดหยุ่นนี้มาในราคาที่ C ++ เป็นเรื่องยุ่งยากที่จะเรียนรู้ได้ดีและมักจะนำไปสู่​​ข้อบกพร่องที่ลึกซึ้ง เวลาในการพัฒนาสามารถใช้เวลานานกว่าในภาษาอื่น ๆ แม้จะมีข้อบกพร่องเหล่านี้มันเป็นที่แพร่หลายในอุตสาหกรรมการเงิน C # และ Java จะคล้ายกันตั้งแต่พวกเขาทั้งสองต้องมีองค์ประกอบทั้งหมดที่จะเป็นวัตถุที่มีข้อยกเว้นของชนิดข้อมูลดั้งเดิมเช่นลอยและจำนวนเต็ม พวกเขาแตกต่างจากภาษา C ++ โดยการดำเนินการเก็บขยะอัตโนมัติ เก็บขยะจะเพิ่มค่าใช้จ่ายในการทำงาน แต่จะนำไปสู่​​การพัฒนาอย่างรวดเร็วมากขึ้น ภาษาเหล่านี้มีทั้งทางเลือกที่ดีในการพัฒนา backtester ที่พวกเขามีความสามารถในการ GUI พื้นเมืองห้องสมุดการวิเคราะห์เชิงตัวเลขและการดำเนินการอย่างรวดเร็วความเร็ว ส่วนตัวผมใช้ C ++ สำหรับการสร้าง backtesters เหตุการณ์ที่ขับเคลื่อนด้วยที่ต้องการความเร็วในการทำงานอย่างรวดเร็วมากเช่นระบบ HFT นี้เป็นเพียงถ้าผมรู้สึกว่าระบบเหตุการณ์ที่ขับเคลื่อนด้วยงูหลามได้ bottlenecked เป็นภาษาหลังจะเป็นตัวเลือกแรกของฉันสำหรับระบบดังกล่าว MATLAB วิจัยและ Python MATLAB เป็น IDE ที่เชิงพาณิชย์สำหรับการคำนวณตัวเลข จะได้รับการยอมรับทั้งในทางวิชาการด้านวิศวกรรมและภาคการเงิน แต่ก็มีห้องสมุดที่เป็นตัวเลขจำนวนมากสำหรับการคำนวณทางวิทยาศาสตร์ มันภูมิใจความเร็วในการทำงานอย่างรวดเร็วภายใต้สมมติฐานว่าขั้นตอนวิธีการใด ๆ ที่ได้รับการพัฒนาเป็นเรื่องที่ vectorisation หรือ parallelisation แม้จะมีข้อดีเหล่านี้จะมีราคาแพงทำให้มันน่าสนใจน้อยให้กับผู้ค้าปลีกในงบประมาณ MATLAB บางครั้งใช้สำหรับการดำเนินการโดยตรงไปยังนายหน้าซื้อขายหลักทรัพย์เช่นโบรกเกอร์ Interactive R คือสถิติเฉพาะสภาพแวดล้อมการเขียนสคริปต์ มันเป็นฟรีเปิดแหล่งข้ามแพลตฟอร์มและมีความมั่งคั่งของได้อย่างอิสระที่มีอยู่แพคเกจทางสถิติสำหรับการดำเนินการวิเคราะห์ขั้นสูงมาก R ใช้กันอย่างแพร่หลายมากในสถิติของนักวิชาการและอุตสาหกรรมกองทุนป้องกันความเสี่ยงเชิงปริมาณ ขณะที่มันเป็นไปได้ที่จะเชื่อมต่อไปยังนายหน้าซื้อขายหลักทรัพย์ R จะไม่เหมาะกับงานและควรได้รับการพิจารณามากขึ้นของเครื่องมือในการวิจัย นอกจากนี้ยังขาดความเร็วในการทำงานนอกเสียจากการดำเนินงานจะ vectorised ผมได้จัดกลุ่มงูใหญ่ภายใต้หัวข้อนี้แม้ว่ามันจะตั้งอยู่ที่ไหนสักแห่งระหว่าง MATLAB วิจัยและภาษาวัตถุประสงค์ทั่วไปดังกล่าวข้างต้น มันเป็นฟรีเปิดแหล่งที่มาและข้ามแพลตฟอร์ม มันถูกตีความว่าเป็นตรงข้ามกับการรวบรวม ซึ่งจะทำให้มันกำเนิดช้ากว่า C ++ แต่ก็มีห้องสมุดสำหรับการดำเนินงานใด ๆ เกือบเท่าจากการคำนวณทางวิทยาศาสตร์ผ่านไปยังระดับต่ำการออกแบบเว็บเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งมันมี NumPy, SciPy, หมีแพนด้า, matplotlib scikit และการเรียนรู้ที่ให้สภาพแวดล้อมการวิจัยเชิงตัวเลขที่แข็งแกร่งว่าเมื่อ vectorised ก็เปรียบได้กับความเร็วในการทำงานภาษารวบรวม งูใหญ่ยังมีห้องสมุดสำหรับเชื่อมต่อกับโบรกเกอร์ นี้จะทำให้มันเป็น "ร้านหนึ่งหยุด" สำหรับการสร้างเหตุการณ์ที่ขับเคลื่อนด้วย backtesting และสภาพแวดล้อมในการดำเนินชีวิตอยู่ได้โดยไม่ต้องเข้าสู่ขั้นตอนอื่น ๆ ที่ซับซ้อนมากขึ้นภาษา ความเร็วในการทำงานเป็นมากกว่าเพียงพอสำหรับผู้ค้าระหว่างวันซื้อขายในช่วงเวลานาทีและเหนือ งูหลามเป็นตรงไปตรงมามากที่จะรับและเรียนรู้เมื่อเทียบกับภาษาในระดับต่ำกว่าเช่น C ++ ด้วยเหตุผลเหล่านี้เราจะใช้ที่กว้างขวางของงูใหญ่ที่อยู่ในบทความ QuantStart สภาพแวดล้อมการพัฒนา IDE คำที่มีความหมายหลายภายในซื้อขายอัลกอริทึม นักพัฒนาซอฟต์แวร์ใช้เพื่อหมายถึง GUI ที่ช่วยให้การเขียนโปรแกรมด้วยการเน้นไวยากรณ์เรียกดูไฟล์แก้จุดบกพร่องและคุณสมบัติการดำเนินการรหัส ผู้ค้าขั้นตอนใช้เพื่อหมายถึง backtesting ครบวงจร / สภาพแวดล้อมการค้ากับการดาวน์โหลดข้อมูลทางประวัติศาสตร์หรือเวลาจริงการสร้างแผนภูมิการประเมินผลทางสถิติและการดำเนินการถ่ายทอดสด สำหรับวัตถุประสงค์ของเราผมใช้คำว่าหมายถึง backtest ใด ๆ / สภาพแวดล้อมการค้ามักจะตาม GUI ที่ไม่ได้รับการพิจารณาวัตถุประสงค์การเขียนโปรแกรมภาษาทั่วไป ในขณะที่บางผู้ค้า quant อาจพิจารณา Excel เพื่อจะไม่เหมาะสมสำหรับการซื้อขายที่ฉันได้พบว่ามันจะมีประโยชน์อย่างมากสำหรับ "การตรวจสอบสุขภาพจิต" ผล ความจริงที่ว่าข้อมูลทั้งหมดสามารถใช้ได้โดยตรงในสายตาธรรมดาทำให้ตรงไปตรงมาที่จะใช้สัญญาณขั้นพื้นฐานมาก / กลยุทธ์การกรอง บำเหน็จเช่นโบรกเกอร์อินเทอร์ยังช่วยให้ DDE ปลั๊กอินที่ช่วยให้ Excel ที่จะได้รับข้อมูลการตลาดแบบ real-time และดำเนินการคำสั่งซื้อขาย แม้จะมีความสะดวกในการใช้ Excel ช้ามากสำหรับขนาดที่เหมาะสมใด ๆ ของข้อมูลหรือระดับของการคำนวณตัวเลข ฉันเท่านั้นที่ใช้ในการตรวจสอบข้อผิดพลาดเมื่อมีการพัฒนากับกลยุทธ์อื่น ๆ โดยเฉพาะอย่างยิ่งมันเป็นประโยชน์อย่างยิ่งสำหรับการตรวจสอบว่ากลยุทธ์เป็นเรื่องที่จะมองไปข้างหน้าอคติ นี่คือตรงไปตรงมาในการตรวจสอบใน Excel เนื่องจากลักษณะสเปรดชีตของซอฟต์แวร์ ถ้าคุณไม่สบายใจกับการเขียนโปรแกรมภาษาและมีการดำเนินการตามกลยุทธ์ interday แล้ว Excel อาจจะเป็นทางเลือกที่ดี พาณิชย์ / ซอฟท์แว Backtesting ค้าปลีก ตลาดสำหรับการสร้างแผนภูมิค้าปลีก "การวิเคราะห์ทางเทคนิค" และซอฟต์แวร์ backtesting การแข่งขันสูงมาก รูปแบบและบริการที่นำเสนอโดยซอฟต์แวร์ดังกล่าวรวมถึงการสร้างแผนภูมิเวลาจริงของราคาความมั่งคั่งของตัวชี้วัดทางเทคนิคที่กำหนดเอง langauges backtesting และการดำเนินการโดยอัตโนมัติ ผู้ขายบางคนให้เป็นแบบ all-in-one โซลูชั่นเช่น TradeStation TradeStation เป็นนายหน้าซื้อขายหลักทรัพย์ออนไลน์ซึ่งเป็นผู้ผลิตซอฟแวร์การซื้อขาย (หรือเรียกว่า TradeStation) ที่ให้ดำเนินการสั่งซื้ออิเล็กทรอนิกส์ทั่วสินทรัพย์หลายหลาย ผมอยู่ไม่รู้ของ API โดยตรงสำหรับการดำเนินการโดยอัตโนมัติ คำสั่งซื้อ แต่ต้องวางผ่านซอฟต์แวร์กุย นี้เป็นในทางตรงกันข้ามกับอินเตอร์แอคทีโบรกเกอร์ที่มีอินเตอร์เฟซที่ซื้อขาย leaner (ผู้ซื้อขาย WorkStation) แต่มีทั้งตลาดในเวลาจริงของพวกเขาที่เป็นกรรมสิทธิ์ / คำสั่ง API สำหรับการดำเนินการและอินเตอร์เฟซการแก้ไข อีกแพลตฟอร์มที่นิยมมากคือ MetaTrader ซึ่งจะใช้ในการซื้อขายแลกเปลี่ยนเงินตราต่างประเทศสำหรับการสร้าง 'ที่ปรึกษาผู้เชี่ยวชาญ' เหล่านี้เป็นสคริปต์ที่กำหนดเองที่เขียนในภาษาที่เป็นกรรมสิทธิ์ที่สามารถใช้สำหรับการซื้อขายโดยอัตโนมัติ ฉันไม่ได้มีประสบการณ์มากกับทั้ง TradeStation หรือ MetaTrader ดังนั้นฉันจะไม่ใช้เวลามากเกินไปของพวกเขาคุยกันเรื่องคุณธรรม เครื่องมือดังกล่าวจะเป็นประโยชน์ถ้าคุณไม่พอใจกับการพัฒนาซอฟต์แวร์ในเชิงลึกและต้องการจำนวนมากของรายละเอียดที่จะได้รับการดูแล แต่ด้วยระบบดังกล่าวเป็นจำนวนมากของความยืดหยุ่นเสียสละและคุณจะเชื่อมโยงมักนายหน้าเดียว โอเพนซอร์สและ Web-Based เครื่องมือ ทั้งสองได้รับความนิยมบนเว็บในปัจจุบันมีระบบ backtesting Quantopian และ QuantConnect อดีตทำให้การใช้งานของงูใหญ่ (และ ZipLine ดูด้านล่าง) ในขณะที่หลังใช้ c # ทั้งสองให้ความมั่งคั่งของข้อมูลทางประวัติศาสตร์ Quantopian ขณะนี้สนับสนุนการซื้อขายสดกับโบรกเกอร์ Interactive, ในขณะที่ QuantConnect ทำงานต่อการซื้อขายสด อัลโกผู้ประกอบการค้าเป็น บริษัท สวิสตามที่มีทั้งโอเพนซอร์สและใบอนุญาตการค้าสำหรับระบบของพวกเขา จากสิ่งที่ฉันสามารถรวบรวมการเสนอขายที่ดูเหมือนว่าค่อนข้างเป็นผู้ใหญ่และพวกเขามีลูกค้าสถาบันจำนวนมาก ระบบจะช่วยให้ backtesting ประวัติศาสตร์เต็มรูปแบบและการประมวลผลเหตุการณ์ที่ซับซ้อนและพวกเขาผูกเป็นอินเตอร์แอคทีโบรกเกอร์ ฉบับที่องค์กรมีคุณสมบัติที่มีประสิทธิภาพสูงมากขึ้น Marketcetera ให้ระบบ backtesting ที่สามารถผูกเป็นภาษาอื่น ๆ เป็นจำนวนมากเช่นงูหลามและอาร์ในการสั่งซื้อที่จะยกระดับรหัสที่คุณอาจจะมีเขียนไว้แล้ว ที่สตูดิโอกลยุทธ์ 'มีความสามารถในการเขียนโค้ด backtesting เช่นเดียวกับขั้นตอนวิธีการดำเนินการที่ดีที่สุดและต่อมาได้เปลี่ยนจาก backtest ประวัติศาสตร์ที่จะอยู่ค้ากระดาษ ฉันไม่ได้ใช้พวกเขาก่อน ZipLine เป็นห้องสมุดหลามที่อำนาจ Quantopian บริการดังกล่าวข้างต้น มันเป็นเหตุการณ์ที่ขับเคลื่อนอย่างเต็มที่สภาพแวดล้อม backtest และขณะนี้สนับสนุนหุ้นสหรัฐบนพื้นฐานพิถีพิถันบาร์ ฉันไม่ได้ทำใช้ที่กว้างขวางของ ZipLine แต่ฉันรู้ว่าคนอื่น ๆ ที่รู้สึกว่ามันเป็นเครื่องมือที่ดี ยังคงมีหลายพื้นที่ที่เหลือในการปรับปรุง แต่ทีมที่มีการทำงานอย่างต่อเนื่องในโครงการและมันจะยังคงแข็งขันมาก นอกจากนี้ยังมีบาง Github / Google Code เจ้าภาพโครงการที่คุณอาจต้องการที่จะมองเข้าไป ฉันยังไม่ได้ใช้จ่ายใด ๆ มากเวลาตรวจสอบพวกเขา โครงการดังกล่าวรวมถึง OpenQuant Tradelink และ PyAlgoTrade สถาบัน Backtesting ซอฟแวร์ เกรดระบบสถาบัน backtesting เช่น Deltix และ QuantHouse ไม่ได้มักจะใช้โดยผู้ค้าปลีกอัลกอริทึม ใบอนุญาตซอฟต์แวร์มักจะมีดีนอกงบประมาณสำหรับโครงสร้างพื้นฐาน ที่ถูกกล่าวว่าซอฟต์แวร์ดังกล่าวถูกนำมาใช้กันอย่างแพร่หลายโดยกองทุน quant บ้านซื้อขายที่เป็นกรรมสิทธิ์ของสำนักงานครอบครัวและชอบ ประโยชน์ของระบบดังกล่าวมีความชัดเจน พวกเขาให้แบบ all-in-one โซลูชั่นการจัดเก็บข้อมูลการพัฒนากลยุทธ์ backtesting ประวัติศาสตร์และการดำเนินการถ่ายทอดสดทั่วตราสารเดียวหรือพอร์ตการลงทุนเพิ่มขึ้นถึงระดับความถี่สูง แพลตฟอร์มดังกล่าวได้มีการทดสอบอย่างกว้างขวางและความอุดมสมบูรณ์ของ "ในสาขา" การใช้งานและเพื่อให้มีการพิจารณาที่แข็งแกร่ง ระบบนี้เป็นเหตุการณ์ที่ขับเคลื่อนด้วยและสภาพแวดล้อม backtesting มักจะสามารถจำลองสภาพแวดล้อมที่มีชีวิตอยู่ในระดับสูงของความถูกต้อง ระบบนี้ยังสนับสนุนการเพิ่มประสิทธิภาพขั้นตอนวิธีการดำเนินการที่พยายามที่จะลดต้นทุนการทำธุรกรรม นี่คือประโยชน์โดยเฉพาะสำหรับผู้ค้าที่มีฐานเงินทุนที่มีขนาดใหญ่ ผมต้องยอมรับว่าผมไม่ได้มีประสบการณ์มากของ Deltix หรือ QuantHouse ที่ถูกกล่าวว่างบประมาณเพียงอย่างเดียวทำให้พวกเขาออกจากการเข้าถึงของผู้ค้าปลีกส่วนใหญ่ดังนั้นฉันจะไม่อยู่ในระบบเหล่านี้ Colocation ภูมิทัศน์ซอฟแวร์สำหรับการซื้อขายขั้นตอนขณะนี้ได้รับการสำรวจ ตอนนี้เราสามารถหันความสนใจของเราที่มีต่อการดำเนินงานของฮาร์ดแวร์ที่จะดำเนินกลยุทธ์ของเรา ค้าปลีกผู้ประกอบการมีแนวโน้มที่จะได้รับการดำเนินการกลยุทธ์ของพวกเขาจากบ้านในช่วงเวลาที่ตลาด นี้จะเกี่ยวข้องกับการเปิดเครื่องคอมพิวเตอร์ของพวกเขาเชื่อมต่อไปยังนายหน้าซื้อขายหลักทรัพย์การปรับปรุงซอฟแวร์การตลาดของพวกเขาแล้วช่วยให้ขั้นตอนการดำเนินการโดยอัตโนมัติในระหว่างวัน ตรงกันข้ามกองทุน quant มืออาชีพที่มีสินทรัพย์ภายใต้การบริหารอย่างมีนัยสำคัญ (AUM) จะมีโครงสร้างพื้นฐานของเซิร์ฟเวอร์แลกเปลี่ยน colocated ทุ่มเทเพื่อที่จะลดความล่าช้าเท่าที่เป็นไปได้ที่จะดำเนินกลยุทธ์ความเร็วสูงของพวกเขา สก์ท็อปที่บ้าน วิธีที่ง่ายที่สุดในการใช้งานฮาร์ดแวร์เป็นเพียงการดำเนินการกลยุทธ์ของอัลกอริทึมกับคอมพิวเตอร์เดสก์ทอปที่บ้านเชื่อมต่อกับนายหน้าซื้อขายหลักทรัพย์ผ่านอินเทอร์เน็ตความเร็วสูง (หรือคล้ายกัน) การเชื่อมต่อ ในขณะที่วิธีนี้คือตรงไปตรงมาในการเริ่มต้นมันทนทุกข์ทรมานจากข้อบกพร่องหลาย เครื่องคอมพิวเตอร์เป็นเรื่องไฟฟ้​​าขัดข้องเว้นแต่ได้รับการสนับสนุนโดยยูพีเอส นอกจากนี้ในการเชื่อมต่ออินเทอร์เน็ตที่บ้านยังเป็นที่ความเมตตาของผู้ให้บริการอินเทอร์เน็ตที่ การสูญเสียพลังงานหรือความล้มเหลวการเชื่อมต่ออินเทอร์เน็ตที่อาจเกิดขึ้นในช่วงเวลาที่สำคัญในการซื้อขายออกจากผู้ประกอบการค้าอัลกอริทึมที่มีตำแหน่งที่เปิดที่ไม่สามารถที่จะปิด ปัญหานี้ยังเกิดขึ้นกับระบบปฏิบัติการรีสตาร์ทบังคับ (นี้ได้เกิดขึ้นจริงกับผมในการตั้งค่ามืออาชีพ!) และความล้มเหลวองค์ประกอบซึ่งนำไปสู่​​ปัญหาเดียวกัน ด้วยเหตุผลดังกล่าวข้างต้นที่ผมลังเลที่จะแนะนำวิธีการเดสก์ทอปที่บ้านกับการซื้อขายอัลกอริทึม หากคุณตัดสินใจที่จะไล่ตามวิธีการนี​​้ให้แน่ใจว่าจะมีทั้งคอมพิวเตอร์สำรองข้อมูลและการเชื่อมต่ออินเทอร์เน็ตสำรองข้อมูล (เช่น dongle 3G) ที่คุณสามารถใช้เพื่อปิดฐานะภายใต้สถานการณ์การหยุดทำงาน ระดับขึ้นต่อไปจากเดสก์ทอปของบ้านที่จะทำให้การใช้งานของเซิร์ฟเวอร์ส่วนตัวเสมือน (VPS) VPS ที่เป็นระบบเซิร์ฟเวอร์ระยะไกลวางตลาดมักจะเป็นเมฆ "" บริการ พวกเขามีราคาถูกกว่าเซิร์ฟเวอร์เฉพาะที่สอดคล้องกันตั้งแต่ VPS เป็นจริงพาร์ทิชันของเซิร์ฟเวอร์ที่มีขนาดใหญ่มาก พวกเขามีระบบปฏิบัติการที่แยกเสมือนสภาพแวดล้อม แต่เพียงผู้เดียวที่มีให้กับผู้ใช้แต่ละคน ภาระของ CPU ที่ใช้ร่วมกันระหว่างหลาย VPS และส่วนของแรมระบบจะจัดสรรให้ VPS นี่คือทั้งหมดที่ดำเนินการผ่านกระบวนการที่เรียกว่าระบบเสมือนจริง ผู้ให้บริการ VPS ที่พบบ่อย ได้แก่ Amazon EC2 และ Rackspace Cloud พวกเขาให้ระบบรายการระดับที่มี RAM ต่ำและการใช้งาน CPU ขั้นพื้นฐานไปจนถึงแรมสูงองค์กรพร้อมเซิร์ฟเวอร์ CPU สูง สำหรับส่วนของผู้ค้าปลีกระบบอัลกอริทึมรายการระดับพอเพียงสำหรับระหว่างวันความถี่ต่ำหรือกลยุทธ์ interday และขนาดเล็กฐานข้อมูลข้อมูลทางประวัติศาสตร์ ประโยชน์ของระบบ VPS ที่ใช้รวมถึง 24/7 (แม้จะมีการหยุดทำงานมีเหตุผลบางอย่าง!) ความสามารถในการตรวจสอบมีประสิทธิภาพมากขึ้นและง่าย "ปลั๊กอิน" เพื่อให้บริการเพิ่มเติมเช่นการจัดเก็บไฟล์หรือฐานข้อมูลการจัดการและสถาปัตยกรรมที่ยืดหยุ่น คืนหนึ่งเป็นค่าใช้จ่ายอย่างต่อเนื่อง ในฐานะที่เป็นระบบฮาร์ดแวร์เฉพาะเติบโตกลายเป็นที่ถูกกว่าต่อหน่วยของการปฏิบัติงาน จุดราคานี้อนุมาน colocation ห่างจากการแลกเปลี่ยน เมื่อเทียบกับความล่าช้าของระบบเดสก์ทอปที่บ้านไม่ได้ดีขึ้นเสมอโดยเลือกผู้ให้บริการ VPS สถานที่ตั้งบ้านของคุณอาจจะใกล้ชิดกับการแลกเปลี่ยนทางการเงินโดยเฉพาะอย่างยิ่งกว่าศูนย์ข้อมูลผู้ให้บริการคลาวด์ของคุณ นี้จะลดลงโดยการเลือก บริษัท ที่ให้บริการ VPS มุ่งเฉพาะสำหรับการซื้อขายอัลกอริทึมซึ่งตั้งอยู่ที่หรือใกล้แลกเปลี่ยน เหล่านี้มีแนวโน้มที่จะมีราคาสูงกว่าเป็นผู้ให้บริการ VPS ทั่วไปเช่น Amazon หรือ Rackspace แลกเปลี่ยน Colocation เพื่อที่จะได้รับการลดความล่าช้าที่ดีที่สุดมีความจำเป็นต้อง colocate เซิร์ฟเวอร์ทุ่มเทแลกเปลี่ยนโดยตรงที่ศูนย์ข้อมูล นี้เป็นตัวเลือกที่ราคาแพงเกือบทุกขั้นตอนผู้ค้าปลีกเว้นแต่พวกเขากำลังดีมากทุน มันเป็นเรื่องโดเมนของกองทุนเชิงปริมาณมืออาชีพหรือนายหน้าซื้อขายหลักทรัพย์ ที่ผมกล่าวถึงข้างต้นเป็นตัวเลือกที่สมจริงมากขึ้นคือการซื้อระบบ VPS จากผู้ให้บริการที่อยู่ใกล้กับการแลกเปลี่ยน ที่สามารถเห็นได้มีตัวเลือกมากมายสำหรับ backtesting การดำเนินการโดยอัตโนมัติและโฮสติ้งกลยุทธ์ กำหนดโซลูชั่นที่เหมาะสมขึ้นอยู่กับงบประมาณของความสามารถในการเขียนโปรแกรมระดับของการปรับแต่งต้องพร้อมใช้งานของสินทรัพย์ระดับและไม่ว่าการซื้อขายจะได้รับการดำเนินการบนพื้นฐานที่ร้านค้าปลีกหรือมืออาชีพ ไมเคิลฮอลล์มัวร์ ไมค์เป็นผู้ก่อตั้ง QuantStart และได้รับการมีส่วนร่วมในอุตสาหกรรมการเงินเชิงปริมาณสำหรับในช่วงห้าปีที่ผ่านมาส่วนใหญ่เป็นนักพัฒนา quant และต่อมาเป็นที่ปรึกษาผู้ประกอบการ quant สำหรับกองทุนป้องกันความเสี่ยง




No comments:

Post a Comment