Friday 14 July 2017

ซื้อขาย กลยุทธ์ matlab


Bitfinex ประกาศในวันนี้ว่าการทำสัญญาการทำเหมืองแร่เป็นผลิตภัณฑ์การค้าบนแพลตฟอร์มของตน รวม 100 THS (เทอร์เรียสต่อวินาที) ที่หมดอายุภายในระยะเวลา 3 เดือนนับจากนี้พร้อมสำหรับการซื้อขายภายใต้ชื่อ TH1BTC 100 THS เป็นส่วนหนึ่งของสระน้ำที่มีขนาดใหญ่กว่า 3500 THS ดังนั้นสัญญาการทำเหมืองอาจมีขึ้นในอนาคต น่าสนใจนี่เป็นครั้งแรกที่ทำสัญญาเหมืองแร่ได้ การบอกเลิกสัญญาเหมืองแร่หมายถึงการได้รับปริมาณ Bitcoin ตอนนี้ (ราคาที่เราขายได้) และจ่ายเงินปันผลใน Bitcoin ต่อไปในอีก 3 เดือนจนกว่าสัญญาจะหมดอายุในกลางเดือนธันวาคม มีกำไรถ้าผลรวมของเงินปันผลทั้งหมดที่จ่ายออก (รวมดอกเบี้ยที่เราจ่ายให้กับสัญญาฉบับย่อ) จะน้อยกว่าที่เราได้รับเมื่อเริ่มขายสัญญา (ให้กับบุคคลอื่นอย่างเห็นได้ชัด) ซึ่งหมายความว่าราคาของ TH1BTC จะขึ้นอยู่กับตัวแปร 3 ตัวแปร (ลำดับความสำคัญลดลง): การเปลี่ยนความยากลำบากในการทำเหมืองแร่จนถึงวันที่ 15 ธันวาคมเวลาที่เหลือจนถึงวันที่ 15 ธันวาคมอัตราดอกเบี้ย (อัตราแลกเปลี่ยน) หากความยากลำบากในการจ่ายเงินปันผลมีน้อยลง THS แสดงถึงส่วนแบ่งที่น้อยกว่าของทั้งเครือข่าย hashing power ดังนั้นราคาของหนึ่งสัญญาจะลดลงหากความยากลำบากเพิ่มขึ้น ใกล้จะถึงไข้ไข้ Bitcoins จะมีความคิดทั้งหมด 1 THS ดังนั้นราคาของหนึ่งสัญญาควรจะลดลงใกล้ที่เราได้รับการหมดอายุและถึงราคา 0 เมื่อหมดอายุ ยิ่งอัตราดอกเบี้ยสูงเท่าไหร่ก็ยิ่งต้องทำสัญญาและทำสัญญาตลอด 3 เดือน Bitfinex ไม่เสนอสัญญาแลกเปลี่ยนระยะเวลา 90 วันดังนั้นการทำสัญญาโดยมีเป้าหมายที่จะถือครองไว้จนกว่าจะถึงสิ้นปีมีความเสี่ยงด้านอัตราดอกเบี้ยค่อนข้างน้อยเพราะในบางจุดต้องมีการแลกเปลี่ยนใหม่ (ในอัตราดอกเบี้ยที่อาจไม่เอื้ออำนวย) นี่เป็นปัญหาที่เกิดขึ้นน้อยมากเมื่อไปนาน (อัตรา Bitcoin มักต่ำ) เมื่อเทียบกับระยะเวลาสั้น ๆ (มีเพียงสัญญาสูงสุด 100 ฉบับเท่านั้นที่ไม่มีการลัดวงจร) เพื่อชดเชยความเสี่ยงราคาควรเพิ่มขึ้นเมื่ออัตราแลกเปลี่ยนเพิ่มขึ้น ความไม่รู้จักใหญ่คือการเปลี่ยนแปลงความยากลำบากในการทำเหมืองแร่ในอีก 90 วันข้างหน้า ในรูปต่อไปนี้เราจะดูว่าปัญหามีการเปลี่ยนแปลงอย่างไรในช่วง 6 เดือนที่ผ่านมา ข้อมูลนี้มาจาก Tradeblock และแสดงให้เห็นถึงการเปลี่ยนแปลงในอดีตของความยากลำบาก (ความยากลำบากเปลี่ยนแปลงทุก 14 วันขึ้นอยู่กับอัตราที่ผ่านมา) ข้อมูลเพิ่มเติมสามารถพบได้ในวิกิพีเดีย) แต่ยังมีข้อมูลสถิติสรุปขั้นพื้นฐาน โดยเฉลี่ยความยากลำบากได้เพิ่มขึ้น 27 ในช่วง 30 วันที่ผ่านมาและ 77 ในช่วง 60 วันที่ผ่านมา ในการประมาณราคายุติธรรมของ TH1BTC เราจะสมมติว่าความยากลำบากจะเพิ่มขึ้นเฉลี่ย 15 เดือนต่อเดือนในอีก 3 เดือนข้างหน้า ปัจจุบันราคาซื้อหนึ่งสัญญา 1 THS คือ 2 BTC ค่าธรรมเนียมสระว่ายน้ำเท่ากับ 3 และเราจะละเว้นอัตราดอกเบี้ย การเติมข้อมูลทั้งหมดที่เราได้รับจะเป็นผลต่อไปนี้: ถ้าเราทำสัญญาระยะยาวกับสมมติฐานของเราเราจะทำให้ขาดทุนประมาณ 0.39 Bitcoin (มีความเป็นจริงมากขึ้นเนื่องจากเราจะเริ่มทำเหมืองในกลางเดือนกันยายนจนถึงกลาง ของเดือนธันวาคม) เนื่องจากเงินปันผลที่คาดว่าจะได้รับ (รายได้ต่อเดือน) จะไม่ครอบคลุมค่าใช้จ่ายเริ่มแรกของเราที่ 2 BTC ก่อนหมดอายุสัญญา ในทางตรงกันข้ามการที่ราคา 2 Bitcoin จะมีกำไรประมาณ 0.39 Bitcoin ต่อสัญญา โปรดจำไว้ว่าเราไม่ได้รวมค่าใช้จ่ายในการแลกซึ่งปัจจุบันอยู่ที่ประมาณ 1 ครั้งต่อวัน () มีสองวิธีในการดูผลลัพธ์ อาจกล่าวได้ว่าราคาของ TH1BTC มีมูลค่าสูงเกินไปและควรใกล้เคียงกับประมาณ 1.5 BTC ถ้าเราสมมติว่าปัญหาจะเพิ่มขึ้นมากกว่า 15 ต่อเดือนแล้วราคาอาจต่ำกว่านี้ หรือเราอาจกล่าวได้ว่าตลาดมีประสิทธิภาพและราคาถูกต้องซึ่งจะบ่งบอกว่าตลาดคาดว่าจะลดลงโดยเฉลี่ยประมาณ 2 ครั้งต่อเดือนในอีก 90 วันข้างหน้า ทั้งสองวิธีนี้ผลลัพธ์จะเป็นที่ทราบแน่ชัดภายใน 90 วัน พยายามดิ้นรนเพื่อฟื้นตัวจากความผิดพลาดของ Bitcoin ล่าสุดที่เกิดขึ้นใน Bitfinex เพียงสี่วัน ราคาหุ้นของ Bitcoin ปรับตัวลงแรงอีกครั้งในวันนี้เนื่องจากผู้ค้ำประกันได้รับตำแหน่งจาก BTC-e เหตุการณ์เริ่มขึ้นเมื่อเวลา 1:36 น. (UTC1) เมื่อคำสั่งซื้อที่มีขนาดใหญ่เริ่มปรากฏตัวขึ้นใน BTC-e Bitcoin ที่ใหญ่เป็นอันดับสามของประเทศ โมเมนตัมลดลงอย่างต่อเนื่องเนื่องจากคำสั่งซื้อมีความผันผวนมากขึ้นส่งผลให้ราคาลดลงเป็น 309 เหรียญต่อ Bitcoin เวลา 1.43 น. ในช่วงต่อไปนี้ราคาปรับตัวขึ้นเล็กน้อยเมื่อเทียบกับระดับบาง ๆ กลับไปที่ประมาณ 442 เหรียญสหรัฐฯเนื่องจากผู้ค้าที่เก็งกำไรเริ่มใช้ประโยชน์จากส่วนลดที่ลดลงเมื่อเทียบกับตลาดหุ้นอื่น ๆ BTC-e เป็นหนึ่งในการแลกเปลี่ยนขนาดใหญ่ที่มีการซื้อขายหลักทรัพย์แบบ margin ให้กับลูกค้าผ่านทางแพลตฟอร์ม MetaTrader ตั้งแต่เดือนพฤศจิกายน 2013 แต่รายละเอียดของผู้ที่ต้องการให้เงินทุนที่จำเป็นสำหรับการซื้อขายหลักทรัพย์ยังคงไม่ชัดเจน รูปร่างและระยะเวลาโดยเฉพาะอย่างยิ่งของจุดชนต่อผู้ค้าหลักทรัพย์ที่ถูกเลิกกิจการ (หรือหยุดคำสั่งที่กำลังดำเนินการ) คล้ายคลึงกับสิ่งที่เกิดขึ้นใน Bitfinex เมื่อสองสามวันก่อน อย่างไรก็ตามไม่เหมือน Bitfinex ซึ่งโปร่งใสเกี่ยวกับตำแหน่ง swap แบบเปิด BTC-e ไม่ได้ให้ข้อมูลที่สำคัญซึ่งจำเป็นต้องใช้เพื่อให้การวิเคราะห์อย่างละเอียดมากขึ้นและด้วยเหตุนี้คำแถลงสุดท้ายนี้จึงถือได้ว่าเป็นการคาดเดาที่ดีเท่านั้น ซึ่งแตกต่างจาก Bitfinex ซึ่งอาศัยอัลกอริทึมที่ซ่อนอยู่ในความพยายามในการควบคุมการสั่งซื้อ BTC-e ดูเหมือนจะไม่มีมาตรการป้องกันพิเศษเพื่อบรรเทาเหตุการณ์ดังกล่าว ลดลงต่ำกว่า 400 เป็นเพราะขาดการเสนอราคาในการสั่งซื้อและไม่ได้เพราะตลาดเชื่อว่ามูลค่าที่แท้จริงต่ำกว่า 400 เป็นการฟื้นตัวกลับไปกว่า 440 เพียงไม่กี่นาทีต่อมาได้รับการพิสูจน์โดยทั่วไป ดังนั้นการระงับการซื้อขายระหว่างความผันผวนที่ลดลงอย่างมากอาจช่วยหลีกเลี่ยงการนองเลือดระหว่างผู้ค้ากำไรโดยการให้ผู้เข้าร่วมการตลาดอื่น ๆ มีเวลามากขึ้นในการทำให้คำสั่งซื้อมีความหนาแน่นมากขึ้น อัปเดต 16:58 น. (UTC1): BrCapoeira โพสต์บน Reddit กราฟที่น่าสนใจซึ่งอิงจากข้อมูลจากแพลตฟอร์ม Metatrader: กราฟนี้อนุมานได้ว่าคำสั่งซื้อครั้งใหญ่เป็นสาเหตุของเหตุการณ์นี้ ไม่ว่าคำสั่งซื้อนี้จะถูกสร้างขึ้นเนื่องจากการเรียกมาร์จินผิดพลาดง่ายๆในการจัดการตลาดหรือเพื่อเปิดตำแหน่งสั้น ๆ ที่มีขนาดใหญ่ยังคงไม่ชัดเจน สามัญสำนึกจะชี้ให้เห็นว่ามันอาจเป็นผลมาจากการเรียกมาร์จินของผู้ประกอบการค้ารายใหญ่คนเดียว โพสต์ก่อนหน้าของฉันในหัวข้อนี้ได้รับการเลี้ยงดูในระหว่างการอภิปรายในผลพวงของความผิดพลาดแฟลช Bitcoin ล่าสุด Coindesk เป็นหนึ่งในคนแรกที่หยิบมันขึ้นมาและตั้งแต่นั้นเป็นต้นมามีการโพสต์ต่างๆเกี่ยวกับความโปร่งใสและความรับผิดชอบที่เป็นไปได้ของการแลกเปลี่ยนเพื่อจัดการการสั่งซื้ออย่างกระตือรือร้นเริ่มปรากฏขึ้น อันเป็นผลมาจากเหตุการณ์เหล่านั้น Josh Rossi รองประธานฝ่ายพัฒนาธุรกิจที่ Bitfinex ได้ดำเนินการ Reddit เพื่อเปิดเผยประเด็นปัญหาบางอย่างที่นำมาสู่การแลกเปลี่ยน ข้อเท็จจริงที่เรารู้ก็คือมีคำสั่งขายจำนวนมากก่อนที่เหตุการณ์ดังกล่าวจะเริ่มต้นเช่นคำสั่งซื้อ 500 รายการใน Bitstamp เวลา 9.49 น. (UTC1) ประมาณ 6 นาทีก่อนคำสั่งซื้อขนาดใหญ่ใน Bitfinex ทำให้เกิดความผิดพลาด อย่างไรก็ตามข้อมูลไม่ได้บอกเราว่าเป็นการซื้อขายภายในหรือรูปแบบการจัดการตลาดบางรูปแบบ หรือผิดพลาดง่ายๆ ความจริงก็คือหลังจากที่ Bitcoin flash swap เปลี่ยนตำแหน่งลดลงจากประมาณ 28 เมตรเป็น 24 เมตรซึ่งบ่งบอกถึง 8400 ตำแหน่งระยะขอบยาวถูกปิด (สมมติว่ามีค่าเฉลี่ย 475) ในลักษณะเดียว (margin call) หรืออีกทางหนึ่ง (stop order hit) ข้อมูลไม่ได้บอกเราว่ามีอัตราส่วนอย่างไร แต่อ้างอิงจาก Josh มีการขาย Bitcoins ประมาณ 650 ชิ้นอันเนื่องมาจากการเรียกมาร์จิน Jonathan Levin ชี้แจงอย่างถูกต้อง ความจริงก็คือการเริ่มต้นประมาณ 24 ชั่วโมงก่อนความผิดพลาดแฟลช Bitcoin จนกว่าความผิดพลาดของตัวเองเพิ่มอีก 1000 Bitcoins ถูกนำออกมาในตำแหน่งที่สั้นและประมาณ 2500 กางเกงขาสั้นถูกปิดในภายหลังในช่วงการแข่งขัน ไม่ว่าจะเป็นกางเกงขาสั้นเหล่านี้ถูกเปิดเพื่อป้องกันตำแหน่งที่มีอยู่เนื่องจากความพยายามที่เป็นอันตรายในการเรียกมาร์จินหรือวิธีการดำเนินการตลาดโดยใช้ข้อมูลส่วนตัวไม่สามารถระบุได้จากข้อมูลที่มีอยู่ สิ่งที่ไม่คาดคิดโดยส่วนตัวจุดที่น่าสนใจไม่ใช่ว่า Bitcoin flash เกิดข้อผิดพลาด ความผันผวนของราคาในทันทีที่เกิดขึ้นในอดีตและจะเกิดขึ้นในอนาคตโดยเฉพาะอย่างยิ่งในตลาดที่ไม่มีสภาพคล่องเช่น Bitcoin จุดที่น่าสนใจคือการมีส่วนร่วมของ Bitfinex และวิธีที่พวกเขามีการจัดการคำสั่งซื้อโดยไม่แจ้งให้ผู้ลงทุนในตลาดทราบล่วงหน้า เครื่อง Bitfinex ไม่หยุดทำงานในระหว่างการแข่งขันทั้งหมดแม้ว่าจะชะลอตัวลง (แต่ไม่มีที่ไหนเลยเลวร้ายไปกว่าความล่าช้าในการสั่งซื้อ 70 นาทีที่เสียไปกับการแลกเปลี่ยน MtGox ที่หยุดทำงานในขณะนี้ในระหว่างการแข่งขันในปี 2012) อย่างไรก็ตามสิ่งที่ Bitfinex ทำคือการนำเสนอสิ่งที่พวกเขาเรียกว่ากระแทกเร็ว ความหมายคือการทำเครื่องหมายคำสั่งที่พวกเขาเห็นว่าไม่ถูกต้องหรืออาจเป็นอันตรายและชะลอการลงโดยเจตนา ตอนแรกอาจดูเหมือนเป็นความคิดที่ดี ใครไม่ต้องการตัวกรองเพื่อลบหรือชะลอคำสั่งที่เป็นอันตรายอย่างไรก็ตามบ่อยครั้งที่มีสิ่งเหล่านี้อยู่ในรายละเอียด ปัญหาคือ Bitfinex ไม่ได้ (และอาจจะไม่เคย) จะเปิดเผยต่อสาธารณชนว่าพวกเขาจัดหมวดหมู่ของคำสั่งซื้อเป็น 8220bad8221 และ 8220 ให้ลดลง 8221 หากผู้มีส่วนร่วมในตลาดตัดสินใจที่จะยื่นคำสั่งซื้อที่มีขนาดใหญ่กับใบสั่งซื้อที่บางแล้วก็ให้ถือว่าการตัดสินใจของเขา การกระทำของเขามีเจตนาหรือไม่ว่าจะไม่ถึงการแลกเปลี่ยนเพื่อตัดสินใจ อาจเป็นได้ว่าผู้มีส่วนร่วมในตลาดนี้เป็นเพียงคนแรกที่ตอบสนองต่อเหตุการณ์ใหญ่ ๆ และเต็มใจที่จะรับภาระค่าใช้จ่ายเพิ่มเติมในการปรับตัวขึ้นของราคาที่คาดว่าจะเกิดขึ้น มีเพียงไม่ได้มีวิธีการอย่างถูกต้องจำแนกคำสั่ง priori เป็น 8220good8221 หรือ 8220bad8221 เนื่องจากจะถือว่าความรู้ของเหตุการณ์ในอนาคตทั้งหมดโดยทันที สิ่งที่สามารถปรับปรุงข้อผิดพลาด (8220 นิ้ว finger8221, อัลกอริทึมความหายนะ) เกิดขึ้นขอบได้รับการเรียกและคนพยายามที่จะเล่นเกมในทุกวิถีทาง ในทางตรรกะจะต้องมีการป้องกันในสถานที่เพื่อปกป้องตลาดและผู้เข้าร่วม Bitfinex ตระหนักถึงศักยภาพของการสั่งซื้อที่เป็นพิษและการเตรียมมาตรการตอบโต้ สิ่งเดียวที่พวกเขาลืมคือแจ้งให้ลูกค้าทราบเกี่ยวกับคุณลักษณะด้านความปลอดภัยที่ซ่อนอยู่ การซ่อนการป้องกันเหล่านี้จากสาธารณะเพิ่มความไม่แน่นอนให้กับตลาด (โดยเฉพาะตอนที่เรารู้ว่ามีอยู่และบางครั้งก็ทำอะไรบางอย่าง) และทำให้ผู้ค้าทุกรายวางใจในมือของ Bitfinex ณ จุดนี้ผู้ประกอบการค้าสามารถหวังว่า Bitfinex จะทำตามความตั้งใจที่ดีที่สุดของลูกค้าของตน หวังว่าอาจจะไร้ประโยชน์แม้ว่าตั้งแต่ Bitfinex ทำเงินจากค่าธรรมเนียมการซื้อขายอิสระไม่ว่าจะเป็นผู้ประกอบการค้าจริงทำให้เงินใด ๆ หนึ่งไม่ต้องคิดนานตระหนักถึงศักยภาพที่ซ่อนอยู่สำหรับการละเมิดในระบบดังกล่าว เหตุผลหลักที่นำขึ้นโดย Josh ทำไม Bitfinex ไม่ได้ตั้งใจจะเผยแพร่อัลกอริทึมของพวกเขาคือการหลีกเลี่ยงการให้ผู้ค้ามีโอกาสที่จะใช้มันเป็นเรื่องหลอกลวงและต่อไปนี้แสดงให้เห็นว่าทำไม เป็นตลาดจำหน่ายอย่างเป็นทางการของ NASDAQ ที่โพสต์ออนไลน์และโปร่งใสสำหรับผู้เข้าร่วมตลาดทุกราย กฎเหล่านี้ไม่สมบูรณ์แบบ แต่เป็นเรื่องง่ายโปร่งใสและทำงานให้กับตลาดหุ้นใหญ่ที่สุดแห่งหนึ่งในโลก ตอนนี้ฉันมีความเคารพอย่างสูงสำหรับคนที่ทำงานบนแพลตฟอร์ม Bitfinex แต่ฉันสงสัยว่าพวกเขาสามารถจัดการอัลกอริธึมที่ปกป้องผู้เข้าร่วมการตลาดได้ดีกว่าที่เคยใช้โดยการซื้อขายแลกเปลี่ยนที่สำคัญกว่า 900 ล้านหุ้นต่อวันโดยเฉลี่ย . และถ้าเป็นเช่นนี้ก็เป็นโอกาสสำหรับ Bitfinex ที่จะพิสูจน์ให้โลกเห็นได้ชัดและอาจเขียนประวัติศาสตร์โดยการสอนเด็กชายใหญ่ว่าจะดำเนินการแลกเปลี่ยนอย่างถูกต้องได้อย่างไร เมื่อพูดถึงความโปร่งใสการแลกเปลี่ยนสาธารณะเป็นสิ่งจำเป็นไม่ใช่แค่สำหรับ Bitfinex แต่สำหรับการแลกเปลี่ยนใด ๆ ผู้เข้าร่วมตลาดต้องรู้อย่างแน่ชัดว่าจะเกิดอะไรขึ้นเมื่อพวกเขาสั่งซื้อสินค้าและไม่ควรเชื่อมั่นในศรัทธาเพียงอย่างเดียว การป้องกันเป็นสิ่งสำคัญเนื่องจากอุบัติเหตุเกิดขึ้นและเกิดความผิดพลาดในตลาด แต่ก็ไม่ถึงการแลกเปลี่ยนเพื่อให้มีส่วนร่วมในการเลือกปฏิบัติอย่างลับๆ มีวิธีต่าง ๆ ในการปกป้องตลาดการเงินและไม่มีนโยบายใดที่เหมาะสม การเพิ่มความซับซ้อนมักเพิ่มโอกาสสำหรับผลข้างเคียงที่ไม่ได้ตั้งใจและด้วยเหตุนี้วิธีง่ายๆและโปร่งใสจึงมีความเหมาะสมกว่าการซ่อนที่ซับซ้อน สองเดือนที่ผ่านมา BitMEX ลดค่าธรรมเนียมการซื้อขายของพวกเขาเป็น 0 และฉลองมันด้วยการปล่อยตลาดพื้นฐานที่ทำให้บอทใน Github ขณะนี้ BitMEX กำลังดำเนินการกับความท้าทายทางการค้าจนถึงวันที่ 29 สิงหาคม 2014 เพื่อโปรโมตแพลตฟอร์มใหม่ของตน การปล่อย bot การทำเครื่องหมายตลาดอาจเป็นวิธีที่น่าสนใจและมีประสิทธิภาพในการเพิ่มการเข้าชม API และทดสอบความเครียดบนแพลตฟอร์มเล็กน้อย แน่นอนฉัน couldn8217t ต่อต้านและได้ดู Market-maker เป็นค่อยๆปิด Liquidbot ซึ่งเดิมได้รับการออกแบบให้ทำงานบนการแลกเปลี่ยน MtGox ในปัจจุบัน มีการเปลี่ยนแปลงเล็ก ๆ น้อย ๆ (API ใหม่เพื่อเชื่อมต่อกับ BitMEX การพิมพ์เพิ่มเติมเพื่อคอนโซลการเปลี่ยนแปลงเพื่อปรับให้เข้ากับสัญญาซื้อขายล่วงหน้าและการพิมพ์ขนาดใหญ่และไม่จำเป็นเพื่อควบคุมเมื่อเริ่มต้นใช้งาน) แต่ไม่มีการเปลี่ยนแปลงอย่างมีนัยสำคัญต่อตรรกะทางการค้า อัลกอริทึมจะใช้ REST และตรวจสอบการเปลี่ยนแปลงทุกๆ 60 วินาทีเท่านั้น การทำเช่นนี้ทำให้บอทเสียสิทธิ์แล้วเนื่องจากจำเป็นที่จะต้องตอบสนองต่อการเปลี่ยนแปลงอย่างต่อเนื่องของคำสั่งซื้อ BitMEX จำกัด การร้องขอไปยัง REST API เป็น 150 ต่อ 5 นาทีเพื่อให้คุณสามารถลดเวลา 60 วินาทีลงได้เช่น 3 แต่จะเปลี่ยนความจริงได้ว่าทันทีที่ตลาดเริ่มเคลื่อนย้ายคุณจะได้รับการ จำกัด และติดอยู่กับตำแหน่งที่เปิดอยู่ เป็นธรรม BitMEX ให้บอทเพิ่มเติมเป็นความสามารถทางการตลาดและระบุอย่างชัดเจนว่าการเปลี่ยน WebSocket จะเป็นประโยชน์อย่างมากเนื่องจากช่วยให้สามารถอัปเดตเรียลไทม์ได้ โดยรวมแล้วอัลกอริทึมจะเขียนได้อย่างสมบูรณ์เทคนิคในการทำงานและติดตั้งได้ง่าย แต่จะทำให้คุณได้รับเงินในระยะยาว ถ้ามีคนคิดอย่างจริงจังในการใช้บอตนี้ฉันขอแนะนำให้มีการเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ต่อไปนี้เพื่อให้โค้ดสามารถใช้งานได้มากขึ้น: 1. เปลี่ยน Websocket 2. ออกจากตำแหน่งเมื่อใกล้เคียง: 3. สร้างคำสั่งซื้อที่เริ่มต้นจากจุดกึ่งกลาง: นอกจากนี้ฉันจะแนะนำให้วัด ความผันผวนในบางวิธีและปรับระยะห่างระหว่างคำสั่งซื้อแบบไดนามิกและขนาด ในระหว่างการทดสอบ API มีการตอบสนองและถูกต้องเสมอ ปริมาณการซื้อขายยังคงต่ำ แต่ปัจจัยพื้นฐานของแพลตฟอร์มมีแนวโน้มสดใส บอทนี้เป็นเครื่องมือที่สนุกในการแนะนำผู้ใช้เข้าสู่โลกของการทำตลาดและการซื้อขายแบบอัลกอริธึม แต่จะมีโอกาสเกิดขึ้นกับอัลกอริทึมที่ได้รับการยอมรับ หมายเหตุ: หากคุณพิจารณาใช้อัลกอริทึมนี้โปรดทราบว่าการทำตลาดเป็นงานเต็มเวลา อะไรที่น้อยกว่าความทุ่มเทอย่างสมบูรณ์เวลาตอบสนองที่รวดเร็วและ 100 เวลาทำงานจะทำให้คุณเสียเงิน แก้ไข: ติดตามผลพวงที่นี่ในวันนี้ราคา Bitcoin ปรับตัวลดลงเนื่องจากผู้ค้าหลักทรัพย์ที่เป็นหนึ่งในการแลกเปลี่ยนที่ใหญ่ที่สุดของ Bitfinex ได้รับการชำระบัญชีแล้ว สำหรับนักสังเกตการณ์ตลาดที่ใกล้ชิดและผู้ค้าที่ซับซ้อนมากขึ้นนี้ไม่ได้เป็นเรื่องแปลกใจ ในความเป็นจริงแล้วตำแหน่งที่ยาวได้รับการสร้างขึ้นอย่างต่อเนื่องในช่วง 2-3 เดือนที่ผ่านมาโดยคาดว่าจะมีฟองใหม่ในราคาของ Bitcoin และสูงถึง 30 เมตรในตำแหน่ง swap ที่โดดเด่นใน Bitfinex ตอนนี้ wouldn8217t จะเป็นปัญหาทั้งหมดด้วยตัวเองตราบเท่าที่มีทุนสนับสนุนเงินกู้ยืมเพียงพอ แต่น่าเสียดายที่ตำแหน่งที่ยาวที่สุดเหล่านี้ได้รับการป้อนประมาณ 600 8211 640 USDBTC และหลักประกันส่วนใหญ่มีให้ใน Bitcoins เอง แผนภูมิต่อไปนี้แสดงให้เห็นถึงการสะสมตัวของตำแหน่งที่ยาวนานโดยมีจุดสูงสุดประมาณวันที่ 14 กรกฎาคมโดยอยู่ใกล้กับสัญญาซื้อขายล่วงหน้า 32 เมตร ใช้คณิตศาสตร์บางอย่างรวดเร็วขึ้นอยู่กับอัตราการบำรุงรักษาของ Bitfinex เป็น 13 และสมมติว่า Bitcoin เป็นหลักประกันเราพบว่าการเรียกใช้มาร์จินจะเริ่มต้นรอบเครื่องหมาย 520,811 540 USDBTC เมื่อวานนี้ราคาพุ่งขึ้นและวันนี้ก็กระโดดขึ้นเหนือหน้าผา ปัญหาคือเมื่อมีการเรียกใช้มาร์จินในการตั้งค่าคุณจะมีผลต่อเนื่องที่ทำให้เกิดการฉีกขาดผ่านหนังสือสั่งซื้อซึ่งทำให้มีคำสั่งซื้อเพิ่มมากขึ้นเพื่อให้บรรลุจุดที่ไม่มีผลตอบแทนและเพิ่มโมเมนตัมการลดลงอีก เหตุการณ์เหล่านี้ไม่ได้ จำกัด เฉพาะการแลกเปลี่ยน Bitcoin แต่อาจเกิดขึ้นได้ในการแลกเปลี่ยนที่สำคัญเช่นในช่วงเหตุการณ์แฟลชในสหรัฐฯในปี 2010 สาเหตุของการดังกล่าวแฟลช crashe สามารถแตกต่างกันและไปจากข้อผิดพลาดของนิ้วไขมันในการเขียนโปรแกรมข้อผิดพลาดไป cascading margin โทร เป็นที่น่าสนใจเพื่อดูว่าการแลกเปลี่ยนจัดการกับเหตุการณ์เหล่านี้อย่างไร ในสหรัฐอเมริกา Nasdaq ใช้เบรกเกอร์วงจรตลาดซึ่งจะทำให้การซื้อขายหยุดลงภายใต้สถานการณ์ที่รุนแรงเช่นนี้ ตลาด Bitcoin ยังไม่เป็นที่สูงและมักจะดำเนินการต่อการซื้อขาย ถ้าเราดูคำสั่งใน Bitfinex วันนี้เราจะเห็นบางอย่างแปลกประหลาดมาก: ดูเหมือนว่า (และนี่เป็นเพียงการคาดเดาเนื่องจากไม่มีความคิดเห็นอย่างเป็นทางการจากการแลกเปลี่ยน) เช่นถ้า Bitfinex กำลังเรียกใช้อัลกอริทึมเพื่อจัดการการเรียกใช้มาร์จิน ขั้นตอนเริ่มขาย แต่ จำกัด ตัวเองให้ลดลง 10 ราคาภายใน 1 นาที หากราคาลดลงมากกว่า 10 ใน 1 นาทีจะหยุดการขายและรอคำสั่งซื้อเข้ามาเมื่อมีคำสั่งซื้อในใบสั่งซื้ออีกจำนวนหนึ่งอัลกอริทึมจะเริ่มขายอีกครั้งจนกว่าจะมีการเรียกใช้มาร์จินทั้งหมด แก้ไข: LeMogawai เป็นคนแรกที่ชี้ให้เห็นในโพสต์นี้และสอดคล้องกับการสังเกตส่วนตัวของฉันในช่วงเวลาของงาน นี้น่าจะเป็นวิธีที่น่าสนใจในการจัดการกับการเรียกเลขหมายแบบเรียงซ้อน (Cascading Margin Call) แต่ยังถือได้ว่าเป็นการบริหารจัดการตลาดแดนจากด้านการแลกเปลี่ยน โดยการกระจายใบสั่งซื้อออกไปในช่วงเวลาที่ผ่านมาโมเมนตัมการลดลงจะลดลง แต่ผู้ค้าจะจบการซื้อขายกับตลาดหลักทรัพย์เองไม่ใช่ตลาดอีกต่อไป การแลกเปลี่ยนมีข้อได้เปรียบในการให้ข้อมูลที่จุดนั้นและมีแนวโน้มที่จะทำกำไรมากกว่าผู้ค้า โชคดีที่นี้กินเวลาประมาณ 10 นาทีหลังจากที่การควบคุมได้รับกลับไปที่ตลาด การซื้อขายอื่น ๆ ที่มีการซื้อขายส่วนต่างเช่น BTC-e และ OKcoin อยู่ในสถานะที่ดีและสามารถเรียนรู้จากเหตุการณ์ในปัจจุบัน การใช้ระบบที่ใกล้เคียงกับเบรกเกอร์วงจรของการแลกเปลี่ยนขนาดใหญ่เช่น Nasdaq อาจเป็นก้าวแรกที่ชาญฉลาด เมื่อเร็ว ๆ นี้ฉันกำลังทำงานเพื่อให้แพลตฟอร์มการซื้อขายใหม่ของฉันไป รุ่นใหม่นี้ใช้ Python ใช้ MySQL เพื่อเก็บฐานข้อมูลของสกุลเงินเสมือนที่แตกต่างกันทุกช่วงเวลาโดยใช้การทดแทนอัตโนมัติจาก BitcoinCharts และรวมการแลกเปลี่ยนที่สำคัญ 3 อย่างคือ MtGox, BTC-E และ Bitstamp แพลตฟอร์มนี้จะถูกใช้เป็นวิธีการ backtest กลยุทธ์บางอย่างและมีส่วนร่วมในการซื้อขายอัตโนมัติ ในระหว่างการดำเนินการนี้ฉันตัดสินใจที่จะดึงข้อมูลบางอย่างของ BTC ต่อ USD จาก BitcoinCharts และยึดตามแนวคิดของบทความที่ Hashem และ Timmermann (1995) ใช้กลยุทธ์การซื้อขายแบบง่ายๆ ความคิดคือการคาดการณ์สัญญาณของผลตอบแทนระยะ t1 ตามการถดถอยซึ่งเป็นที่คาดการณ์ในการเลือกตัวบ่งชี้ทางเทคนิคโดยอัตโนมัติในช่วงระยะเวลา n ล่าสุดจนถึง t จากนั้นหลังจาก t1 เกิดขึ้นเรารีเฟรชโมเดลและพยายามคาดเดา t2 โดยใช้ข้อมูลทั้งหมดที่มีอยู่ในช่วง n จนถึงช่วง t1 เป็นต้น สำหรับวิทยานิพนธ์ปริญญาตรีของฉันฉันตรวจสอบสี่กฎการซื้อขายทางเทคนิคที่แตกต่างกันในตลาด Forex ใช้การทดสอบ MCS และ SPA เพื่อค้นหาโมเดลที่ถูกต้องระหว่างพารามิเตอร์ต่างๆซึ่งไม่ต้องมีข้อมูลสอดแนม โดยคำนึงถึงค่าใช้จ่ายในการทำธุรกรรมจริงเราไม่พบหลักฐานการได้รับผลตอบแทนส่วนเกินซึ่งสอดคล้องกับประสิทธิภาพของตลาด ด้วยรหัสนี้คุณควรจะมองหาโอกาสในการเก็งกำไร Bitcoin ภายใน BTC-e ใช้แนวคิดเรื่องราคาเดียวและใช้การเก็งกำไรสามเหลี่ยมโดยคำนึงถึงค่าใช้จ่ายและการแพร่กระจายของบัญชี เหตุผลที่ฉันโพสต์นี่คือแม้จะมีการทำงานที่มีโอกาสที่คุณจะช้าเกินไปที่จะแข่งขันกับนักลงทุนอื่นทำเช่นเดียวกัน การปรับปรุงที่เป็นไปได้คือการพิจารณาความลึกของหนังสือสั่งซื้อและแยกธุรกิจการค้าแบบไดนามิกโดยพยายามตัดราคาผู้ค้ารายอื่น ๆ ทำเช่นเดียวกัน นอกจากนี้การตั้งค่าทุกอย่างบนเซิร์ฟเวอร์เฉพาะที่ใกล้เคียงกับตำแหน่งทางกายภาพของเครื่องมือการจับคู่ BTC-e ควรลดความล่าช้าอย่างมากและทำให้คุณมีโอกาสเป็นไปได้ โพสต์ navigationMatlabTrading โพสต์นี้เป็นเรื่องเกี่ยวกับความสำคัญของการใช้วิธีการเพิ่มประสิทธิภาพแบบต่างๆเช่นอัลกอริทึมทางพันธุกรรมและ parallelisation เพื่อให้ได้ผลลัพธ์ได้เร็วขึ้น แม้ว่าขั้นตอนวิธีทางพันธุกรรม (วิวัฒนาการ) จะอธิบายได้เป็นอย่างดีในการสัมมนาทางเว็บของ MathWorks ในตัวอย่าง แต่จะใช้สำหรับการเพิ่มประสิทธิภาพของกลุ่มกลยุทธ์จากชุดเท่านั้น นี่เป็นตัวอย่างที่ดีของการใช้อัลกอริทึมเหล่านี้อย่างไรก็ตามมันเกิดขึ้นว่ามีความจำเป็นที่จะต้องกำหนดตัวแปรหลายตัวแปรด้วยช่วงเวลาที่สำคัญสำหรับกลยุทธ์หนึ่ง ๆ คุณจะไม่ได้รับผลกระทบจากการวนซ้ำหนึ่งครั้งและ parallelisation ของกระบวนการ 8211 อาจใช้เวลาหลายวัน . แน่นอนว่ามีกลยุทธ์ในขั้นตอนสุดท้ายของการเพิ่มประสิทธิภาพ เมื่อเราแทบจะรู้ว่ากลยุทธ์การซื้อขายประสบความสำเร็จเราสามารถรออีกหลายวันได้หรือเช่ากลุ่มทั้งหมด - ผลอาจจะคุ้มค่า อย่างไรก็ตามถ้าเราต้องการประมาณผลของกลยุทธ์ขนาดใหญ่และตัดสินใจว่าคุ้มค่ากับการใช้เวลาหรือไม่แล้วขั้นตอนวิธีเชิงพันธุกรรมอาจเหมาะอย่างยิ่ง เรามีความเป็นไปได้ที่จะใช้สามวิธีในการเพิ่มประสิทธิภาพของกลยุทธ์ใน WFAToolbox: วิธี Linear 8211 เป็นโหมดปกติในการจัดเรียงซึ่งคุณจะเห็นผลการค้นหาระดับกลาง (suboptimal) ทั้งหมด ให้ความแม่นยำสูงสุด จะใช้วิธีการแบบขนาน 8211 เมล็ดทั้งหมดของ CPU ของคุณ ไม่อนุญาตให้เห็นผลลัพธ์ระดับกลาง แต่เพิ่มความเร็วในการดำเนินการอย่างมาก ให้ความแม่นยำสูงสุดระหว่างการเพิ่มความเร็วในการคำนวณ วิธีทางพันธุกรรม 8211 ใช้ขั้นตอนวิธีการเพิ่มประสิทธิภาพเชิงวิวัฒนาการ ช่วยให้สามารถมองเห็นค่าต่ำสุดได้ แต่ให้ผลลัพธ์ใกล้เคียงกับสิ่งที่ดีที่สุด ไม่ใช่วิธีที่ถูกต้อง แต่แม่นยำมากพอสำหรับการเริ่มใช้กลยุทธ์ เร็วมาก. เรามักถูกถามว่า WFAToolbox - Walk-Forward Analysis Toolbox สำหรับ MATLAB มีความสามารถในการใช้ GPU ในการคำนวณได้หรือไม่ แต่น่าเสียดายที่ GPU ไม่เหมาะกับงานทั้งหมดและการใช้งานมีความเฉพาะเจาะจงมาก เพื่อที่จะใช้คุณต้องปรับตรรกะและรหัสของแต่ละกลยุทธ์สำหรับการทดสอบแกนกราฟิก แต่น่าเสียดายที่เนื่องจากความไม่แพร่หลายของวิธีการดังกล่าวไม่สามารถใช้ GPU ใน WFAToolbox ได้ ส่วนที่ 2 ของการอภิปรายเกี่ยวกับปัญหาและแนวทางแก้ไขในการทดสอบและวิเคราะห์กลยุทธ์การซื้อขายอัลกอริทึมใน MATLAB ผมขอเชิญคุณอ่านโพสต์นี้เกี่ยวกับปัญหาที่เกิดขึ้นจากการไม่สามารถมองเห็นกระบวนการของซอฟต์แวร์ได้ในการทดสอบระบบการซื้อขาย ในประสบการณ์การทำงานของฉันฉันมักจะวิเคราะห์แพลตฟอร์มยอดนิยมอื่น ๆ สำหรับการทดสอบกลยุทธ์การซื้อขาย เช่น TradeStation MetaStock Multicharts ฯลฯ และฉันรู้สึกประหลาดใจเสมอที่ความสนใจเพียงเล็กน้อยในการสร้างภาพของขั้นตอนการทดสอบ เป็นสิ่งที่เมื่อเราไม่เห็นผลของค่ากลางขั้นต่ำที่ต่ำสุดของพารามิเตอร์ที่ดีที่สุดเรามักจะโยนทองและสิ่งสกปรก เรื่องนี้เกิดจากการสุ่มตัวอย่างแบบกว้างเกินไปกลยุทธ์นี้จะปรับพารามิเตอร์ตามวิธีที่เราเห็นทั้งกลยุทธ์ที่สมบูรณ์แบบซึ่งล้มเหลวในชีวิตจริงหรือดูข้อเสนอหนึ่งหรือสองข้อซึ่งควรจะเป็นที่ดีที่สุดเพราะได้รับเลือกข้อมูลช่วงเวลาดังกล่าวที่ กลยุทธ์การซื้อขายที่ดีที่สุดคือการซื้อและระงับ แต่เหตุใดจึงต้องมีกลยุทธ์อื่น ๆ ที่จำเป็นสำหรับการแสดงกระบวนการทดสอบกลยุทธ์การซื้อขายใน MATLAB (ที่เสนอในการสัมมนาทางเว็บ) ดังนั้นไม่พบผลลัพธ์ขั้นกลางเราต้องปรับเปลี่ยนพารามิเตอร์เพื่อลอง เพื่อให้ได้ข้อมูลที่ดีขึ้นหรือดูใน 3D หรือ 4D บางส่วน (สีคือมิติที่ 4) ตามที่เสนอในการสัมมนาผ่านเว็บ การวิเคราะห์ค่าในช่องว่างมิติ N สามารถเป็นทางเลือกได้ แต่มีข้อ จำกัด หลายประการ: ถ้ามีมากกว่า 4 มิติเมื่อคุณเห็นสัญญาณและความถี่ที่ปรากฏในช่วงราคาคุณมีเกือบทั้งหมด การแสดงผลที่จำเป็นของกลยุทธ์ของคุณ: ความถี่ของการทำธุรกรรมความสามารถในการทำกำไรของพวกเขา (เส้นโค้งรายได้) ความถูกต้องของการเปิดความคล้ายคลึงกับค่าต่ำสุดอื่น ๆ ฯลฯ ที่ไม่สามารถพูดเกี่ยวกับประสิทธิภาพในพื้นที่ N มิติที่มีข้อมูลที่เป็นประโยชน์ทั้งหมด คือในความเป็นจริงว่าค่าที่เหมาะสมไม่ได้เป็นเพียงหนึ่งเดียว แต่มีทั้งช่วงของค่าต่ำสุดในพื้นที่หนึ่งหรือมากกว่า ในขณะที่การเพิ่มประสิทธิภาพกลยุทธ์ใน WFAToolbox 8211 Walk-Forward Analysis Toolbox for MATLAB174 เป็นค่าที่เหมาะสมใหม่จะพบสัญญาณกลยุทธ์การค้าในระยะเวลาในตัวอย่างและออกจากตัวอย่างทันทีปรากฏในแผนภูมิเพื่อให้คุณสามารถควบคุมสิ่งที่ช่วงของตัวเลือกที่คุณควรกำหนดและคุณยังสามารถหยุดการเพิ่มประสิทธิภาพ โดยไม่ต้องรอให้จบการทดสอบเนื่องจากเป็นที่ชัดเจนว่ามีบางอย่างผิดพลาดหรือทุกอย่างเรียบร้อยดีสวัสดีฉันชื่อ Igor Volkov ฉันได้รับการพัฒนากลยุทธ์การซื้อขายอัลกอริธึมตั้งแต่ปีพ. ศ. 2549 และเคยทำงานในกองทุนเฮดจ์ฟันด์หลายแห่ง ในบทความนี้ฉันต้องการจะพูดคุยเกี่ยวกับปัญหาที่เกิดขึ้นระหว่างทางนักพัฒนากลยุทธ์การซื้อขายของ MATLAB ในระหว่างการทดสอบและวิเคราะห์ตลอดจนนำเสนอแนวทางที่เป็นไปได้ ฉันได้ใช้ MATLAB สำหรับการทดสอบกลยุทธ์ขั้นตอนวิธีมาตั้งแต่ปี 2007 และฉันได้ข้อสรุปว่านี่ไม่ใช่เครื่องมือการวิจัยที่สะดวกที่สุด แต่ยังมีประสิทธิภาพมากที่สุดเพราะทำให้สามารถใช้โมเดลทางสถิติและ econometric ที่ซับซ้อน, การเรียนรู้ด้วยเครื่อง, ตัวกรองแบบดิจิตอล, ตรรกะคลุมเครือ, ฯลฯ โดยการเพิ่มกล่องเครื่องมือ ภาษา MATLAB ค่อนข้างง่ายและได้รับการจัดทำเป็นเอกสารไว้อย่างดีดังนั้นแม้แต่โปรแกรมที่ไม่ใช่โปรแกรม (เช่นฉัน) สามารถควบคุมได้ ทุกอย่างเริ่มต้นแล้ว มันเป็นปี 2008 (ถ้าฉันไม่เข้าใจผิด) เมื่อการสัมมนาทางเว็บเรื่องแรกเกี่ยวกับการค้าอัลกอริธึมใน MATLAB กับ Ali Kazaam ได้รับการเผยแพร่แล้วซึ่งครอบคลุมหัวข้อการเพิ่มประสิทธิภาพของกลยุทธ์ง่ายๆตามตัวชี้วัดทางเทคนิค ฯลฯ แม้ว่าจะมีโค้ด 8220chaotic8221 พอที่จะใช้ พวกเขาทำหน้าที่เป็นจุดเริ่มต้นของการวิจัยและการปรับปรุงรูปแบบการทดสอบและการวิเคราะห์ซึ่งจะช่วยให้สามารถใช้กล่องเครื่องมือและอิสรภาพของการดำเนินการของ MATLAB ในระหว่างการสร้างกลยุทธ์การค้าของตนเองได้ในขณะเดียวกันก็จะช่วยให้สามารถควบคุมกระบวนการนี้ได้ ของการทดสอบและข้อมูลที่ได้รับและการวิเคราะห์ในภายหลังของพวกเขาจะเลือกพอร์ตการลงทุนที่มีประสิทธิภาพของระบบการซื้อขายที่มีประสิทธิภาพ ต่อมาการสัมมนาผ่านเว็บของ Mathworks ได้รับการอัปเดตทุกปีและได้มีการนำเสนอองค์ประกอบที่น่าสนใจมากขึ้นเรื่อย ๆ ดังนั้นการสัมมนาทางเว็บครั้งแรกเกี่ยวกับการซื้อขายคู่ (การเก็งกำไรทางสถิติ) โดยใช้กล่องเครื่องมือ Econometric Toolbox จัดขึ้นในปี 2010 แม้ว่ากล่องเครื่องมือทดสอบและการวิเคราะห์จะยังคงเหมือนเดิม ในปี 2013 กล่องเครื่องมือการซื้อขายจาก Mathworks ปรากฏขึ้นซึ่งอนุญาตให้เชื่อมต่อ MATLAB กับโบรกเกอร์ที่แตกต่างกันเพื่อใช้งานแอพพลิเคชันของตน แม้ว่าจะมีโซลูชั่นอัตโนมัติสำหรับการทำธุรกรรม แต่จากจุดนี้ MATLAB อาจเป็นระบบการพัฒนากลยุทธ์การซื้อขายแบบเต็มรูปแบบตั้งแต่การโหลดข้อมูลจนถึงการดำเนินกลยุทธ์การซื้อขายอัตโนมัติ ทำไมควรทุก Algotrader Reinvent ล้ออย่างไรก็ตาม Mathworks ไม่ได้นำเสนอโซลูชั่นที่สมบูรณ์สำหรับการทดสอบและการวิเคราะห์ของกลยุทธ์ 8211 รหัสเหล่านั้นที่คุณได้รับจาก webinars เป็นองค์ประกอบเฉพาะของการทดสอบระบบเต็มรูปแบบและมันก็จำเป็นต้องปรับเปลี่ยนพวกเขา , ปรับแต่งและเพิ่มลงใน GUI เพื่อความสะดวกในการใช้งาน มันต้องใช้เวลามากดังนั้นจึงตั้งคำถามว่าอะไรคือยุทธศาสตร์ที่ต้องทำผ่านกระบวนการเดียวกันในการทดสอบและการวิเคราะห์ซึ่งจะช่วยให้สามารถจำแนกได้ว่ามีเสถียรภาพและใช้งานได้ดี 8211 ดังนั้นทำไมทุกคนควรปรับแต่งล้อเลื่อนและเขียนใหม่ hisher รหัสของตัวเองสำหรับกลยุทธ์การทดสอบที่เหมาะสมใน MATLAB ดังนั้นจึงตัดสินใจที่จะสร้างผลิตภัณฑ์ที่จะช่วยให้สามารถทำกระบวนการทั้งหมดที่เกี่ยวข้องกับการทดสอบและวิเคราะห์กลยุทธ์การซื้อขายแบบอัลกอลิกึมโดยใช้อินเทอร์เฟซที่ใช้งานง่ายและใช้งานง่าย ประการแรกฉันต้องการจะตอบคำถามต่อไปนี้: เกิดอะไรขึ้นกับบล็อก 1. Jev Kuznetsov ไม่ใช่เจ้าของอีกต่อไปบล็อกถูกซื้อจากเพื่อนของเรา Jev Kuznetsov ผู้ซึ่งย้ายไปที่ blog tradingwithpython. blogspot คนอื่น ๆ ของเขา เขาสรุปว่า Python ดีกว่า MATLAB เพื่อการค้าซึ่งถือว่าผิด MATLAB ยังคงเป็นหนึ่งในซอฟต์แวร์ที่ดีที่สุดในโลกสำหรับการค้าอัลกอริทึม IMHO (ฉันมีข้อเท็จจริงบางอย่างเกี่ยวกับเรื่องนี้แม้ว่าสำหรับการอภิปรายในอนาคต) 2. เราเปลี่ยนแบรนด์จากช่วงเวลานี้บล็อกจะเรียกว่า MatlabTrading ซึ่งเป็นเรื่องที่เข้าใจง่ายมากขึ้นเกี่ยวกับหัวข้อที่จะมี นอกจากนี้ชื่อโดเมนได้ถูกเปลี่ยนเป็น matlabtrading แทนการเริ่มต้นการซื้อขาย matlab-blogspot แม้ว่าโดเมนเดิมจะยังคงเปลี่ยนเส้นทางจากชื่อโดเมนหลักก็ตาม สิ่งที่จะเกิดขึ้นกับบล็อก 1. บทความและบทความอื่น ๆ เราหวังว่าจะนำชีวิตไปสู่บล็อกนี้โดยการโพสต์เนื้อหาที่เกี่ยวข้องสัปดาห์ละครั้งหรือสองครั้ง ในช่วง 2-3 เดือนแรกเราจะโพสต์บทความและวิดีโอเหล่านั้นส่วนใหญ่ที่เรามีอยู่แล้วเพื่อให้ผู้อ่านที่รักของเราสามารถค้นหาข้อมูลเกี่ยวกับทรัพยากรหนึ่ง ๆ และมีการเชื่อมโยงกับเนื้อหาเหล่านั้นได้ง่ายขึ้น จากนั้นเรามีแผนจะเขียนบทความเกี่ยวกับแง่มุมเชิงปฏิบัติของการซื้อขายอัลกอริทึมใน MATLAB วิธีการสร้างกลยุทธ์การซื้อขายอัตโนมัติแบบใหม่ ๆ เช่นการซื้อขายคู่ค้าทางสถิติหมายถึงการผันกลับของตลาดกลยุทธ์การซื้อขายที่เป็นกลางตามวงการ bollinger cointegration band kalman เป็นต้นสำหรับสินค้าโภคภัณฑ์หุ้นและ Forex (Support Vector Machines) และวิธีการอื่น ๆ สร้างกลยุทธ์การซื้อขายที่มีประสิทธิภาพโดยใช้การจัดการเงินในการทดสอบการเดินไปข้างหน้าเพื่อการลงทุนเงินทุนใหม่ของคุณ (วิทยาศาสตร์เกี่ยวกับการรับเงิน 1 ล้านเหรียญจาก 10 K) ในปีที่มีคะแนนสูงสุด แต่ประเมินความเสี่ยงและรางวัลเหงื่อ) บางทีหลังจากอ่านเรื่องนี้ youve คิดว่านี้เป็นไปได้อีกบทความโง่สำหรับคนจนเหล่านั้นกำลังมองหาวิธีที่จะกลายเป็นคนรวยผ่านการซื้อขายในอัตราแลกเปลี่ยนและสิ่งที่ เราเป็นคนที่ทำงานใน MATLAB และส่วนใหญ่ของเราคือนักวิทยาศาสตร์และผู้เชี่ยวชาญในด้านนี้ดังนั้นทุกสิ่งทุกอย่างจึงเป็นเรื่องร้ายแรง 2 การโต้ตอบมากขึ้นฉันจะมีความสุขถ้าเราทุกคนสามารถเกี่ยวข้องผ่านความเห็นในการโพสต์ สมัครรับข่าวสารของเราเพื่อรับการแจ้งเตือนเกี่ยวกับโพสต์และกิจกรรมใหม่ ๆ หลังจากนี้เรามีแผนที่จะจัดสัมมนาทางเว็บของ Google แฮงเอาท์ อย่าพลาดคลิกปุ่ม "ติดตาม" ที่มุมขวาบนเพื่อเข้าร่วมชุมชนของเรา สิ่งที่คุณต้องการอ่านในโพสต์บล็อกของเราคุณสามารถแนะนำหัวข้อใดได้โปรดเขียนที่นี่ในความคิดเห็น ในการโพสต์ก่อนหน้านี้ฉันได้ข้อสรุปว่าการซื้อขายคู่ใกล้ชิดกับคู่ค้าไม่เป็นไปตามผลกำไรในวันนี้เนื่องจากเคยเป็นมาก่อนปี 2553 ผู้อ่านชี้ว่าอาจเป็นไปได้ว่าลักษณะการกระจายตัวของค่าเฉลี่ยที่กระจายไปได้เปลี่ยนไปตามช่วงเวลาที่สั้นกว่า . ฉันก็ตัดสินใจที่จะทดสอบสมมติฐานนี้ ขณะนี้มีเพียงหนึ่งคู่เท่านั้นที่ได้รับการทดสอบ: 100 SPY vs -80 IWM Backtest ดำเนินการกับข้อมูลแถบ 30 วินาทีตั้งแต่ 11.2011 ถึง 12/2012 กฎมีความเรียบง่ายและคล้ายคลึงกับกลยุทธ์ที่ฉันทดสอบในโพสต์ครั้งล่าสุด: ถ้าการส่งคืนบาร์ของคู่นั้นเกิน 1 ใน z-score ให้ทำการซื้อขายแถบถัดไป ผลดูสวยมาก: ฉันคิดว่านี่เป็นหลักฐานเพียงพอที่ยังคงมีค่าเฉลี่ยการพลิกกลับในระดับ 30 วินาที หากคุณคิดว่าแผนภูมินี้ดีเกินกว่าที่จะเป็นจริง ไม่ได้มีการพิจารณาต้นทุนการทำธุรกรรมหรือการแพร่กระจายราคาเสนอถาม ในความเป็นจริงฉันจะสงสัยว่าจะมีผลกำไรใด ๆ เหลือหลังจากหักค่าใช้จ่ายในการซื้อขายทั้งหมดแล้ว ยังคงแผนภูมิชนิดนี้คือแครอท dangling หน้าจมูกของฉันทำให้ฉันไป ข่าวดีทุกคนตามการคำนวณของฉัน (ซึ่งฉันหวังเป็นอย่างยิ่งว่าไม่ถูกต้อง) การซื้อขายคู่แบบคลาสสิกตายแล้ว บางคนจะไม่เห็นด้วยอย่างยิ่ง แต่นี่คือสิ่งที่ฉันพบ: ให้ใช้กลยุทธ์สมมุติที่ทำงานบนตะกร้าของ etfs: SPY, XLY, XLE, XLF, XLI, XLB, XLK, IWM, QQQ, DIA จาก etfs เหล่านี้ 90 ที่ไม่ซ้ำกัน คู่สามารถทำ คู่แต่ละคู่ถูกสร้างขึ้นเพื่อกระจายเป็นกลาง กฎของกลยุทธ์: ในแต่ละวันสำหรับแต่ละคู่คำนวณค่า z ตามค่าส่วนเบี่ยงเบนมาตรฐาน 25 วัน ถ้า z-score gt threshold ให้ไปสั้น ๆ ใกล้วันถัดไปถ้า z-score lt-threshold ยาวไปแล้วให้ปิดในวันถัดไปเพื่อให้ง่ายขึ้นการคำนวณทำได้โดยไม่มีการจัดการเงินทุนใด ๆ (สามารถมีได้ถึง 90 คู่ใน portfolio ในแต่ละวัน) ค่าใช้จ่ายในการทำธุรกรรมจะไม่นำมาพิจารณาด้วย หากต้องการใช้กลยุทธ์นี้เพียงอย่างเดียวกลยุทธ์นี้จะติดตามการคืนค่าเฉลี่ยของตลาดกลางวันหนึ่ง นี่คือผลลัพธ์ที่จำลองขึ้นสำหรับเกณฑ์หลายข้อไม่ว่าเกณฑ์ใดที่ใช้กลยุทธ์นี้มีผลกำไรสูงในปีพ. ศ. 2551 ซึ่งนับว่าค่อนข้างไร้ค่าตั้งแต่ต้นปี 2010 นี่ไม่ใช่ครั้งแรกที่ฉันเจอการเปลี่ยนแปลงนี้ในการคืนค่าเฉลี่ย พฤติกรรมใน etfs ไม่ว่าฉันพยายามอะไรฉันก็ไม่มีโชคในการหากลยุทธ์การซื้อขายคู่ที่จะทำงานใน ETFs ที่ผ่านมา 2010 ข้อสรุปของฉันคือรูปแบบง่ายๆเหล่านี้ stat-arb เพียง dont ตัดมันใด ๆ more. Real เวลาสาธิตระบบการซื้อขายสวัสดี ถ้าคุณเป็นคนใหม่ที่นี่คุณอาจต้องการสมัครรับฟีด RSS หรือฟีดอีเมลสำหรับการปรับปรุงในหัวข้อ Matlab ที่ไม่ได้รับการจัดเตรียมไว้ ในวันที่ 23 พฤษภาคม 2013 ฉันได้นำเสนอในที่ประชุม MATLAB Computational Finance Conference ในนิวยอร์ก ห้องเต็มไปด้วยผู้เชี่ยวชาญกว่า 200 คนในวงการการเงิน พลังงานและผลตอบรับเป็นอย่างมากมันเป็นประสบการณ์ที่ยอดเยี่ยม ถ้าคุณเข้าร่วมการประชุมขอขอบคุณที่เป็นผู้ชมที่ดี ในวันที่ 19 กันยายน 2013 ฉันได้ให้รูปแบบของงานนำเสนอที่การประชุมเสมือนจริงของ MATLAB Computational Finance งานนำเสนอ (รูปแบบ PDF) มีอยู่ที่นี่ สามารถบันทึกวิดีโอได้ที่นี่ ในทั้งสองกรณีผมได้นำเสนอแอพพลิเคชันสาธิตที่แสดงให้เห็นว่า Matlab สามารถใช้เพื่อสร้างระบบการซื้อขายแบบครบวงจรได้อย่างไรโดยเน้นศักยภาพของ Matlab8217s เป็นทางเลือกในการเลือก ฉันใช้โบรกเกอร์เชิงโต้ตอบเพื่อแสดงฟีดข้อมูลตลาดสดและการป้อนข้อมูล accountportfolio รวมถึงการส่งคำสั่งซื้อขายไปยังตลาดผ่านทางช่องเชื่อมต่อ IB-Matlab: อัลกอริทึมการซื้อขายที่ใช้ในการสาธิตเป็นแบบ simplistic นิดหน่อย (สุ่ม) ในระบบชีวิตจริงคุณจะแทนที่ด้วยอัลกอริทึมที่เป็นกรรมสิทธิ์ของคุณเอง แต่อย่าลังเลที่จะใช้การสาธิตนี้เป็นจุดเริ่มต้นสำหรับแอ็พพลิเคชันของคุณ รหัสแหล่งสาธิตมีอยู่ที่นี่ (tradingDemo. m และไฟล์รองรับ) โปรดทราบว่าบริการนี้มีให้โดยไม่มีค่าใช้จ่าย แต่ไม่มีการรับประกันหรือการสนับสนุนใด ๆ คุณจำเป็นต้องมี IB-Matlab และโบรกเกอร์ Interactive Brokers เพื่อใช้งาน ฉันหวังว่าเรามีโอกาสทำงานร่วมกันในโครงการของคุณ ส่งอีเมลถึงฉันหากคุณต้องการความช่วยเหลือจากคุณในการให้คำปรึกษาการฝึกอบรมหรือการพัฒนา การตอบสนองต่อการสาธิตระบบการซื้อขายเรียลไทม์ 4 ครั้งฉันได้ทดลองใช้เส้นทาง ActiveX ก่อนที่จะซื้อผลิตภัณฑ์ มีข้อบกพร่องสำคัญอย่างหนึ่งเมื่อใช้ ActiveX กับ Matlab สมมติว่าคุณกำลังใช้อัลกอริทึมและกำลังประมวลผลฟังก์ชันและในเวลาเดียวกัน TWS จะเริ่มต้นกิจกรรม ถ้าคุณใช้ ActiveX MATLAB จะไม่อัพเดทราคาจนกว่าการประมวลผลของฟังก์ชันของคุณจะเสร็จสมบูรณ์ ดังนั้นหลายเหตุการณ์จะพลาดและราคาที่คุณจะมองหาจะแตกต่างกันอย่างใดอย่างหนึ่ง ในขณะที่ใน JAVA ไม่มีปัญหาดังกล่าว เมื่อเหตุการณ์ใด ๆ ที่ถูกไล่ออกจะถูกจับทันทีโดย java ซึ่งทำงานอยู่เบื้องหลัง ดังนั้นเมื่อคุณโทร getLastPrice คุณจะได้รับราคาที่ถูกต้อง ข้อบกพร่องอีกอย่างหนึ่งคือความจริงที่ว่าคุณสามารถใช้ ActiveX ได้เฉพาะกับ WINDOWS เท่านั้น ในขณะที่กับ JAVA คุณสามารถใช้กับ Windows, Mac, Linux เป็นต้นไม่ควรสตรีมข้อมูล Live Trades ใน MATLAB ลองนึกภาพคุณมี 100 สัญลักษณ์ซึ่งมีการอัปเดตทุกอย่างว่า 200 msec ดังนั้นคุณจึงมีการค้าขายเกิดขึ้นอย่างรวดเร็วและถูกจับและเก็บไว้ใน Matlab เนื่องจากปัญหาด้ายแบบเธรดเดี่ยวแบบ MATLAB8217s การค้าบางประเภทจะไม่ได้รับการตอบรับและจะกินความจำของคุณ ดังนั้นสิ่งที่คุณจะสามารถทำได้คือการสตรีมข้อมูลและไม่ทำอะไรอื่น Kenan 8211 แน่นอน Java API (ซึ่งใช้โดย IB-Matlab) มีข้อดีกว่า ActiveX API (ซึ่งใช้โดย MathWorks8217 Trading Toolbox) หนึ่งในผลที่ดีของการใช้ Java คือการที่ IB-Matlab สามารถทำงานบนแพลตฟอร์มทั้งหมดที่รัน Matlab (Windows, Mac, Linux) เนื่องจากแพลตฟอร์มเหล่านี้มีทั้ง Java และ IBM TWS client นอกจากนี้ Java API ยังเร็วกว่าและเชื่อถือได้มากขึ้น (เชื่อมต่อ ActiveX จะรายงานว่ามีการยกเลิกกิจกรรม IB ทุกขณะแล้ว) เกี่ยวกับความล่าช้าในการอ้างสิทธิ์แบบสตรีมมิ่งขึ้นอยู่กับความผันผวนด้านความปลอดภัยจำนวนหลักทรัพย์ที่ได้รับการตรวจสอบแบนด์วิธของเครือข่ายฮาร์ดแวร์คอมพิวเตอร์กระบวนการทำงานอื่น ๆ ในคอมพิวเตอร์และประเด็นอื่น ๆ ที่อาจส่งผลต่อประสิทธิภาพการทำงาน บนแล็ปท็อป Lenovo ThinkPad E530 มาตรฐานที่ใช้ Matlab R2013a บน Win7 ฉันถึงสตรีมมิ่งแบบแอบแฝงด้วยราคาเพียง 1-2 mSec (เช่นมีกิจกรรม IB หลายร้อยครั้งต่อวินาที) ธรรมชาติ YMMV Marco Ruijken says: ในขณะที่ฉันชอบที่คำถามนี้จะไปฉันจะแนะนำให้ทำคอนกรีตเล็ก ๆ น้อย ๆ คุณต้องการเรียนรู้อะไรบ้างในส่วนของกระบวนการทำ backtesting ช่วงนี้สามารถประเมินผลตอบแทนจากการประเมินผลตอบแทนปกติโดยทั่วไปซึ่งผลตอบแทนจากกลยุทธ์ของคุณจะได้รับการปรับใช้ตามกฎการก่อให้เกิดพอร์ตการลงทุนแบบเต็มรูปแบบ ndash Constantin Dec 30 14 at 21:06 จะซื่อสัตย์ฉัน don t ทราบมากเกี่ยวกับ backtesting. ฉันได้รับแจ้งว่าฉันจะต้องทำ backtest กลยุทธ์ใหม่หรือปรับปรุงหลักสูตรปัจจุบันในระหว่างการฝึกงานของฉัน ดังนั้นฉันต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องก่อนที่จะเริ่มต้น อะไรคือส่วนต่างๆของมัน backdest ง่ายๆโดยทั่วไปจะประกอบด้วยสองขั้นตอน: การคำนวณผลตอบแทนของพอร์ตการลงทุนที่เกิดจากกฎการสร้างพอร์ตการลงทุนของคุณ (หรือกลยุทธ์การซื้อขาย) การปรับความเสี่ยงของผลตอบแทนของพอร์ตการลงทุนโดยใช้ รูปแบบการกำหนดราคาทรัพย์สินขั้นตอนที่ 2 เป็นเพียงการถดถอยและการคำนวณง่ายมากใน Matlab สิ่งที่ยากกว่าคือการใช้ขั้นตอนที่ 1 ซึ่งจะทำให้คุณรู้สึกสะดวกสบายใน Matlab และมีวิธีต่างๆในการทำเช่นนี้ ถ้าคุณรู้วิธีการทำ OLS regression ใน Matlab สิ่งที่คุณควรเน้นคือ manipulations matrix ทั้งหมด การสร้าง Matlab Portfolio และการคำนวณผลตอบแทนเพื่อให้ตัวอย่างของวิธีการใช้กลยุทธ์การซื้อขายแบบดั้งเดิมใน Matlab ให้สมมติว่าข้อมูลการคืนเงินรายเดือนและระยะเวลาการถือครองเดียวกันของหนึ่งเดือนกับสินทรัพย์ n ในช่วง k ที่ i in และ k เข้า สมมติว่าไม่มีการเปลี่ยนแปลงในองค์ประกอบของจักรวาลสต็อกของคุณเมทริกซ์ผลตอบแทนของคุณ X มีขนาด k เท่า n X เริ่มแอมป์แอมป์จุดแอมป์แอมป์จุดแอ็พพลิเคชัน x vdots amp ddots amp vdots amp ddots amp vdots x จุดแอมป์ amp amp x amp จุดแอมป์ x vdots amp ddots amp vdots amp ddots amp vdots x จุดแอมป์ amp amp amp x amp จุดแอมป์ x end ที่ส่งกลับ จะคำนวณเป็น x frac -1 สมมติว่าเกณฑ์การคัดเลือกของคุณเป็นลักษณะของหุ้นที่มีอยู่ในความถี่รายเดือนคุณจะมีลักษณะเป็นเมทริกซ์ C. จากนั้นคุณสามารถเขียนอัลกอริทึมที่ระบุรายการเหล่านั้นใน C ซึ่งตรงกับเกณฑ์การเลือกของคุณ (เช่นเกินเกณฑ์ที่กำหนด ) และแทนที่รายการที่ตรงกัน (โดยที่ i และ t เหมือนกัน) ของเมตริกซ์ตัวบ่งชี้ I (ซึ่งได้รับการเตรียมใช้งานเป็นเมทริกซ์เป็นศูนย์โดยใช้ฟังก์ชันศูนย์) กับข้อมูล จากนั้นคุณสามารถคูณรายการของ I โดยผลตอบแทนของเมทริกซ์ X เพื่อให้ได้เมทริกซ์ R ซึ่งแสดงถึงผลตอบแทนที่เกิดจากการถือครองของคุณ จากนั้นคุณสามารถคำนวณค่าเฉลี่ยของรายการที่ไม่ใช่ศูนย์สำหรับแต่ละแถวของ R เพื่อดูเวกเตอร์ของผลตอบแทนของพอร์ตโฟลิโอ การปรับความเสี่ยงและการระบุผลตอบแทนที่ผิดปกติในขั้นตอนที่ 2 คุณเปรียบเทียบเวกเตอร์นี้กับผลตอบแทนตามปกติที่ได้จากการประมาณความถดถอยของแบบจำลองการกำหนดราคาทรัพย์สินเช่นแบบจำลอง Fama - ฝรั่งเศส โดยการลบเวคเตอร์ผลตอบแทนปกติออกจากเวคเตอร์ผลตอบแทนของพอร์ตลงทุนคุณจะทราบได้อย่างไรว่ากลยุทธ์การซื้อขายของคุณส่งผลให้ผลตอบแทนที่เป็นบวกผิดปกติซึ่งเป็นสิ่งที่ youre เล็งไว้ ข้อเสนอแนะหากคุณเป็นคนใหม่ของ Matlab ผมขอแนะนำให้คุณทำความคุ้นเคยกับมันให้เพียงพอเพื่อใช้กลยุทธ์แบบง่ายก่อนที่จะผ่อนคลายสมมติฐานที่เรียบง่าย (เช่นระยะเวลาการถือครองและระยะเวลาสม่ำเสมอ) และดำเนินการเพื่อการใช้งานที่มีความซับซ้อนมากขึ้น อีกครั้งสิ่งที่ฉันต้องการเน้นคือการนี้คุณจะต้องสะดวกสบายมากกับ Matlab และโดยเฉพาะอย่างยิ่งวิธีการต่างๆในการจัดการการฝึกอบรมซึ่งอาจใช้เวลาสักครู่ ถ้าคุณไม่จำเป็นต้องใช้ Matlab สำหรับการฝึกงานของคุณและต้องการได้ผลลัพธ์รวดเร็วคุณสามารถทำขั้นตอนที่ 1 ใน Excel แทนซึ่งน่าเบื่อ แต่ไม่จำเป็นต้องใช้เงินลงทุนเริ่มต้น (คุ้มค่า) ที่คุณต้องทำเพื่อ Matlab เพื่อทำความคุ้นเคยกับ Matlab ผมแน่ใจว่าคุณได้ค้นพบเอกสารที่ดีเยี่ยมที่มาพร้อมกับมันแล้ว ที่ฉันเป็นทรัพยากรที่มีค่าที่สุดเพียงอย่างเดียวและน่าจะมีประโยชน์มากกว่าทรัพยากรที่เฉพาะเจาะจงมากขึ้นด้านการเงิน (ซึ่งฉันจะรอจนกว่าคุณจะคุ้นเคยกับ Matlab) ทั้งหมดที่จำเป็นในการกำหนดผลตอบแทนตามปกติคือการถดถอย OLS และความเข้าใจพื้นฐานของรูปแบบการกำหนดราคาทรัพย์สิน ตอบเมื่อวันที่ 30 ธ. ค. ที่ 22:20

No comments:

Post a Comment