Thursday, 6 July 2017

การทดสอบ Trading กลยุทธ์ Excel


การใช้ Excel เพื่อย้อนกลับกลยุทธ์การซื้อขายการทดสอบวิธีการทดสอบย้อนกลับด้วย Excel Ive ทำจำนวนเงินที่ยุติธรรมของการทดสอบกลยุทธ์การซื้อขายกลับ Ive ใช้ภาษาโปรแกรมที่ซับซ้อนและขั้นตอนวิธีและ Ive ยังทำมันด้วยดินสอและกระดาษ คุณไม่จำเป็นต้องเป็นนักวิทยาศาสตร์จรวดหรือโปรแกรมเมอร์เพื่อทดสอบกลยุทธ์การซื้อขายจำนวนมาก หากคุณสามารถใช้งานโปรแกรมสเปรดชีตเช่น Excel ได้คุณสามารถทดสอบกลยุทธ์ได้หลายวิธี วัตถุประสงค์ของบทความนี้เพื่อแสดงวิธีย้อนกลับทดสอบกลยุทธ์การซื้อขายโดยใช้ Excel และแหล่งข้อมูลที่เปิดเผยต่อสาธารณะ นี้ไม่ควรค่าคุณมากขึ้นกว่าเวลาที่ใช้ในการทำแบบทดสอบ ก่อนที่คุณจะเริ่มทดสอบกลยุทธ์ใด ๆ คุณต้องมีชุดข้อมูล อย่างน้อยนี้เป็นชุดข้อมูลและราคา คุณสมจริงมากขึ้นคุณต้องเปิดใช้งาน datetime เปิดสูงต่ำราคาปิด คุณมักจะต้องใช้องค์ประกอบเวลาของชุดข้อมูลถ้าคุณกำลังทดสอบกลยุทธ์การซื้อขายในวันที่ ถ้าคุณต้องการทำงานพร้อมและเรียนรู้วิธีกลับการทดสอบกับ Excel ในขณะที่คุณกำลังอ่านข้อความนี้จากนั้นทำตามขั้นตอนที่ฉันสรุปในแต่ละส่วน เราจำเป็นต้องได้รับข้อมูลสำหรับสัญลักษณ์ที่เรากำลังจะกลับการทดสอบ ไปที่: Yahoo Finance ในช่อง Enter Symbol (s) ให้ป้อน: IBM และคลิก GO ภายใต้ Quotes ที่ด้านซ้ายมือคลิก History Prices และป้อนช่วงวันที่ที่คุณต้องการ ฉันเลือกตั้งแต่ 1 มกราคม 2547 ถึง 31 ธันวาคม 2004 เลื่อนลงไปที่ด้านล่างของหน้าและคลิกดาวน์โหลดลงในสเปรดชีตบันทึกไฟล์ด้วยชื่อ (เช่น ibm. csv) และไปยังที่ที่คุณสามารถพบได้ในภายหลัง การเตรียมข้อมูลเปิดไฟล์ (ที่คุณดาวน์โหลดมาด้านบน) โดยใช้ Excel เนื่องจากลักษณะพลวัตของอินเทอร์เน็ตคำแนะนำที่คุณอ่านข้างต้นและไฟล์ที่คุณเปิดอาจมีการเปลี่ยนแปลงเมื่อถึงเวลาที่คุณอ่านข้อความนี้ เมื่อดาวน์โหลดไฟล์นี้ไม่กี่บรรทัดแรกนี้มีลักษณะดังนี้: ขณะนี้คุณสามารถลบคอลัมน์ที่คุณไม่ต้องการใช้ สำหรับการทดสอบที่ Im เกี่ยวกับการทำฉันจะใช้ค่าวันที่เปิดและปิดดังนั้นฉันได้ลบ High, Low, Volume และ Adj ปิด. ฉันยังจัดเรียงข้อมูลเพื่อให้วันที่เก่าแก่ที่สุดเป็นอันดับแรกและวันที่ล่าสุดอยู่ที่ด้านล่าง ใช้ตัวเลือกเมนูการจัดเรียงข้อมูล - gt เพื่อทำสิ่งนี้ แทนการทดสอบกลยุทธ์ต่อ se ฉันจะพยายามหาวันในสัปดาห์ซึ่งให้ผลตอบแทนที่ดีที่สุดถ้าคุณทำตามซื้อเปิดและขายกลยุทธ์ปิด โปรดจำไว้ว่าบทความนี้จะแนะนำคุณเกี่ยวกับวิธีการใช้ Excel เพื่อย้อนกลับกลยุทธ์การทดสอบ เราอาจจะพัฒนาต่อไปเรื่อย ๆ นี่คือไฟล์ ibm. zip ซึ่งเก็บสเปรดชีตด้วยข้อมูลและสูตรสำหรับการทดสอบนี้ ข้อมูลของฉันอยู่ในคอลัมน์ A ถึง C (วันที่เปิดปิด) ในคอลัมน์ D ถึง H ฉันมีสูตรวางตำแหน่งเพื่อกำหนดผลตอบแทนในวันใดวันหนึ่ง การป้อนสูตรส่วนที่หากิน (เว้นแต่คุณจะเป็นผู้เชี่ยวชาญของ Excel) กำลังดำเนินการตามสูตรที่จะใช้ นี่เป็นเพียงเรื่องของการปฏิบัติและยิ่งคุณฝึกสูตรอื่น ๆ ที่คุณค้นพบมากเท่าใดและคุณจะมีความยืดหยุ่นมากขึ้นในการทดสอบของคุณ ถ้าคุณได้ดาวน์โหลดสเปรดชีตแล้วลองดูสูตรในเซลล์ D2 ดูเหมือนว่า: สูตรนี้จะถูกคัดลอกไปยังเซลล์อื่น ๆ ทั้งหมดในคอลัมน์ D ถึง H (ยกเว้นแถวแรก) และไม่จำเป็นต้องปรับเปลี่ยนเมื่อคัดลอกแล้ว อธิบายสั้น ๆ เกี่ยวกับสูตร สูตร IF มีเงื่อนไขเป็นความจริงและเป็นเท็จ เงื่อนไขคือ: ถ้าวันในสัปดาห์ (แปลงเป็นตัวเลขตั้งแต่ 1 ถึง 5 วันตรงกับวันจันทร์ถึงวันศุกร์) เป็นวันเดียวกับวันในสัปดาห์แรกของแถวแรกของคอลัมน์นี้ (D1) จากนั้น ส่วนที่แท้จริงของคำแถลง (C2-B2) ช่วยให้เราเห็นคุณค่าของ Close-Open นี่แสดงว่าเราซื้อ Open และขาย Close และนี่เป็นกำไรของเรา ส่วนที่เป็นเท็จของคำสั่งคือคู่คำพูดคู่ () ซึ่งไม่ได้ใส่อะไรลงในเซลล์หากไม่ได้จับคู่วันในสัปดาห์ เครื่องหมายทางด้านซ้ายของตัวอักษรคอลัมน์หรือหมายเลขแถวล็อกคอลัมน์หรือแถวเพื่อไม่ให้มีการเปลี่ยนแปลงส่วนของการอ้างอิงเซลล์ ดังนั้นในตัวอย่างของเราเมื่อสูตรถูกคัดลอกการอ้างอิงไปยังเซลล์วันที่ A2 จะเปลี่ยนหมายเลขแถวถ้าคัดลอกไปยังแถวใหม่ แต่คอลัมน์จะยังคงอยู่ที่คอลัมน์ A คุณสามารถทำสูตรและสร้างกฎที่มีประสิทธิภาพล้ำยุค และสำนวน ผลลัพธ์ที่ด้านล่างของคอลัมน์วันทำงานฉันได้วางฟังก์ชันสรุปแล้ว สะดุดตาเฉลี่ยและรวมฟังก์ชัน สิ่งเหล่านี้แสดงให้เราเห็นว่าในปี 2547 วันที่มีผลกำไรสูงสุดในการใช้กลยุทธ์นี้คือวันอังคารและตามด้วยวันพุธ เมื่อฉันทดสอบกลยุทธ์ Expiry Fridays - Bullish หรือ Bearish และเขียนบทความที่ฉันใช้วิธีการที่คล้ายกันมากกับสเปรดชีตและสูตรเช่นนี้ วัตถุประสงค์ของการทดสอบนั้นคือเพื่อดูว่าวันหมดอายุของวันศุกร์โดยทั่วไปรั้นหรือหยาบคาย ลองดูสิ. ดาวน์โหลดข้อมูลบางส่วนจาก Yahoo Finance โหลดลงใน Excel และลองใช้สูตรและดูสิ่งที่คุณสามารถเกิดขึ้นได้ โพสต์คำถามของคุณในฟอรัม โชคดีและการล่าสัตว์กลยุทธ์ที่มีกำไรก่อนที่จะใช้เครื่องมือพิเศษสำหรับการทดสอบย้อนกลับผมขอแนะนำให้ลองใช้ตาราง MS Excel Pivot ก่อน เครื่องมือตารางเดือยเหมาะสำหรับการตรวจสอบกรองและวิเคราะห์ข้อมูลขนาดใหญ่ ในบทความนี้ผมจะนำเสนอวิธีการสร้างกลยุทธ์การกำหนดเวลาแบบง่ายและวิธีการคำนวณประสิทธิภาพในอดีต ในต่อไปนี้ฉันจะแสดงวิธีการสร้างการวิเคราะห์เช่นโพสต์ก่อนหน้านี้: 8220Sell พฤษภาคมและ Go Away 8211 จริงๆ 8220 ขั้นที่ 1: ได้รับข้อมูลก่อนอื่นเราต้องได้รับข้อมูลสำหรับการวิเคราะห์ เราหันมาหา Yahoo เพื่อเรียกดัชนีดาวโจนส์ (ดูรายชื่อแหล่งข้อมูลตลาดสำหรับแหล่งข้อมูลอื่น ๆ ) อย่างใด Yahoo Finance จะซ่อนปุ่มดาวน์โหลดสำหรับดัชนี Dow-Jones แต่คุณสามารถคาดเดาลิงก์ที่ถูกต้องได้ง่าย: บันทึกไฟล์นี้ลงในดิสก์ จากนั้นให้เปิด MS Excel 2010 และดำเนินการต่อในขั้นต่อไป ขั้นตอนที่ 2: เพิ่มคอลัมน์สำหรับประสิทธิภาพและตัวบ่งชี้ตอนนี้ในไฟล์นี้เราจะเพิ่มการบันทึกผลตอบแทน (คอลัมน์ 8220Return8221) สำหรับแต่ละวันในชุดข้อมูลเวลา: จากนั้นเราเพิ่มตัวบ่งชี้ของกลยุทธ์การซื้อขาย 8211 ในกรณีนี้เพียงเดือนเดียว ของปี: สุดท้ายเราเพิ่มตัวบ่งชี้ของกลุ่ม: ทศวรรษที่ 3: เพิ่มตาราง Pivot จัดเรียงข้อมูลในตารางเครื่องมือตาราง Pivot - gt ตัวเลือก - gt สรุปค่าโดย - gt Sum ขั้นตอนที่ 4: การจัดรูปแบบตามเงื่อนไขเพื่อให้ได้ภาพรวมของ ข้อมูลในตาราง Pivot เราจัดรูปแบบค่าใน 8220Percent Style8221 และ 8220Conditional Formatting8221: รูปแบบหน้าแรก - gt Styles - gt การจัดรูปแบบตามเงื่อนไขขั้นตอนที่ 5: คำนวณประสิทธิภาพจริงผลรวมของการบันทึกที่ส่งกลับในตาราง Pivot เป็นข้อบ่งชี้ที่ดีสำหรับประสิทธิภาพของ กลยุทธ์การซื้อขาย แต่ประสิทธิภาพของ acutal สามารถหาได้ง่ายจาก log-return โดย: ตอนนี้คุณพร้อมแล้ว: Cell แต่ละเซลล์มีประสิทธิภาพในการเลือกดัชนีดาวโจนส์เริ่มต้นและขายได้ในตอนท้ายของแต่ละเดือน สนุกกับการศึกษาของคุณเองคุณพบการศึกษารายละเอียดเกี่ยวกับการแสดงของเดือนต่างๆในดัชนีหลักที่นี่ บทสรุปการทดสอบกลยุทธ์การซื้อขายแบบง่ายๆเป็นเรื่องง่ายโดยใช้ตาราง Pivot ของ Excel แม้ว่ากลยุทธ์ขั้นสูงจะต้องใช้ชุดซอฟต์แวร์พิเศษ (ตามที่เราเห็นในการทดสอบ MACD Back-testing) ห้าขั้นตอนง่ายๆจะนำไปสู่ข้อมูลเชิงลึกของกลยุทธ์การกำหนดเวลา หากชุดข้อมูลมีขนาดใหญ่คุณสามารถทำขั้นตอนเดียวกันได้โดยใช้ MS Power Pivot ฟรี MS Excel Add-in กับการเข้าถึงฐานข้อมูล โพสต์นำทางปล่อยให้ตอบกลับยกเลิกโพสต์นี อิ่มยินดีที่จะลงจอดในบล็อกนี้ ให้ฉันแนะนำสิ่งนี้: หากต้องการดูประสิทธิภาพที่แท้จริงในตาราง Pivot เพียงเพิ่มฟิลด์ที่คำนวณได้จากเมนู: ฟิลด์ GT Options, รายการ, ชุดแอ็ตเซ็ท gt Calculated Field8230 จากนั้นจึงติดป้าย 8220p8221 และพิมพ์สูตร 8220 EXP (Return) -18221 ในที่สุดคุณสามารถเพิ่มฟิลด์นี้ลงในพื้นที่ค่าเพื่อให้ได้ 8220Sum of p8221 ในตาราง ใช่คุณมีสิทธิ์นี่ดีกว่าการทำซ้ำตาราง ฉันจะอัปเดตโพสต์นี้ให้เร็วที่สุดแทนที่จะบอกคุณว่าเป็นเครื่องมือหรือกระบวนการที่ดีที่สุดที่คุณสามารถใช้สำหรับการทดสอบย้อนหลังให้ฉันแทนที่จะมุ่งเน้นไปที่ข้อผิดพลาดที่ใหญ่ที่สุดที่คุณต้องหลีกเลี่ยงเพื่อทำผลการทดสอบที่น่าเชื่อถือ นี่คือบางส่วนของปัจจัยที่สำคัญที่สุดที่คุณต้องจำไว้เมื่อ backtesting กลยุทธ์การซื้อขายหุ้น - overfitting ข้อมูล: นี่คือโดยไกลความผิดพลาดที่ใหญ่ที่สุดคนส่วนใหญ่ในการแสวงหาการสร้างกลยุทธ์ที่ให้ผล backtested งดงาม เมื่อสร้างกลยุทธ์ถ้าคุณเริ่มต้นปรับแต่งค่าพารามิเตอร์ของคุณในแบบที่ทำให้ได้รับผลตอบแทนสูงสุดกลยุทธ์นั้นอาจล้มเหลวอย่างมากในสภาพความเป็นอยู่ มี 2 ​​วิธีในการเอาชนะการทดสอบนี้ - การทดสอบนอกกลุ่มตัวอย่างและการสร้างกลยุทธ์ตามตรรกะมากกว่าการปรับแต่งค่าพารามิเตอร์อินพุท ความลำเอียงแบบมองไปข้างหน้า: เกิดขึ้นเมื่อคุณใช้ข้อมูลเพื่อสร้างสัญญาณที่อาจไม่สามารถใช้ได้ในจุดนั้นในอดีต ตัวอย่างเช่นถ้างบการเงินของ บริษัท สิ้นสุดในเดือนมีนาคมและคุณใช้ข้อมูลรายได้สำหรับปีที่แล้วในวันที่ 1 เมษายนเป็นไปได้มากว่า บริษัท จะไม่ได้ประกาศข้อมูลดังกล่าวก่อนเดือนพฤษภาคมหรือมิถุนายน ซึ่งจะส่งผลให้เกิดอคติต่อไป Survivorship bias / ความอ่อนน้อมถ่อมตน นี่เป็นหนึ่งในข้อสังเกตที่ยากที่จะสังเกตได้ สมมติว่าคุณมีกลยุทธ์ที่ซื้อขายจากรายการหุ้นกลุ่มเล็ก ๆ 500 หุ้นตามตัวชี้วัดทางเทคนิค โอกาสที่คุณจะได้รับข้อมูลราคาย้อนหลัง 10 ปีสำหรับหุ้น 500 รายนี้สำหรับการทดสอบย้อนหลังของคุณคุณจะไม่รวมข้อมูลสำหรับหุ้นทั้งหมดที่ถูกเพิกถอนในช่วงระยะเวลา 10 ปี เมื่อคุณทดสอบกลยุทธ์ของคุณคุณจะไม่ถือว่าการค้าที่อาจเป็นไปได้ที่เกิดขึ้นกับหุ้นที่ไม่ดีเหล่านั้นถ้าคุณใช้กลยุทธ์นี้เป็นระยะเวลาจริงในช่วงเวลานั้น มุ่งเน้นผลตอบแทนที่หมดจด มีจำนวนพารามิเตอร์ที่คุณต้องพิจารณาเพื่อตัดสินคุณภาพของกลยุทธ์ การมุ่งเน้นผลตอบแทนอย่างหมดจดอาจนำไปสู่ประเด็นสำคัญ ๆ ตัวอย่างเช่นถ้า Strategy A ให้ผลตอบแทน 10 ครั้งในช่วงเวลาหนึ่ง ๆ กับการเบี่ยงเบนสูงสุดของ -2 และกลยุทธ์ B จะให้ผลตอบแทน 12 กับการเบี่ยงเบน -10 จากนั้น B จะไม่เป็นกลยุทธ์ที่เหนือกว่าสำหรับ A. มีพารามิเตอร์ที่สำคัญอื่น ๆ เช่นการเบิกเงินกู้อัตราความสำเร็จอัตราส่วนของ sharpe เป็นต้นผลกระทบของตลาดการเรียกเก็บเงินจากธุรกรรม เมื่อมองถึงความเป็นไปได้ของยุทธศาสตร์คุณควรคำนึงถึงผลกระทบของตลาดที่เป็นไปได้ของการค้ารวมถึงค่าใช้จ่ายในการทำธุรกรรมที่เกิดขึ้น คุณอาจถูกล่อลวงให้สร้างกลยุทธ์ที่จะซื้อหุ้นขนาดใหญ่ที่มีสภาพคล่องต่ำซึ่งมีแนวโน้มที่จะให้ผลตอบแทนพิเศษ แต่เมื่อคุณเข้าสู่ตลาดเพื่อดำเนินกลยุทธ์นี้คำสั่งซื้อจำนวนมากบนหุ้นที่ไม่มีหลักประกันจะย้ายราคาที่คุณไม่ได้มีส่วนในการทดสอบของคุณ นอกจากนี้ค่าใช้จ่ายในการทำธุรกรรมยังสามารถปรับเปลี่ยนผลตอบแทนได้อย่างมากดังนั้นคุณจึงควรมองไปที่กำไรสุทธิ การทำเหมืองข้อมูล ปัญหานี้ค่อนข้างคล้ายกับปัญหาการใส่ข้อมูล ถ้าคุณทรมานข้อมูลนานพอแล้วมันจะสารภาพอะไร นี่เป็นเรื่องตลกที่เกิดขึ้นระหว่างนักวิทยาศาสตร์ข้อมูลซึ่งเชื่อว่าหากคุณใช้เวลามากพอคุณสามารถหารูปแบบในเกือบชุดข้อมูลใด ๆ ซึ่งนั่นไม่ได้หมายความว่ารูปแบบนี้จะใช้ได้ในอนาคต การเปลี่ยนแปลงพื้นฐาน อาจเป็นไปได้ว่าคุณพบกลยุทธ์ที่มีผลดีกับข้อมูลที่ผ่านมาเป็นอย่างดี แต่การเปลี่ยนแปลงขั้นพื้นฐานในการเปลี่ยนแปลงของตลาดอาจทำให้กลยุทธ์เดียวกันนี้ล้มเหลวในอนาคต เป็นที่ทราบกันดีว่าเกือบทุกกลยุทธ์ที่ดีต้องการให้มีการพัฒนาไปพร้อม ๆ กับการเปลี่ยนแปลงสภาวะตลาด กรอบเวลาขนาดเล็ก การทดสอบกลยุทธ์เป็นระยะเวลานานพอสมควรและในสภาวะตลาดที่เปลี่ยนแปลงไปเป็นสิ่งสำคัญ โดยเฉพาะอย่างยิ่งสำหรับกลยุทธ์การซื้อขายหุ้นที่อาจมีผลดีต่อตลาดวัว แต่จะกวาดล้างบัญชีธนาคารของคุณในตลาดด้านข้างหรือตลาดหมี มีสิ่งอื่น ๆ อีกมากมายที่ควรพิจารณาเมื่อทำย้อนหลัง แต่ในที่สุดวิธีเดียวที่จะทำให้แน่ใจได้ว่ากลยุทธ์ในการทำงานในสภาพที่มีชีวิตคือการทดสอบในสภาพความเป็นอยู่ (ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้ร่วมก่อตั้ง Tauro Wealth มุมมองที่นำเสนอนี้เป็นเพียงความคิดเห็นส่วนตัวของฉันและเพื่อเป็นข้อมูลเท่านั้น) Tauro Wealth เป็น บริษัท ด้านเทคโนโลยีทางการเงิน (Tauro Wealth) ที่ต้องการแก้ปัญหาที่ต้องเผชิญกับ นักลงทุนรายย่อยในอินเดีย เราหวังว่าจะสามารถจัดหาโซลูชั่นการลงทุนระยะยาวที่ครบวงจรได้ในราคาที่ต่ำกว่าค่าใช้จ่ายทั่วไป 5.2k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการทำซ้ำคำตอบด้านล่าง คำถามที่เกี่ยวข้องวิธีที่ดีในการ backtest กลยุทธ์การค้าและวิธีการทำมีอะไรที่ดีที่สุดห้าเทคนิคการซื้อขายหุ้นหรือกลยุทธ์การซื้อขายหุ้นที่ดีที่สุดคืออะไรวิธีที่ดีที่สุดสำหรับสดเพื่อเป็นโปรในการซื้อขายในตลาดหุ้นที่ฉันต้องการ เพื่อเปิดบัญชี Demat ใหม่และเริ่มซื้อขายในตลาดหุ้น อะไรคือสิ่งที่ดีที่สุดสำหรับผู้ให้บริการออนไลน์ในอินเดีย What0 's ความแตกต่างระหว่าง Demat และบัญชีการค้าอะไรคือกลยุทธ์ที่ดีที่สุดสำหรับการลงทุนและการเทรดสำหรับผู้ประกอบการค้ารายใหม่ในตลาดหุ้นซอฟต์แวร์ที่ดีที่สุดสำหรับ backtesting futures strategies คืออะไร ETF ที่ดีที่สุดกับ การลงทุนในอินเดียเอกสารอะไรบ้างที่เราจำเป็นต้องมีเพื่อเปิดบัญชีประนีประนอมอะไรคือขั้นตอนแรกในการลงทุนในตลาดหุ้นอินเดียฉันต้องการเรียนรู้การซื้อขายหุ้น อะไรคือวิธีที่ดีที่สุดในการดำเนินการเกี่ยวกับเรื่องนี้ฉันจะเรียนรู้อะไรเกี่ยวกับตลาดหุ้นอินเดียก่อนที่จะตัดสินใจลงทุนกับ Algorithmic Trading อะไรคือสิ่งที่ดีที่สุดในการซื้อขายหลักทรัพย์ของคุณอะไรคือสิ่งที่ดีที่สุดในการซื้อขายหลักทรัพย์ในอินเดีย Javier Gonzalez ผู้จัดการฝ่ายการลงทุน Oracle Fund LP Ed Seykota ใช้ C. การเขียน backtesting ของคุณจาก stratch อาจทำงานได้มากขึ้น แต่จะให้ประโยชน์ที่ไม่มีใครเข้าถึงสัญญาณของคุณ ซอฟต์แวร์บางตัวติดต่อสื่อสารสำหรับใบเสนอราคาและสิ่งที่ไม่ได้กลับไปสู่การเป็นแม่และโบรกเกอร์อาจจะรู้ถึงกลยุทธ์ของคุณและซื้อขายกับพวกเขา ขึ้นอยู่กับเส้นขอบฟ้าและหยุดเวลานี้อาจไม่ได้เป็นปัญหา หากคุณต้องการใช้ภาษาที่ง่ายกว่าภาษา C ให้ลองใช้ซอฟต์แวร์แบบเปิดไม่ใช่เป็นกรรมสิทธิ์เพื่อไม่ให้คุณเห็นด้วยกับ บริษัท ซอฟต์แวร์การค้า มีเพียงไม่กี่นายหน้าที่ให้ backtesting ให้กับลูกค้าเป็นส่วนหนึ่งของชุดซอฟต์แวร์ไคลเอ็นต์ของพวกเขา อย่างไรก็ตามบ่อยกว่าไม่เหล่านี้เป็นกล่องสีดำในแง่ที่ว่าคุณไม่ทราบวิธีการคำนวณจะทำ ถัดไปมี backtesters ฟรีทางออนไลน์ แต่ IMO คุณได้รับสิ่งที่คุณจ่าย ซอฟท์แวร์แบบสแตนด์อโลนสามารถศึกษาได้ที่: ซอฟต์แวร์ Backtesting รายการรวมถึงซอฟต์แวร์ backtesting ที่รวมอยู่ในเครื่องมือของ บริษัท นายหน้าซื้อขายหลักทรัพย์ แต่ยังมีซอฟต์แวร์แบบสแตนด์อโลน หากคุณกำลังค้าเพื่อหาเลี้ยงชีพ (เงินของคุณเองหรือคนอื่น) การตั้งค่าของฉันจะใช้ซอฟต์แวร์แบบสแตนด์อะโลน หวังว่าจะเป็นประโยชน์ 1.7k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการทำซ้ำ Jozef Rudy ผู้ก่อตั้งที่ Quantpicker - กลยุทธ์และการจัดทำดัชนีเชิงปริมาณจะขึ้นอยู่กับสิ่งที่คุณต้องการทำ backtest รูปแบบทางเทคนิคแบบสุ่มสิ่งที่สำคัญที่สุดคือตำแหน่งที่คุณสามารถหากลยุทธ์ได้เช่น ssrn หรือคุณสามารถใช้บริการ aggregator สำหรับเอกสารทางวิชาการได้เช่น สารานุกรมของกลยุทธ์การซื้อขายเชิงปริมาณ หากคุณสนใจในกลยุทธ์หุ้นตามข้อมูลพื้นฐาน Quantpicker คือจุดและคลิกทางเลือก ขั้นตอนการผลิตอัลกอริทึมการค้าอัลกอริทึมในเชิงปริมาณจะต้องใช้ความรู้ด้านการเขียนโปรแกรม แต่ดีกว่าสำหรับรูปแบบทางเทคนิค 10.6k Views middot ดู Upvotes middot ไม่ได้สำหรับการสืบพันธุ์คำถามที่ยิ่งใหญ่น่าเศร้าที่ backtesting ส่วนประกอบของทุกโปรแกรมที่มุ่งเน้นการค้าปลีกเช่น ninjatrader, tradestation, esignal ฯลฯ เป็นอึทั้งหมด คุณไม่สามารถไว้ใจได้ ผลลัพธ์คือผลงานของนิยายที่ตัดออกจากผ้าทั้งหมด คุณจำเป็นต้องสร้างสภาพแวดล้อมการทำ backtesting ของคุณเอง (บล็อกของ Andreas Clenow0 ต่อไปนี้มีบางบทความเกี่ยวกับเรื่องนี้) หรือคุณสามารถใช้โซลูชันที่ใช้ระบบคลาวด์ได้หลายวิธี ควอนตั้มมองค่อนข้างดีจริงและ quantconnect เป็นผลิตภัณฑ์ที่คล้ายกัน ตอนนี้เริ่มต้นตั้งแต่เริ่มต้น I039d กำลังมองหา Quantopian 11.8k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการสืบพันธุ์ middot คำตอบที่ร้องขอโดย Xiaoguang Wang Rimantas Petrauskas การสร้างกลยุทธ์เชิงกลยุทธ์ตั้งแต่ปี 2008 ผู้ร่วมก่อตั้งสถาบัน Autotrading Academy ฉันมี backtested หลายพันกลยุทธ์การค้าส่วนใหญ่สำหรับตลาด Forex แต่ฉันคิดว่ามันยังคงเกี่ยวข้องเพื่อเพิ่มคำตอบของฉันที่นี่ อันดับแรกผมอยากบอกว่าการทำ backtest เป็นเพียงส่วนหนึ่งของปริศนาเท่านั้น อย่าพึ่งพาผลลัพธ์จากการทำ backtest คุณจำเป็นต้องเรียกใช้ backtests นับร้อยเพื่อสุ่มเลือกขนาดการแพร่กระจายและจำลองการลื่นไถลในระหว่างการทำ backtest นี่จะบอกคุณว่ากลยุทธ์ของคุณมีพฤติกรรมอย่างไรเมื่อการแพร่กระจายมีการเปลี่ยนแปลงตลอดเวลาและมีขนาดใหญ่กว่าที่คุณได้รับในระหว่างการซื้อขายสด ดังนั้นเมื่อคุณเห็นความสำคัญของการเรียกใช้การแพร่กระจายที่มีการแพร่กระจายตัวแปรที่ถูกบันทึกไว้ในประวัติติ๊กประวัติ หากคุณใช้การแพร่กระจายแบบถาวรผลการทดสอบย้อนหลังของคุณอาจไม่ถูกต้อง ฉันมักใช้ MetaTrader 4 ในการทำ backtesting กลยุทธ์เดียวและ StrategyQuant เพื่อทำ backtest หลายพันคน ดังนั้นเมื่อพูดถึง MT4 ฉันมักใช้เครื่องมือเพิ่มเติมที่เรียกว่า Tick Data Suite เพื่อให้ได้ตัวแปรที่แพร่กระจายและมีคุณภาพย้อนหลังได้ 99 คุณสามารถค้นหาขั้นตอนโดยละเอียดได้จากขั้นตอนการทำแบบทดสอบ MT4 backtesting ที่นี่ในหน้านี้: MT4 ส่วนใหญ่ใช้งานได้กับคู่สกุลเงินของ Forex แต่คุณสามารถแลกเปลี่ยน CFD กับหุ้นได้ด้วย 1.5k Views middot Not for Reproduction คำนึงถึงแนวโน้มการตลาดในวงกว้างในกรอบเวลาที่มีการทดสอบกลยุทธ์ที่กำหนดไว้ ตัวอย่างเช่นถ้ากลยุทธ์มีการตรวจสอบย้อนหลังเฉพาะช่วงปี 2542-2543 แต่อาจไม่ดีเท่าที่ควรในตลาดหมี บ่อยครั้งที่ควรทำ backtest ในกรอบเวลาที่ยาวนานซึ่งครอบคลุมเงื่อนไขตลาดหลายประเภท คำนึงถึงจักรวาลที่เกิดขึ้นในการทำ backtesting ตัวอย่างเช่นหากมีการทดสอบระบบตลาดแบบกว้าง ๆ กับจักรวาลซึ่งประกอบด้วยหุ้นเทคโนโลยีอาจทำให้ไม่ดีขึ้นในหลายภาคส่วน ตามกฎทั่วไปหากกลยุทธ์มีการกำหนดเป้าหมายไปยังประเภทเฉพาะของหุ้น จำกัด จักรวาลประเภท แต่ในกรณีอื่น ๆ ทั้งหมดรักษาจักรวาลขนาดใหญ่เพื่อการทดสอบ มาตรการความผันผวนเป็นสิ่งสำคัญอย่างยิ่งที่จะต้องพิจารณาในการพัฒนาระบบการซื้อขาย โดยเฉพาะอย่างยิ่งสำหรับบัญชีที่ใช้ประโยชน์ซึ่งอยู่ภายใต้การเรียกหลักประกันหากส่วนของผู้ถือหุ้นลดลงต่ำกว่าจุดหนึ่ง ผู้ค้าควรพยายามทำให้ความผันผวนต่ำเพื่อลดความเสี่ยงและช่วยให้สามารถเข้าและออกได้ง่ายขึ้น จำนวนบาร์โดยเฉลี่ยที่จัดขึ้นเป็นสิ่งที่สำคัญมากในการเฝ้าดูเมื่อมีการพัฒนาระบบการซื้อขาย แม้ว่าซอฟต์แวร์การทำ backtesting ส่วนใหญ่จะมีค่าคอมมิชชั่นในการคำนวณขั้นสุดท้าย แต่ไม่ได้หมายความว่าคุณควรละเว้นสถิตินี้ ถ้าเป็นไปได้การเพิ่มจำนวนบาร์โดยเฉลี่ยที่จัดขึ้นสามารถลดค่าคอมมิชชั่นและปรับปรุงผลตอบแทนโดยรวมของคุณได้ การเปิดรับแสงเป็นดาบสองคม ความเสี่ยงที่เพิ่มขึ้นอาจนำไปสู่ผลกำไรที่สูงขึ้นหรือความสูญเสียที่สูงขึ้นในขณะที่ความเสี่ยงที่ลดลงหมายถึงกำไรที่ลดลงหรือความสูญเสียที่ลดลง อย่างไรก็ตามโดยทั่วไปแล้วควรเก็บความเสี่ยงไว้ต่ำกว่า 70 เพื่อลดความเสี่ยงและทำให้สามารถเข้าและออกจากสต็อกได้ง่ายขึ้น สถิติ gainloss เฉลี่ยบวกกับอัตราส่วนที่ชนะต่อขาดทุนจะเป็นประโยชน์ในการกำหนดตำแหน่งและการจัดการเงินที่ดีที่สุดโดยใช้เทคนิคเช่น Kelly Criterion (ดูการบริหารเงินโดยใช้เกณฑ์ Kelly) ผู้ค้าสามารถทำตำแหน่งที่มีขนาดใหญ่ขึ้นและลดค่าใช้จ่ายด้านค่าคอมมิชชั่นโดยการเพิ่มผลกำไรโดยเฉลี่ยและเพิ่มอัตราส่วนการชนะต่อขาดทุน ผลตอบแทนต่อปีเป็นสิ่งสำคัญเนื่องจากใช้เป็นเครื่องมือในการเปรียบเทียบผลตอบแทนของระบบกับสถานที่ลงทุนอื่น ๆ เป็นสิ่งสำคัญไม่เพียง แต่จะดูที่ผลตอบแทนต่อปีโดยรวม แต่ยังคำนึงถึงความเสี่ยงที่เพิ่มขึ้นหรือลดลง ซึ่งสามารถทำได้โดยดูจากผลตอบแทนที่ได้รับการปรับความเสี่ยงซึ่งเป็นปัจจัยเสี่ยงต่างๆ ก่อนที่ระบบการซื้อขายจะถูกนำมาใช้จะต้องมีประสิทธิภาพดีกว่าสถานที่ลงทุนอื่น ๆ ทั้งหมดที่มีความเสี่ยงเท่ากับหรือน้อยกว่า การปรับแต่งการทำ backtesting เป็นเรื่องสำคัญมาก แอ็พพลิเคชัน backtesting จำนวนมากมีการป้อนข้อมูลสำหรับจำนวนเงินค่านายหน้าขนาดล็กล็อตรอบ (หรือเศษ) ขนาดเครื่องหมายข้อกำหนดด้านอัตราดอกเบี้ยอัตราดอกเบี้ยสมมติฐานการลื่นไถลกฎการจัดตำแหน่งตำแหน่งกฎการออกจากแถบเดียวกันการตั้งค่าการหยุดชะงัก (ต่อท้าย) และอื่น ๆ อีกมากมาย ได้ผลการทำ backtesting ที่ถูกต้องที่สุดคุณควรปรับแต่งการตั้งค่าเหล่านี้เพื่อเลียนแบบโบรกเกอร์ที่จะใช้เมื่อระบบทำงานได้ การทำ Backtesting บางครั้งอาจนำไปสู่สิ่งที่เรียกว่าการเพิ่มประสิทธิภาพมากเกินไป นี่เป็นเงื่อนไขที่ผลการดำเนินงานได้รับการปรับให้เข้ากับอดีตอย่างมากจนไม่เป็นที่ถูกต้องในอนาคต โดยทั่วไปแล้วควรใช้หลักเกณฑ์ที่ใช้กับหุ้นทั้งหมดหรือเลือกกลุ่มเป้าหมายที่เลือกและไม่ได้รับการปรับให้เหมาะกับขอบเขตที่ผู้สร้างไม่สามารถเข้าใจได้อีกต่อไป Backtesting ไม่ใช่วิธีที่ถูกต้องที่สุดในการวัดประสิทธิภาพของระบบการซื้อขายที่กำหนด บางครั้งยุทธศาสตร์ที่ทำงานได้ดีในอดีตไม่สามารถทำได้ดีในปัจจุบัน ผลการดำเนินงานที่ผ่านมาไม่ได้บ่งบอกถึงผลการดำเนินงานในอนาคต ตรวจสอบให้แน่ใจว่าได้ทำการค้ากระดาษเป็นระบบที่ได้รับการตรวจสอบย้อนกลับสำเร็จแล้วก่อนที่จะมีการดำเนินชีวิตเพื่อให้มั่นใจว่ากลยุทธ์ยังคงใช้ในทางปฏิบัติ 3k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการทำสำเนาซอฟต์แวร์ซื้อขาย Zerodha pi มีตัวเลือก inbuilt เพื่อรหัส backtest และใช้กลยุทธ์อยู่ในตลาดหุ้นอินเดีย เลือกสต็อคสำหรับการทดสอบย้อนหลัง - ที่นี่เราได้เลือก Nifty index ในอนาคตสำหรับการทำ backtesting การเข้ารหัสและการทำ Backtesting ตอนนี้คุณสามารถกำหนดเงื่อนไขการซื้อขายสำหรับซื้อ, ขาย, ซื้อตำแหน่งออกและขายตำแหน่งได้ ตัวอย่างเช่นที่นี่เราได้กำหนดยุทธศาสตร์การคำนวณเชิงเลขแบบละเอียด: ซื้อสภาวะ: ClosegtEMA (close, 50) ซึ่งหมายถึงการซื้อเมื่อราคาหุ้นปิดสูงกว่า 50 วัน ขาย: CloseltEMA (close, 50) ซึ่งขายได้เมื่อราคาหุ้นปิดต่ำกว่า 50 วัน ตอนนี้กรอบเวลาการป้อนข้อมูลไม่มีวันที่จะกลับมาทดสอบแล้วคลิกกลับทดสอบตอนนี้กลับรายงานการทดสอบจะถูกสร้างขึ้นตามที่แสดงในภาพด้านล่าง รายงานแสดงจำนวนธุรกิจการค้าไม่มีการค้ากำไรกำไรสุทธิวาดสูงสุดอัตราส่วนความเสี่ยงและรางวัล ฯลฯ pi ซอฟต์แวร์มีค่าศูนย์สำหรับลูกค้า Zerodha เปิดบัญชีกับพวกเขาและเข้าถึงแพลตฟอร์มการซื้อขายขั้นสูง กลับสาธิตวิดีโอสาธิต 1.4k Views middot ดูคำ Upvotes middot ไม่ได้สำหรับการทำซ้ำ 06172013 TraderCode เวอร์ชันล่าสุด (v5.6) ประกอบด้วยตัวบ่งชี้ทางเทคนิคใหม่การวิเคราะห์ข้อมูลแบบ Point-and-Figure และการทำ Backtesting ของกลยุทธ์ 06172013 NeuralCode รุ่นล่าสุดสำหรับการซื้อขายเครือข่ายประสาทเทียม (v1.3) 06172013 ConnectCode Barcode Font Pack - ช่วยให้สามารถใช้บาร์โค้ดในแอพพลิเคชั่นสำนักงานและรวม add-in สำหรับ Excel ที่รองรับการสร้างบาร์โค้ดได้เป็นจำนวนมาก 06172013 InvestmentCode เครื่องคิดเลขการเงินและโมเดลสำหรับ Excel พร้อมใช้งานแล้ว 09012009 การเปิดตัวการลงทุนฟรีและเครื่องคิดเลขการเงินสำหรับ Excel 0212008 Release of SparkCode Professional - add-in สำหรับการสร้างแดชบอร์ดใน Excel ด้วย sparklines 12152007 ประกาศ ConnectCode Duplicate Remover - มีประสิทธิภาพเพิ่มในการค้นหาและลบรายการที่ซ้ำกันใน Excel 09082007 เปิดตัว TinyGraphs - โอเพนซอร์ส add-in สำหรับสร้าง sparklines และขนาดเล็ก แผนภูมิใน Excel กลยุทธ์ Backtesting ใน Excel กลยุทธ์ Backtesting Expert ผู้เชี่ยวชาญด้าน Backtesting เป็นรูปแบบสเปรดชีตที่ช่วยให้คุณสามารถสร้างกลยุทธ์การซื้อขายโดยใช้ตัวชี้วัดทางเทคนิคและใช้กลยุทธ์ผ่านข้อมูลทางประวัติศาสตร์ ประสิทธิภาพของกลยุทธ์สามารถวัดและวิเคราะห์ได้อย่างรวดเร็วและง่ายดาย ระหว่างขั้นตอนการทำ backtesting ผู้เชี่ยวชาญด้านการทำ backtesting จะดำเนินการผ่านข้อมูลทางประวัติศาสตร์ในลักษณะแถวละบรรทัดจากบนลงล่าง แต่ละยุทธศาสตร์ที่ระบุจะได้รับการประเมินเพื่อพิจารณาว่าจะมีการปฏิบัติตามเงื่อนไขการเข้าร่วมหรือไม่ หากเงื่อนไขเป็นที่พอใจการค้าจะถูกป้อน ในทางกลับกันหากมีการออกเงื่อนไขทางออกจะมีการออกจากตำแหน่งก่อนหน้านี้ สามารถสร้างรูปแบบต่างๆของตัวชี้วัดทางเทคนิคและรวมกันเพื่อสร้างกลยุทธ์การซื้อขาย นี่ทำให้ผู้เชี่ยวชาญด้านการทำ backtesting เป็นเครื่องมือที่มีประสิทธิภาพและยืดหยุ่นมาก ผู้เชี่ยวชาญด้านการทำ backtesting ผู้เชี่ยวชาญด้านการทำ backtesting เป็นรูปแบบสเปรดชีตที่ช่วยให้คุณสร้างกลยุทธ์การซื้อขายโดยใช้ตัวชี้วัดทางเทคนิคและใช้กลยุทธ์ผ่านข้อมูลที่ผ่านมา ประสิทธิภาพของกลยุทธ์สามารถวัดและวิเคราะห์ได้อย่างรวดเร็วและง่ายดาย รูปแบบสามารถตั้งค่าให้เข้าสู่ตำแหน่ง Long หรือ Short เมื่อมีเงื่อนไขบางอย่างเกิดขึ้นและออกจากตำแหน่งเมื่อพบชุดเงื่อนไขอื่น ๆ โดยการซื้อขายโดยอัตโนมัติเกี่ยวกับข้อมูลที่ผ่านมาแบบจำลองสามารถกำหนดความสามารถในการทำกำไรของกลยุทธ์การซื้อขาย ผู้เชี่ยวชาญด้านการตรวจสอบย้อนหลังทีละขั้นตอน 1. เริ่มต้นผู้เชี่ยวชาญด้านการตรวจสอบย้อนกลับผู้เชี่ยวชาญด้านการทำ Backtesting สามารถเริ่มต้นได้จากโปรแกรม Windows Start Menu - TraderCode - Backtesting Expert วิธีนี้จะเปิดตัวรูปแบบสเปรดชีตที่มีแผ่นงานหลายแผ่นเพื่อให้คุณสามารถสร้างตัวชี้วัดการวิเคราะห์ทางเทคนิคและเรียกใช้การทดสอบเกี่ยวกับกลยุทธ์ต่างๆ คุณจะสังเกตเห็น Backtesting Expert ประกอบด้วยแผ่นงานที่คุ้นเคยมากมายเช่น DownloadedData, AnalysisInput, AnalysisOutput, ChartInput และ ChartOutput จากผู้เชี่ยวชาญด้านการวิเคราะห์รูปแบบ ซึ่งช่วยให้คุณสามารถเรียกใช้การทดสอบหลังทั้งหมดของคุณได้อย่างรวดเร็วและง่ายดายจากสภาพแวดล้อมของสเปรดชีตที่คุ้นเคย 2. ขั้นแรกเลือกแผ่นงาน DownloadedData คุณสามารถคัดลอกข้อมูลจากไฟล์สเปรดชีตหรือไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาค (csv) ไปยังแผ่นงานนี้เพื่อการวิเคราะห์ทางเทคนิค รูปแบบของข้อมูลดังที่แสดงในแผนภาพ หรือคุณสามารถดูข้อมูลดาวน์โหลดเอกสารข้อมูลการซื้อขายหลักทรัพย์เพื่อดาวน์โหลดข้อมูลจากแหล่งข้อมูลที่รู้จักกันดีเช่น Yahoo Finance, Google Finance หรือ Forex เพื่อใช้ในผู้เชี่ยวชาญด้านการทำ backtesting 3. เมื่อคุณได้คัดลอกข้อมูลแล้วให้ไปที่แผ่นงาน AnalysisInput และคลิกที่ปุ่ม Analyze and BackTest ซึ่งจะเป็นการสร้างตัวชี้วัดทางเทคนิคที่แตกต่างกันลงในแผ่นงาน AnalysisOutput และทำการทดสอบย้อนหลังกับกลยุทธ์ที่ระบุไว้ในแผ่นงาน StrategyBackTestingInput 4. คลิกที่แผ่นงาน StrategyBackTestingInput ในบทแนะนำนี้คุณจะต้องรู้ว่าเราได้ระบุทั้งกลยุทธ์แบบยาวและแบบสั้นโดยใช้ค่าไขว้เฉลี่ยเคลื่อนที่ เราจะเข้าสู่รายละเอียดของการระบุกลยุทธ์ในส่วนถัดไปของเอกสารนี้ แผนภาพด้านล่างแสดงทั้งสองกลยุทธ์ 5. เมื่อการทดสอบย้อนกลับเสร็จสิ้นผลลัพธ์จะถูกวางไว้ในแผ่นงาน AnalysisOutput, TradeLogOutput และ TradeSummaryOutput แผ่นงาน AnalysisOutput มีราคาย้อนหลังเต็มรูปแบบและตัวชี้วัดทางเทคนิคของหุ้น ในระหว่างการทดสอบหลังหากเงื่อนไขสำหรับกลยุทธ์มีความพึงพอใจข้อมูลเช่นราคาซื้อราคาขายค่าคอมมิชชั่นและกำไรจะถูกบันทึกไว้ในแผ่นงานนี้เพื่อให้ง่ายต่อการอ้างอิง ข้อมูลนี้มีประโยชน์หากคุณต้องการติดตามผ่านกลยุทธ์เพื่อดูว่ามีการป้อนและออกจากตำแหน่งของสต็อกหรือไม่ แผ่นงาน TradeLogOutput มีข้อมูลสรุปของการซื้อขายที่ดำเนินการโดยผู้เชี่ยวชาญการทำข้อเสนอแนะ Backtesting สามารถกรองข้อมูลได้อย่างง่ายดายเพื่อแสดงเฉพาะข้อมูลสำหรับกลยุทธ์เฉพาะ แผ่นงานนี้มีประโยชน์ในการพิจารณาผลกำไรโดยรวมหรือการสูญเสียกลยุทธ์ตามกรอบเวลาที่ต่างกัน ผลลัพธ์ที่สำคัญที่สุดของการทดสอบย้อนกลับจะอยู่ในแผ่นงาน TradeSummaryOutput แผ่นงานนี้มีผลกำไรรวมของกลยุทธ์ที่ดำเนินการ ดังที่แสดงไว้ในแผนภาพด้านล่างกลยุทธ์จะสร้างรายได้รวม 2,548.20 บาทโดยทำการซื้อขายทั้งหมด 10 รายการ ของธุรกิจการค้าเหล่านี้ 5 ตำแหน่งเป็น Long และ 5 เป็น Short positions อัตราส่วนที่สูงกว่า 1 แสดงถึงกลยุทธ์ที่ให้ผลกำไร คำอธิบายของแผ่นงานที่แตกต่างกันส่วนนี้ประกอบด้วยคำอธิบายโดยละเอียดของแผ่นงานต่างๆในรูปแบบผู้เชี่ยวชาญด้านการทำ backtesting แผ่นงาน DownloadedData, AnalysisInput, AnalysOutput, ChartInput และ ChartOutput จะเหมือนกันกับในรูปแบบ Expert Expert Analysis ดังนั้นพวกเขาจะไม่ได้อธิบายไว้ในส่วนนี้ สำหรับคำอธิบายที่สมบูรณ์ของแผ่นงานเหล่านี้โปรดดูที่ส่วนผู้เชี่ยวชาญด้านการวิเคราะห์ทางเทคนิค StrategyBackTestingInput แผ่นข้อมูลป้อนข้อมูลทั้งหมดสำหรับ backtesting รวมทั้งกลยุทธ์จะถูกป้อนโดยใช้แผ่นงานนี้ กลยุทธ์คือชุดของเงื่อนไขหรือกฎที่คุณจะซื้อในหุ้นหรือขายหุ้น ตัวอย่างเช่นคุณอาจต้องการใช้กลยุทธ์เพื่อไป Long (ซื้อหุ้น) หากค่าเฉลี่ยเคลื่อนที่ 12 วันของค่าเฉลี่ยอยู่เหนือค่าเฉลี่ยเคลื่อนที่ 24 วัน แผ่นงานนี้ทำงานร่วมกับตัวบ่งชี้ทางเทคนิคและข้อมูลราคาในแผ่นงาน AnalysisOutput ดังนั้นตัวบ่งชี้ทางเทคนิคเฉลี่ยเคลื่อนที่จะต้องเกิดขึ้นเพื่อให้มีกลยุทธ์การซื้อขายโดยอิงตามค่าเฉลี่ยเคลื่อนที่ การป้อนข้อมูลครั้งแรกที่จำเป็นในแผ่นงานนี้ (ดังแสดงในแผนภาพด้านล่าง) คือการระบุว่าจะออกจากงานทั้งหมดเมื่อสิ้นสุดช่วงทดสอบกลับหรือไม่ นึกภาพสถานการณ์ที่มีเงื่อนไขในการซื้อหุ้นและผู้เชี่ยวชาญด้านการทำ backtesting ป้อนการค้าแบบยาว (หรือสั้น) อย่างไรก็ตามกรอบเวลาสั้นเกินไปและสิ้นสุดลงก่อนที่การค้าจะสามารถบรรลุเงื่อนไขทางออกได้ส่งผลให้ธุรกิจการค้าบางส่วนไม่ได้ออกไปเมื่อสิ้นสุดเซสชัน backtesting คุณสามารถกำหนดค่านี้เป็น Y เพื่อบังคับให้ธุรกิจการค้าทั้งหมดต้องออกเมื่อสิ้นสุดช่วงการทำ backtesting อื่น ๆ ธุรกิจการค้าจะถูกเปิดทิ้งไว้เมื่อเซสชัน backtesting สิ้นสุดลง กลยุทธ์สามารถรองรับได้สูงสุด 10 กลยุทธ์ในการทดสอบเดี่ยวครั้งเดียว แผนภาพด้านล่างแสดงข้อมูลที่จำเป็นสำหรับการระบุกลยุทธ์ Strategy Initials - การป้อนข้อมูลนี้สามารถใช้ตัวอักษรหรือตัวเลขได้ไม่เกิน 2 ตัว Strategy Initials ถูกใช้ในแผ่นงาน AnalysisOutput และ TradeLog เพื่อระบุกลยุทธ์ Long (L) Short (S) - ใช้เพื่อบ่งชี้ว่าจะต้องป้อนตำแหน่ง Long หรือ Short เมื่อเงื่อนไขการเข้าของกลยุทธ์เป็นอย่างไร เงื่อนไขการเข้าสู่ระบบการค้าระยะยาวหรือระยะสั้นจะถูกป้อนเมื่อเงื่อนไขการเข้า เงื่อนไขการเข้าสามารถแสดงเป็นนิพจน์ของสูตร การแสดงออกของสูตรเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่สามารถใช้ฟังก์ชันฟังก์ชันและคอลัมน์ตามที่อธิบายไว้ด้านล่าง crossabove (X, Y) - ส่งกลับค่า True หากคอลัมน์ X ข้ามด้านบน Y Y ฟังก์ชั่นนี้จะตรวจสอบงวดก่อนหน้าเพื่อให้แน่ใจว่ามีการครอสโอเวอร์เกิดขึ้นจริง crossbelow (X, Y) - ส่งกลับ True ถ้าคอลัมน์ X ข้ามด้านล่าง Y คอลัมน์ฟังก์ชันนี้จะตรวจสอบงวดก่อนหน้าเพื่อให้แน่ใจว่ามีการครอสโอเวอร์เกิดขึ้นจริง และ (logicalexpr,) - บูลีนและ ส่งกลับค่า True ถ้านิพจน์ตรรกะทั้งหมดเป็น True หรือ (logicalexpr,) - บูลีนหรือ ส่งกลับค่า True ถ้านิพจน์เชิงตรรกะใด ๆ เป็น True daysago (X, 10) - ส่งคืนค่า (ในคอลัมน์ X) 10 วันก่อน previoushigh (X, 10) - แสดงค่าสูงสุด (ในคอลัมน์ X) ในช่วง 10 วันที่ผ่านมาซึ่งรวมถึงวันนี้ previouslow (X, 10) - ส่งกลับค่าต่ำสุด (ในคอลัมน์ X) ของ 10 วันที่ผ่านมาซึ่งรวมถึงวันนี้ (จาก AnalysisOutput) A - คอลัมน์ AB - คอลัมน์ BC .. .. YY - คอลัมน์ YY ZZ - คอลัมน์ ZZ นี่คือส่วนที่น่าสนใจและมีความยืดหยุ่นมากที่สุดของรายการ เงื่อนไข ช่วยให้สามารถระบุคอลัมน์จากแผ่นงาน AnalysisOutput ได้ เมื่อดำเนินการทดสอบกลับแต่ละแถวจากคอลัมน์จะใช้สำหรับการประเมินตัวอย่างเช่น A 50 หมายความว่าแต่ละแถวในคอลัมน์ A ของแผ่นงาน AnalysisOutput จะถูกกำหนดไม่ว่าจะมากกว่า 50. AB ในตัวอย่างนี้ ถ้าค่าในคอลัมน์ A ในแผ่นงาน AnalysisOutput มีค่ามากกว่าหรือเท่ากับค่าของคอลัมน์ B จะเป็นไปตามเงื่อนไขการป้อนข้อมูล และในตัวอย่างนี้ถ้าค่าในคอลัมน์ A ในแผ่นงาน AnalysisOutput มีค่ามากกว่าค่าของคอลัมน์ B และค่าของคอลัมน์ C สูงกว่าคอลัมน์ D จะเป็นไปตามเงื่อนไขการป้อนข้อมูล crossabove (A, B) ในตัวอย่างนี้ถ้าค่าของคอลัมน์ A ในแผ่นงาน AnalysisOutput ตัดเหนือค่าของ B เงื่อนไขการป้อนข้อมูลจะได้รับการตอบสนอง crossabove means that A originally has a value that is less than or equal to B and the value of A subsequently becomes greater than B. Exit Conditions The Exit Conditions can make use of Functions, Operators and Columns as defined in the entry conditions. On top of that it can also make use of Variables as shown below. Variables for Exit Conditions profit This is defined as the selling price minus the purchase price. The selling price must be greater than the purchase price for a profit to be made. Otherwise the profit will be zero. loss This is defined as the selling price minus the purchase price when the selling price is less than the purchase price. profitpct (selling price - purchase price) purchase price Note. selling price must be greater than or equal to purchase price. Otherwise profitpct will be zero. losspct (selling price - purchase price) purchase price Note. selling price must be less than purchase price. Otherwise losspct will be zero. Examples profitpct 0.2 In this example, if the profit in terms of percentage is greater than 20, the exit conditions will be satisfied. Commission - Commission in terms of a percentage of the trading price. If the trading price is 10 and Commission is 0.1 then commission will be 1. The percentage commission and commission in dollars will be summed up to calculate the total commission. Commission - Commission in dollar terms. The percentage commission and commission in dollars will be summed up to calculate the total commission. No. of Shares - Number of shares to purchase or sell when the entryexit conditions of the strategy are met. TradeSummaryOutput worksheet This is a worksheet that contains a summary of all the trades carried out during the back tests. The results are categorised into Long and Short Trades. A description of all the fields can be found below. Total ProfitLoss - Total profit or loss after commission. This value is calculated by summing all the profits and losses of all the trades simulated in the back test. Total ProfitLoss before Commission - Total profit or loss before commission. If commission is set to zero, this field will have the same value as Total ProfitLoss. Total Commission - Total commission required for all the trades simulated during the back test. Total number of Trades - Total number of trades carried out during the simulated back test. Number of winning Trades - Number of trades that make a profit. Number of losing Trades - Number of trades that make a loss. Percent winning Trades - Number of winning trades divided by Total number of trades. Percent losing Trades - Number of losing trades divided by Total number of trades. Average winning Trade - The average value of the profits of the winning trades. Average losing Trade - The average value of the losses of the losing trades. Average Trade - The average value (profit or loss) of a single trade of the simulated back test. Largest winning Trade - The profit of the largest winning trade. Largest losing Trade - The loss of the largest losing trade. Ratio average winaverage loss - Average winning Trade divided by the Average losing Trade. Ratio winloss - Sum of all the profits in the winning trades divided by the sum of all the losses in the losing trades. A ratio of greater than 1 indicates a profitable strategy. TradeLogOutput worksheet This worksheet contains all the trades simulated by the Backtesting Expert sorted by the date. It allows you to zoom in to any specific trade or time frame to determine the profitability of a strategy quickly and easily. Date - The date where a Long or Short position is entered or exited. Strategy - The strategy that is used for executing this trade. Position - The position of the trade, whether Long or Short. Trade - Indicates whether this trade is buying or selling stocks. Shares - Number of shares traded. Price - The price in which the stocks are purchased or sold. Comm. - Total commission for this trade. PL (B4 Comm.) - Profit or Loss before commission. PL (Aft Comm.) - Profit or Loss after commission. Cum. PL (Aft Comm.) - Cumulative profit or loss after commissions. This is calculated as the cumulative total profitloss from the first day of a trade. PL (on Closing Position) - Profit or loss when the position is closed (exited). Both the entry commission and exit commission will be accounted for in this PL. For example, if we have a Long position where the PL (B4 Comm.) is 100. Assuming when the position is entered, a 10 commission is charged and when the position is exited, another commission of 10 is charged. The PL (on Closing Position) is 100- 10 - 10 80. Both the commission on entering the position and exiting the position are accounted for on position close. Back to TraderCode Technical Analysis Software and Technical Indicators

No comments:

Post a Comment