การเพิ่มประสิทธิภาพของ กลยุทธ์ การซื้อขาย




วิธีการเพิ่มประสิทธิภาพระบบการซื้อขาย หมายเหตุ: นี่คือหัวข้อที่ค่อนข้างสูง โปรดอ่านบทเรียนแอฟก่อนหน้าแรก บทนำ คิดที่อยู่เบื้องหลังการเพิ่มประสิทธิภาพเป็นเรื่องง่าย แรกที่คุณต้องมีระบบการซื้อขายนี้อาจจะเป็นครอสโอเวอร์เฉลี่ยเคลื่อนที่ที่เรียบง่ายเช่น ในเกือบทุกระบบมีบางพารามิเตอร์ (ในขณะที่ค่าเฉลี่ยระยะเวลา) ที่ตัดสินใจว่าระบบการทำงานที่กำหนด (เช่นเป็นเป็นอย่างดีเหมาะสำหรับในระยะยาวหรือระยะสั้นเป็นวิธีการที่ไม่ตอบสนองในหุ้นที่มีความผันผวนสูงและอื่น ๆ ) การเพิ่มประสิทธิภาพเป็นกระบวนการของการหาค่าที่เหมาะสมของพารามิเตอร์เหล่านั้น (ให้ผลประโยชน์สูงสุดจากระบบ) สำหรับสัญลักษณ์ที่กำหนด (หรือผลงานของสัญลักษณ์) Amibroker เป็นหนึ่งในโปรแกรมน้อยมากที่ช่วยให้คุณสามารถเพิ่มประสิทธิภาพของระบบสัญลักษณ์หลายครั้ง เพื่อเพิ่มประสิทธิภาพระบบของคุณคุณต้องกำหนดจากที่หนึ่งได้ไม่เกินสิบพารามิเตอร์ที่จะเพิ่มประสิทธิภาพ คุณตัดสินใจเลือกสิ่งที่เป็นค่าต่ำสุดและสูงสุดของพารามิเตอร์และในสิ่งที่เพิ่มค่านี้ควรได้รับการปรับปรุง Amibroker แล้วดำเนินการหลายหลังการทดสอบระบบโดยใช้ผสมเป็นไปได้ทั้งหมดของค่าพารามิเตอร์ เมื่อกระบวนการนี​​้เสร็จสมบูรณ์ Amibroker แสดงรายการของผลเรียงตามกำไรสุทธิ คุณสามารถที่จะเห็นค่าของพารามิเตอร์การเพิ่มประสิทธิภาพที่ให้ผลลัพธ์ที่ดีที่สุด เขียนแอฟสูตร การเพิ่มประสิทธิภาพในการทดสอบหลังได้รับการสนับสนุนผ่านทางฟังก์ชั่นใหม่ที่เรียกว่าเพิ่มประสิทธิภาพ ไวยากรณ์ของฟังก์ชั่นนี้จะเป็นดังนี้: ตัวแปร = เพิ่มประสิทธิภาพ (. คำอธิบายเริ่มต้นนาทีสูงสุดขั้นตอน..); ตัวแปร - เป็นเรื่องปกติตัวแปรแอฟที่ได้รับการกำหนดค่าที่ส่งกลับโดยเพิ่มประสิทธิภาพการทำงาน ด้วย backtesting ปกติสแกนตรวจสอบข้อเท็จจริงและโหมด comentary เพิ่มประสิทธิภาพการทำงานของผลตอบแทนค่าเริ่มต้นเพื่อให้การเรียกใช้ฟังก์ชันดังกล่าวข้างต้นจะเทียบเท่ากับ: ตัวแปร = ค่าเริ่มต้น ในโหมดการเพิ่มประสิทธิภาพการเพิ่มประสิทธิภาพฟังก์ชันส่งกลับค่าต่อเนื่องจากนาทีให้สูงสุด (อย่างรวม) ด้วยการก้าวขั้นตอน คำอธิบายเป็นสตริงที่ใช้ในการระบุตัวแปรการเพิ่มประสิทธิภาพและจะแสดงเป็นชื่อคอลัมน์ในรายการผลการเพิ่มประสิทธิภาพที่ เริ่มต้นเป็นค่าเริ่มต้นที่เพิ่มประสิทธิภาพการทำงานของผลตอบแทนในการสำรวจบ่งชี้ความเห็นสแกนและโหมดการทดสอบกลับมาปกติ นาทีเป็นค่าต่ำสุดของตัวแปรที่ถูกปรับ สูงสุดเป็นค่าสูงสุดของตัวแปรที่ถูกปรับ ขั้นตอนที่เป็นช่วงเวลาที่ใช้ในการเพิ่มมูลค่าจากนาทีให้สูงสุด Amibroker สนับสนุนไม่เกิน 64 สายที่จะเพิ่มประสิทธิภาพการทำงาน (จึงไม่เกิน 64 ตัวแปรเพิ่มประสิทธิภาพ) โปรดทราบว่าถ้าคุณกำลังใช้การเพิ่มประสิทธิภาพครบถ้วนสมบูรณ์แล้วมันเป็นความคิดที่ดีจริงๆที่จะ จำกัด จำนวนของตัวแปรเพิ่มประสิทธิภาพเพียงไม่กี่ การโทรแต่ละครั้งเพื่อเพิ่มประสิทธิภาพการสร้าง (สูงสุด - ต่ำสุด) / ขั้นตอนการเพิ่มประสิทธิภาพและลูปหลายสายเพื่อเพิ่มประสิทธิภาพการคูณจำนวนของการทำงานที่จำเป็น ยกตัวอย่างเช่นการเพิ่มประสิทธิภาพการใช้พารามิเตอร์ที่สอง 10 ขั้นตอนจะต้องมี 10 * 10 = 100 ลูปเพิ่มประสิทธิภาพ เรียกใช้ฟังก์ชันเพิ่มประสิทธิภาพเพียงครั้งเดียวต่อตัวแปรที่จุดเริ่มต้นของสูตรของคุณในขณะที่การโทรแต่ละครั้งสร้างลูปเพิ่มประสิทธิภาพใหม่ การเพิ่มประสิทธิภาพหลายสัญลักษณ์ได้รับการสนับสนุนอย่างเต็มที่โดย Amibroker พื้นที่การค้นหาสูงสุด 2 64 (10 19 = 10.000.000.000.000.000.000) รวมกัน 1. การเพิ่มประสิทธิภาพตัวแปรเดี่ยว: sigavg = เพิ่มประสิทธิภาพ ("สัญญาณเฉลี่ย" 9. 2. 20. 1.); ซื้อ = ครอส (MACD (12 26) สัญญาณ (12 26. sigavg)); ซื้อ = ครอส (CCI (ต่อ) - Level); ขาย = ครอส (ระดับ CCI (ต่อ)); 3. หลาย (3) การเพิ่มประสิทธิภาพตัวแปร: mfast = เพิ่มประสิทธิภาพ ("MACD เร็ว" 12 16 8 1.); mslow = เพิ่มประสิทธิภาพ ("MACD ช้า" 26. 17. 30. 1.); sigavg = เพิ่มประสิทธิภาพ ("สัญญาณเฉลี่ย" 9. 2. 20. 1.); ซื้อ = ครอส (MACD (mfast, mslow) สัญญาณ (mfast, mslow, sigavg).); ขาย = ครอส (สัญญาณ (mfast, mslow, sigavg) MACD (mfast, mslow)); หลังจากป้อนสูตรเพียงแค่คลิกที่ปุ่มเพิ่มประสิทธิภาพในหน้าต่างการวิเคราะห์อัตโนมัติ Amibroker จะเริ่มทดสอบการผสมเป็นไปได้ทั้งหมดของตัวแปรการเพิ่มประสิทธิภาพและรายงานผลในรายการ หลังจากการเพิ่มประสิทธิภาพจะทำรายชื่อของผลที่ได้คือนำเสนอเรียงตามกำไรสุทธิ% ในขณะที่คุณสามารถเรียงลำดับผลการค้นหาในคอลัมน์ใด ๆ ในรายการผลที่ได้มันเป็นเรื่องง่ายที่จะได้รับค่าที่ดีที่สุดของพารามิเตอร์สำหรับการเบิกเงินกู้ต่ำสุดจำนวนต่ำสุดของการซื้อขายปัจจัยกำไรที่ใหญ่ที่สุดของการเปิดรับตลาดต่ำสุดและความเสี่ยงสูงสุดปรับผลตอบแทน% ต่อปี คอลัมน์สุดท้ายของรายการที่นำเสนอผลค่าของตัวแปรการเพิ่มประสิทธิภาพสำหรับการทดสอบที่กำหนด เมื่อคุณตัดสินใจที่มีการรวมกันของพารามิเตอร์ที่เหมาะสมกับความต้องการของคุณทั้งหมดที่ดีที่สุดที่คุณต้องทำคือการเปลี่ยนค่าเริ่มต้นในการเพิ่มประสิทธิภาพการเรียกฟังก์ชันที่มีค่าที่ดีที่สุด ในขั้นตอนปัจจุบันที่คุณต้องพิมพ์พวกเขาด้วยมือในหน้าต่างแก้ไขสูตร (พารามิเตอร์ที่สองของการเพิ่มประสิทธิภาพการเรียกใช้ฟังก์ชัน) แสดงภาพเคลื่อนไหว 3 มิติแผนภูมิการเพิ่มประสิทธิภาพ การแสดงแผนภูมิการเพิ่มประสิทธิภาพ 3 มิติที่คุณต้องทำงานเพิ่มประสิทธิภาพของสองตัวแปรแรก การเพิ่มประสิทธิภาพของสองตัวแปรต้องการสูตรที่มี 2 เพิ่มประสิทธิภาพ () ฟังก์ชั่นการโทร ตัวอย่างสูตรสองตัวแปรเพิ่มประสิทธิภาพลักษณะเช่นนี้: ต่อ = เพิ่มประสิทธิภาพ ("ต่อ" 2 5 50 1.); ระดับ = เพิ่มประสิทธิภาพ ("ระดับ" 2 2 150 4.); ซื้อ = ครอส (CCI (ต่อ) - Level); เมื่อเสร็จสิ้นการเพิ่มประสิทธิภาพของคุณควรคลิกที่หล่นลงลูกศรบนปุ่มเพิ่มประสิทธิภาพและเลือกกราฟดูการเพิ่มประสิทธิภาพ 3D ในไม่กี่วินาทีพล็อตพื้นผิวสามมิติที่มีสีสันจะปรากฏขึ้นในหน้าต่างโปรแกรมดูแผนภูมิ 3 มิติ ตัวอย่างแผนภูมิ 3 มิติสร้างโดยใช้สูตรข้างต้นที่แสดงด้านล่าง โดยค่าเริ่มต้นชาร์ต 3D ค่าการแสดงผลของกําไรสุทธิกับตัวแปรการเพิ่มประสิทธิภาพ แต่คุณสามารถพล็อตกราฟพื้นผิว 3 มิติสำหรับคอลัมน์ใด ๆ ในตารางผลการเพิ่มประสิทธิภาพ เพียงคลิกที่ส่วนหัวของคอลัมน์เพื่อเรียงลำดับมัน (ลูกศรสีฟ้าจะปรากฏแสดงให้เห็นว่าผลการเพิ่มประสิทธิภาพระบบจะจัดเรียงคอลัมน์ที่เลือก) แล้วเลือกกราฟดูการเพิ่มประสิทธิภาพ 3D อีกครั้ง โดยการแสดงวิธีพารามิเตอร์ของระบบของคุณส่งผลกระทบต่อประสิทธิภาพการค้าคุณมากขึ้นอย่างรวดเร็วสามารถตัดสินใจที่ค่าพารามิเตอร์ที่เปราะบางและการผลิตที่ผลิตที่มีประสิทธิภาพการทำงานของระบบ การตั้งค่าที่แข็งแกร่งเป็นภูมิภาคในรูปแบบของกราฟ 3 มิติที่แสดงให้เห็นอย่างค่อยเป็นค่อยไปมากกว่าการเปลี่ยนแปลงอย่างกระทันหันในพล็อตพื้นผิว ชาร์ตเพิ่มประสิทธิภาพ 3D เป็นเครื่องมือที่ดีเพื่อป้องกันไม่ให้โค้งกระชับ เส้นโค้งกระชับ (หรือมากกว่าการเพิ่มประสิทธิภาพ) เกิดขึ้นเมื่อระบบมีความซับซ้อนกว่าที่จะต้องมีและสิ่งที่ซับซ้อนกำลังจดจ่ออยู่กับสภาวะตลาดที่อาจจะไม่เคยเกิดขึ้นอีกครั้ง การเปลี่ยนแปลงที่รุนแรง (หรือแหลม) ในชาร์ตเพิ่มประสิทธิภาพ 3D แสดงให้เห็นอย่างชัดเจนในพื้นที่มากกว่าการเพิ่มประสิทธิภาพ คุณควรเลือกภูมิภาคพารามิเตอร์ที่ผลิตที่ราบสูงในวงกว้างและกว้างบนแผนที่ 3 มิติสำหรับการซื้อขายชีวิตจริงของคุณ ชุดพารามิเตอร์ผลิตแหลมกำไรจะไม่ทำงานได้อย่างน่าเชื่อถือในการซื้อขายจริง 3D ควบคุมมุมมองแผนภูมิ แผนภูมิ 3D Amibroker ของผู้ชมมีความสามารถในการรับชมที่รวมกับการหมุนกราฟเต็มรูปแบบและภาพเคลื่อนไหว ตอนนี้คุณสามารถดูผลระบบของคุณจากทุกมุมมองที่เป็นไปได้ คุณสามารถควบคุมตำแหน่งและพารามิเตอร์อื่น ๆ ของแผนภูมิการใช้เมาส์แถบเครื่องมือและแป้นพิมพ์ลัดสิ่งที่คุณหาง่ายสำหรับคุณ ด้านล่างนี้คุณจะได้พบกับรายการ การควบคุมเมาส์: - เพื่อหมุน - กดปุ่มเมาส์ซ้ายและย้ายไปใน X / Y ทิศทาง - เพื่อซูมอินซูมออก - กดปุ่มเมาส์ขวาและย้ายใน X / Y ทิศทาง - เพื่อย้าย (แปล) - กดปุ่มเมาส์ซ้ายและปุ่ม CTRL และย้ายใน X / Y ทิศทาง - การเคลื่อนไหว - กดปุ่มเมาส์ซ้ายลากอย่างรวดเร็วและปุ่มปล่อยในขณะที่ลาก การควบคุมแป้นพิมพ์: SPACE - ภาพเคลื่อนไหว (อัตโนมัติหมุน) Numpad 4 - เลื่อนไปทางซ้าย Numpad 6 - ย้ายไปทางขวา Numpad 8 - เลื่อนขึ้น Numpad 2 - ย้ายลง ขึ้นหน้า - ระดับน้ำขึ้น PAGE DOWN - ระดับน้ำลดลง สมาร์ท (ไม่ครบถ้วนสมบูรณ์) การเพิ่มประสิทธิภาพ บทนำ Amibroker ตอนนี้มีสมาร์ท (ไม่ครบถ้วนสมบูรณ์) การเพิ่มประสิทธิภาพนอกเหนือไปจากปกติค้นหาหมดจด การค้นหาไม่ครบถ้วนสมบูรณ์จะเป็นประโยชน์ถ้าจำนวนทั้งหมดรวมกันพารามิเตอร์ของระบบซื้อขายได้รับเป็นเพียงขนาดใหญ่เกินไปที่จะเป็นไปได้สำหรับการค้นหาอย่างละเอียด ค้นหาหมดจดสมบูรณ์ดีตราบใดที่มันมีเหตุผลที่จะใช้มัน สมมติว่าคุณมีพารามิเตอร์ที่ 2 แต่ละตั้งแต่ 1-100 (ขั้นตอนที่ 1) นั่นคือการรวมกัน 10,000 - ตกลงที่ดีเลิศสำหรับค้นหาหมดจด ขณะนี้มี 3 พารามิเตอร์ที่คุณได้ 1,000,000 รวมกัน - ก็ยังคงตกลงสำหรับการค้นหาที่ละเอียดถี่ถ้วน (แต่สามารถ lenghty) มี 4 พารามิเตอร์คุณมีรวมกัน 100 ล้านและ 5 พารามิเตอร์ (1..100) คุณมี 10 พันล้านรวมกัน ในกรณีที่ว่ามันจะใช้เวลานานเกินไปที่จะตรวจสอบทั้งหมดของพวกเขาและนี้เป็นพื้นที่ที่ไม่ครบถ้วนสมบูรณ์วิธีการสมาร์ทค้นหาสามารถแก้ปัญหาที่ไม่ได้แก้ปัญหาได้ในระยะเวลาที่เหมาะสมโดยใช้การค้นหาอย่างละเอียด เริ่มต้นอย่างรวดเร็ว นี่คือการเรียนการสอนอย่างง่ายวิธีการใช้เพิ่มประสิทธิภาพไม่ครบถ้วนสมบูรณ์ใหม่ (ในกรณีนี้ CMA-ES) 1. เปิดสูตรของคุณในการแก้ไขสูตร 2. เพิ่มนี้เส้นเดียวที่ด้านบนของสูตรของคุณ: OptimizerSetEngine (cmae); // คุณยังสามารถใช้ SPSO หรือ Trib ที่นี่ 3. (อุปกรณ์เสริม) เลือกเป้าหมายการเพิ่มประสิทธิภาพในการวิเคราะห์อัตโนมัติ, การตั้งค่าแท็บเดินไปข้างหน้าข้อมูลเป้าหมายการเพิ่มประสิทธิภาพ ถ้าคุณข้ามขั้นตอนนี้ก็จะเพิ่มประสิทธิภาพสำหรับรถ / MDD (สารประกอบตอบแทนประจำปีโดยแบ่งเบิกสูงสุด%) และ. แค่นั้นแหละ. ตอนนี้ถ้าคุณเรียกใช้การเพิ่มประสิทธิภาพการใช้สูตรนี้ก็จะใช้วิวัฒนาการใหม่ (ไม่ครบถ้วนสมบูรณ์) เพิ่มประสิทธิภาพ CMA-ES มันทำงานยังไง ? การเพิ่มประสิทธิภาพเป็นกระบวนการของการหาต่ำสุด (หรือสูงสุด) ของฟังก์ชั่นที่กำหนด ระบบการซื้อขายใด ๆ ที่สามารถได้รับการพิจารณาเป็นหน้าที่ของจำนวนหนึ่งของการขัดแย้ง ปัจจัยการผลิตที่มีพารามิเตอร์และข้อมูลใบเสนอราคา การส่งออกเป็นเป้าหมายเพิ่มประสิทธิภาพของคุณ (พูด CAR / MDD) และคุณกำลังมองหาสูงสุดของฟังก์ชั่นที่กำหนด บางส่วนของขั้นตอนวิธีการเพิ่มประสิทธิภาพของสมาร์ทจะขึ้นอยู่กับธรรมชาติ (พฤติกรรมของสัตว์) - ขั้นตอนวิธี PSO หรือกระบวนการทางชีวภาพ - ขั้นตอนวิธีทางพันธุกรรม และบางส่วนอยู่บนพื้นฐานของแนวคิดทางคณิตศาสตร์ที่ได้มาโดยมนุษย์ - CMA-ES ขั้นตอนวิธีการเหล่านี้จะถูกนำมาใช้ในพื้นที่ที่แตกต่างกันจำนวนมากรวมทั้งการเงิน ใส่ PSO การเงินหรือการเงิน CMA-ES ใน Google และคุณจะพบจำนวนของข้อมูล ไม่ครบถ้วนสมบูรณ์ (หรือสมาร์ท) วิธีการที่ดีที่สุดที่จะได้พบกับส่วนกลางหรือท้องถิ่น มีเป้าหมายที่แน่นอนที่จะหาคนทั่วโลก แต่ถ้ามีความคมชัดสูงสุดเดียว ออกจาก zillions รวมกันพารามิเตอร์วิธีการไม่ครบถ้วนสมบูรณ์อาจล้มเหลวที่จะหาจุดสูงสุดครั้งนี้ครั้งเดียว แต่ใช้มันในรูปแบบ perspecive ผู้ประกอบการค้าการหาจุดสูงสุดคมเดียวจะไม่ได้ผลสำหรับการซื้อขายเพราะผลที่จะเป็นความไม่แน่นอน (เปราะบางเกินไป) และไม่ได้จำลองแบบในการซื้อขายจริง การเพิ่มประสิทธิภาพในกระบวนการที่เรากำลังมองหาค่อนข้างภูมิภาคท​​ี่ราบสูงกับพารามิเตอร์ที่มีเสถียรภาพและเป็นพื้นที่ที่วิธีการที่ชาญฉลาดส่องแสง ในฐานะที่เป็นอัลกอริทึมที่ใช้โดยการค้นหาไม่ครบถ้วนสมบูรณ์จะมีลักษณะดังต่อไปนี้: ก) การเพิ่มประสิทธิภาพการสร้างบางส่วน (โดยปกติจะสุ่ม) ประชากรเริ่มต้นของชุดพารามิเตอร์ ข) backtest จะดำเนินการโดย Amibroker สำหรับแต่ละพารามิเตอร์การตั้งค่าจากประชากร ค) ผลของการ backtests จะประเมินตามตรรกะของอัลกอริทึม และจำนวนประชากรใหม่จะถูกสร้างขึ้นบนพื้นฐานของวิวัฒนาการของผล ง) ถ้าใหม่ที่ดีที่สุดคือการค้นพบ - บันทึกและไปที่ขั้นตอนข) จนกระทั่งหยุดเกณฑ์ที่จะได้พบกับ ตัวอย่างเกณฑ์ที่หยุดสามารถรวม: ก) ถึงการทำซ้ำสูงสุดที่ระบุ ข) หยุดถ้าช่วงของค่าวัตถุประสงค์ที่ดีที่สุดของคนรุ่น X ที่ผ่านมาเป็นศูนย์ c) หยุดถ้าเพิ่มเวกเตอร์ส่วนเบี่ยงเบนมาตรฐาน 0.1 ในทิศทางแกนหลักใด ๆ ไม่ได้เปลี่ยนค่าของค่าวัตถุประสงค์ ในการใช้งานสมาร์ท (ไม่ครบถ้วนสมบูรณ์) เพิ่มประสิทธิภาพใน Amibroker คุณจะต้องระบุเครื่องมือเพิ่มประสิทธิภาพที่คุณต้องการที่จะใช้ในแอฟสูตรโดยใช้ฟังก์ชั่น OptimizerSetEngine OptimizerSetEngine (ชื่อ) ฟังก์ชั่นเลือกเพิ่มประสิทธิภาพกลไกภายนอกที่กำหนดไว้โดยใช้ชื่อ Amibroker เรือในขณะนี้มี 3 เครื่องยนต์: Standard Swarm เพิ่มประสิทธิภาพของอนุภาค (SPSO) เผ่า (Trib) และ CMA-ES (cmae) - ชื่อที่อยู่ในการจัดฟันจะถูกใช้ในการเรียก OptimizerSetEngine นอกจากการเลือกเครื่องมือเพิ่มประสิทธิภาพคุณอาจต้องการที่จะตั้งบางส่วนของพารามิเตอร์ภายใน ที่จะทำเช่นนั้นใช้ฟังก์ชั่ OptimizerSetOption OptimizerSetOption (ชื่อค่า) ฟังก์ชั่น ฟังก์ชั่นตั้งค่าเพิ่มเติมสำหรับการเพิ่มประสิทธิภาพกลไกภายนอก พารามิเตอร์เป็นเครื่องมือขึ้นอยู่กับ ทั้งสามเพิ่มประสิทธิภาพมาพร้อมกับ Amibroker (SPSO, Trib, CMAE) สนับสนุนสองพารามิเตอร์: วิ่ง (จำนวนวิ่ง) และ MaxEval (การประเมินผลสูงสุด (ทดสอบ) ต่อการทำงานครั้งเดียว) พฤติกรรมของแต่ละพารามิเตอร์เป็นเครื่องมือขึ้นอยู่กับเพื่อให้ค่าเดียวกันอาจและมักจะให้ผลลัพธ์ที่แตกต่างกันกับเครื่องมือต่างๆที่ใช้ ความแตกต่างระหว่างทำงานและ MaxEval เป็นดังนี้ การประเมินผล (หรือการทดสอบ) เป็น backtest เดียว (หรือการประเมินค่าฟังก์ชันวัตถุประสงค์) RUN เป็นหนึ่งในการทำงานเต็มรูปแบบของอัลกอริทึม (การหาค่าที่เหมาะสม) - มักจะเกี่ยวข้องกับการทดสอบจำนวนมาก (การประเมินผล) การทำงานในแต่ละก็รีสตาร์ทการเพิ่มประสิทธิภาพทั้งจากจุดเริ่มต้นใหม่ (ประชากรสุ่มใหม่เริ่มต้น) ดังนั้นการทำงานในแต่ละอาจนำไปสู่​​การหาที่แตกต่างกันในท้องถิ่นสูงสุด / นาที (ถ้าไม่ได้หาคนทั่วโลก) ดังนั้นวิ่งพารามิเตอร์กำหนดจำนวนขั้นตอนวิธีการวิ่งตามมา MaxEval เป็นจำนวนสูงสุดของการประเมินผล (bactests) ในระยะใด หากปัญหาค่อนข้างง่ายและ 1000 มีการทดสอบพอที่จะหาสูงสุดทั่วโลก 5x1000 มีแนวโน้มที่จะพบสูงสุดทั่วโลก เพราะมีโอกาสน้อยที่จะติดอยู่ในสูงสุดท้องถิ่นเช่นวิ่งตามมาจะเริ่มต้นจากการสุ่มประชากรที่แตกต่างกันเริ่มต้น เลือกค่าพารามิเตอร์สามารถหากิน มันขึ้นอยู่กับปัญหาที่เกิดขึ้นภายใต้การทดสอบความซับซ้อนของมัน ฯลฯ ฯลฯ วิธีการใด ๆ ที่ไม่ครบถ้วนสมบูรณ์สุ่มไม่ได้ให้คุณรับประกันในการค้นหาทั่วโลกสูงสุด / นาทีโดยไม่คำนึงถึงจำนวนของการทดสอบถ้ามันมีขนาดเล็ก กว่าหมดจด คำตอบที่ง่ายที่สุดคือการ ระบุจำนวนขนาดใหญ่ของการทดสอบในขณะที่มันเป็นที่เหมาะสมสำหรับคุณในแง่ของเวลาต้องดำเนินการ คำแนะนำอีกง่ายๆคือการคูณด้วย 10 จำนวนของการทดสอบด้วยการเพิ่มมิติใหม่ ที่อาจนำไปสู่​​การไขว้เขวจำนวน ของการทดสอบจำเป็น แต่มันมีความปลอดภัยค่อนข้าง เครื่องมือจัดส่งถูกออกแบบมาให้ง่ายต่อการใช้ที่เหมาะสมจึงเริ่มต้น / ค่าอัตโนมัติจะใช้เพื่อเพิ่มประสิทธิภาพสามารถทำงานปกติโดยไม่ได้ระบุอะไร (ยอมรับค่าเริ่มต้น) มันเป็นสิ่งสำคัญที่จะเข้าใจว่าทุกวิธีการเพิ่มประสิทธิภาพการทำงานที่ดีที่สุดสมาร์ทในพื้นที่อย่างต่อเนื่องและพารามิเตอร์ฟังก์ชั่นวัตถุประสงค์ค่อนข้างเรียบ หากพื้นที่พารามิเตอร์ขั้นตอนวิธีวิวัฒนาการต่อเนื่องอาจจะมีปัญหาในการหาค่าที่เหมาะสม มันเป็นความจริงโดยเฉพาะอย่างยิ่งสำหรับไบนารี (เปิด / ปิด) พารามิเตอร์ - พวกเขาจะไม่เหมาะสำหรับวิธีการค้นหาใด ๆ ที่ใช้การไล่ระดับสีของการเปลี่ยนแปลงฟังก์ชันวัตถุประสงค์ (เป็นวิธีการทำสมาร์ทมากที่สุด) ถ้าระบบการซื้อขายของคุณมีพารามิเตอร์ไบนารีหลายท่านไม่ควรใช้สมาร์ทเพิ่มประสิทธิภาพโดยตรงกับพวกเขา แต่พยายามที่จะเพิ่มประสิทธิภาพอย่างต่อเนื่องพารามิเตอร์เพียงการใช้เพิ่มประสิทธิภาพสมาร์ทและเปลี่ยนพารามิเตอร์ไบนารีด้วยตนเองหรือผ่านทางสคริปต์ภายนอก SPSO - มาตรฐานเพิ่มประสิทธิภาพของอนุภาคฝูง มาตรฐาน Swarm เพิ่มประสิทธิภาพของอนุภาคจะขึ้นอยู่กับ SPSO2007 รหัสที่ควรจะให้ผลลัพธ์ที่ดีโดยมีเงื่อนไขว่าพารามิเตอร์ที่ถูกต้อง (เช่นวิ่ง, MaxEval) จะมีให้สำหรับปัญหาที่เกิดขึ้นโดยเฉพาะอย่างยิ่ง เลือกตัวเลือกที่ถูกต้องสำหรับการเพิ่มประสิทธิภาพ PSO สามารถหากินผลจึงอาจแตกต่างกันไปอย่างมีนัยสำคัญจากกรณีที่กรณี SPSO. dll มาพร้อมกับรหัสแหล่งที่มาเต็มรูปแบบภายในโฟลเดอร์ย่อย ADK รหัสตัวอย่าง Swarm มาตรฐานอนุภาคเพิ่มประสิทธิภาพ: OptimizerSetEngine (SPSO); OptimizerSetOption (วิ่ง, 1); SL = เพิ่มประสิทธิภาพ (s, 26, 1, 100, 1); ฟะ = เพิ่มประสิทธิภาพ (ฉ, 12, 1, 100, 1); ซื้อ = ครอส (MACD (ฟะ, SL), 0); ขายครอส = (0, MACD (ฟะ, SL)); ชนเผ่า - การปรับเปลี่ยนพารามิเตอร์น้อย Swarm เพิ่มประสิทธิภาพของอนุภาค ชนเผ่าคือการปรับตัวรุ่นพารามิเตอร์น้อย PSO (การเพิ่มประสิทธิภาพของอนุภาคฝูง) เพิ่มประสิทธิภาพไม่ครบถ้วนสมบูรณ์ สำหรับพื้นหลังทางวิทยาศาสตร์โปรดดูที่: ในทางทฤษฎีมันควรจะทำงานได้ดีขึ้นกว่าปกติ PSO เพราะมันจะสามารถปรับขนาดฝูงและกลยุทธ์การขั้นตอนวิธีในการแก้ไขปัญหาที่ถูกแก้ไข การปฏิบัติที่แสดงให้เห็นว่าผลการดำเนินงานค่อนข้างคล้ายกับ PSO ปลั๊กอิน Tribes. DLL ดำเนินเผ่า-D (เช่นมิติ) ที่แตกต่างกัน ขึ้นอยู่กับ clerc. maurice. free. fr/pso/Tribes/TRIBES-D. zip มอริซ Clerc รหัสแหล่งที่มาเดิมที่ใช้ได้รับอนุญาตจากผู้เขียน Tribes. DLL มาพร้อมกับรหัสที่มาเต็ม (ในโฟลเดอร์ ADK) พารามิเตอร์ที่รองรับ: MaxEval - จำนวนสูงสุดของการประเมินผล (backtests) ต่อการทำงาน (default = 1000) OptimizerSetOption (MaxEval, 1000) คุณควรจะเพิ่มจำนวนของการประเมินผลที่มีการเพิ่มจำนวนของขนาด (จำนวน params เพิ่มประสิทธิภาพ) เริ่มต้น 1000 เป็นสิ่งที่ดีสำหรับ 2 หรือสูงสุด 3 มิติ วิ่ง - จำนวนของการทำงาน (รีสตาร์ท) (ค่าเริ่มต้น = 5) คุณสามารถออกจากจำนวนของการทำงานที่ค่าเริ่มต้นของ 5 จากจำนวนเริ่มต้นของการทำงาน (หรือรีสตาร์ท) ตั้ง 5 ที่จะใช้เพิ่มประสิทธิภาพเผ่า, คุณเพียงแค่ต้องเพิ่มบรรทัดที่หนึ่งไปยังรหัสของคุณ: OptimizerSetEngine (Trib); OptimizerSetOption (MaxEval, 5000); // 5000 การประเมินผลสูงสุด CMA-ES - แปรปรวนเมทริกซ์ปรับตัวเพิ่มประสิทธิภาพกลยุทธ์วิวัฒนาการ CMA-ES (แปรปรวนเมทริกซ์ปรับกลยุทธ์วิวัฒนาการ) เป็นเครื่องมือเพิ่มประสิทธิภาพไม่ครบถ้วนสมบูรณ์ขั้นสูง สำหรับพื้นหลังทางวิทยาศาสตร์โปรดดูที่: ตามมาตรฐานทางวิทยาศาสตร์ที่มีประสิทธิภาพดีกว่าเก้าอื่น ๆ กลยุทธ์วิวัฒนาการที่นิยมมากที่สุด (เช่น PSO วิวัฒนาการทางพันธุกรรมและที่แตกต่างกัน) ปลั๊กอิน CMAE. DLL ดำเนินการที่แตกต่างกันทั่วโลกของการค้นหาที่มีการรีสตาร์ทหลายกับขนาดของประชากรที่เพิ่มขึ้น CMAE. DLL มาพร้อมกับรหัสที่มาเต็ม (ในโฟลเดอร์ ADK) จากจำนวนเริ่มต้นของการทำงาน (หรือรีสตาร์ท) ตั้ง 5 มันควรจะออกจากหมายเลขเริ่มต้นของการรีสตาร์ท คุณอาจจะแตกต่างกันโดยใช้ OptimizerSetOption (วิ่ง, N) โทรที่ N ควรจะอยู่ในช่วง 1..10 ระบุกว่า 10 วิ่งไม่แนะนำแม้ว่าเป็นไปได้ โปรดทราบว่าการทำงานในแต่ละใช้สองเท่าของขนาดของประชากรของการทำงานก่อนหน้านี้จึงเติบโตชี้แจง ดังนั้นมี 10 วิ่งคุณท้ายด้วยประชากร 2 ^ 10 สูงกว่า (1,024 ครั้ง) กว่าครั้งแรก มีอีกพารามิเตอร์ MaxEval ค่าเริ่มต้นคือศูนย์ซึ่งหมายความว่าปลั๊กอินโดยอัตโนมัติจะต้องคำนวณ MaxEval มันควรที่จะไม่กำหนด MaxEval ด้วยตัวเองเป็นค่าเริ่มต้นการทำงานที่ดี อัลกอริทึมฉลาดพอที่จะลดจำนวนการประเมินผลที่จำเป็นและลู่อย่างรวดเร็วไปยังจุดที่การแก้ปัญหาจึงมักจะพบการแก้ปัญหาได้เร็วกว่ากลยุทธ์อื่น ๆ มันเป็นเรื่องปกติท​​ี่ปลั๊กอินจะข้ามขั้นตอนการประเมินผลบางอย่างถ้าตรวจพบว่าวิธีการแก้ปัญหาที่ถูกพบดังนั้นคุณไม่ควรแปลกใจที่การเพิ่มประสิทธิภาพแถบความคืบหน้าอาจจะย้ายได้อย่างรวดเร็วมากในบางจุด ปลั๊กอินยังมีความสามารถในการเพิ่มจำนวนของขั้นตอนที่สูงกว่ามูลค่าที่คาดในขั้นต้นหากมีการต้องการที่จะหาวิธีการแก้ปัญหา เนื่องจากลักษณะการปรับตัวของเวลาโดยประมาณซ้ายและ / หรือจำนวนของขั้นตอนที่ปรากฏขึ้นโดยโต้ตอบความคืบหน้าเป็นเพียงการคาดเดาที่ดีที่สุดในเวลาและอาจแตกต่างระหว่างการเพิ่มประสิทธิภาพ เพิ่มประสิทธิภาพในการใช้งาน CMA-ES, คุณเพียงแค่ต้องเพิ่มบรรทัดที่หนึ่งไปยังรหัสของคุณ: OptimizerSetEngine (cmae); นี้จะเพิ่มประสิทธิภาพการทำงานที่มีการตั้งค่าเริ่มต้นที่ดีสำหรับกรณีส่วนใหญ่ มันควรจะสังเกตตามที่มันเป็นกรณีที่มีหลาย continouos พื้นที่ขั้นตอนวิธีการค้นหาว่าการลดขั้นตอนในการเพิ่มประสิทธิภาพพารามิเตอร์ () funciton โทรไม่ได้ส่งผลกระทบต่อการเพิ่มประสิทธิภาพครั้ง สิ่งเดียวที่สำคัญคือมิติปัญหาเช่นจำนวนของพารามิเตอร์ที่แตกต่างกัน (จำนวนเพิ่มประสิทธิภาพการเรียกฟังก์ชัน) จำนวนขั้นตอนต่อพารามิเตอร์สามารถตั้งเวลาโดยไม่มีผลต่อการเพิ่มประสิทธิภาพเพื่อใช้ความละเอียดที่ดีที่สุดที่คุณต้องการ ในทางทฤษฎีอัลกอริทึมควรจะสามารถที่จะหาทางออกในที่สุด 900 * (N + 3) * (N + 3) backtests ที่ N คือมิติ ในทางปฏิบัติมันลู่เร็วมาก ยกตัวอย่างเช่นการแก้ปัญหาใน 3 (ยังไม่มี = 3) มิติพื้นที่พารามิเตอร์ (พูด 100 * 100 * 100 = 1,000,000 ขั้นตอนครบถ้วนสมบูรณ์) สามารถพบได้ในไม่กี่เท่า 500-900 ขั้นตอน CMA-ES การเพิ่มประสิทธิภาพของแต่ละแบบมัลติเธรด เริ่มต้นจากการ Amibroker 5.70 นอกเหนือไปจาก multithreading หลายสัญลักษณ์ คุณสามารถดำเนินการเพิ่มประสิทธิภาพแบบมัลติเธรดเดียวสัญลักษณ์ ในการเข้าถึงฟังก์ชั่นนี้ให้คลิกที่หล่นลงลูกศรถัดจากปุ่มเพิ่มประสิทธิภาพในหน้าต่างการวิเคราะห์ใหม่และเลือกเพิ่มประสิทธิภาพส่วนบุคคล เพิ่มประสิทธิภาพของแต่ละบุคคลจะใช้แกนประมวลผลที่มีอยู่ทั้งหมดในการดำเนินการเพิ่มประสิทธิภาพเดียวสัญลักษณ์ทำให้มันเร็วกว่าปกติการเพิ่มประสิทธิภาพ ในโหมดสัญลักษณ์ปัจจุบันก็จะดำเนินการเพิ่มประสิทธิภาพในหนึ่งสัญลักษณ์ ในสัญลักษณ์ทั้งหมดและโหมดกรองก็จะดำเนินการตามลำดับสัญลักษณ์ทั้งหมดเช่นการเพิ่มประสิทธิภาพที่สมบูรณ์แบบครั้งแรกสำหรับสัญลักษณ์แรกแล้วการเพิ่มประสิทธิภาพในสัญลักษณ์สอง ฯลฯ ข้อ จำกัด : 1. backtester กำหนดเองจะไม่ได้รับการสนับสนุน (ยัง) 2. เครื่องมือเพิ่มประสิทธิภาพของสมาร์ทจะไม่ได้รับการสนับสนุน - เพิ่มประสิทธิภาพการทำงานเพียงหมดจด ในที่สุดเราอาจจะได้รับการกำจัดข้อ จำกัด (1) - เมื่อ Amibroker มีการเปลี่ยนแปลงเพื่อให้ backtester ที่กำหนดเองไม่ได้ใช้ OLE อีกต่อไป แต่ (2) น่าจะอยู่ที่นี่มานาน การเพิ่มประสิทธิภาพของระบบการซื้อขาย ปรับปรุงวันที่ 2010/04/06 การเพิ่มประสิทธิภาพเป็นประโยชน์ในรูปแบบที่แตกต่างกันมาก ในการซื้อขายที่คุณสามารถยกตัวอย่างเช่นใช้เพิ่มประสิทธิภาพกับเครื่องยนต์ backtester หรือจำลองจะแตกต่างกันพารามิเตอร์บางอย่างของระบบซื้อขายและดูว่าสามารถเพิ่มประสิทธิภาพการทำงานผลงานโดยรวมหรือคุณสามารถใช้เพิ่มประสิทธิภาพในการทดสอบหลายรูปแบบของการปกครองซื้อโดยเฉพาะอย่างยิ่ง ในระบบการซื้อขาย เกือบชิ้นส่วนของระบบการซื้อขายหรือกลยุทธ์การซื้อขายทุกคนสามารถที่ดีที่สุด; คุณสามารถเพิ่มประสิทธิภาพการซื้อ, ขาย, กฎสั้นหรือฝาครอบประเภทเพื่อ จำกัด การสั่งซื้อการตั้งค่าผลงานหยุด การเพิ่มประสิทธิภาพจะดำเนินการโดยใช้หนึ่งในขั้นตอนวิธีการต่อไปนี้: การเพิ่มประสิทธิภาพหมดจดขั้นตอนวิธีทางพันธุกรรมและประชากรที่ใช้ในการเรียนรู้ที่เพิ่มขึ้นหรือ PBIL การเพิ่มประสิทธิภาพหมดจดซึ่งจะเรียกว่าการเพิ่มประสิทธิภาพแรงโง่ทดสอบทุกทางออกที่เป็นไป เทคนิคนี้ควรใช้เฉพาะเมื่อคุณมีจำนวนเล็ก ๆ ของการรวมกันในการทดสอบ ตัวอย่างเช่นกลยุทธ์การค้ากับ 5 ปัจจัยที่จะเพิ่มประสิทธิภาพ (แตกต่างกันไปในแต่ละปัจจัยที่ 1-10) สร้าง 100,000 รวมกัน ในกรณีที่คุณมีหลายร้อยหรือหลายล้านของการรวมกันในการทดสอบ; คุณควรพิจารณาใช้ขั้นตอนวิธีทางพันธุกรรมและขั้นตอนวิธี PBIL โดยใช้ขั้นตอนวิธีการเหล่านี้ในการซื้อขายซอฟต์แวร์ QuantShare คุณสามารถเพิ่มประสิทธิภาพล้านของการรวมกันของระบบการซื้อขายเช่นเดียวกับกฎการค้าระบบการจัดอันดับและรูปแบบเครือข่ายประสาท เราจะขุดลึกลงไปในขั้นตอนวิธีการเหล่านี้ในการโพสต์ในอนาคต สำหรับตอนนี้ให้เราใช้การเพิ่มประสิทธิภาพในรายละเอียดครบถ้วนสมบูรณ์ปัจจัยหรือการตั้งค่าที่สามารถเพิ่มประสิทธิภาพใน QuantShare สร้างระบบการค้า: ในเมนูของซอฟต์แวร์การซื้อขายของคุณ เลือก "วิเคราะห์" แล้วคลิกที่ "จำลอง" ในรูปแบบจำลองการคลิกที่ "เพิ่ม" เพื่อสร้างระบบการซื้อขายใหม่ เพิ่มประสิทธิภาพกฎซื้อขาย: องค์ประกอบหลักของระบบการซื้อขายคือรายการกฎของ ซื้อ, ขาย, ในระยะสั้นและกฎปกจะถูกใช้โดยจำลองในการตัดสินใจที่จะเข้าสู่ตำแหน่งและตำแหน่งที่จะออกจาก กฎเหล่านี้สามารถเพิ่มประสิทธิภาพโดยตรงกับการแก้ไขสูตรหรือใช้ตัวช่วยสร้าง ตัวอย่างเช่นภายใต้ "ซื้อที่เปิดในวันพรุ่งนี้" คลิกที่ "เพิ่มกฎ" ภายใต้ "กฎ" แผงพิมพ์ "RSI (ก)" (ดัชนีความแข็งแรงญาติ) ในช่องใส่แรกและ "B" ในช่องใส่ที่สอง เมื่อเสร็จแล้วสองเส้นที่ปรากฏในตาราง; เส้นเหล่านี้ช่วยให้คุณสามารถกำหนดขั้นต่ำค่าสูงสุดและขั้นตอนของตัวแปรที่คุณกำลังจะเพิ่มประสิทธิภาพ ใน "เป็น" เส้นตัวแปรพิมพ์ "7" ภายใต้ "มิน" คอลัมน์ "14" ภายใต้ "แม็กซ์" คอลัมน์และ "7" ภายใต้ "ขั้นตอน" คอลัมน์ ใน "ข" สายตัวแปรพิมพ์ "40" ภายใต้ "มิน" คอลัมน์ "70" ภายใต้คอลัมน์ "แม็กซ์" และ "10" ภายใต้ "ขั้นตอน" คอลัมน์ คลิกที่ "Update" เพื่อบัน​​ทึกการเปลี่ยนแปลง; แสดงแผงด้านซ้าย "Rule0 (8)" ซึ่งหมายความว่ากฎมีแปดรวมกัน คลิกที่ "ปิด" เพื่อสลับกลับไปแก้ไขรูปแบบกลยุทธ์การซื้อขาย เลือก "สร้างระบบการซื้อขายโดยใช้โปรแกรมแก้ไขสูตร" แท็บเพื่อดูว่ากฎระเบียบระบบการซื้อขายได้รับการแปลเป็​​นภาษา QuantShare เวกเตอร์ เพิ่มประสิทธิภาพระบบการซื้อขายการตั้งค่า: ในการ "สร้างกลยุทธ์การซื้อขายว่า" รูปแบบให้เลือก "เพิ่มประสิทธิภาพ" และคลิกที่ "เพิ่มประสิทธิภาพ" คลิกที่ "เพิ่มรายการ" เพื่อสร้างตัวแปร optimizable ใหม่ ดับเบิลคลิกที่เซลล์ภายใต้ "ตัวแปร" คอลัมน์เพื่อเปิดรายการของตัวแปร เลือกตัวอย่างเช่น "จำนวนสัญลักษณ์" (เขตนี้กำหนดจำนวนสูงสุดของหลักทรัพย์ที่ควรจะมีอยู่ในผลงานของคุณในขณะใดก็ตาม) พิมพ์ "6" ภายใต้ "มิน" คอลัมน์ "10" ภายใต้ "แม็กซ์" คอลัมน์ , "2" ภายใต้ "ขั้นตอนที่คอลัมน์" และคลิกที่ "OK" เพื่อบัน​​ทึกปัจจัยการผลิตของคุณ ขณะนี้คุณได้สร้างสามซ้ำมากขึ้นหรือการรวมกัน จำนวนรวมของการรวมกันเป็น 24 (8 * 3) ในโพสต์ต่อไปเราจะใช้ภาษาสคริปต์การจัดการเงินในการสร้างรวมกันมากขึ้น ศูนย์จัดงาน นำเสนอโดยไมเคิลเบิร์ค การเพิ่มประสิทธิภาพความสามารถในการทำงานผ่านชุดที่แตกต่างกันของพารามิเตอร์กลยุทธ์การซื้อขายเพื่อตรวจสอบซึ่งชุดของพารามิเตอร์ดำเนินการส่วนใหญ่อยู่ในเกณฑ์ดีในช่วงหลังการทดสอบทางประวัติศาสตร์ เป้าหมายของการเพิ่มประสิทธิภาพคือการทดสอบกลยุทธ์ของคุณเพื่อความมั่นคงและความทนทานและจะช่วยหาชุดของพารามิเตอร์ที่อาจเป็นประโยชน์ในอนาคต งานสัมมนาครั้งนี้สำรวจการเพิ่มประสิทธิภาพกลยุทธ์ที่ใช้คำศัพท์และการปฏิบัติที่ดีที่สุดโดยดูที่ตัวอย่างกลยุทธ์โลกแห่งความจริง ทำความเข้าใจเกี่ยวกับรายงานการเพิ่มประสิทธิภาพและการจัดรูปแบบการตั้งค่าการเพิ่มประสิทธิภาพนอกจากนี้ยังได้รับการคุ้มครอง วิธีการเรียกใช้กลยุทธ์การเพิ่มประสิทธิภาพ การตั้งค่าปัจจัยการผลิตและการเพิ่มประสิทธิภาพการตั้งค่า การตีความรายงานการเพิ่มประสิทธิภาพ ครบถ้วนสมบูรณ์เมื่อเทียบกับทางพันธุกรรมกับการเดินไปข้างหน้า