Tuesday 11 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 ในตาราง ใช่คุณมีสิทธิ์นี่ดีกว่าการทำซ้ำตาราง ฉันจะอัปเดตโพสต์นี้ asap.06172013 TraderCode เวอร์ชันล่าสุด (v5.6) ประกอบด้วยตัวบ่งชี้การวิเคราะห์ทางเทคนิคแบบใหม่การทำแผนภูมิแบบจุดและรูปและการทดสอบย้อนหลังของกลยุทธ์ 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 และทำ backtesting กับกลยุทธ์ที่ระบุไว้ในแผ่นงาน 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 หมายความว่าค่าเริ่มต้นมีค่าน้อยกว่าหรือเท่ากับ B และค่าของ A จะสูงกว่าค่า B Exit Conditions เงื่อนไขการออกสามารถใช้ฟังก์ชันฟังก์ชันและคอลัมน์ตามที่กำหนดไว้ในเงื่อนไขการเข้า ด้านบนของที่ยังสามารถใช้ประโยชน์จากตัวแปรดังที่แสดงด้านล่างตัวแปรสำหรับเงื่อนไขการจบการทำกำไรนี่คือราคาขายที่ลบด้วยราคาซื้อ ราคาขายต้องสูงกว่าราคาซื้อเพื่อหากำไร มิฉะนั้นกำไรจะเป็นศูนย์ ขาดทุนหมายถึงราคาขายหักด้วยราคาซื้อเมื่อราคาขายต่ำกว่าราคาซื้อ กำไร (ราคาขาย - ราคาซื้อ) ราคาซื้อหมายเหตุ ราคาขายต้องมากกว่าหรือเท่ากับราคาซื้อ มิฉะนั้นกำไรจะเป็นศูนย์ losspct (ราคาขาย - ราคาซื้อ) ราคาซื้อหมายเหตุ ราคาขายต้องน้อยกว่าราคาซื้อ มิฉะนั้น losspct จะเป็นศูนย์ ตัวอย่างกำไร 0.2 ในตัวอย่างนี้ถ้ากำไรในรูปของเปอร์เซ็นต์สูงกว่า 20 เงื่อนไขการออกจะได้รับความพึงพอใจ Commission - Commission ในรูปของเปอร์เซ็นต์ของราคาซื้อขาย หากราคาซื้อขายที่ 10 และค่าคอมมิชชั่นคือ 0.1 แล้วค่าคอมมิชชั่นจะเป็น 1. ค่าคอมมิชชั่นเปอร์เซ็นต์และค่าคอมมิชชั่นในสกุลเงินเหรียญสหรัฐฯจะรวมอยู่ในการคำนวณค่านายหน้าทั้งหมด ค่าคอมมิชชั่น - ค่านายหน้าเป็นสกุลเงินดอลลาร์ เปอร์เซ็นต์ค่าคอมมิชชั่นและค่าคอมมิชชั่นในสกุลเงินดอลลาร์จะสรุปรวมค่าคอมมิชชั่นทั้งหมด จำนวนหุ้น - จำนวนหุ้นที่จะซื้อหรือขายเมื่อเงื่อนไขการเข้าออกของกลยุทธ์เป็นไปตาม แผ่นงาน TradeSummaryOutput เป็นแผ่นงานที่มีบทสรุปของการค้าทั้งหมดที่ดำเนินการในระหว่างการทดสอบกลับ ผลลัพธ์ถูกจัดอยู่ในประเภทธุรกิจแบบสั้นและระยะยาว คำอธิบายของฟิลด์ทั้งหมดสามารถดูได้ด้านล่าง Total ProfitLoss - รวมกำไรหรือขาดทุนหลังหักค่านายหน้า ค่านี้คำนวณโดยสรุปผลกำไรและขาดทุนของการค้าทั้งหมดที่จำลองในการทดสอบหลัง รวม ProfitLoss ก่อน Commission - รวมกำไรหรือขาดทุนก่อนค่าคอมมิชชั่น ถ้าค่าคอมมิชชั่นถูกกำหนดเป็นศูนย์ฟิลด์นี้จะมีค่าเท่ากับ Total ProfitLoss ค่าคอมมิชชั่นทั้งหมด - ค่าคอมมิชชั่นทั้งหมดที่จำเป็นสำหรับการค้าทั้งหมดที่จำลองขึ้นระหว่างการทดสอบด้านหลัง จำนวนการซื้อขายทั้งหมด - จำนวนการซื้อขายทั้งหมดที่ดำเนินการในระหว่างการทดสอบย้อนกลับแบบจำลอง จำนวนธุรกิจที่ชนะ - จำนวนธุรกิจการค้าที่ทำกำไร จำนวนการสูญเสียการค้า - จำนวนของธุรกิจการค้าที่ทำขาดทุน ร้อยละที่ชนะการค้า - จำนวนธุรกิจที่ชนะการประมูลหารด้วยจำนวนการซื้อขายทั้งหมด เปอร์เซ็นต์การสูญเสียการค้า - จำนวนการซื้อขายที่เสียไปหารด้วยจำนวนการซื้อขายทั้งหมด การค้าเฉลี่ยที่ชนะ - มูลค่าเฉลี่ยของผลกำไรของธุรกิจการค้าที่ชนะ ค่าเฉลี่ยการสูญเสียการค้า - ค่าเฉลี่ยของการสูญเสียของการค้าที่สูญเสีย Average Trade - ค่าเฉลี่ย (กำไรหรือขาดทุน) ของการค้าเดี่ยวของการทดสอบย้อนกลับแบบจำลอง การค้าที่ใหญ่ที่สุดที่ชนะ - กำไรจากการค้าที่ใหญ่ที่สุดที่ชนะ การสูญเสียการค้าที่ใหญ่ที่สุด - การสูญเสียการค้าที่สูญเสียมากที่สุด การสูญเสียรายได้เฉลี่ยโดยเฉลี่ย - การค้าที่ชนะโดยเฉลี่ยหารด้วยค่าเฉลี่ยการสูญเสียการค้า Ratio winloss - ผลรวมของกำไรทั้งหมดในการซื้อขายที่ชนะหารด้วยยอดรวมของผลขาดทุนทั้งหมดที่เกิดจากการค้าที่สูญเสีย อัตราส่วนมากกว่า 1 หมายถึงกลยุทธ์ที่ให้ผลกำไร เวิร์กชีท TradeLogOutput แผ่นงานนี้มีการซื้อขายทั้งหมดที่จำลองโดยผู้เชี่ยวชาญด้านการทำดัชนีย้อนหลังเรียงตามวันที่ จะช่วยให้คุณสามารถซูมเข้าสู่การค้าหรือกรอบเวลาใด ๆ เพื่อกำหนดความสามารถในการทำกำไรของกลยุทธ์ได้อย่างรวดเร็วและง่ายดาย วันที่ - วันที่มีการป้อนหรือออกจากตำแหน่ง Long หรือ Short กลยุทธ์ - กลยุทธ์ที่ใช้ในการดำเนินการการค้านี้ ตำแหน่ง - ตำแหน่งของการค้าไม่ว่าจะเป็น Long หรือ Short การค้า - บ่งชี้ว่าการค้านี้เป็นการซื้อหรือขายหุ้น หุ้น - จำนวนหุ้นที่ซื้อขาย ราคา - ราคาที่ซื้อหรือขายหุ้น Comm - รวมค่านายหน้าสำหรับการค้านี้ PL (B4 Comm.) - กำไรหรือขาดทุนก่อนค่าคอมมิชชั่น PL (Aft Comm.) - กำไรหรือขาดทุนหลังหักค่านายหน้า cum PL (Aft Comm.) - กำไรหรือขาดทุนสะสมหลังหักค่าคอมมิชชั่น นี่คำนวณเป็นกำไรสะสมรวมตั้งแต่วันแรกของการซื้อขาย PL (ในฐานะปิดบัญชี) - กำไรหรือขาดทุนเมื่อปิดตำแหน่ง (ออกจากงาน) ทั้งค่าคอมมิชชั่นและค่าคอมมิชชั่นสำหรับการเข้าออกจะคิดใน PL นี้ ตัวอย่างเช่นถ้าเรามีตำแหน่งยาวที่ PL (B4 Comm.) อยู่ที่ 100 สมมติว่าเมื่อป้อนตำแหน่งจะมีการเรียกเก็บเงิน 10 ครั้งและเมื่อออกจากตำแหน่งจะมีการเรียกเก็บเงินอีก 10 ครั้ง PL (อยู่ในตำแหน่งปิด) คือ 100- 10 - 10 80. ค่านายหน้าในการเข้าและออกจากตำแหน่งคิดที่ตำแหน่งใกล้เคียง กลับไปที่ TraderCode ซอฟต์แวร์การวิเคราะห์ทางเทคนิคและตัวบ่งชี้ด้านเทคนิคย้อนกลับผู้ทดสอบ Trader Excel วันนี้ซื้อ (ด้านล่าง) และส่งรหัสคำสั่งซื้อของคุณและเรียกร้องค่ากว่า 70.00 ของซอฟต์แวร์ฟรีหลังการขาย Excel จะขายเฉพาะส่วนของ Trader Excel Package เยี่ยมชมเว็บไซต์สำหรับนักพัฒนาซอฟต์แวร์เพิ่มเติม Excel การทดสอบด้านหลังนี้เป็นส่วนหนึ่งของ Trader Excel Package เป็นส่วนเสริมสำหรับกลยุทธ์การซื้อขายการทดสอบย้อนหลังใน Microsoft Excel ช่วยให้คุณสามารถทดสอบและประเมินกลยุทธ์การซื้อขายสิ้นวันโดยใช้ข้อมูลที่ผ่านมา ผู้ใช้สามารถใช้ VBA (Visual Basic for Applications) เพื่อสร้างกลยุทธ์สำหรับ Back Testing Excel อย่างไรก็ตามความรู้ VBA เป็นตัวเลือกนอกเหนือจากการใช้กฎการซื้อขายที่สร้างโดย VBA คุณสามารถสร้างกฎการซื้อขายในสเปรดชีตโดยใช้รหัสทดสอบย้อนหลังที่ทำไว้ล่วงหน้า back-testing รายละเอียด Excel กลับการทดสอบ Excel สนับสนุนฟังก์ชันการทำงานขั้นสูงเช่น pyramiding (การเปลี่ยนขนาดตำแหน่งระหว่างการค้าแบบเปิด) การ จำกัด ตำแหน่งสั้นการคำนวณค่าคอมมิชชันการติดตามทุนการควบคุมที่ไม่อยู่ในมือการกำหนดราคา buysell (คุณสามารถทำการค้าได้ วันนี้หรือวันพรุ่งนี้เปิดราคาปิดราคาสูงหรือราคาต่ำสุด) การทำงานดังกล่าวช่วยให้คุณสามารถสร้างกลยุทธ์การซื้อขาย quotanturalquot และป้องกันไม่ให้คุณใส่กลยุทธ์ของคุณใน quotframes. quot กลับการทดสอบ Excel สร้างรายงานข้อมูลเชิงกลยุทธ์และมีรายละเอียดสูงรายงานประสิทธิภาพการทดสอบ รายงานแต่ละฉบับมีเจ็ดแท็บ: รายงานสรุป - ผลการทดสอบย้อนกลับที่สำคัญที่สุดในแบบฟอร์มที่มีขนาดกะทัดรัดชุดข้อมูลซีรี่ส์รายงาน - การค้าส่วนของผู้ถือหุ้นและผลกำไรแบบไดนามิกที่แสดงในรูปแบบตารางและแผนภูมิข้อมูลรายงานการค้า - ธุรกิจการค้าที่จัดกลุ่มตามตำแหน่งงาน (ตามลำดับ) รายงาน - ตามลำดับเวลา Signals Report - สัญญาณทั้งหมดที่ผลิตโดยกลยุทธ์และผลของพวกเขา (สั่งการประมวลผลหรือไม่) การตั้งค่ารายงาน - การตั้งค่าทั้งหมดการกำหนดกลยุทธ์รหัสรายงาน - มีรหัสกลยุทธ์ดิบ การกรองอัตโนมัติรายงาน Trades, Trades (chronological) และ Signals มีตัวเลือก AutoFiltering ซึ่งเมื่อนำมาใช้งานสามารถสร้างรายงานที่ละเอียดขึ้นได้ การกรองเป็นวิธีที่ง่ายและรวดเร็วในการค้นหาและทำงานกับเซตย่อยของข้อมูลในรายการ รายการที่กรองจะแสดงเฉพาะแถวที่ตรงกับเกณฑ์ที่คุณระบุสำหรับคอลัมน์ ไม่เหมือนการเรียงลำดับการกรองจะไม่จัดเรียงรายการใหม่ แต่จะซ่อนแถวที่คุณไม่ต้องการให้แสดงชั่วคราว เมื่อคุณเปิดใช้งานตัวกรองอัตโนมัติลูกศรจะปรากฏทางด้านขวาของป้ายชื่อคอลัมน์ในรายการที่กรอง ตัวกรองอัตโนมัติสามารถใช้ตัวอย่างเช่นเพื่อแสดงธุรกิจการค้าสั้น ๆ ธุรกิจการค้าที่มีกำไรหรือธุรกิจที่ดำเนินการหลังจากวันที่ระบุหรือเฉพาะสัญญาณที่ส่งผลให้ธุรกิจการค้า สรุปยุทธวิธี: การสร้างกลยุทธ์แบบง่ายรหัสยุทธศาสตร์สามารถพัฒนาได้โดยใช้ Excel หรือ VBE (Visual Basic Environment) 7 หน้าข้อมูลและรายละเอียดกลยุทธ์การทดสอบประสิทธิภาพรายงานการติดตามทุน (ทุนเริ่มต้นและค่าคอมมิชชั่น) แยกระยะยาวและสั้นข้อ จำกัด ตำแหน่ง Pyramiding สนับสนุน backtest การซื้อขาย กลยุทธ์ Back Testing Excel จะทำซ้ำผ่านแถวข้อมูลทั้งหมดที่ผ่านมาการประมวลผลโค้ดกลยุทธ์สำหรับแต่ละแถวข้อมูล สร้างวันขายสัญญาณเป็นวันที่อ้างอิงถึงวันก่อนหน้าในรูปแบบนี้วันนี้ - เอ็นตัวอย่างเช่น CL (วันนี้ - 1) จะคืนราคาปิดในวันนี้ CL (วันนี้) หรือ CL จะ วันนี้ราคาปิด UpperCell เป็นเซลล์บน (เซลล์ที่มีฉลาก) ในคอลัมน์ค่าที่คุณต้องการใช้ในรหัสกลยุทธ์ของคุณ ตัวอย่างเช่น RNG (quotG1quot, Today) จะคืนค่าจากเซลล์ภายใต้เซลล์ quotG1quot NumberOfShares คือจำนวนหุ้นที่จะซื้อหรือขาย SpecialOrder คือคำสั่ง BuySell ในราคาพิเศษแตกต่างจากค่าเริ่มต้น ตัวอย่างเช่นสั่งซื้อ (100, quotOpenquot) จะสั่งซื้อ 100 หุ้น (สัญญา) ในราคาเปิด หลักการการทดสอบย้อนหลังมีสองวิธีในการสร้างกลยุทธ์: กฎการซื้อขายจะมีการตั้งโปรแกรมไว้ในสเปรดชีต วิธีนี้ใช้เวลามากขึ้น แต่ไม่จำเป็นต้องมีความรู้พิเศษใด ๆ - เฉพาะความรู้พื้นฐานของ Microsoft Excel เท่านั้น กฎการซื้อขายถูกตั้งโปรแกรมโดยใช้ VBA (Visual Basic for Applications) และเก็บไว้ในโมดูลพิเศษของสมุดงาน วิธีนี้ใช้เวลาน้อยลง แต่ต้องใช้ความรู้พื้นฐานเกี่ยวกับ VBA นี่คือตัวอย่างของกฎการซื้อขาย: ขายได้หาก Todays Open มีมากกว่า Todays Close มิฉะนั้น Buy เราสามารถทราบกฎนี้ได้สองวิธีดังนี้ 1. ตั้งกฎการซื้อขายหลักทรัพย์โดยใช้สเปรดชีต ตามที่คุณเห็นกฎ IF (B2gtE2quotSellquotquotBuyquot) จะอยู่ในเซลล์แต่ละเซลล์และสร้างสัญญาณ buysell กลับการทดสอบโค้ด Excel ที่สร้างขึ้นสำหรับกลยุทธ์นี้สามารถใช้ซ้ำเพื่อสร้างสัญญาณ buysell ในสเปรดชีตอื่น ๆ 2. ตั้งกฎการซื้อขายโดยใช้ VBA ไม่มีกฎในสเปรดชีตเพียงข้อมูลที่ผ่านมา กฎการซื้อขายถูกเขียนขึ้นโดยใช้ VBA และเก็บไว้ในโมดูลพิเศษการทดสอบกลับ Excel จะขายเฉพาะในฐานะส่วนหนึ่งของ Trader Excel Package เยี่ยมชมเว็บไซต์สำหรับนักพัฒนาซอฟต์แวร์เพิ่มเติมเช่นนี้

No comments:

Post a Comment