Thursday 24 August 2017

ชี้แจง ถัว เฉลี่ยเคลื่อนที่ C รหัส


การสำรวจความผันผวนตามค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักเชิงตัวเลขเป็นการวัดความเสี่ยงที่พบบ่อยที่สุด แต่มีหลายรสชาติ ในบทความก่อนหน้านี้เราได้แสดงวิธีการคำนวณความผันผวนทางประวัติศาสตร์ที่เรียบง่าย เราใช้ข้อมูลราคาหุ้นที่เกิดขึ้นจริงของ Google เพื่อคำนวณความผันผวนรายวันตามข้อมูลหุ้นภายใน 30 วัน ในบทความนี้เราจะปรับปรุงความผันผวนที่เรียบง่ายและหารือเกี่ยวกับค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักแบบทวีคูณ (EWMA) Historical Vs ความผันแปรเบื้องต้นก่อนอื่นให้วางเมตริกนี้ไว้ในมุมมองเล็กน้อย มีสองแนวทางที่กว้าง: ความผันผวนในอดีตและโดยนัย (หรือโดยนัย) วิธีการทางประวัติศาสตร์สมมติว่าอดีตเป็นคำนำที่เราวัดประวัติศาสตร์ด้วยความหวังว่าจะเป็นการคาดการณ์ ในทางตรงกันข้ามความผันผวนโดยนัยจะละเลยประวัติความเป็นมาซึ่งจะช่วยแก้ปัญหาความผันผวนโดยนัยตามราคาตลาด หวังว่าตลาดจะรู้ได้ดีที่สุดและราคาในตลาดมีแม้กระทั่งโดยนัยประมาณการความผันผวน ถ้าเรามุ่งเน้นไปที่สามวิธีทางประวัติศาสตร์ (ด้านซ้ายด้านบน) พวกเขามีสองขั้นตอนที่เหมือนกัน: คำนวณชุดของผลตอบแทนเป็นระยะ ๆ ใช้สูตรการถ่วงน้ำหนักก่อนอื่นเรา คำนวณผลตอบแทนเป็นระยะ ๆ โดยทั่วไปแล้วผลตอบแทนรายวันจะได้รับผลตอบแทนแต่ละรายการในแง่บวก สำหรับแต่ละวันเราจะบันทึกล็อกอัตราส่วนราคาหุ้น (เช่นราคาในปัจจุบันหารด้วยราคาเมื่อวานนี้เป็นต้น) นี่เป็นการสร้างผลตอบแทนรายวันจาก u i to u i-m ขึ้นอยู่กับจำนวนวัน (m วัน) ที่เราวัด ที่ทำให้เราก้าวไปสู่ขั้นตอนที่สอง: นี่คือแนวทางที่แตกต่างกันสามวิธี ในบทความก่อนหน้า (ใช้ความผันผวนเพื่อวัดความเสี่ยงในอนาคต) เราพบว่าภายใต้สอง simplifications ยอมรับความแปรปรวนง่ายคือค่าเฉลี่ยของผลตอบแทนที่เป็นกำลังสอง: ขอให้สังเกตว่าผลรวมนี้แต่ละผลตอบแทนเป็นระยะจากนั้นแบ่งทั้งหมดโดย จำนวนวันหรือสังเกตการณ์ (ม.) ดังนั้นจริงๆมันเป็นเพียงเฉลี่ยของผลตอบแทนเป็นระยะ ๆ squared ใส่อีกวิธีหนึ่งแต่ละยกกำลังสองจะได้รับน้ำหนักเท่ากัน ดังนั้นถ้า alpha (a) เป็นปัจจัยการถ่วงน้ำหนัก (โดยเฉพาะ 1m) ความแปรปรวนแบบง่ายๆมีลักษณะดังนี้: EWMA ช่วยเพิ่มความแปรปรวนอย่างง่ายจุดอ่อนของวิธีนี้คือผลตอบแทนทั้งหมดจะมีน้ำหนักเท่ากัน การกลับมาเมื่อวาน (ล่าสุด) ไม่มีอิทธิพลต่อความแปรปรวนมากกว่าผลตอบแทนของเดือนที่ผ่านมา ปัญหานี้ได้รับการแก้ไขโดยใช้ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักแบบทวีคูณ (EWMA) ซึ่งผลตอบแทนที่ได้รับเมื่อเร็ว ๆ นี้มีน้ำหนักมากขึ้นกับความแปรปรวน ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักแบบเลขยกกำลัง (EWMA) แนะนำ lambda ซึ่งเรียกว่าพารามิเตอร์การให้ราบเรียบ แลมบ์ดาต้องมีค่าน้อยกว่าหนึ่ง ภายใต้เงื่อนไขดังกล่าวแทนที่จะใช้น้ำหนักที่เท่ากันผลตอบแทนที่ได้รับจะเพิ่มขึ้นตามตัวคูณดังนี้ตัวอย่างเช่น RiskMetrics TM ซึ่งเป็น บริษัท บริหารความเสี่ยงทางการเงินมีแนวโน้มที่จะใช้แลมบ์ดาเท่ากับ 0.94 หรือ 94 ในกรณีนี้เป็นครั้งแรก (1-0.94) (. 94) 0 6. ผลตอบแทนที่ได้จะเป็นตัวเลข lambda-multiple ของน้ำหนักก่อนหน้าในกรณีนี้ 6 คูณด้วย 94 5.64 และสามวันก่อนหน้ามีน้ำหนักเท่ากับ (1-0.94) (0.94) 2 5.30 นั่นคือความหมายของเลขยกกำลังใน EWMA: แต่ละน้ำหนักเป็นตัวคูณคงที่ (เช่น lambda ซึ่งต้องน้อยกว่าหนึ่ง) ของน้ำหนักก่อนหน้า เพื่อให้แน่ใจว่ามีความแปรปรวนที่ถ่วงน้ำหนักหรือลำเอียงไปยังข้อมูลล่าสุด (หากต้องการเรียนรู้เพิ่มเติมโปรดดูที่แผ่นงาน Excel สำหรับความผันผวนของ Google) ความแตกต่างระหว่างความผันผวนเพียงอย่างเดียวกับ EWMA สำหรับ Google จะแสดงไว้ด้านล่าง ความผันผวนอย่างง่ายมีผลต่อการกลับคืนเป็นระยะ ๆ ทุกๆ 0.196 ตามที่แสดงไว้ในคอลัมน์ O (เรามีข้อมูลราคาหุ้นย้อนหลังเป็นเวลา 2 ปีนั่นคือผลตอบแทน 509 วันและ 1509 0.196) แต่สังเกตว่าคอลัมน์ P กำหนดน้ำหนัก 6, 5.64 แล้ว 5.3 และอื่น ๆ Thats ความแตกต่างระหว่างความแปรปรวนง่ายและ EWMA โปรดจำไว้ว่า: หลังจากที่เราสรุปชุดข้อมูลทั้งหมด (ในคอลัมน์ Q) เรามีความแปรปรวนซึ่งเป็นค่าสแควร์ของส่วนเบี่ยงเบนมาตรฐาน ถ้าเราต้องการความผันผวนเราต้องจำไว้ว่าให้ใช้รากที่สองของความแปรปรวนนั้น ความแตกต่างของความแปรปรวนรายวันระหว่างค่าความแปรปรวนและ EWMA ในกรณีของ Google มีความหมาย: ความแปรปรวนง่ายทำให้เรามีความผันผวนรายวันอยู่ที่ 2.4 แต่ EWMA มีความผันผวนรายวันเพียง 1.4 (ดูสเปรดชีตเพื่อดูรายละเอียด) เห็นได้ชัดว่าความผันผวนของ Googles ตกลงไปเมื่อไม่นานมานี้ดังนั้นความแปรปรวนที่เรียบง่ายอาจเป็นจำนวนเทียมสูง ความแปรปรวนวันนี้เป็นฟังก์ชันของความแตกต่างของวัน Pior คุณจะสังเกตเห็นว่าเราจำเป็นต้องคำนวณชุดน้ำหนักลดลงอย่างมาก เราจะไม่ใช้คณิตศาสตร์ที่นี่ แต่คุณลักษณะที่ดีที่สุดของ EWMA คือชุดผลิตภัณฑ์ทั้งหมดสามารถลดสูตร recursive ได้อย่างง่ายดาย: Recursive หมายถึงการอ้างอิงความแปรปรวนในปัจจุบัน (คือฟังก์ชันของความแปรปรวนในวันก่อนหน้า) คุณสามารถหาสูตรนี้ในสเปรดชีตได้ด้วยและจะให้ผลเหมือนกันกับการคำนวณแบบ longhand กล่าวว่าค่าความแปรปรวนวันนี้ (ต่ำกว่า EWMA) เท่ากับความแปรปรวนของ yesterdays (weighted by lambda) บวกกับค่า yesterdays squared return (ชั่งน้ำหนักโดยลบหนึ่งแลมบ์ดา) แจ้งให้เราทราบว่าเรากำลังเพิ่มคำสองคำลงท้ายด้วยกันอย่างไร: ความแปรปรวนที่ถ่วงน้ำหนักในวันอังคารและเมื่อวานถ่วงน้ำหนัก แม้กระนั้นแลมบ์ดาก็คือพารามิเตอร์ที่ราบเรียบของเรา แลมบ์ดาที่สูงขึ้น (เช่น RiskMetrics 94) บ่งชี้การสลายตัวช้าลงในซีรีย์ - ในแง่สัมพัทธ์เราจะมีจุดข้อมูลมากขึ้นในซีรีส์และพวกเขาจะลดลงอย่างช้าๆ ในทางกลับกันถ้าเราลดแลมบ์ดาเราจะบ่งชี้ว่าการสลายตัวที่สูงขึ้น: น้ำหนักจะลดลงอย่างรวดเร็วและเป็นผลโดยตรงจากการผุกร่อนที่รวดเร็วใช้จุดข้อมูลน้อยลง (ในสเปรดชีตแลมบ์ดาเป็นอินพุตเพื่อให้คุณสามารถทดลองกับความไว) ความผันผวนโดยสรุปคือส่วนเบี่ยงเบนมาตรฐานของหุ้นและความเสี่ยงที่พบมากที่สุด นอกจากนี้ยังเป็นรากที่สองของความแปรปรวน เราสามารถวัดความแปรปรวนในอดีตหรือโดยนัย (ความผันผวนโดยนัย) เมื่อวัดในอดีตวิธีที่ง่ายที่สุดคือความแปรปรวนที่เรียบง่าย แต่ความอ่อนแอกับความแปรปรวนที่เรียบง่ายคือผลตอบแทนทั้งหมดจะมีน้ำหนักเท่ากัน ดังนั้นเราจึงต้องเผชิญกับข้อเสียแบบคลาสสิก: เราต้องการข้อมูลเพิ่มเติม แต่ข้อมูลที่เรามีมากขึ้นการคำนวณของเราจะถูกเจือจางด้วยข้อมูลที่อยู่ไกล (ไม่เกี่ยวข้อง) ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนักที่ถ่วงน้ำหนัก (EWMA) ช่วยเพิ่มความแปรปรวนอย่างง่ายโดยกำหนดน้ำหนักให้กับผลตอบแทนเป็นงวด เมื่อทำเช่นนี้เราสามารถใช้ตัวอย่างขนาดใหญ่ แต่ยังให้น้ำหนักมากขึ้นกับผลตอบแทนล่าสุด (หากต้องการดูบทแนะนำเกี่ยวกับภาพยนตร์เกี่ยวกับหัวข้อนี้ไปที่ Bionic Turtle) คุณสามารถใช้ค่าเฉลี่ยเคลื่อนที่ใน C โดยไม่จำเป็นต้องมีหน้าต่างของตัวอย่าง Ive พบว่าฉันสามารถเพิ่มประสิทธิภาพได้เล็กน้อยโดยเลือกขนาดหน้าต่างที่ อำนาจของสองเพื่อให้สามารถขยับบิตแทนการหาร แต่ไม่จำเป็นต้องบัฟเฟอร์จะดี มีวิธีแสดงผลลัพธ์เฉลี่ยเคลื่อนที่ใหม่ตามผลการค้นหาเดิมและตัวอย่างใหม่กำหนดค่าเฉลี่ยเคลื่อนที่ตัวอย่างเช่นข้ามหน้าต่างตัวอย่าง 4 ตัวอย่าง: เพิ่มตัวอย่างใหม่ e: ค่าเฉลี่ยเคลื่อนที่สามารถใช้งานได้แบบ recursively , แต่สำหรับการคำนวณที่แน่นอนของค่าเฉลี่ยเคลื่อนที่คุณต้องจำตัวอย่างการป้อนข้อมูลที่เก่าแก่ที่สุดในผลรวม (เช่นในตัวอย่างของคุณ) สำหรับค่าเฉลี่ยเคลื่อนที่ N ที่คำนวณโดย: yn คือสัญญาณขาออกและ xn เป็นสัญญาณขาเข้า อีคิว (1) สามารถเขียน recursively เป็นดังนั้นคุณจำเป็นต้องจำตัวอย่าง xn-N เพื่อคำนวณ (2) ที่ระบุโดย Conrad Turner คุณสามารถใช้หน้าต่างแทนยาวได้ (ไม่ จำกัด ) แทนซึ่งจะช่วยให้คุณสามารถคำนวณเอาท์พุทได้เฉพาะจากผลลัพธ์ที่ผ่านมาและอินพุทปัจจุบัน: แต่นี่ไม่ใช่ค่าเฉลี่ยเคลื่อนที่ (unweighted) แต่เป็นค่าชี้แจง (อย่างน้อยที่สุดในทางทฤษฎี) คุณไม่เคยลืมอะไรเลย (น้ำหนักเพียงเล็กน้อยและเล็กลงสำหรับตัวอย่างที่ไกลในอดีต) ฉันใช้ค่าเฉลี่ยเคลื่อนที่โดยไม่มีหน่วยความจำรายการสำหรับโปรแกรมติดตาม GPS ที่ฉันเขียน ฉันเริ่มต้นด้วย 1 ตัวอย่างและหารด้วย 1 เพื่อให้ได้ค่าเฉลี่ยปัจจุบัน จากนั้นผมจะเพิ่มตัวอย่าง anothe และหารด้วย 2 เป็นค่าเฉลี่ยปัจจุบัน นี้ยังคงจนกว่าฉันจะได้รับความยาวเฉลี่ย ทุกครั้งหลังจากนั้นฉันเพิ่มในตัวอย่างใหม่ให้ได้ค่าเฉลี่ยและลบค่าเฉลี่ยดังกล่าวออกจากยอดรวม ฉันไม่ใช่นักคณิตศาสตร์ แต่ดูเหมือนจะเป็นวิธีที่ดีที่จะทำ ฉันคิดว่ามันจะเปิดท้องของคนที่แต่งตัวประหลาดคณิตศาสตร์จริง แต่ก็จะเปิดออกเป็นหนึ่งในวิธีที่ได้รับการยอมรับในการทำมัน และทำงานได้ดี เพียงแค่จำไว้ว่ายิ่งความยาวของคุณยิ่งใหญ่เท่าไรก็ยิ่งช้าลงตามสิ่งที่คุณต้องการทำ นั่นอาจไม่สำคัญตลอดเวลา แต่เมื่อไปตามดาวเทียมถ้าคุณช้าเส้นทางอาจอยู่ไกลจากตำแหน่งจริงและจะดูไม่ดี คุณอาจมีช่องว่างระหว่างจุดเริ่มต้นและจุดต่อท้าย ฉันเลือกความยาวของ 15 ปรับปรุง 6 ครั้งต่อนาทีเพื่อให้ได้อย่างราบรื่นเพียงพอและไม่ได้รับไกลจากตำแหน่งนั่งจริงกับจุดเส้นทางที่ราบรื่น ตอบ 16 พค. 16 ที่ 23:03 เริ่มต้นทั้งหมด 0, นับ 0 (ทุกครั้งที่เห็นค่าใหม่จากนั้นหนึ่งอินพุท (scanf) หนึ่งเพิ่ม totalnewValue, หนึ่งที่เพิ่มขึ้น (นับ) หนึ่งหารเฉลี่ย (totalcount) นี้จะเป็นค่าเฉลี่ยเคลื่อนที่มากกว่า input ทั้งหมดในการคํานวณคาเฉลี่ยโดยใชเพียง 4 อินพุทตอไปเทานั้นจะตองใช4 inputvariables อาจคัดลอก input แตละ input ไปยัง inputvariable ที่สูงกวาจากนั้นคา new moving average เปน sum ของ inputvariables 4 หารดวย 4 (right shift 2) ดีถ้าทุกปัจจัยการผลิตเป็นบวกเพื่อให้การคำนวณเฉลี่ยตอบกุมภาพันธ์ 3 15 ที่ 4:06 ที่จริงจะคำนวณค่าเฉลี่ยรวมและไม่เฉลี่ยเคลื่อนไหวตามนับได้รับผลกระทบขนาดใหญ่ของตัวอย่างการป้อนข้อมูลใหม่ ๆ กลายเป็น vanishingly ขนาดเล็ก ndash Hilmar Feb (EWMA) เป็นสถิติสำหรับการตรวจสอบกระบวนการที่มีค่าเฉลี่ยของข้อมูลในลักษณะที่ให้น้ำหนักน้อยลงเมื่อมีการลบข้อมูลออกไปอีกต่อไป ภายในเวลาที่กำหนด. การเปรียบเทียบแผนภูมิควบคุม Shewhart และเทคนิคการควบคุม EWMA สำหรับเทคนิค Shewhart chart control การตัดสินใจเกี่ยวกับสถานะของการควบคุมกระบวนการนี้ได้ตลอดเวลา (t) ขึ้นอยู่กับการวัดล่าสุดจากกระบวนการนี้และแน่นอนว่า ระดับของความเป็นเลิศของการประมาณขีด จำกัด การควบคุมจากข้อมูลทางประวัติศาสตร์ สำหรับเทคนิคการควบคุม EWMA การตัดสินใจจะขึ้นอยู่กับสถิติ EWMA ซึ่งเป็นค่าเฉลี่ยถ่วงน้ำหนักแบบทวีคูณของข้อมูลทั้งหมดรวมทั้งการวัดล่าสุด การเลือกขั้นตอนการควบคุม EWMA สามารถทำให้เกิดความรู้สึกไวต่อการล่องลอยในขั้นตอนเล็ก ๆ หรือทีละขั้นขณะที่ขั้นตอนการควบคุม Shewhart สามารถทำปฏิกิริยาได้เฉพาะเมื่อจุดข้อมูลล่าสุดอยู่นอกขีด จำกัด การควบคุมเท่านั้น ความหมายของ EWMA สถิติที่คำนวณได้คือ: mbox t lambda Yt (1-lambda) mbox ,,, mbox ,,, t 1,, 2,, ldots ,, n (mbox 0) คือค่าเฉลี่ยของข้อมูลทางประวัติศาสตร์ (เป้าหมาย) (Yt) คือการสังเกตการณ์ในเวลา (t) (n) คือจำนวนของการสังเกตการณ์ที่ต้องติดตามรวมทั้ง (mbox 0) (0 การตีความของแผนภูมิการควบคุม EWMA สีแดง จุดเป็นข้อมูลดิบที่เส้นขรุขระเป็นสถิติ EWMA เมื่อเวลาผ่านไปแผนภูมิบอกเราว่ากระบวนการนี้อยู่ในการควบคุมเพราะทั้งหมด (mbox t) อยู่ระหว่างข้อ จำกัด ของการควบคุมอย่างไรก็ตามดูเหมือนว่าจะมีแนวโน้มสูงขึ้นในช่วง 5 งวด

No comments:

Post a Comment