Backtesting -trading- กลยุทธ์ -R

Backtesting -trading- กลยุทธ์ -R

Forex-weekly-outlook-investment com
Forex- ล่าสุด ข่าว อินเดีย
Ffcal - อัตราแลกเปลี่ยน


Binary ตัวเลือก - Babypips Forex- RBA Forex- MYR ไป IDR Forex- ร่อน กลยุทธ์ ฟอรั่ม Forex- ปริมาณ ตัวบ่งชี้ TradeStation Forex-flash-news-trader mq4

Im ใหม่มาก R และพยายาม backtest กลยุทธ์ Ive โปรแกรมแล้วใน WealthLab หลายสิ่งที่ฉันไม่เข้าใจ (และมัน does not ทำงานชัด :) ฉัน dont รับราคาปิดอย่างเป็นเวกเตอร์ หรือบางชนิดของเวกเตอร์ แต่จะเริ่มต้นด้วยโครงสร้างและฉันไม่เข้าใจจริงๆว่าฟังก์ชันนี้ทำอะไร Thats ทำไมชุดของฉัน 1 โทรอาจไม่ทำงาน n lt - nrow (ชุด) ไม่ทำงานอย่างใดอย่างหนึ่ง แต่ฉันต้องการที่สำหรับ Loop ดังนั้นฉันเดาว่าถ้าฉันได้รับทั้ง 2 คำถามตอบกลยุทธ์ของฉันควรจะทำงาน Im ขอบคุณมากสำหรับความช่วยเหลือใด ๆ .. R ดูเหมือนว่าค่อนข้างซับซ้อนแม้มีประสบการณ์การเขียนโปรแกรมในภาษาอื่น ๆ ใช่ฉันชนิดของการคัดลอกบางบรรทัดของรหัสจากกวดวิชานี้และ don39t จริงๆเข้าใจบรรทัดนี้ ฉันหมายถึงชุด 1 ฉันคิดว่าจะใช้ฟังก์ชัน f กับ quotcolumnquot 1 ของชุด แต่เนื่องจากชุดนี้เป็น compley กับโครงสร้างอื่น ๆ บางอย่างมันไม่ทำงาน ฉันกำลังพูดถึงบทแนะนำนี้ r-bloggersbacktesting-a-trading-strategy ndash MichiZH Jun 6 13 at 14: 22Backtesting: การตีความ Backtesting ที่ผ่านมาเป็นองค์ประกอบสำคัญของการพัฒนาระบบการซื้อขายที่มีประสิทธิภาพ สามารถทำได้โดยการสร้างใหม่โดยใช้ข้อมูลทางประวัติศาสตร์การค้าที่เกิดขึ้นในอดีตโดยใช้กฎที่กำหนดโดยกลยุทธ์ที่กำหนด ผลเสนอสถิติที่สามารถใช้ในการวัดประสิทธิภาพของกลยุทธ์ การใช้ข้อมูลนี้ผู้ค้าสามารถเพิ่มประสิทธิภาพและปรับปรุงกลยุทธ์หาข้อบกพร่องด้านเทคนิคหรือทฤษฎีและได้รับความมั่นใจในกลยุทธ์ของตนก่อนนำไปใช้กับตลาดจริง ทฤษฎีพื้นฐานคือกลยุทธ์ใด ๆ ที่ทำงานได้ดีในอดีตมีแนวโน้มที่จะทำงานได้ดีในอนาคตและตรงกันข้ามกลยุทธ์ใด ๆ ที่มีประสิทธิภาพต่ำในอดีตน่าจะมีผลในทางที่ไม่ดีในอนาคต บทความนี้จะกล่าวถึงสิ่งที่แอ็พพลิเคชันใช้เพื่อทำ backtest ชนิดของข้อมูลที่ได้มาและวิธีการนำไปใช้ข้อมูลและเครื่องมือ Backtesting สามารถให้ข้อเสนอแนะทางสถิติที่มีคุณค่ามากมายเกี่ยวกับระบบที่กำหนดได้ สถิติย้อนหลังแบบทั่วไปบางอย่าง ได้แก่ : กำไรสุทธิหรือขาดทุน - กำไรหรือขาดทุนสุทธิเพิ่มขึ้น กรอบเวลา - วันที่ผ่านมาซึ่งเกิดการทดสอบ จักรวาล - คลังที่รวมอยู่ในการทดสอบหลังการขาย มาตรการความผันผวน - เปอร์เซ็นต์ upside และ downside สูงสุด ค่าเฉลี่ย - เปอร์เซ็นต์เฉลี่ยที่ได้รับและการสูญเสียเฉลี่ยเฉลี่ยที่จัดขึ้น การได้รับสาร - เปอร์เซ็นต์ของเงินลงทุนที่ลงทุน (หรือถูกนำออกสู่ตลาด) อัตราส่วน - อัตราส่วนการชนะในการขาดทุน ผลตอบแทนต่อปี - ผลตอบแทนร้อยละต่อปี ผลตอบแทนที่ปรับเปลี่ยนตามความเสี่ยง - อัตราผลตอบแทนเป็นเปอร์เซ็นต์ตามความเสี่ยง โดยปกติซอฟต์แวร์ backtesting จะมีหน้าจอสองหน้าจอที่มีความสำคัญ ข้อแรกช่วยให้พ่อค้าสามารถกำหนดการตั้งค่า backtesting ได้ การปรับแต่งเหล่านี้ประกอบด้วยทุกอย่างตั้งแต่ช่วงเวลาจนถึงค่าคอมมิชชั่น นี่คือตัวอย่างของหน้าจอดังกล่าวใน AmiBroker: หน้าจอที่สองคือรายงานผลการทำ backtesting ที่เกิดขึ้นจริง นี่คือที่ที่คุณสามารถดูข้อมูลทั้งหมดที่กล่าวมาข้างต้นได้ นี่คือตัวอย่างของหน้าจอนี้ใน AmiBroker: โดยทั่วไปซอฟต์แวร์ซื้อขายส่วนใหญ่มีองค์ประกอบที่คล้ายคลึงกัน บางโปรแกรมระดับไฮเอนด์ยังมีฟังก์ชันเพิ่มเติมในการปรับขนาดตำแหน่งอัตโนมัติการเพิ่มประสิทธิภาพและคุณลักษณะขั้นสูงอื่น ๆ อีกด้วย 10 บัญญัติมีหลายปัจจัยที่ผู้ค้าต้องใส่ใจกับกลยุทธ์การซื้อขายย้อนหลัง นี่คือรายการ 10 สิ่งที่สำคัญที่สุดที่ควรจดจำขณะที่ทำย้อนหลังการทดสอบ: คำนึงถึงแนวโน้มตลาดในระยะเวลาที่กำหนดกลยุทธ์ที่กำหนดไว้ ตัวอย่างเช่นถ้ากลยุทธ์มีการตรวจสอบย้อนหลังเฉพาะช่วงปี 2542-2543 แต่อาจไม่ดีเท่าที่ควรในตลาดหมี บ่อยครั้งที่ควรทำ backtest ในกรอบเวลาที่ยาวนานซึ่งครอบคลุมเงื่อนไขตลาดหลายประเภท คำนึงถึงจักรวาลที่เกิดขึ้นในการทำ backtesting ตัวอย่างเช่นหากมีการทดสอบระบบตลาดแบบกว้าง ๆ กับจักรวาลซึ่งประกอบด้วยหุ้นเทคโนโลยีอาจทำให้ไม่ดีขึ้นในหลายภาคส่วน ตามกฎทั่วไปหากกลยุทธ์มีการกำหนดเป้าหมายไปยังประเภทเฉพาะของหุ้น จำกัด จักรวาลประเภท แต่ในกรณีอื่น ๆ ทั้งหมดรักษาจักรวาลขนาดใหญ่เพื่อการทดสอบ มาตรการความผันผวนเป็นสิ่งสำคัญอย่างยิ่งที่จะต้องพิจารณาในการพัฒนาระบบการซื้อขาย โดยเฉพาะอย่างยิ่งสำหรับบัญชีที่ใช้ประโยชน์ซึ่งอยู่ภายใต้การเรียกหลักประกันหากส่วนของผู้ถือหุ้นลดลงต่ำกว่าจุดหนึ่ง ผู้ค้าควรพยายามทำให้ความผันผวนต่ำเพื่อลดความเสี่ยงและช่วยให้สามารถเข้าและออกได้ง่ายขึ้น จำนวนบาร์โดยเฉลี่ยที่จัดขึ้นเป็นสิ่งที่สำคัญมากในการเฝ้าดูเมื่อมีการพัฒนาระบบการซื้อขาย แม้ว่าซอฟต์แวร์การทำ backtesting ส่วนใหญ่จะมีค่าคอมมิชชั่นในการคำนวณขั้นสุดท้ายไม่ได้หมายความว่าคุณควรละเลยสถิตินี้ ถ้าเป็นไปได้การเพิ่มจำนวนบาร์โดยเฉลี่ยที่จัดขึ้นสามารถลดค่าคอมมิชชั่นและปรับปรุงผลตอบแทนโดยรวมของคุณได้ การเปิดรับแสงเป็นดาบสองคม ความเสี่ยงที่เพิ่มขึ้นอาจนำไปสู่ผลกำไรที่สูงขึ้นหรือความสูญเสียที่สูงขึ้นในขณะที่ความเสี่ยงที่ลดลงหมายถึงกำไรที่ลดลงหรือความสูญเสียที่ลดลง อย่างไรก็ตามโดยทั่วไปแล้วควรเก็บความเสี่ยงไว้ต่ำกว่า 70 เพื่อลดความเสี่ยงและทำให้สามารถเข้าและออกจากสต็อกได้ง่ายขึ้น สถิติ gainloss เฉลี่ยบวกกับอัตราส่วนที่ชนะต่อขาดทุนจะเป็นประโยชน์ในการกำหนดตำแหน่งและการจัดการเงินที่ดีที่สุดโดยใช้เทคนิคเช่น Kelly Criterion (ดูการบริหารเงินโดยใช้เกณฑ์ Kelly) ผู้ค้าสามารถทำตำแหน่งที่มีขนาดใหญ่ขึ้นและลดค่าใช้จ่ายด้านค่าคอมมิชชั่นโดยการเพิ่มผลกำไรโดยเฉลี่ยและเพิ่มอัตราส่วนการชนะต่อขาดทุน ผลตอบแทนเป็นรายปีเป็นสิ่งสำคัญเพราะถูกใช้เป็นเครื่องมือในการเปรียบเทียบประสิทธิภาพของระบบกับสถานที่การลงทุนอื่น ๆ เป็นสิ่งสำคัญไม่เพียง แต่จะดูที่ผลตอบแทนต่อปีโดยรวม แต่ยังคำนึงถึงความเสี่ยงที่เพิ่มขึ้นหรือลดลง ซึ่งสามารถทำได้โดยดูจากผลตอบแทนที่ได้รับการปรับความเสี่ยงซึ่งเป็นปัจจัยเสี่ยงต่างๆ ก่อนที่ระบบการซื้อขายจะถูกนำมาใช้จะต้องมีประสิทธิภาพดีกว่าสถานที่ลงทุนอื่น ๆ ทั้งหมดที่มีความเสี่ยงเท่ากับหรือน้อยกว่า การปรับแต่งการทำ backtesting เป็นเรื่องสำคัญมาก แอ็พพลิเคชัน backtesting จำนวนมากมีการป้อนข้อมูลสำหรับจำนวนเงินที่ได้รับค่าคอมมิชชั่นจำนวนล็อต (หรือเศษส่วน) ขนาดล็ใหญ่ขนาดขีดความต้องการของอัตราดอกเบี้ยอัตราดอกเบี้ยสมมติฐานการลื่นไถลกฎการจัดตำแหน่งตำแหน่งกฎการออกจากแถบเดียวกันการตั้งค่าการหยุดชะงัก (ต่อท้าย) และอื่น ๆ อีกมากมาย ได้ผลการทำ backtesting ที่ถูกต้องที่สุด i t เป็นสิ่งสำคัญในการปรับแต่งการตั้งค่าเหล่านี้เพื่อเลียนแบบโบรกเกอร์ที่จะใช้เมื่อระบบทำงานได้ การทำ Backtesting บางครั้งอาจนำไปสู่สิ่งที่เรียกว่าการเพิ่มประสิทธิภาพมากเกินไป นี่เป็นเงื่อนไขที่ผลการดำเนินงานได้รับการปรับให้เข้ากับอดีตมากจนไม่เป็นที่คาดหมายในอนาคตอีกต่อไป โดยทั่วไปแล้วควรใช้หลักเกณฑ์ที่ใช้กับหุ้นทั้งหมดหรือเลือกกลุ่มเป้าหมายที่เลือกและไม่ได้รับการปรับให้เหมาะกับขอบเขตที่ผู้สร้างไม่สามารถเข้าใจได้อีกต่อไป Backtesting ไม่ใช่วิธีที่ถูกต้องที่สุดในการวัดประสิทธิภาพของระบบการซื้อขายที่กำหนด บางครั้งยุทธศาสตร์ที่ทำงานได้ดีในอดีตไม่สามารถทำได้ดีในปัจจุบัน ผลการดำเนินงานที่ผ่านมาไม่ได้บ่งบอกถึงผลการดำเนินงานในอนาคต ตรวจสอบให้แน่ใจว่าได้ทำการค้ากระดาษเป็นระบบที่ได้รับการตรวจสอบย้อนกลับสำเร็จแล้วก่อนที่จะมีการดำเนินชีวิตเพื่อให้มั่นใจว่ากลยุทธ์ยังคงใช้ในทางปฏิบัติ บทสรุปการทำ Backtesting เป็นส่วนสำคัญที่สุดในการพัฒนาระบบการซื้อขาย หากสร้างและตีความอย่างถูกต้องจะช่วยให้ผู้ค้าสามารถเพิ่มประสิทธิภาพและปรับปรุงกลยุทธ์หาข้อบกพร่องด้านเทคนิคหรือทฤษฎีรวมทั้งได้รับความเชื่อมั่นในกลยุทธ์ของตนก่อนนำไปใช้กับตลาดโลกแห่งความจริง การพัฒนาระบบการค้าระดับ high-end AmiBroker (amibroker) - การพัฒนาระบบการค้าการลงทุนด้านงบประมาณ ทฤษฎีเศรษฐศาสตร์ของการใช้จ่ายทั้งหมดในระบบเศรษฐกิจและผลกระทบต่อผลผลิตและอัตราเงินเฟ้อ เศรษฐศาสตร์ของเคนส์ได้รับการพัฒนา การถือครองสินทรัพย์ในพอร์ตลงทุน การลงทุนในพอร์ทจะทำโดยคาดหวังว่าจะได้รับผลตอบแทนจากการลงทุน นี้. อัตราส่วนที่พัฒนาขึ้นโดย Jack Treynor ว่ามาตรการผลตอบแทนที่ได้รับเกินกว่าที่อาจได้รับในความเสี่ยง การซื้อหุ้นคืน (Repurchase) ของ บริษัท เพื่อลดจำนวนหุ้นในตลาด บริษัท การคืนเงินภาษีคือการคืนเงินภาษีที่จ่ายให้กับบุคคลหรือครัวเรือนเมื่อหนี้สินภาษีที่เกิดขึ้นจริงน้อยกว่าจำนวนเงิน มูลค่าทางการเงินของสินค้าสำเร็จรูปและบริการทั้งหมดที่เกิดขึ้นภายในพรมแดนของประเทศในช่วงเวลาที่เฉพาะเจาะจงการทดสอบกลยุทธ์การซื้อขายหุ้นแบบธรรมดาหมายเหตุ: โพสต์นี้ไม่ใช่คำแนะนำทางการเงินนี่เป็นเพียงวิธีที่สนุกในการสำรวจความสามารถบางอย่างที่ R มีไว้สำหรับ การนำเข้าและจัดการข้อมูล ฉันเพิ่งอ่านบทความเกี่ยวกับ ETF Prophet ที่สำรวจกลยุทธ์การซื้อขายหุ้นที่น่าสนใจใน Excel กลยุทธ์นี้ง่ายมาก: ค้นหาจุดที่สูงของสต็อกในช่วง 200 วันที่ผ่านมาและนับจำนวนวันที่ผ่านไปนับจากที่สูง หากได้รับน้อยกว่า 100 วันเป็นเจ้าของสต็อก ถ้าวันนี้เป็นเวลามากกว่า 100 วัน don8217t ก็เป็นเจ้าของ กลยุทธ์นี้ง่ายมาก แต่ให้ผลลัพธ์ที่น่าประทับใจ (อย่างไรก็ตามโปรดทราบว่าตัวอย่างนี้ใช้ข้อมูลที่ไม่ได้รับการปรับปรุงจากส่วนแบ่งหรือเงินปันผลและอาจมีข้อผิดพลาดอื่น ๆ นอกจากนี้เรายังละเว้นค่าใช้จ่ายในการซื้อขายและความล่าช้าในการดำเนินการซึ่งทั้งสองอย่างนี้มีผลต่อประสิทธิภาพของกลยุทธ์) และมีข้อได้เปรียบเหนือกว่า excel โดยหลัก ๆ คือการดึงข้อมูลตลาดหุ้นเข้าสู่ R ง่ายและเราสามารถทดสอบกลยุทธ์นี้ได้ในหลายดัชนีด้วยความพยายามเพียงเล็กน้อย ก่อนอื่นเราจะดาวน์โหลดข้อมูลสำหรับ GSPC โดยใช้ quantmod (GSPC หมายถึงดัชนี SampP 500) ต่อไปเราจะสร้างฟังก์ชันในการคำนวณจำนวนวันนับจาก n-day high ในชุดข้อมูลเวลาและเป็นฟังก์ชันที่จะใช้กลยุทธ์การซื้อขายของเรา ฟังก์ชั่นหลังใช้พารามิเตอร์ 2 ตัวคือค่าสูงสุด n วันที่คุณต้องการใช้และจำนวนวันที่ผ่านมาที่สูงคุณจะถือสต็อก ตัวอย่างเช่น 200 และ 100 แต่คุณสามารถเปลี่ยนค่านี้เป็น 500 วันได้โดยง่ายและดูว่าเกิดอะไรขึ้นหากคุณถือหุ้น 300 วันก่อนที่จะออกตั๋ว เนื่องจากฟังก์ชันนี้ได้รับการปรับพารามิเตอร์ทำให้เราสามารถทดสอบกลยุทธ์เวอร์ชันอื่น ๆ ได้โดยง่าย เราเริ่มต้นกลยุทธ์ของเราด้วยศูนย์ดังนั้นจะยาวเท่ากับข้อมูลที่ป้อนเข้าของเรา (ถ้าคุณต้องการคำอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับวันนับตั้งแต่วันทำงานสูงดูการอภิปรายเกี่ยวกับการตรวจสอบข้าม) เราคูณเวกเตอร์ตำแหน่งของเรา (0,1) ด้วยผลตอบแทนจากดัชนีเพื่อให้ได้ผลตอบแทนจากกลยุทธ์ 8217s ตอนนี้เราสร้างฟังก์ชันเพื่อแสดงสถิติเกี่ยวกับกลยุทธ์การซื้อขายและเปรียบเทียบกลยุทธ์ของเรากับเกณฑ์มาตรฐาน ค่อนข้างพละโดย I8217ve ตัดสินใจที่จะดูผลตอบแทนสะสม, ผลตอบแทนเฉลี่ยต่อปี, อัตราส่วนของ sharpe, การชนะ, ความผันผวนเฉลี่ยต่อปี, การเบิกสูงสุดและการเบิกจ่ายสูงสุด สถิติอื่น ๆ จะง่ายต่อการใช้งาน ดังที่คุณเห็นกลยุทธ์นี้เปรียบเทียบได้ดีกับแนวทาง 8220buy-and-hold8221 ที่เป็นค่าเริ่มต้น สุดท้ายเราทดสอบกลยุทธ์ของเราใน 3 ดัชนีอื่น ๆ ได้แก่ FTSE ซึ่งหมายถึงไอร์แลนด์และสหราชอาณาจักรดัชนีอุตสาหกรรมดาวโจนส์ ซึ่งย้อนกลับไปในปี 1896 และ N225 ซึ่งหมายถึงประเทศญี่ปุ่น I8217ve ทำหน้าที่กระบวนการทั้งหมดเพื่อให้คุณสามารถทดสอบแต่ละกลยุทธ์ใหม่ด้วยโค้ด 1 บรรทัด: อย่าพลาดการอัปเดตสมัครสมาชิก R-bloggers เพื่อรับอีเมลพร้อมโพสต์ R ล่าสุด (คุณจะไม่เห็นข้อความนี้อีก) 30 พฤศจิกายน 2016, 12:34 น. ไม่กี่เดือนที่ผ่านมาผู้อ่านชี้ให้ฉันเห็นวิธีการใหม่ในการเชื่อมต่อ R และ Excel ฉัน don8217t รู้นานเท่าไหร่นี้ได้รับรอบ แต่ฉันไม่เคยเจอมันและ I8217ve ไม่เคยเห็นโพสต์บล็อกหรือบทความเกี่ยวกับเรื่องใด ๆ ดังนั้นฉันจึงตัดสินใจที่จะเขียนโพสต์เป็นเครื่องมือที่มีค่าจริงๆและก่อนใครถาม I8217m ไม่เกี่ยวข้องกับ บริษัท ในทางใดทางหนึ่ง BERT ย่อมาจาก Basic Excel R Toolkit It8217s ฟรี (มีใบอนุญาตภายใต้ GPL v2) และได้รับการพัฒนาโดย Structured Data LLC ในขณะที่เขียนเวอร์ชันปัจจุบันของ BERT เท่ากับ 1.07 ข้อมูลเพิ่มเติมสามารถดูได้ที่นี่. จากมุมมองด้านเทคนิคเพิ่มเติม BERT ได้รับการออกแบบมาเพื่อสนับสนุนการทำงานของ R จากเซลล์กระดาษคำนวณของ Excel ในข้อกำหนดของ Excel, it8217s สำหรับการเขียน User-Defined Functions (UDF) ใน R. ใน I8217m โพสต์นี้จะไม่แสดงให้คุณเห็นว่า R และ Excel มีปฏิสัมพันธ์ผ่านทาง BERT มีบทเรียนดีๆอยู่ที่นี่ ที่นี่และที่นี่ แต่ฉันต้องการแสดงให้คุณเห็นว่าฉันใช้ BERT เพื่อสร้าง 8220control tower8221 เพื่อการซื้อขายของฉันอย่างไร สัญญาณการค้าของฉันถูกสร้างโดยใช้รายการยาวของไฟล์ R แต่ฉันต้องการความยืดหยุ่นของ Excel เพื่อแสดงผลลัพธ์อย่างรวดเร็วและมีประสิทธิภาพ ดังที่แสดงไว้ข้างต้น BERT สามารถทำได้สำหรับฉัน แต่ฉันต้องการปรับแต่งแอพพลิเคชันให้ตรงกับความต้องการของฉันด้วย โดยการรวมพลังของ XML, VBA, R และ BERT ฉันสามารถสร้างแอปพลิเคชันที่ดูดี แต่ทรงพลังในรูปแบบไฟล์ Excel ที่มีรหัส VBA ต่ำสุด สุดท้ายฉันมีไฟล์ Excel เดียวรวบรวมงานทั้งหมดที่จำเป็นในการจัดการพอร์ตโฟลิโอของฉัน: การอัพเดตฐานข้อมูลการสร้างสัญญาณการส่งใบสั่งซื้อเป็นต้น 8230 วิธีการของฉันอาจถูกแบ่งออกเป็น 3 ขั้นตอนด้านล่างนี้: ใช้ XML เพื่อสร้างเมนูและปุ่มที่ผู้ใช้กำหนดไว้ใน Excel ไฟล์. เมนูและปุ่มข้างต้นเป็นหลักเรียกฟังก์ชัน VBA ฟังก์ชั่น VBA ดังกล่าวจะถูกตัดรอบฟังก์ชัน R ที่กำหนดโดยใช้ BERT ด้วยวิธีนี้ฉันสามารถเก็บความแตกต่างระหว่างหลักของรหัสของฉันเก็บไว้ใน R, SQL และ Python และทุกอย่างใช้ในการแสดงและจัดรูปแบบผลเก็บไว้ใน Excel, VBA amp XML ในส่วนถัดไปฉันจะนำเสนอสิ่งที่จำเป็นสำหรับการพัฒนาแนวทางดังกล่าวและคำแนะนำทีละขั้นตอนที่อธิบายว่า BERT สามารถใช้เพื่อส่งผ่านข้อมูลจาก R ไปยัง Excel โดยใช้รหัส VBA ที่น้อยที่สุดได้อย่างไร 1 8211 ดาวน์โหลดและติดตั้ง BERT จากลิงค์นี้ เมื่อการติดตั้งเสร็จสิ้นคุณควรจะมีเมนู Add-Ins ใหม่ใน Excel ด้วยปุ่มดังแสดงด้านล่าง นี่เป็นวิธีที่ BERT มีอยู่ใน Excel 2 8211 ดาวน์โหลดและติดตั้ง Custom UI editor ตัวแก้ไข UI ที่กำหนดเองช่วยในการสร้างเมนูและปุ่มที่กำหนดโดยผู้ใช้ใน Excel ribbon มีขั้นตอนการทำตามขั้นตอนที่นี่ คำแนะนำทีละขั้นตอน 1 8211 R รหัส: ฟังก์ชัน R ด้านล่างเป็นโค้ดที่ใช้งานง่ายสำหรับการอธิบายเท่านั้น จะคำนวณและคืนส่วนที่เหลือจากการถดถอยเชิงเส้น นี่คือสิ่งที่เราต้องการดึงข้อมูลใน Excel บันทึกไฟล์นี้ไว้ในไฟล์ myRCode.R (ชื่อใด ๆ ก็ได้ดี) ในไดเร็กทอรีที่คุณเลือก 2 8211 functions.R ใน BERT จาก Excel เลือก Add-Ins -gt Home Directory และเปิดไฟล์ที่ชื่อว่า functions.R ในไฟล์นี้วางรหัสต่อไปนี้ ตรวจสอบว่าคุณได้ใส่เส้นทางที่ถูกต้อง นี่เป็นเพียงการจัดหาไฟล์ BERT ที่ R ที่คุณสร้างไว้ข้างต้น จากนั้นให้บันทึกและปิดฟังก์ชั่นไฟล์ R หากคุณต้องการทำการเปลี่ยนแปลงใด ๆ ในไฟล์ R ที่สร้างขึ้นในขั้นตอนที่ 1 คุณจะต้องโหลดใหม่โดยใช้ปุ่ม BERT 8220Reload Startup File8221 จากเมนู Add-Ins ใน Excel 3 8211 ใน Excel: สร้างและบันทึกไฟล์ที่ชื่อ myFile.xslm (ชื่ออื่นใดก็ได้) นี่คือไฟล์ที่เปิดใช้งานมาโครที่คุณบันทึกไว้ในไดเร็กทอรีที่คุณเลือก เมื่อแฟ้มถูกบันทึกไว้ปิดมัน 4 8211 เปิดไฟล์ที่สร้างขึ้นข้างต้นใน Custom UI editor: เมื่อเปิดไฟล์แล้ววางโค้ดด้านล่าง คุณควรมีบางอย่างเช่นนี้ในตัวแก้ไข XML: โค้ด XML นี้จะสร้างเมนูเพิ่มเติม (RTrader) กลุ่มใหม่ (กลุ่มของฉัน) และปุ่มกำหนดเอง (New Button) ในริบบิ้น Excel เมื่อ you8217re เสร็จแล้วให้เปิด myFile.xslm ใน Excel และปิด Custom UI Editor คุณควรเห็นบางอย่างเช่นนี้ 5 8211 เปิดตัวแก้ไข VBA ใน myFile.xlsm แทรกโมดูลใหม่ วางโค้ดด้านล่างลงในโมดูลที่สร้างขึ้นใหม่ การดำเนินการนี้จะลบผลการค้นหาก่อนหน้าในแผ่นงานก่อนที่จะดำเนินการใหม่ 6 8211 คลิกปุ่ม New ตอนนี้กลับไปที่สเปรดชีตและในเมนู RTrader คลิกปุ่ม 8220New Button8221 คุณจะเห็นสิ่งที่ปรากฏด้านล่าง คู่มือข้างต้นเป็นรุ่นพื้นฐานของสิ่งที่สามารถทำได้โดยใช้ BERT แต่จะแสดงวิธีการรวมพลังของเครื่องมือที่เฉพาะเจาะจงหลายตัวเพื่อสร้างแอ็พพลิเคชันที่กำหนดเองของคุณเอง จากมุมมองของฉันความสนใจของวิธีดังกล่าวคือความสามารถในการกาวด้วยกัน R และ Excel ชัด แต่รวมถึง XML (และชุด) ชิ้นส่วนของโค้ดจาก Python, SQL และอื่น ๆ นี่คือสิ่งที่ฉันต้องการ สุดท้ายฉันอยากรู้ว่าใครมีประสบการณ์กับ BERT 19 สิงหาคม 2016, 9:26 น. เมื่อทดสอบกลยุทธ์การซื้อขายวิธีการทั่วไปคือการแบ่งข้อมูลเริ่มแรกที่ตั้งไว้ในตัวอย่างข้อมูล: ส่วนหนึ่งของข้อมูลที่ออกแบบมาเพื่อปรับเทียบ โมเดลและข้อมูลตัวอย่าง: ส่วนหนึ่งของข้อมูลที่ใช้ในการตรวจสอบการสอบเทียบและตรวจสอบว่าประสิทธิภาพที่สร้างขึ้นในตัวอย่างจะสะท้อนให้เห็นในโลกแห่งความจริง ตามกฎของหัวแม่มือประมาณ 70 ของข้อมูลเริ่มต้นสามารถใช้สำหรับการสอบเทียบ (เช่นในตัวอย่าง) และ 30 สำหรับการตรวจสอบ (เช่นออกจากตัวอย่าง) จากนั้นการเปรียบเทียบข้อมูลในและนอกของตัวอย่างช่วยในการตัดสินใจว่ารูปแบบนั้นมีประสิทธิภาพเพียงพอหรือไม่ โพสต์นี้มุ่งไปที่ขั้นตอนต่อไปและเป็นวิธีการทางสถิติในการตัดสินใจว่าข้อมูลตัวอย่างจะไม่ตรงกับสิ่งที่สร้างขึ้นในตัวอย่าง ในแผนภูมิด้านล่างพื้นที่สีน้ำเงินหมายถึงประสิทธิภาพตัวอย่างสำหรับกลยุทธ์ของฉัน การตรวจสอบภาพที่เรียบง่ายแสดงให้เห็นถึงความพอดีที่ดีระหว่างการเข้าและออกจากการทดสอบตัวอย่าง แต่ฉันมีความมั่นใจในระดับใดในขั้นตอนนี้ไม่มากนักและนี่เป็นปัญหา สิ่งที่จำเป็นอย่างแท้จริงคือการวัดความคล้ายคลึงกันระหว่างชุดข้อมูลตัวอย่างในและนอก ในแง่ทางสถิติอาจแปลได้ว่าเป็นไปได้ว่าตัวเลขการเข้าชมและออกจากตัวเลขประสิทธิภาพตัวอย่างมาจากการกระจายเดียวกัน มีการทดสอบสถิติที่ไม่ใช่พารามิเตอร์ที่ไม่ตรงนี้: การทดสอบ Kruskall-Wallis ความหมายที่ดีของการทดสอบนี้สามารถพบได้ในกลุ่มตัวอย่างของ R-Tutor 8220A ที่เก็บตัวอย่างข้อมูลได้โดยอิสระหากมาจากประชากรที่ไม่เกี่ยวกันและตัวอย่างเหล่านี้ไม่มีผลต่อกันและกัน ใช้การทดสอบ Kruskal-Wallis เราสามารถตัดสินใจได้ว่าการกระจายของประชากรจะเหมือนกันหรือไม่โดยสมมติว่าพวกเขาไม่ปฏิบัติตามการแจกแจงตามปกติ 8221 ผลประโยชน์เพิ่มเติมของการทดสอบนี้ไม่ได้เป็นการสมมติว่ามีการแจกแจงแบบปกติ มีการทดสอบอื่นที่มีลักษณะเดียวกับที่สามารถใส่ลงในกรอบดังกล่าวได้ การทดสอบ Mann-Whitney-Wilcoxon หรือการทดสอบ Kolmogorov-Smirnov จะเหมาะกับกรอบการทำงานนี้อย่างสมบูรณ์ แต่นี่ไม่ใช่ข้อ จำกัด ของบทความนี้เพื่อหารือเกี่ยวกับข้อดีข้อเสียของการทดสอบแต่ละข้อ สามารถดูคำอธิบายที่ดีพร้อมตัวอย่าง R ได้ที่นี่ Here8217s รหัสที่ใช้ในการสร้างแผนภูมิด้านบนและการวิเคราะห์: ในตัวอย่างข้างต้นในช่วงตัวอย่างมีค่าเกินกว่าระยะเวลาตัวอย่างดังนั้นฉันจึงสุ่มสร้าง 1000 ส่วนย่อยของข้อมูลตัวอย่างซึ่งแต่ละตัวมีความยาวเท่ากันหมด ของข้อมูลตัวอย่าง จากนั้นผมได้ทดสอบแต่ละชุดย่อยตัวอย่างเทียบกับข้อมูลตัวอย่างและบันทึกค่า p- กระบวนการนี้สร้างค่า p เดียวสำหรับการทดสอบ Kruskall-Wallis แต่เป็นการกระจายที่ทำให้การวิเคราะห์มีประสิทธิภาพมากขึ้น ในตัวอย่างนี้ค่าเฉลี่ย p- ค่าดีกว่าศูนย์ (0.478) แสดงให้เห็นว่าสมมติฐานที่เป็นโมฆะควรได้รับการยอมรับ: มีหลักฐานที่ชัดเจนว่าข้อมูลเข้าและออกจากตัวอย่างมาจากการกระจายเดียวกัน ตามปกติแล้วสิ่งที่นำเสนอในโพสต์นี้เป็นตัวอย่างของเล่นที่ทำหน้าที่ขูดขีดพื้นผิวของปัญหาเท่านั้นและควรปรับให้ตรงตามความต้องการของแต่ละบุคคล อย่างไรก็ตามผมคิดว่าข้อเสนอแนะนี้เป็นกรอบทางสถิติที่น่าสนใจและมีเหตุผลเพื่อประเมินผลลัพธ์จากผลการทดสอบตัวอย่าง โพสต์นี้ได้รับแรงบันดาลใจจากเอกสารสองฉบับต่อไปนี้: Vigier Alexandre, Chmil Swann (2007), ผลกระทบของฟังก์ชันการเพิ่มประสิทธิภาพต่างๆที่มีต่อประสิทธิภาพการทำงานตัวอย่างของกลยุทธ์การซื้อขายพันธุกรรมที่พัฒนาขึ้น, การคาดการณ์การประชุมตลาดการเงิน Vigier Alexandre, Chmil Swann (2010), กระบวนการเพิ่มประสิทธิภาพเพื่อปรับปรุงความสอดคล้องตัวอย่าง, กรณี Stock Market, การประชุมเชิงปริมาณ JP Morgan Cazenove Equity, London October 2010 13 ธันวาคม 2015, 2:03 pm การทำวิจัยเชิงปริมาณหมายถึงการกระทืบข้อมูลจำนวนมากและหนึ่งต้องการข้อมูลที่สะอาดและเชื่อถือได้ บรรลุเป้าหมายนี้ สิ่งที่จำเป็นจริงๆคือข้อมูลสะอาดที่สามารถเข้าถึงได้ง่าย (แม้จะไม่มีการเชื่อมต่ออินเทอร์เน็ต) วิธีที่มีประสิทธิภาพมากที่สุดในการทำเช่นนี้สำหรับฉันคือการรักษาชุดของไฟล์ csv แน่นอนกระบวนการนี้สามารถจัดการได้หลายวิธี แต่ฉันพบว่ามีประสิทธิภาพมากและง่ายทำงานล่วงเวลาเพื่อรักษาไดเรกทอรีที่ฉันเก็บและ update ไฟล์ csv ฉันมีไฟล์ csv หนึ่งไฟล์ต่อหนึ่งตราสารและไฟล์แต่ละไฟล์จะมีชื่อตามอุปกรณ์ที่มีอยู่ เหตุผลที่ฉันทำเช่นนั้นเป็นสองเท่า: ประการแรกฉัน don8217t ต้องการดาวน์โหลดข้อมูล (ราคา) จาก Yahoo, Google itd8230 ทุกครั้งที่ฉันต้องการทดสอบแนวคิดใหม่ ๆ แต่ที่สำคัญกว่าเมื่อฉันระบุและแก้ไขปัญหาแล้วฉัน don8217t ต้องการจะต้อง ทำอีกครั้งในครั้งต่อไปที่ฉันต้องการเครื่องดนตรีเดียวกัน เรียบง่ายและมีประสิทธิภาพมาก กระบวนการดังกล่าวสรุปได้จากตารางด้านล่าง ในทุกอย่างที่ตามมาผมถือว่าข้อมูลมาจาก Yahoo รหัสจะต้องได้รับการแก้ไขสำหรับข้อมูลจาก Google, Quandl ฯลฯ8230นอกจากนี้ฉันยังเสนอขั้นตอนการอัปเดตข้อมูลราคารายวัน การตั้งค่าจะแตกต่างกันสำหรับข้อมูลความถี่สูงและชุดข้อมูลประเภทอื่น ๆ (เช่นแตกต่างจากราคา) 1 8211 การดาวน์โหลดข้อมูลเบื้องต้น (listOfInstruments.R amp historicalData.R) ไฟล์ listOfInstruments.R คือไฟล์ที่มีเฉพาะรายการเครื่องมือทั้งหมด หากเครื่องไม่ได้เป็นส่วนหนึ่งของรายการของฉัน (เช่นไม่มีไฟล์ csv ในโฟลเดอร์ข้อมูล) หรือถ้าคุณทำเช่นนั้นเป็นครั้งแรกคุณต้องดาวน์โหลดชุดข้อมูลทางประวัติศาสตร์ในตอนแรก ตัวอย่างด้านล่างดาวน์โหลดชุดราคา ETFs ประจำวันจาก Yahoo Finance ตั้งแต่เดือนมกราคม 2000 และเก็บข้อมูลไว้ในไฟล์ CSV 2 8211 อัพเดตข้อมูลที่มีอยู่ (updateData.R) โค้ดด้านล่างนี้เริ่มจากไฟล์ที่มีอยู่ในโฟลเดอร์เฉพาะและอัปเดตข้อมูลทั้งหมดที่มีอยู่หลังจากที่อื่น ฉันมักจะเรียกใช้กระบวนการนี้ทุกวันยกเว้นเมื่อ I8217m ในวันหยุด หากต้องการเพิ่มเครื่องมือใหม่ให้ใช้ขั้นตอนที่ 1 ด้านบนสำหรับเครื่องนี้เพียงอย่างเดียว 3 8211 สร้างไฟล์แบทช์ (updateDailyPrices.bat) ส่วนที่สำคัญอีกอย่างหนึ่งของงานคือการสร้างไฟล์แบทช์ที่ทำให้กระบวนการอัปเดตทำงานโดยอัตโนมัติ (I8217m เป็นผู้ใช้ Windows) วิธีนี้จะหลีกเลี่ยงการเปิด RRStudio และเรียกใช้โค้ดจากที่นั่น รหัสด้านล่างจะอยู่ในไฟล์. bat (เส้นทางจะต้องมีการแก้ไขด้วยการตั้งค่า reader8217s) โปรดทราบว่าฉันได้เพิ่มไฟล์ที่ส่งออก (updateLog.txt) เพื่อติดตามการดำเนินการ ขั้นตอนข้างต้นเป็นเรื่องง่ายมากเพราะจะอธิบายเฉพาะวิธีการอัปเดตข้อมูลราคารายวันเท่านั้น I8217 ใช้เวลานี้มาเรื่อย ๆ และทำงานได้อย่างราบรื่นสำหรับฉันจนถึงตอนนี้ สำหรับข้อมูลขั้นสูงและความถี่ที่สูงขึ้นสิ่งต่างๆจะมีความซับซ้อนมากขึ้น ตามปกติความคิดเห็นใด ๆ ต้อนรับ 23 มีนาคม 2015, 8:55 น. เมื่อพูดถึงการจัดการพอร์ตการลงทุนของหุ้นเทียบกับเกณฑ์มาตรฐานปัญหาจะแตกต่างจากการกำหนดกลยุทธ์การคืนผลแน่นอน ในอดีตต้องถือหุ้นมากขึ้นกว่าในภายหลังซึ่งไม่มีหุ้นที่สามารถถือได้หากมีโอกาสไม่ดีพอ เหตุผลคือข้อผิดพลาดในการติดตาม นี่คือส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนของพอร์ตการลงทุนลบด้วยผลตอบแทนจากการลงทุน มีการจัดเก็บหุ้นที่น้อยลงเทียบกับเกณฑ์มาตรฐานมากขึ้นจะทำให้เกิดข้อผิดพลาดในการติดตามได้มากขึ้น (เช่นความเสี่ยงที่สูงขึ้น) การวิเคราะห์ต่อไปนี้ได้รับแรงบันดาลใจมาจากหนังสือ 8220Active Portfolio Management8221 โดย Grinold amp Kahn นี่คือพระคัมภีร์สำหรับทุกคนที่สนใจในการทำผลงานกับมาตรฐาน ผมขอแนะนำให้ทุกคนที่มีความสนใจในหัวข้อนี้ในการอ่านหนังสือตั้งแต่ต้นจนจบ It8217s เขียนเป็นอย่างดีและวางรากฐานของการจัดการพอร์ตโฟลิโอที่ใช้งานอย่างเป็นระบบ (ฉันไม่มีความร่วมมือใด ๆ กับบรรณาธิการหรือผู้เขียน) 1 8211 Factor Analysis นี่เรากำลังพยายามจัดอันดับหุ้นในจักรวาลการลงทุนให้ได้มากที่สุดเท่าที่จะเป็นไปได้ หลายคนคิดค้นเครื่องมือและเครื่องมือมากมายที่พัฒนาขึ้นเพื่อให้บรรลุเป้าหมายนี้ ในบทความนี้ฉันมุ่งเน้นไปที่สองเมตริกที่ง่ายและใช้กันอย่างแพร่หลาย: ค่าสัมประสิทธิ์ข้อมูล (IC) และ Quantiles Return (QR) 1.1 8211 ค่าสัมประสิทธิ์ข้อมูลเส้นขอบฟ้าสำหรับผลตอบแทนที่ได้รับจะต้องถูกกำหนดโดยนักวิเคราะห์และ it8217s ซึ่งเป็นส่วนหนึ่งของการหมุนเวียนของกลยุทธ์8217และการสลายตัวของอัลฟา (ซึ่งเป็นหัวข้อที่ครอบคลุมการวิจัย) เห็นได้ชัดว่าไอซีจะต้องสูงที่สุดเท่าที่จะเป็นไปได้ในรูปแบบสัมบูรณ์ สำหรับผู้อ่านที่กระตือรือร้นในหนังสือโดย Grinold amp Kahn สูตรการเชื่อมโยง Information Ratio (IR) และ IC จะได้รับ: ด้วยความกว้างเป็นจำนวนของการเดิมพันที่เป็นอิสระ (ธุรกิจการค้า) สูตรนี้เรียกว่ากฎพื้นฐานของการจัดการที่ใช้งานอยู่ ปัญหาคือบ่อยครั้งที่การกำหนดความกว้างได้อย่างถูกต้องไม่ใช่เรื่องง่ายเหมือนกับเสียง 1.2 8211 Quantiles Return เพื่อให้มีการคาดการณ์ที่ถูกต้องยิ่งขึ้นเกี่ยวกับปัจจัยที่ทำให้พลังงานที่คาดการณ์ได้ it8217s จำเป็นที่จะต้องก้าวไปอีกขั้นหนึ่งและจัดกลุ่มหุ้นตามปริมาณของค่าปัจจัยต่างๆแล้ววิเคราะห์ค่าเฉลี่ยของผลตอบแทน (หรือตัวชี้วัดค่าเฉลี่ยของศูนย์กลางอื่น ๆ ) ของแต่ละกลุ่ม quantiles ประโยชน์ของเครื่องมือนี้ตรงไปตรงมา ปัจจัยหนึ่งสามารถมี IC ที่ดี แต่พลังการคาดการณ์อาจ จำกัด อยู่ที่จำนวนหุ้นที่น้อย ไม่ดีเท่าผู้จัดการด้านการลงทุนจะต้องเลือกหุ้นภายในจักรวาลทั้งหมดเพื่อให้เป็นไปตามข้อ จำกัด ข้อผิดพลาดในการติดตาม กลับ quantiles ดีมีลักษณะความสัมพันธ์ที่น่าเบื่อระหว่างแต่ละ quantiles และส่งกลับ. หุ้นทั้งหมดในดัชนี SampP500 (ในขณะที่เขียน) เห็นได้ชัดว่ามีอคติในการอยู่รอดของเรือ: รายการดัชนีหุ้นในดัชนีมีการเปลี่ยนแปลงอย่างมีนัยสำคัญระหว่างช่วงเริ่มต้นและช่วงสิ้นสุดของช่วงเวลาตัวอย่าง แต่ก็มีความสามารถเพียงพอสำหรับวัตถุประสงค์ในการแสดงเท่านั้น รหัสด้านล่างดาวน์โหลดราคาหุ้นแต่ละแบบใน SampP500 ระหว่างเดือน ม.ค. 2548 ถึงวันนี้ (ต้องใช้เวลาสักครู่) และจะเปลี่ยนราคาวัตถุดิบให้เป็นผลตอบแทนในช่วง 12 เดือนที่ผ่านมาและเดือนที่ผ่านมา อดีตเป็นปัจจัยของเราหลังจะใช้เป็นมาตรการส่งกลับ ด้านล่างนี้เป็นรหัสในการคำนวณค่าสัมประสิทธิ์ข้อมูลและปริมาณการส่งกลับ โปรดทราบว่าฉันใช้ quintiles ในตัวอย่างนี้ แต่สามารถใช้วิธีจัดกลุ่มอื่น ๆ (terciles, deciles etc8230) จริงๆมันขึ้นอยู่กับขนาดตัวอย่างสิ่งที่คุณต้องการจับภาพและสภาพอากาศที่คุณต้องการมีภาพรวมกว้างหรือมุ่งเน้นกระจายหาง สำหรับการประเมินผลตอบแทนภายในแต่ละกลุ่มค่ามัธยฐานถูกใช้เป็นตัวประมาณแนวโน้มกลาง มาตรการนี้มีความไวต่อค่าผิดปกติน้อยกว่าค่าเฉลี่ยเลขคณิต และสุดท้ายโค้ดเพื่อสร้างแผนภูมิ Quantiles Return 3 8211 วิธีการใช้ประโยชน์จากข้อมูลข้างต้นในแผนภูมิด้านบน Q1 จะกลับมาต่ำสุดในรอบ 12 เดือนและ Q5 สูงสุด มีการเพิ่มผลตอบแทนเชิงปริมาณในช่วง Q1 และ Q5 ที่เพิ่มขึ้นอย่างเห็นได้ชัดเกือบทุกอย่างซึ่งแสดงให้เห็นว่าหุ้นที่ลดลงใน Q5 ดีกว่าไตรมาสที่ 1 ประมาณ 1 ต่อเดือน นี่เป็นสิ่งที่มีความสำคัญและมีประสิทธิภาพสำหรับปัจจัยง่ายๆเช่น (ไม่แปลกใจเลยครับ) ดังนั้นเราจึงมีโอกาสที่จะเอาชนะดัชนีได้มากขึ้นโดยการถ่วงน้ำหนักหุ้นที่ลดลงสู่ไตรมาสที่ 5 และทำให้น้ำหนักลดลงเมื่อเทียบกับเกณฑ์มาตรฐาน IC ของ 0.0206 อาจไม่ได้หมายถึงการจัดการที่ดีในตัวเอง แต่ it8217s อย่างมีนัยสำคัญที่แตกต่างจาก 0 และบ่งบอกถึงพลังการคาดการณ์ที่ดีของที่ผ่านมา 12 เดือนกลับโดยรวม การทดสอบความสำคัญอย่างเป็นทางการสามารถประเมินได้ แต่สิ่งนี้อยู่นอกเหนือขอบเขตของบทความนี้ 4 8211 ข้อ จำกัด ในทางปฏิบัติกรอบการทำงานข้างต้นเป็นสิ่งที่ยอดเยี่ยมสำหรับการประเมินคุณภาพของปัจจัยการลงทุน 8272s อย่างไรก็ตามมีข้อ จำกัด ในทางปฏิบัติที่ต้องใช้ในการดำเนินการในชีวิตจริงคือการปรับสมดุล ในคำอธิบายด้านบน it8217s สันนิษฐานว่า ณ สิ้นเดือนของพอร์ตโฟลิโอจะปรับสมดุลได้อย่างเต็มที่ ซึ่งหมายความว่าหุ้นทั้งหมดที่ร่วงลงใน Q1 มีน้ำหนักน้อยและหุ้นทั้งหมดที่ตกอยู่ในไตรมาสที่ 5 มีน้ำหนักเกินเมื่อเทียบกับเกณฑ์มาตรฐาน นี่เป็นไปไม่ได้ที่จะเป็นไปได้ในทางปฏิบัติ: บางหุ้นอาจถูกแยกออกจากจักรวาลการลงทุนมีข้อจํากัดเกี่ยวกับอุตสาหกรรมหรือภาคน้ำหนักมีข้อจํากัดในการหมุนเวียนเป็นต้น 823 ต้นทุนการทำธุรกรรม สิ่งนี้ไม่ได้นำมาพิจารณาในการวิเคราะห์ข้างต้นและเป็นข้อบกพร่องร้ายแรงต่อการใช้ชีวิตจริง การพิจารณาการหมุนเวียนมักใช้ในชีวิตจริงในรูปของการลงโทษต่อคุณภาพของปัจจัย สัมประสิทธิ์การถ่ายเท นี่คือการขยายกฎหมายพื้นฐานของการจัดการที่ใช้งานอยู่และเป็นการผ่อนคลายสมมติฐานของแบบจำลอง Grinold8217s ที่ผู้บริหารไม่ต้องเผชิญกับข้อ จำกัด ใด ๆ ที่ทำให้พวกเขาไม่สามารถแปลข้อมูลเชิงลึกด้านการลงทุนของตนโดยตรงไปยังการเดิมพันในพอร์ตโฟลิโอ และสุดท้าย I8217m ประหลาดใจด้วยสิ่งที่สามารถทำได้ในน้อยกว่า 80 บรรทัดของรหัสกับ R8230 ตามปกติความคิดเห็นใด ๆ ต้อนรับ 14 มีนาคม 2014, 01:07 คำถามหนึ่งควรถาม himherself เมื่อใช้ตัวชี้วัดทางเทคนิคคือสิ่งที่จะเป็นวัตถุประสงค์ เกณฑ์การเลือกพารามิเตอร์ตัวบ่งชี้ (เช่นทำไมต้องใช้ RSI 14 วันมากกว่า 15 หรือ 20 วัน) อัลกอริทึมทางพันธุกรรม (GA) เป็นเครื่องมือที่เหมาะสำหรับตอบคำถามนี้ ในบทความนี้ I8217 จะแสดงวิธีการตั้งค่าปัญหาใน R. ก่อนดำเนินการเตือนตามปกติ: สิ่งที่ฉันนำเสนอในโพสต์นี้เป็นเพียงตัวอย่างของเล่นเท่านั้นไม่ใช่คำเชิญในการลงทุน ไม่ใช่กลยุทธ์ที่สมบูรณ์แบบ แต่เป็นแนวคิดการวิจัยที่ต้องมีการวิจัยพัฒนาและปรับแต่งตามความต้องการของแต่ละบุคคล ขั้นตอนวิธีเชิงพันธุกรรมคืออะไรคำอธิบายที่ดีที่สุดของ GA ที่ฉันมาจาก Cybernatic Trading เป็นหนังสือของ Murray A. Ruggiero 8220Genetic Algorithms ถูกคิดค้นโดย John Holland ในช่วงกลางปี ​​1970 เพื่อแก้ปัญหาการเพิ่มประสิทธิภาพอย่างหนัก วิธีนี้ใช้การคัดเลือกโดยธรรมชาติการอยู่รอดของ fittest8221 กระบวนการทั่วไปทำตามขั้นตอนด้านล่าง: เข้ารหัสปัญหาเป็นโครโมโซมใช้การเข้ารหัสการพัฒนาฟังก์ชั่นสมรรถภาพสำหรับใช้ในการประเมินแต่ละค่าโครโมโซม 8017 ในการแก้ปัญหาที่กำหนดเริ่มต้นประชากรโครโมโซมประเมินแต่ละโครโมโซมในประชากรสร้างโครโมโซมใหม่โดยการผสมพันธุ์สอง โครโมโซม (พ่อแม่จะถูกเลือกแบบสุ่ม แต่ลำเอียงโดยการออกกำลังกายของพวกเขา) ประเมินโครโมโซมใหม่ลบสมาชิกของประชากรที่ไม่พอดีกับโครโมโซมใหม่และใส่โครโมโซมใหม่ในประชากร . ถ้าเกณฑ์การยุติ (จำนวนสูงสุดของอายุเกณฑ์การออกกำลังกายดีพอ 823) ให้กลับโครโมโซมที่ดีที่สุดหรือไปที่ขั้นตอนที่ 4 จากมุมมองการซื้อขาย GA มีประโยชน์มากเพราะสามารถจัดการปัญหาที่ไม่เป็นเชิงเส้นได้มาก อย่างไรก็ตามคุณลักษณะเหล่านี้แสดงถึงคุณลักษณะที่น่ารังเกียจซึ่งน่าจะเป็นที่กล่าวถึง: เหมาะกว่า: นี่เป็นปัญหาหลักและทำให้นักวิเคราะห์วิเคราะห์ปัญหาในลักษณะที่ลดความเสี่ยงนี้ลง เวลาในการคำนวณ ถ้าปัญหา isn8217t ถูกกำหนดอย่างถูกต้องอาจใช้เวลานานมากในการเข้าถึงโซลูชันที่ดีและความซับซ้อนเพิ่มขึ้นอย่างมากตามจำนวนตัวแปร ดังนั้นความจำเป็นในการเลือกพารามิเตอร์อย่างรอบคอบ มีหลายแพคเกจ R เกี่ยวกับ GA ฉันเลือกที่จะใช้กันมากที่สุด: rgenoud ราคาปิดรายวันสำหรับ ETFs สภาพคล่องส่วนใหญ่จากการเงินของ Yahoo จะย้อนกลับไปในเดือนมกราคม 2000 ในช่วงตัวอย่างมาจากมกราคม 2000 ถึงธันวาคม 2010 Out of ระยะเวลาตัวอย่างจะเริ่มในเดือนมกราคม 2554 ตรรกะดังต่อไปนี้ฟังก์ชั่นการออกกำลังกายจะได้รับการปรับให้เหมาะกับช่วงเวลาตัวอย่างเพื่อให้ได้พารามิเตอร์ที่ดีที่สุดสำหรับตัวชี้วัดทางเทคนิคที่เลือก ผลการปฏิบัติงานของตัวชี้วัดเหล่านี้จะได้รับการประเมินในช่วงเวลาที่ตัวอย่าง แต่ก่อนที่จะทำเช่นนั้นตัวชี้วัดทางเทคนิคจะต้องได้รับการคัดเลือก ตลาดตราสารทุนมีลักษณะสำคัญสองอย่างที่คุ้นเคยกับทุกคนที่มีประสบการณ์ในการซื้อขาย โมเมนตัมระยะยาวและการกลับรายการระยะสั้น คุณลักษณะเหล่านี้สามารถแปลเป็นตัวชี้วัดทางเทคนิคได้จาก: moving averages cross over และ RSI ค่านี้แสดงถึงชุดของพารามิเตอร์ 4 ตัวคือช่วงเวลามองย้อนกลับสำหรับค่าเฉลี่ยเคลื่อนที่แบบระยะสั้นและระยะยาวช่วงเวลามองย้อนกลับของเกณฑ์ RSI และ RSI ชุดของพารามิเตอร์คือโครโมโซม องค์ประกอบสำคัญอื่น ๆ คือการออกกำลังกาย เราอาจต้องการใช้สิ่งที่ต้องการเช่นอัตราผลตอบแทนสูงสุดหรืออัตราส่วน Sharpe หรือค่าเฉลี่ยถ่วงน้ำหนักขั้นต่ำ ในสิ่งต่อไปนี้ฉันเลือกที่จะเพิ่มอัตราส่วน Sharpe การใช้ R คือชุดของ 3 ฟังก์ชัน: fitnessFunction กำหนดฟังก์ชันการออกกำลังกาย (เช่นอัตราส่วนชาร์ปสูงสุด) ที่จะใช้ภายในสถิติการซื้อขายเครื่องมือของ GA สรุปสถิติการซื้อขายสำหรับทั้งในและนอกช่วงเวลาตัวอย่างเพื่อวัตถุประสงค์ในการเปรียบเทียบ โปรแกรม GA จากแพคเกจ rgenoud ฟังก์ชั่น genoud ค่อนข้างซับซ้อน แต่ I8217m จะไม่อธิบายว่าพารามิเตอร์แต่ละข้อมีความหมายอย่างไรเนื่องจากฉันต้องการเก็บบทความนี้สั้น ๆ (และเอกสารเป็นสิ่งที่ดีมาก) ในตารางด้านล่างผมจะนำเสนอพารามิเตอร์ที่เหมาะสมที่สุด (RSI look-back period, RSI threshold, Movement Average เฉลี่ยระยะยาวและ Average Moving Average) พร้อมกับสถิติการเข้าและออกตัวอย่าง ก่อนที่จะแสดงความคิดเห็นข้างต้นฉันต้องการอธิบายประเด็นสำคัญบางประการ เพื่อให้ตรงกับตรรกะที่กำหนดข้างต้นฉันได้กำหนดพารามิเตอร์ไว้เพื่อให้แน่ใจว่าระยะเวลาย้อนกลับของค่าเฉลี่ยเคลื่อนที่ในระยะยาวนั้นยาวกว่าค่าเฉลี่ยเคลื่อนที่ที่สั้นลง ฉันยัง จำกัด การเพิ่มประสิทธิภาพให้เลือกเฉพาะโซลูชันที่มีมากกว่า 50 ธุรกิจการค้าในช่วงเวลาตัวอย่าง (เช่นความสำคัญทางสถิติ) โดยรวมผลลัพธ์จากตัวอย่างไม่ได้น่าประทับใจ ผลตอบแทนต่ำแม้ว่าจำนวนธุรกิจการค้าจะมีขนาดเล็กเพื่อให้ผลลัพธ์มีความสำคัญมาก อย่างไรก็ตามการสูญเสียประสิทธิภาพอย่างมีนัยสำคัญระหว่างการเข้าและออกจากกลุ่มตัวอย่างสำหรับประเทศญี่ปุ่น (EWJ) ซึ่งน่าจะหมายถึงการปรับตัวให้เหมาะสม โพสต์นี้มีวัตถุประสงค์เพื่อมอบเครื่องมือให้ผู้อ่านใช้ GA อย่างถูกต้องในกรอบการทำธุรกรรมเชิงปริมาณ อีกครั้ง It8217s เป็นตัวอย่างที่ต้องได้รับการขัดเกลาเพิ่มเติม การปรับปรุงศักยภาพในการสำรวจคือการออกกำลังกาย การเพิ่มอัตราส่วน Sharpe เป็นเรื่องง่ายมาก ฟังก์ชัน 8220smarter8221 จะช่วยปรับปรุงรูปแบบสถิติการซื้อขายตัวอย่างตัวอย่าง เราพยายามจับภาพแบบตรงไปตรงมามาก จำเป็นต้องมีการวิจัยในเชิงลึกมากขึ้น การเพิ่มประสิทธิภาพ มีหลายวิธีในการปรับปรุงวิธีดำเนินการเพิ่มประสิทธิภาพ วิธีนี้จะช่วยเพิ่มความเร็วในการคำนวณและความมีเหตุมีผลของผลลัพธ์ รหัสที่ใช้ในโพสต์นี้มีอยู่ในที่เก็บ Gist ตามปกติแล้วความคิดเห็นใด ๆ ที่ยินดีต้อนรับ 28 กุมภาพันธ์ 2014, 15:52 น. มีเนื้อหาทางวรรณกรรมมากมายมหาศาลทั้งด้านวิชาการและเชิงประจักษ์เกี่ยวกับการคาดการณ์ของตลาด โดยส่วนใหญ่จะผสมผสานคุณสมบัติทางการตลาด 2 รูปแบบ ได้แก่ Magnitude and Direction ในบทความนี้ฉันต้องการเน้นการระบุทิศทางตลาดเท่านั้น เป้าหมายที่ฉันตั้งค่าไว้คือการระบุสภาวะตลาดเมื่ออัตราเดิมพันมีความลำเอียงต่อตลาดขึ้นหรือลง โพสต์นี้ให้ตัวอย่างของวิธีการใช้งาน CART (การจัดหมวดหมู่และการถดถอย) ในบริบทนี้ ก่อนที่ฉันจะดำเนินการเตือนตามปกติ: สิ่งที่ฉันนำเสนอในโพสต์นี้เป็นเพียงตัวอย่างของเล่นและไม่ใช่คำเชิญในการลงทุน ไม่ใช่กลยุทธ์ที่สมบูรณ์แบบ แต่เป็นแนวคิดการวิจัยที่ต้องมีการวิจัยพัฒนาและปรับแต่งตามความต้องการของแต่ละบุคคล 1 8211 ตะกร้าคืออะไรและทำไมถึงใช้มันจากสถิติ CART คือชุดของเทคนิคสำหรับการจัดหมวดหมู่และการคาดเดา เทคนิคนี้มีจุดมุ่งหมายเพื่อสร้างกฎที่ทำนายค่าของตัวแปรผลลัพธ์ (เป้าหมาย) จากค่าตัวแปรพยากรณ์ (อธิบาย) ที่รู้จักกันดี มีการใช้งานที่แตกต่างกันมาก แต่พวกเขาทั้งหมดมีลักษณะทั่วไปและสิ่งที่ Im สนใจมาจากวิกิพีเดียอัลกอริธึมสำหรับการสร้างต้นไม้ตัดสินใจมักจะทำงานจากบนลงล่างโดยการเลือกตัวแปรในแต่ละขั้นตอนที่ดีที่สุดในการแบ่งชุดของไอเท็ม อัลกอริทึมต่างๆใช้เมตริกที่แตกต่างกันสำหรับการวัด 8220best8221 เหล่านี้โดยทั่วไปจะวัดความสม่ำเสมอของตัวแปรเป้าหมายภายในส่วนย่อย เมตริกเหล่านี้ถูกนำไปใช้กับเซตย่อยย่อยแต่ละชุดและค่าที่เป็นผลลัพธ์จะรวมกัน (เช่นค่าเฉลี่ย) เพื่อวัดคุณภาพของการแบ่ง CART มีลักษณะบางอย่างที่เหมาะสำหรับการวิเคราะห์ตลาดอย่างมาก: Non parametric รถเข็นสามารถจัดการประเภทของการกระจายทางสถิติใด ๆ ที่ไม่ใช่เชิงเส้น CART สามารถจัดการคลื่นความถี่ขนาดใหญ่ระหว่างการพึ่งพาระหว่างตัวแปร (เช่นไม่ จำกัด เฉพาะความสัมพันธ์เชิงเส้น) ทนทานต่อความผิดพลาดมี R แพ็กเกจต่างๆที่เกี่ยวข้องกับ Recursive Partitioning ฉันใช้ที่นี่สำหรับการประมาณต้นไม้และ rpart.plot สำหรับการวาดภาพของต้นไม้ 2 8211 การออกแบบการทดลองแอ็พแอมการออกแบบราคา OHLC รายวันสำหรับ ETF ที่มีสภาพคล่องมากที่สุดตั้งแต่เดือนมกราคม 2000 ถึงธันวาคม 2013 ที่แยกออกจากการเงินของ Google ระยะเวลาตัวอย่างในช่วงมกราคม 2000 ถึงธันวาคม 2010 ส่วนที่เหลือของชุดข้อมูลคือช่วงเวลาที่ไม่อยู่ในตัวอย่าง ก่อนที่จะดำเนินการวิเคราะห์ประเภทใด ๆ ชุดข้อมูลจะต้องเตรียมพร้อมสำหรับงาน ตัวแปรเป้าหมายคือผลตอบแทนย้อนหลังของ ETF รายสัปดาห์ตามที่ระบุไว้ในสถานะของทั้งสองประเทศ (ขึ้นหรือลง) ถ้ารายสัปดาห์ส่งกลับ gt 0 แล้วตลาดในรัฐ UP, ลงเป็นอย่างอื่นตัวแปรอธิบายคือชุดของตัวบ่งชี้ทางเทคนิคที่ได้จากชุดข้อมูล OHLC วันแรกเริ่มต้น ตัวบ่งชี้แต่ละตัวบ่งชี้ถึงพฤติกรรมทางการตลาดที่ได้รับการรับรองเป็นอย่างดี เพื่อลดเสียงรบกวนในข้อมูลและเพื่อพยายามระบุความสัมพันธ์ที่แข็งแกร่งแต่ละตัวแปรอิสระจะถือว่ามีผลแบบไบนารี ความผันผวน (VAR1) ความผันผวนสูงมักเกี่ยวข้องกับตลาดที่ต่ำลงและมีความผันผวนน้อยเมื่อเทียบกับตลาดที่เพิ่มขึ้น ความผันผวนคือค่าเฉลี่ย ATR (Average True Range 20 วัน) ที่กระจายอยู่ในค่าเฉลี่ยเคลื่อนที่ (MA) หากเป็น ATR GT MA ดิบแล้ว VAR1 1 อื่น VAR1 -1 โมเมนตัมระยะสั้น (VAR2) ตลาดตราสารทุนแสดงพฤติกรรมโมเมนตัมในระยะสั้นที่จับได้ที่นี่โดยค่าเฉลี่ยเคลื่อนที่เฉลี่ย 5 วัน (SMA) ถ้าราคา gt SMA แล้ว VAR2 1 อื่น VAR2 -1 โมเมนตัมระยะยาว (VAR3) ตลาดตราสารทุนแสดงพฤติกรรมโมเมนตัมในระยะยาวที่จับได้ที่นี่โดยเฉลี่ยเคลื่อนที่ 50 วัน (LMA) หากราคา gt LMA แล้ว VAR3 1 อื่น VAR3 -1 การกลับรายการระยะสั้น (VAR4) นี่คือ CRTDR ซึ่งย่อมาจาก Close Relative To Daily Range และคำนวณเป็นดังนี้:. ถ้า CRTDR gt 0.5 แล้ว VAR4 1 else VAR4 -1 การปกครองแบบอัตโนมัติ (VAR5) ตลาดตราสารทุนมีแนวโน้มที่จะผ่านช่วงเวลาของระบบการปกครองแบบเผด็จการเชิงบวกและเชิงลบ ถ้าส่งกลับค่าความสัมพันธ์ในช่วง 5 วันที่ผ่านมา gt 0 แล้ว VAR5 1 else VAR5 -1 ฉันใส่คำอธิบายใต้ต้นไม้ตัวอย่างเช่นต้นไม้ต้นทางเส้นทางไปถึงโหนด 4 คือ VAR3 gt0 (Momentum ระยะยาว GT 0) และ VAR4 gt0 (CRTDR gt0) สี่เหลี่ยมสีแดงแสดงว่าเป็นใบลง (เช่นโหนดปลายทาง) มีความเป็นไปได้ที่ 58 (1 8211 0.42) ในแง่ของตลาดหมายความว่าถ้า Momentum ระยะยาวขึ้นและ CRTDR เท่ากับ gt 0.5 แล้วความเป็นไปได้ที่จะได้รับผลตอบแทนเป็นบวกในสัปดาห์หน้าจะเท่ากับ 42 ตามตัวอย่างข้อมูลตัวอย่าง 18 แสดงสัดส่วนของชุดข้อมูลที่ตกอยู่ในโหนดปลายทาง (เช่นใบ) มีหลายวิธีที่จะใช้วิธีการข้างต้นผมเลือกที่จะประมาณและรวมต้นไม้ที่เป็นไปได้ทั้งหมด จากตัวอย่างข้อมูลฉันเก็บใบทั้งหมดจากต้นไม้ที่เป็นไปได้ทั้งหมดและฉันรวบรวมไว้ในเมทริกซ์ นี่คือ 8220rules matrix8221 ที่ให้ความน่าจะเป็นของสัปดาห์หน้าในการขึ้นหรือลง ฉันใช้กฎในเมทริกซ์ข้างต้นกับข้อมูลตัวอย่าง (มกราคม 2011 8211 ธ.ค. 2013) และฉันจะเปรียบเทียบผลลัพธ์กับผลลัพธ์ที่แท้จริง ปัญหาเกี่ยวกับแนวทางนี้คือจุดเดียว (สัปดาห์) อาจตกอยู่ในกฎต่างๆและแม้แต่กฎ UP และ DOWN ในเวลาเดียวกัน ดังนั้นผมจึงใช้รูปแบบการออกเสียงลงคะแนน สำหรับสัปดาห์ที่กำหนดฉันสรุปกฎทั้งหมดที่ใช้กับสัปดาห์ที่ให้ค่า 1 สำหรับกฎ UP และ -1 สำหรับกฎการลง ถ้าผลรวมมากกว่า 0 สัปดาห์จะถูกจัดเป็น UP หากผลรวมเป็นลบ it8217s หนึ่งสัปดาห์ DOWN และถ้าผลรวมเท่ากับ 0 จะไม่มีตำแหน่งที่นำมาสัปดาห์นั้น (return 0) วิธีการข้างต้นถูกนำไปใช้กับ a ชุดของ ETFs ของเหลวมาก ฉันพล็อตด้านล่างเส้นโค้งของส่วนของกลุ่มตัวอย่างพร้อมกับกลยุทธ์การซื้อและถือในช่วงเวลาเดียวกัน ผลลัพธ์เบื้องต้นดูเหมือนจะเป็นประโยชน์แม้ว่าคุณภาพของผลลัพธ์จะแตกต่างกันไปมากโดยใช้เครื่องมือ อย่างไรก็ตามมีห้องพักขนาดใหญ่สำหรับการปรับปรุง ฉันใส่ด้านล่างบางเส้นทางสำหรับการวิเคราะห์เพิ่มเติม Path optimality อัลกอริทึมที่ใช้ในการกำหนดต้นไม้จะมีความเหมาะสมที่สุดในแต่ละการแยก แต่มันไม่รับประกันความถูกต้องของเส้นทาง การเพิ่มเมตริกเพื่อวัดความเหมาะสมของเส้นทางจะเป็นการปรับปรุงผลการค้นหาข้างต้นอย่างแน่นอน ตัวแปรอื่น ๆ ฉันเลือกตัวแปรอธิบายตามประสบการณ์ It8217s มีโอกาสมากที่ทางเลือกนี้ไม่ดีและไม่ดีนัก วิธีการทำ backtest ฉันใช้วิธีการแบบตัวอย่างเข้าและออกอย่างง่าย ในแบบทดสอบที่เป็นทางการมากขึ้นฉันค่อนข้างจะใช้หน้าต่างการกลิ้งหรือการขยายของช่วงเวลาย่อยในและนอกตัวอย่าง (เช่นการเดินหน้าวิเคราะห์) ตามปกติความคิดเห็นใด ๆ ที่ยินดีต้อนรับ
Delta- 1 -trading- กลยุทธ์
ฟรี แลกเปลี่ยน เคล็ดลับ บน มือถือ