Saturday 1 July 2017

ง่าย เฉลี่ยเคลื่อนที่ backtest


Simple Moving Averages - Trading backtests. ค่าเฉลี่ยของค่าเฉลี่ยที่เคลื่อนที่ได้ดีที่สุดเว็บไซต์นี้มีค่าเฉลี่ยในการเคลื่อนที่ของ backtests ที่ฉันดำเนินการสำหรับ DAX, SP500 และ USD EU Forex การทดสอบเหล่านี้ทำโดยใช้กลยุทธ์สัญญาณที่แตกต่างกันอย่างง่ายและแบบครอสโอเวอร์ ตัวแปรและดัชนีที่แตกต่างกันสำหรับช่วงเวลาของ 1000 วันทำการตรงกันข้ามกับเว็บไซต์อื่น ๆ ฉันได้ทดสอบค่าเฉลี่ยของค่าเฉลี่ยของหน้าต่างวันที่เคลื่อนไหวตั้งแต่ 1 - 1000 วันสำหรับกลยุทธ์การข้ามผ่านไปด้วยกันข้อมูลเหล่านี้ยังไม่เป็นที่รู้จัก ฉันพยายามที่จะทำการทดสอบที่สมจริงจำลองการกระจายการซื้อและภาษีสำหรับการเปรียบเทียบกับกลยุทธ์การถือครองหุ้นอ้างอิงค่าการตอบสนองที่รวดเร็วของหน้าต่างมีลักษณะที่ดีในทางทฤษฎีและด้วยการทดสอบที่เรียบง่าย แต่การแพร่กระจายค่าธรรมเนียมและภาษีจะทำให้ประสิทธิภาพการทำงานทั้งหมดลดลง การประยุกต์ใช้ในทางปฏิบัตินั่นคือเหตุผลที่การทดสอบที่เหมือนจริงเหล่านี้มีคุณค่ามากดังนั้นฉันหวังว่าเว็บไซต์นี้จะช่วยให้ธุรกิจของคุณสนุกกับคุณได้ดีขึ้นลองทดสอบแนวคิดการซื้อขายของคุณหนึ่งในสิ่งที่มีประโยชน์มากที่สุดที่คุณสามารถทำได้ ในหน้าต่างการวิเคราะห์คือการย้อนกลับทดสอบกลยุทธ์การซื้อขายของคุณเกี่ยวกับข้อมูลที่ผ่านมาข้อมูลนี้สามารถให้ข้อมูลเชิงลึกที่มีคุณค่าแก่จุดแข็งและจุดอ่อนของระบบก่อนที่จะลงทุนเงินจริงคุณลักษณะ AmiBroker แบบเดียวนี้สามารถประหยัดเงินได้มากสำหรับคุณ ก่อนอื่นคุณต้องมีกฎวัตถุประสงค์หรือกลไกเพื่อเข้าและออกจากตลาดขั้นตอนนี้เป็นพื้นฐานของยุทธศาสตร์ของคุณและคุณจำเป็นต้องคิดถึงเรื่องนี้ด้วยตัวคุณเองเนื่องจากระบบต้องตรงกับความเสี่ยงของคุณขนาดพอร์ตการลงทุนเทคนิคการจัดการเงินและหลาย ๆ แต่ละปัจจัยเมื่อคุณมีกฎของคุณเองสำหรับการซื้อขายคุณควรจะเขียนเป็นกฎการซื้อและขายใน AmiBroker Formula Lanugage บวกสั้นและครอบคลุมหากคุณต้องการทดสอบการซื้อขายสั้น ๆ นอกจากนี้ในบทนี้เราจะพิจารณาข้ามเฉลี่ยเคลื่อนที่มากพื้นฐาน ระบบจะซื้อหุ้นสัญญาเมื่อราคาปิดสูงกว่าค่าเฉลี่ยเลขยกกำลัง 45 วันและจะขายหุ้นเมื่อราคาปิดลดลงต่ำกว่า 45 วัน exponentia l ค่าเฉลี่ยเคลื่อนที่เชิงเส้นสามารถคำนวณได้จาก AFL โดยใช้ฟังก์ชัน EMA ที่มีอยู่แล้วทั้งหมดที่คุณต้องทำก็คือการระบุอาร์เรย์อินพุตและระยะเวลาเฉลี่ยดังนั้นค่าเฉลี่ยของราคาปิดของการเสแสร้งแบบ 45 วันสามารถหาได้จาก คำแถลงต่อไปนี้หมายถึงปิดหมายถึงอาร์เรย์ในตัวที่ถือปิดราคาของสัญลักษณ์ที่มีการวิเคราะห์ในปัจจุบันหากต้องการตรวจสอบว่าราคาปิดใกล้เคียงกับค่าเฉลี่ยเคลื่อนที่ที่สูงกว่าเราจะใช้ฟังก์ชั่น cross-in ที่มีอยู่ภายในปิด close, ema close, 45 คำสั่งข้างต้นกำหนดกฎการซื้อขายซื้อมันให้ 1 หรือจริงเมื่อราคาปิดใกล้ข้าม ema ปิด 45 แล้วเราสามารถเขียนกฎขายที่จะให้ 1 เมื่อสถานการณ์ตรงข้ามเกิดขึ้น - ราคาปิดปิดด้านล่าง ema ปิด 45.sell ข้าม ema ปิด, ปิด, ปิด, 45, ปิดโปรดทราบว่าเรากำลังใช้ฟังก์ชันข้ามเดียวกัน แต่คำสั่งที่ตรงกันข้ามของอาร์กิวเมนต์ดังนั้นสูตรที่สมบูรณ์แบบสำหรับการค้าระยะยาวจะมีลักษณะเช่นนี้ข้ามปิดข้าม ema ปิด, 45 ขายข้าม ema ปิด, 45, ปิด c หมายเหตุ reate สูตรใหม่โปรดเปิดตัวแก้ไขสูตรโดยใช้เมนูตัววิเคราะห์สูตร - สูตรพิมพ์สูตรและเลือกเมนู Tools - Send to Analysis ในโปรแกรมแก้ไขสูตรเพื่อกลับไปทดสอบระบบของคุณเพียงแค่คลิกที่ปุ่ม Back test ในหน้าต่าง Automatic analysis ให้แน่ใจว่าคุณ ได้พิมพ์ลงในสูตรที่มีอย่างน้อยซื้อและขายกฎการซื้อขายดังที่แสดงไว้ด้านบนเมื่อสูตรถูกต้อง AmiBroker เริ่มวิเคราะห์สัญลักษณ์ของคุณตามกฎการซื้อขายของคุณและสร้างรายการจำลองการเทรดทั้งหมดกระบวนการนี้รวดเร็วมากคุณสามารถกลับมาทดสอบได้ หลายพันสัญลักษณ์ในไม่กี่นาทีหน้าต่างความคืบหน้าจะแสดงเวลาการเสร็จสิ้นโดยประมาณถ้าคุณต้องการหยุดกระบวนการคุณสามารถคลิกปุ่มยกเลิกในหน้าต่างความคืบหน้าเมื่อกระบวนการเสร็จสิ้นรายการของการค้าจำลองจะปรากฏที่ด้านล่าง ส่วนของหน้าต่างการวิเคราะห์อัตโนมัติบานหน้าต่างผลลัพธ์คุณสามารถตรวจสอบเมื่อสัญญาณซื้อและขายเกิดขึ้นได้โดยการดับเบิลคลิกที่การค้าในบานหน้าต่างผลลัพธ์ w หรือสัญญาณที่ไม่มีการกรองสำหรับทุกแถบเมื่อเงื่อนไขการซื้อขายและขายหากคุณต้องการเห็นเฉพาะลูกศรการค้าเดียวที่เปิดและปิดการค้าที่เลือกในปัจจุบันคุณควรคลิกสองครั้งที่บรรทัดในขณะที่กดปุ่ม SHIFT ค้างไว้หรือคุณสามารถเลือกประเภทการแสดงผลตาม เลือกรายการที่เหมาะสมจากเมนูบริบทที่ปรากฏขึ้นเมื่อคุณคลิกที่บานหน้าต่างผลลัพธ์โดยใช้ปุ่มเมาส์ขวานอกจากรายการผลลัพธ์คุณจะได้รับสถิติอย่างละเอียดเกี่ยวกับประสิทธิภาพของระบบของคุณโดยการคลิกที่ปุ่มรายงานเพื่อหาข้อมูลเพิ่มเติม เกี่ยวกับรายงานสถิติโปรดตรวจสอบคำอธิบายของหน้าต่างรายงานการเปลี่ยนแปลงการตั้งค่าการทดสอบกลับของคุณการทดสอบเครื่องยนต์ใน AmiBroker ใช้ค่าบางอย่างที่กำหนดไว้ล่วงหน้าสำหรับการปฏิบัติงานรวมถึงขนาดของพอร์ตการลงทุนเป็นระยะทุกวันรายสัปดาห์รายเดือนค่าคอมมิชชั่นอัตราดอกเบี้ยขาดทุนสูงสุดและกำไร หยุดเป้าหมาย, ประเภทของการค้า, ราคาและอื่น ๆ การตั้งค่าเหล่านี้ทั้งหมดอาจถูกเปลี่ยนแปลงโดยผู้ใช้โดยใช้หน้าต่างการตั้งค่า A เปลี่ยนการตั้งค่าโปรดจำไว้ว่าให้เรียกใช้การทดสอบกลับของคุณอีกครั้งหากคุณต้องการให้ผลการค้นหาตรงกันกับการตั้งค่าตัวอย่างเช่นหากต้องการกลับไปทดสอบแถบรายสัปดาห์แทนรายวันเพียงคลิกที่ปุ่มการตั้งค่าเลือกรายสัปดาห์จากกล่องคำสั่งผสม Periodicity และ คลิก OK จากนั้นเรียกใช้การวิเคราะห์ของคุณโดยคลิกที่ Back test. Reserved variables names. ตารางต่อไปนี้แสดงชื่อตัวแปรที่สงวนไว้ซึ่งถูกใช้โดย Automatic Analyzer ความหมายและตัวอย่างในการใช้งานจะได้รับในภายหลังในบทนี้การควบคุมค่าเงินหรือเปอร์เซ็นต์ของพอร์ทการลงทุน ที่ได้รับการลงทุนในการค้าดูคำอธิบายด้านล่างการวิเคราะห์อัตโนมัติใหม่ใน 3 9. ถึงตอนนี้เราได้กล่าวถึงการใช้ AmiBroker ที่ค่อนข้างง่าย แต่สนับสนุนวิธีการและแนวความคิดที่ซับซ้อนมากขึ้นซึ่งจะกล่าวถึงในบทนี้ต่อไปโปรดทราบว่า ผู้ใช้ที่เพิ่งเริ่มใช้งานควรเริ่มเล่นนิด ๆ หน่อย ๆ กับหัวข้อที่ง่ายกว่าที่อธิบายไว้ข้างต้นก่อนดำเนินการต่อดังนั้นเมื่อคุณพร้อมแล้วโปรดดูที่ followin g เพิ่งเปิดตัวคุณสมบัติของเครื่องทดสอบ back-back tester. A โฮสต์สำหรับนักเขียนสูตรขั้นสูง AFL b การสนับสนุนที่เพิ่มขึ้นสำหรับธุรกิจค้าระยะสั้น c วิธีการควบคุมราคาการดำเนินการตามคำสั่งจากสคริปต์ d หลายประเภทการหยุดในตำแหน่งทดสอบหลัง e การจัดตำแหน่งขนาด f round lot และขีดขนาด g บัญชี margin h backtesting โฮสต์การเขียนสคริปต์ futures. AFL เป็นหัวข้อขั้นสูงที่ครอบคลุมในเอกสารแยกต่างหากที่มีอยู่ที่นี่และฉันได้รับรางวัล t discuss มันในเอกสารนี้คุณสมบัติที่เหลืออยู่ง่ายมากเข้าใจในรุ่นก่อนหน้าของ AmiBroker ถ้าคุณต้องการที่จะกลับมาใช้ระบบการทดสอบการใช้ทั้งการค้าระยะยาวและระยะสั้นคุณสามารถจำลองกลยุทธ์การหยุดและย้อนกลับได้เฉพาะเมื่อมีการปิดสถานะการขายระยะยาวแล้วก็มีการเปิดบัญชีใหม่เนื่องจากตัวแปรการจองซื้อและขายถูกนำมาใช้สำหรับทั้งสองฝ่าย ประเภทของการค้าตอนนี้มีรุ่น 3 59 หรือสูงกว่ามีตัวแปรสำรองแยกต่างหากสำหรับการเปิดและปิดการซื้อขายระยะยาวและระยะสั้น - ซื้อ - จริงหรือ 1 ค่าเปิดขายเวลานาน - จริงหรือ 1 ค่า ปิดการค้าระยะสั้นสั้น - true หรือ 1 ค่าเปิดฝาครอบการค้าสั้น - true หรือ 1 ค่าปิด trade. Som สั้นเพื่อกลับทดสอบสั้นธุรกิจการค้าที่คุณต้องการกำหนดตัวแปรสั้นและครอบคลุมถ้าคุณใช้ระบบหยุดและย้อนกลับเสมอ ตลาดเพียงแค่กำหนดขายให้สั้นและซื้อ cover. short ขายปกซื้อนี้จำลองวิธี pre - 3 59 รุ่นทำงาน แต่ตอนนี้ AmiBroker ช่วยให้คุณมีกฎการซื้อขายแยกต่างหากสำหรับการไปยาวและไปสั้น ๆ ดังแสดงในง่ายนี้ ตัวอย่าง. กฎเกณฑ์การเข้าและออกการค้าระยะยาวซื้อ cross cci, 100 ขาย cross 100, cci สั้น ๆ เข้าบัญชีการค้าและออกกฎสั้นข้าม -100 cci ครอบคลุมข้าม cci, -100.Note ว่าในตัวอย่างนี้ถ้า CCI อยู่ระหว่าง -100 และ 100 คุณจะออกจากตลาดการควบคุมราคาค้าขาย AmiBroker ตอนนี้มีตัวแปรสงวนใหม่ 4 สำหรับการระบุราคาที่ซื้อซื้อขายคำสั่งสั้นและครอบคลุมจะมีการดำเนินการอาร์เรย์เหล่านี้มีชื่อดังต่อไปนี้ราคาซื้อ, ราคาขาย, ราคาลดและ coverprice การใช้ตัวแปรหลักเหล่านี้คือการควบคุมราคาทางการค้า PriceBuy IIF dayofweek 1, HIGH, Close on วันจันทร์ซื้อที่สูงมิฉะนั้นซื้อใน close. So คุณสามารถเขียนต่อไปนี้เพื่อจำลองการสั่งซื้อสินค้าที่แท้จริง BuyStop สูตรสำหรับการซื้อระดับหยุด SellStop สูตรสำหรับการขายระดับหยุด หากทุกเวลาในช่วงวันราคาขึ้นเหนือระดับการซื้อสูงการซื้อสูงคำสั่งซื้อจะเกิดขึ้นที่การซื้อหรือต่ำกว่าราคาใดที่สูงกว่าซื้อ Cross High, BuyStop ถ้าช่วงเวลาของวันลดลงต่ำกว่าระดับ sellprice ต่ำ sellstop คำสั่งขายจะเกิดขึ้นที่ sellstop หรือสูงกว่าไหนแล้วต่ำกว่า Sell Cross SellPrice, SellStop. BuyPrice max BuyStop ต่ำให้แน่ใจว่าซื้อราคาไม่น้อยกว่าต่ำ SellPrice ต่ำสุด SellStop สูงให้แน่ใจ ราคาขายไม่สูงกว่า High โปรดทราบว่า AmiBroker ตั้งค่าล่วงหน้าสำหรับ buyprice, sellprice, shortprice และ coverprice ด้วยค่าที่กำหนดไว้ในหน้าต่างการตั้งค่าทดสอบระบบดังที่แสดงไว้ด้านล่างเพื่อให้คุณสามารถ แต่ไม่จำเป็นต้องกำหนดไว้ในสูตรของคุณถ้าคุณ don t กำหนด AmiBroker ทำงานในเวอร์ชันเก่าในระหว่างการทดสอบ AmiBroker จะตรวจสอบว่าค่าที่คุณกำหนดให้กับ buyprice, sellprice, shortprice, coverprice เหมาะสมกับช่วงต่ำสุดของแถบที่กำหนดถ้าไม่ AmiBroker จะปรับราคาให้สูงขึ้นถ้า ราคาอาเรย์ราคาสูงกว่าราคาสูงหรือราคาต่ำถ้าราคาของราคาต่ำกว่าราคาต่ำสุดหยุดเป้าหมายคุณสามารถเห็นในภาพด้านบนการตั้งค่าใหม่สำหรับการหยุดเป้าหมายเพื่อผลประโยชน์มีจำหน่าย le ในหน้าต่างการตั้งค่าการทดสอบระบบเป้าหมายกำไรจะหยุดทำงานเมื่อราคาสูงสำหรับวันใดวันหนึ่งเกินระดับการหยุดที่สามารถให้เป็นเปอร์เซ็นต์หรือเพิ่มขึ้นจากราคาเสนอซื้อโดยค่าเริ่มต้นหยุดดำเนินการในราคาที่คุณกำหนดเป็นขาย อาร์เรย์ราคาสำหรับการค้าระยะยาวหรือครอบคลุมอาร์เรย์ราคาสำหรับธุรกิจระยะสั้นลักษณะการทำงานนี้สามารถเปลี่ยนแปลงได้โดยใช้คุณลักษณะ Exit at stop (หยุดที่จุดหยุด) หยุดทำงานที่คุณลักษณะ stop ถ้าคุณทำเครื่องหมาย Exit at stop box ในการตั้งค่าหยุดจะถูกดำเนินการในระดับ stop แน่นอนเช่น ถ้าคุณกำหนดเป้าหมายกำไรหยุดที่ 10 หยุดของคุณและซื้อราคาถูก 50 คำสั่งหยุดจะดำเนินการที่ 55 แม้ว่าอาร์เรย์ราคาขายของคุณมีค่าแตกต่างกันเช่นราคาปิดของ 56 สูญเสียมากที่สุดหยุดทำงานในลักษณะที่คล้ายกัน - ดำเนินการเมื่อราคาต่ำสำหรับวันที่กำหนดลดลงต่ำกว่าระดับการหยุดที่สามารถให้เป็นเปอร์เซ็นต์หรือจุดเพิ่มขึ้นจากราคาซื้อชนิดของการหยุดนี้จะใช้เพื่อปกป้องผลกำไรตามที่ติดตามการค้าของคุณดังนั้นแต่ละครั้งที่ตำแหน่ง เมื่อระดับกำไรลดลงต่ำกว่าตำแหน่งหยุดนิ่งตำแหน่งจะปิดกลไกนี้แสดงในภาพด้านล่าง 10 จุดต่อท้ายจะปรากฏขึ้น ตัวอย่างการใช้งานระดับต่ำสุดของ Profit-target stop ใน AFL ซื้อ Cross MACD, Signal. For i 0 i BarCount i ถ้าราคาเริ่มต้นที่ราคา 0 1 1 ราคาขาย i 1 ราคาขาย i 1 1 ราคา buybuy 0 อื่นขาย i 0 นี่คือคุณลักษณะใหม่ในรุ่น 3 9 การปรับขนาดตำแหน่งใน backtester จะดำเนินการโดยใช้ตัวแปรใหม่ที่จองไว้ขนาดที่เหมาะสมขนาดตอนนี้คุณสามารถควบคุมจำนวนเงินหรือเปอร์เซ็นต์ของพอร์ตโฟลิโอที่ลงทุนในจำนวนที่ค้ากำหนดได้กำหนดจำนวนเงินที่ เป็นเงินลงทุนในการค้าตัวอย่างเช่น PositioningSize 1000 ลงทุน 1,000 ในทุก trade. negative ตัวเลข -100-1 กำหนดเปอร์เซ็นต์ -100 ให้ 100 ของขนาดพอร์ตปัจจุบัน -33 ให้ 33 ของทุนที่มีอยู่ตัวอย่างเช่น. PositionSize -50 เสมอลงทุนเพียงครึ่งเดียว ของ RSI ที่มีอยู่ในปัจจุบันตัวอย่างการกำหนดขนาด - 100 RSI. as RSI เปลี่ยนแปลงจาก 0 100 ซึ่งจะส่งผลให้ตำแหน่งขึ้นอยู่กับค่า RSI - ค่า RSI ต่ำจะทำให้สัดส่วนการลงทุนเพิ่มขึ้นหากมีเงินสดเหลือน้อยกว่า 100 vested แล้วจำนวนเงินที่เหลือได้รับอัตราดอกเบี้ยตามที่กำหนดไว้ในการตั้งค่านอกจากนี้ยังมีช่องทำเครื่องหมายใหม่ในหน้าต่างการตั้งค่า AA อนุญาตให้ขนาดของตำแหน่งหดตัว - นี้จะควบคุมวิธี backtester จัดการสถานการณ์เมื่อขนาดตำแหน่งที่ร้องขอผ่านตัวแปร PositionSize เกินกว่าเงินสดที่มีอยู่เมื่อธงนี้ ตรวจสอบตำแหน่งที่ป้อนด้วยขนาด shinked เพื่อเงินสดใช้ได้ถ้าไม่ได้ตรวจสอบตำแหน่งไม่ได้ป้อนหากต้องการดูขนาดตำแหน่งจริงโปรดใช้โหมดรายงานใหม่ในหน้าต่างการตั้งค่า AA รายการการค้าที่มีราคาและขนาด pos. For ท้ายที่นี่ เป็นตัวอย่างของเทคนิคการปรับตำแหน่งตำแหน่ง ATR ของ Tharp ตามรหัสใน AFL ซื้อสูตรซื้อของคุณที่นี่ Sell 0 selling only by stop. TrailStopAmount 2 ATR 20 Capital 100000 สำคัญตั้งค่าในส่วนของการตั้งค่า Initial EquityRisk 0 01 Capital Position ความเสี่ยงขนาด TrailStopAmount BuyPrice ApplyStop 2, 2, TrailStopAmount, 1. เทคนิคสามารถสรุปได้ดังนี้หุ้นทั้งหมดต่อสัญลักษณ์ 100,000 เรากำหนดระดับความเสี่ยงที่ 1 ของ tota ความเสี่ยงระดับความเสี่ยงมีดังต่อไปนี้ถ้าจุดต่อท้าย 50 สตางค์อยู่ที่ 45 ค่าของ ATR สองต่อตำแหน่งการสูญเสีย 5 จะถูกแบ่งออกเป็น 1000 ความเสี่ยงที่จะให้ 200 หุ้นที่จะซื้อดังนั้น ความเสี่ยงการสูญเสียคือ 1000 แต่ความเสี่ยงในการจัดสรร 200 หุ้น x 50 หุ้นหรือ 10,000 ดังนั้นเราจะจัดสรร 10 ส่วนของผู้ถือหุ้นเพื่อซื้อ แต่เพียง 1,000 เสี่ยงข้อความที่ตัดมาจากรายชื่อผู้รับจดหมาย AmiBroker ขนาดใหญ่และขนาด ticking เครื่องมือต่างๆ ซื้อขายกับหน่วยการซื้อขายต่างๆหรือบล็อกต่างๆตัวอย่างเช่นคุณสามารถซื้อหน่วยย่อยของกองทุนได้บางส่วน แต่คุณไม่สามารถซื้อหุ้นบางส่วนได้บางครั้งคุณต้องซื้อในจำนวน 10 หรือ 100 วินาที AmiBroker ช่วยให้คุณสามารถระบุขนาดบล็อกได้ทั่วโลก และสัญลักษณ์ต่อ level. You สามารถกำหนดขนาดของรอบต่อสัญลักษณ์ในหน้าข้อมูลสัญลักษณ์ 3 ค่าของศูนย์หมายความว่าสัญลักษณ์ไม่มีขนาดล็อตพิเศษและจะใช้ค่าเริ่มต้นของขนาดล็อตทั่วโลกจากการวิเคราะห์อัตโนมัติ การตั้งคา age pic 1 หากขนาดดีฟอลต์ถูกตั้งค่าเป็นศูนย์ด้วยเช่นกันคุณสามารถควบคุมขนาดของล็อตได้โดยตรงจากสูตร AFL โดยใช้ตัวแปรสำรอง RoundLotSize ตัวอย่างเช่นการตั้งค่านี้จะควบคุมการเคลื่อนไหวราคาขั้นต่ำของ คุณสามารถกำหนดได้ในระดับโลกและสัญลักษณ์ต่อเช่นเดียวกับขนาดล็อตล็อตคุณสามารถกำหนดขนาดสัญลักษณ์ต่อสัญลักษณ์ในหน้าข้อมูลสัญลักษณ์ 3 ค่าของศูนย์สั่งให้ AmiBroker ใช้ขนาดติ๊กเริ่มต้นที่กำหนดไว้ในการตั้งค่า รูปที่ 1 ของหน้าต่างการวิเคราะห์อัตโนมัติถ้าขนาดติ๊กเริ่มต้นถูกตั้งค่าเป็นศูนย์หมายความว่าไม่มีการเลื่อนราคาขั้นต่ำคุณสามารถตั้งค่าและเรียกขนาดขีดจากสูตร AFL โดยใช้ตัวแปรสงวนลิขสิทธิ์ TickSize ได้เช่นหมายเหตุ การตั้งค่าขนาดจะส่งผลกระทบต่อการค้าเฉพาะที่เกิดจากการหยุดทำงานในตัวและหรือ ApplyStop Backtester อนุมานว่าข้อมูลราคาเป็นไปตามความต้องการของขนาดที่ต้องการและไม่ได้เปลี่ยนอาร์เรย์ราคาที่จัดทำโดยผู้ใช้เพื่อระบุขนาดขีด akes sens เท่านั้นถ้าคุณใช้ built-in stop ดังนั้นจุดออกจะสร้างขึ้นในระดับราคาที่อนุญาตแทนการคำนวณตัวอย่างเช่นในประเทศญี่ปุ่น - คุณไม่สามารถมีส่วนที่เป็นเศษส่วนของเยนดังนั้นคุณควรกำหนดระดับโลก ticksize 1 ดังนั้น built-in หยุดการซื้อขายออกในระดับจำนวนเต็มการตั้งค่า margin ของบัญชีกำหนดความต้องการอัตราร้อยละสำหรับบัญชีทั้งหมดค่าเริ่มต้นของ margin ของบัญชีคือ 100 ซึ่งหมายความว่าคุณต้องให้เงิน 100 เพื่อเข้าสู่การค้าและนี่คือวิธีที่ backtester ทำงานในเวอร์ชันก่อนหน้า คุณสามารถยืมเงินจากโบรกเกอร์ของคุณเพื่อซื้อหุ้นได้ด้วยกฎระเบียบปัจจุบันคุณสามารถซื้อ 50 ราคาซื้อหุ้นที่คุณต้องการซื้อและยืมอีกครึ่งหนึ่งจากบัญชีของคุณ นายหน้าเพื่อจำลองนี้เพียงแค่ใส่ 50 ในฟิลด์ margin ของบัญชีดูรูปที่ 1 ถ้าทุนจดทะเบียนเดิมของคุณถูกกำหนดเป็น 10000 กำลังซื้อของคุณจะอยู่ที่ 20000 และคุณจะสามารถเข้าสู่ตำแหน่งใหญ่ได้โปรดทราบ การตั้งค่านี้จะกำหนดส่วนต่างของทั้งบัญชีและไม่เกี่ยวข้องกับการซื้อขายล่วงหน้าในทุกคำพูดอีกนัยหนึ่งคุณสามารถซื้อขายหุ้นในบัญชี Margin Rewerse entry signal forces ออกจากกล่องกาเครื่องหมายไปยังการตั้งค่า Backtester เมื่อตั้งค่าเริ่มต้นไว้คือ backtester ทำงานเหมือนในเวอร์ชันก่อนหน้าและปิดตำแหน่งโพสิตไว้แล้วหากมีสัญญาณเข้าใหม่ในทิศทางย้อนกลับหากสวิตช์นี้ปิดอยู่แม้ว่าสัญญาณย้อนกลับจะเกิดขึ้น backtester ยังคงเปิดการค้าที่เปิดอยู่และไม่ปิดโพสโทตัตจนกว่าจะมีการขายหรือปิดสัญญาณออกเป็นประจำ คำอื่น ๆ เมื่อสวิตช์นี้ปิด backtester ละเว้นสัญญาณสั้นในระหว่างการค้าที่ยาวนานและไม่สนใจซื้อสัญญาณในช่วงสั้น trades. Allow บาร์เดียวออกจากตัวเลือกการค้าแถบเดียวกับการตั้งค่าเมื่อเป็นค่าเริ่มต้นการตั้งค่า - เข้าและออกที่แถบเดียวกันมากคือ ได้รับอนุญาตเช่นเดียวกับรุ่นก่อนหน้าถ้าปิด - ออกสามารถเกิดขึ้นได้จากแถบถัดไปเท่านั้นที่ใช้กับสัญญาณปกติมีการตั้งค่าแยกต่างหากสำหรับ ApplyS ทางออกที่สร้างขึ้นบนสุดการสลับไปที่ OFF ช่วยให้สามารถจำลองลักษณะการทำงานของ MS backtester ที่ไม่สามารถจัดการกับวันเดียวกันได้หยุดทำงานทันทีเปิดใช้งานการตั้งค่านี้จะแก้ปัญหาของระบบทดสอบที่เข้าสู่ตลาดในตลาดที่เปิดอยู่ backtester สันนิษฐานว่าคุณกำลังเข้าสู่ธุรกิจการค้าในปิดตลาดเพื่อ built-in หยุดถูกเปิดใช้งานจากวันถัดไปปัญหาคือเมื่อคุณในความเป็นจริงกำหนดราคาเปิดเป็นราคารายการการค้า - แล้วความผันผวนของราคาในวันเดียวกันไม่ได้เรียกหยุดมีบาง เผยแพร่การแก้ไขปัญหาตามรหัส AFL แต่ตอนนี้คุณ don t จำเป็นต้องใช้พวกเขาเพียงแค่ถ้าคุณเปิดการค้าที่คุณควรทำเครื่องหมายทำทันทีหยุดทันที pic 1.You อาจถามว่าทำไมไม่เพียงตรวจสอบ buyprice หรืออาร์เรย์ shortprice ถ้าเท่ากับราคาเปิด Unfortunatelly นี้ได้รับรางวัลงาน t ทำไมเพียงเพราะมี doji วันเมื่อราคาเปิดเท่ากับปิดแล้ว backtester จะไม่ทราบว่าการค้าถูกป้อนที่ตลาดเปิดหรือปิดเราจึงจำเป็นต้องแยก s etting. Use QuickAFL. QuickAFL tm เป็นคุณลักษณะที่ช่วยให้สามารถคำนวณ AFL ได้เร็วขึ้นภายใต้เงื่อนไขบางประการตั้งแต่ปี 2003 เป็นต้นมาก็มีให้ใช้กับตัวบ่งชี้เท่านั้นเนื่องจากเวอร์ชัน 5 14 มีอยู่ใน Automatic Analysis ด้วยเช่นกันแนวคิดแรกคือการทำให้แผนภูมิวาดใหม่ได้เร็วขึ้น โดยการคำนวณสูตร AFL เฉพาะส่วนที่สามารถมองเห็นได้ในแผนภูมิในลักษณะเดียวกันหน้าต่างการวิเคราะห์อัตโนมัติสามารถใช้ชุดย่อยของใบเสนอราคาที่มีอยู่เพื่อคำนวณ AFL หากพารามิเตอร์ช่วงที่เลือกน้อยกว่าใบเสนอราคาทั้งหมดคำอธิบายเพิ่มเติมเกี่ยวกับวิธีการทำงานของ QuickAFL และวิธีการ ในบทความฐานความรู้นี้โปรดทราบว่าตัวเลือกนี้ใช้ไม่ได้เฉพาะใน backtester เท่านั้น แต่ยังรวมถึงการเพิ่มประสิทธิภาพการสำรวจและการสแกนด้วยการทำเครื่องหมายข้าม Cracsover ใน Python กับหมีแพนด้าในบทความก่อนหน้านี้เกี่ยวกับ Research Backtesting Environments ใน Python ด้วย Pandas เราได้สร้างสภาพแวดล้อม backtesting ที่มุ่งเน้นการวิจัยเชิงวัตถุและทดสอบกับกลยุทธ์การคาดเดาแบบสุ่ม In thi เราจะใช้เครื่องมือที่เรานำมาใช้เพื่อดำเนินการวิจัยเกี่ยวกับกลยุทธ์ที่เกิดขึ้นจริง ได้แก่ Crossover Moving Average ใน AAPL. Moving Average Crossover Strategy เทคนิค Crossover Moving Average เป็นกลยุทธ์โมเมนตัมที่เป็นที่รู้จักอย่างมาก ถือว่าเป็นตัวอย่างของ Hello World สำหรับการซื้อขายเชิงปริมาณกลยุทธ์ดังที่ระบุไว้ในที่นี้คือตัวกรองค่าเฉลี่ยเคลื่อนที่ที่ยาวเพียงสองตัวที่มีการสร้างขึ้นโดยมีระยะเวลาการมองย้อนกลับที่แตกต่างกันของชุดเวลาเฉพาะสัญญาณเพื่อซื้อสินทรัพย์เกิดขึ้นเมื่อค่าเฉลี่ยย้อนกลับของค่าเฉลี่ยย้อนกลับสูงกว่า ค่าเฉลี่ยย้อนหลังนานกว่าค่าเฉลี่ยที่ยาวนานกว่าค่าเฉลี่ยที่ยาวนานกว่าค่าเฉลี่ยที่สั้นกว่าสินทรัพย์จะขายกลับกลยุทธ์ทำงานได้ดีเมื่อชุดเวลาเข้าสู่ช่วงเวลาของแนวโน้มที่แข็งแกร่งและจากนั้นช้ากลับแนวโน้มเช่นนี้ผมได้เลือกแอปเปิ้ล, Inc AAPL เป็นชุดเวลาที่มี lookback สั้น 100 วันและ lookback ยาว 400 วันนี่คือตัวอย่างให้โดย zipline ไลบรารีการค้าอัลกอริธึมดังนั้นถ้าเราต้องการที่จะใช้ backtester ของเราเองเราจำเป็นต้องตรวจสอบให้แน่ใจว่ามันตรงกับผลลัพธ์ใน zipline เป็นวิธีพื้นฐานในการตรวจสอบให้แน่ใจว่าได้ทำตามคำแนะนำก่อนหน้านี้ที่นี่ซึ่งจะอธิบายว่าลำดับชั้นของวัตถุเริ่มต้นสำหรับ backtester เป็นอย่างไร สร้างมิฉะนั้นโค้ดด้านล่างจะไม่ทำงานสำหรับการใช้งานเฉพาะนี้ฉันได้ใช้ห้องสมุดต่อไปนี้การใช้ต้องจากกวดวิชาก่อนหน้านี้ขั้นตอนแรกคือการนำเข้าโมดูลที่จำเป็นและวัตถุในการสอนก่อนหน้านี้เราจะไป subclass ชั้นกลยุทธ์พื้นฐานนามธรรมเพื่อผลิต MovingAverageCrossStrategy ซึ่งมีรายละเอียดทั้งหมดเกี่ยวกับวิธีการสร้างสัญญาณเมื่อค่าเฉลี่ยเคลื่อนที่ของ AAPL ข้ามกันและกันวัตถุต้อง shortwindow และ longwindow ที่จะใช้งานค่าที่ได้รับการตั้งค่าเริ่มต้น ของ 100 วันและ 400 วันตามลำดับซึ่งเป็นพารามิเตอร์เดียวกับที่ใช้ในตัวอย่างหลักของ zipline การเคลื่อนที่ของ avera ges ถูกสร้างขึ้นโดยการใช้ฟังก์ชัน rollingmean ของ pandas บนแท่งปิดราคาปิดของหุ้น AAPL เมื่อสร้างค่าเฉลี่ยเฉพาะแต่ละชุดสัญญาณจะถูกสร้างขึ้นโดยการตั้งค่า colum เท่ากับ 1 0 เมื่อค่าเฉลี่ยเคลื่อนที่สั้นมากกว่า ค่าเฉลี่ยเคลื่อนที่นานหรือ 0 0 มิฉะนั้นจากคำสั่งตำแหน่งนี้สามารถสร้างขึ้นมาเพื่อแสดงสัญญาณการซื้อขาย MarketOnClosePortfolio ถูกแบ่งย่อยจาก Portfolio ซึ่งพบได้ในเกือบจะเหมือนกันกับการใช้งานตามที่อธิบายไว้ในกวดวิชาก่อนหน้านี้โดยมีข้อยกเว้นว่าธุรกิจการค้า ขณะนี้ดำเนินการในแบบ Close-to-Close แทนที่จะเป็น Open-to-Open basis สำหรับรายละเอียดเกี่ยวกับวิธีการกำหนด Portfolio Portfolio ให้ดูบทแนะนำก่อนหน้านี้ผมได้ทิ้งรหัสไว้เพื่อให้สมบูรณ์และเพื่อให้บทแนะนำด้วยตนเองนี้ คอนฟิกูเรชันเมื่อมีการกำหนดคลาส MovingAverageCrossStrategy และ MarketOnClosePortfolio แล้วฟังก์ชันหลักจะถูกเรียกเพื่อผูกฟังก์ชันการทำงานทั้งหมดเข้าด้วยกัน ประสิทธิภาพของกลยุทธ์จะถูกตรวจสอบผ่านพล็อตของเส้นโค้งส่วนได้ Pandas DataReader วัตถุดาวน์โหลดราคา OHLCV ของหุ้น AAPL สำหรับงวด 1 มกราคม 1990 ถึง 1 มกราคม 2002 ณ จุดที่สัญญาณ DataFrame ถูกสร้างขึ้นเพื่อสร้างระยะยาว - เฉพาะสัญญาณหลังจากนั้นผลงานจะถูกสร้างขึ้นด้วยฐานเงินทุนเริ่มแรก 100,000 เหรียญสหรัฐและผลตอบแทนจะคำนวณจากส่วนของส่วนของผู้ถือหุ้นขั้นตอนสุดท้ายคือการใช้ matplotlib ในการคำนวณพล็อตทั้งสองแบบของราคา AAPL ซึ่งถูกทับด้วยค่าเฉลี่ยเคลื่อนที่และซื้อ ขายสัญญาณเช่นเดียวกับส่วนของเส้นโค้งที่มีสัญญาณการขายซื้อเดียวกันรหัสวางแผนถูกนำมาและแก้ไขจากตัวอย่างการดำเนินงาน zipline ผลกราฟิกของรหัสดังต่อไปนี้ผมใช้คำสั่งวาง IPython เพื่อใส่นี้โดยตรง IPython คอนโซลในขณะที่ในอูบุนตูเพื่อให้การแสดงผลแบบกราฟิกยังคงอยู่ในมุมมอง upticks สีชมพูแทนการซื้อสต็อกในขณะที่ downticks สีดำแสดงขายมันกลับ AAPL Moving Average C rossover ผลการดำเนินงานตั้งแต่ปี 2533-01-01 ถึง 2545-01-01 ขณะที่สามารถมองเห็นยุทธศาสตร์นี้จะสูญเสียเงินไปในช่วงเวลาโดยมีธุรกิจการท่องเที่ยวรอบที่ห้าซึ่งไม่น่าแปลกใจที่ได้รับการยอมรับจากพฤติกรรมของ AAPL ในช่วงเวลาดังกล่าว มีแนวโน้มลดลงเล็กน้อยตามด้วยการเริ่มขึ้นในปีพ. ศ. 2541 ช่วงเวลาที่มองย้อนกลับของสัญญาณเฉลี่ยเคลื่อนที่มีขนาดค่อนข้างใหญ่และส่งผลกระทบต่อผลกำไรของการค้าในขั้นสุดท้ายซึ่งอาจส่งผลต่อกำไรได้ในบทความต่อไปเราจะสร้าง วิธีการที่ซับซ้อนในการวิเคราะห์ประสิทธิภาพตลอดจนการอธิบายถึงวิธีเพิ่มประสิทธิภาพระยะเวลาการมองย้อนกลับของสัญญาณเฉลี่ยที่เคลื่อนที่ได้โดยง่ายเพียงแค่เริ่มต้นการซื้อขายเชิงปริมาณ

No comments:

Post a Comment