Thursday 20 July 2017

การย้าย ค่าเฉลี่ย ขั้นตอนวิธี หลาม


ฉันกำลังอยู่ในขั้นตอนการสร้างอัลกอริธึมการซื้อขาย forex และต้องการลองถ่ายรูปของฉันในการคำนวณ EMA Exponential Moving Averages ผลลัพธ์ของฉันดูเหมือนจะถูกต้องเมื่อเทียบกับการคำนวณที่ฉันทำด้วยมือดังนั้นฉันเชื่อว่าวิธีการต่อไปนี้ทำงานได้ แต่เพียงต้องการรับ ชุดพิเศษของดวงตาเพื่อให้แน่ใจว่า im ไม่หายไปอะไรโปรดทราบว่านี้เพิ่งส่งกลับค่า EMA สำหรับราคาล่าสุดก็ไม่ได้กลับอาร์เรย์ของ EMAs เป็นที่ isn t สิ่งที่ฉันต้องการสำหรับใบสมัครของฉันการศึกษาเป็นเครื่องมือที่ดี สำหรับงานที่เหมาะสม แต่ที่นี่จะใช้เพื่อบรรลุ looping ง่ายเช่น code. is ยากที่จะอ่านและเหตุผล about. is ช้าเพราะมากของรหัสใน ema เพียงความต้องการในการทำงาน once. will ล้มเหลวด้วยค่ามากพอ หน้าต่างเนื่องจากหลั่งไหลหลั่งไหลโทร stack. party เอกสารอย่างน้อยพารามิเตอร์ของแต่ละฟังก์ชันเช่นหน้าต่างที่เป็นความยาวของหน้าต่างและตำแหน่งที่นับถอยหลังจากจุดสิ้นสุดของข้อมูลในความเป็นจริงสิ่งที่จะชัดเจนหากตำแหน่งเป็นปกติ forward index i nto data. Raise ยกเว้นเมื่อคุณพบพารามิเตอร์มีค่าที่ไม่ถูกต้องกลับไม่มีแทนจะทำให้เกิดความสับสนมากขึ้นยกเว้นภายหลังในความเป็นจริงถ้าฉันลอง 600 ฉันได้รับการเรียกซ้ำ infinite เพราะ sma ส่งกลับไม่มีซึ่งทำให้ ema เรียก sma ซ้ำแล้วซ้ำอีก . จุดก่อนหน้านี้ยังแสดงให้เห็นว่าถ้า len หน้าต่างข้อมูล 2 ไม่ถูกต้องตรวจสอบ. 1 ในข้อมูล - หน้าต่าง 2 1 - window 1 don t ดูเหมือนถูกต้องให้ฉันฉันสมมุติว่าคุณต้องการข้อมูล - 2 ฤดู - คำเตือนงบกลับ previousema อยู่ในสถานที่ที่แปลกเพราะ ณ จุดที่คุณได้คำนวณ currentema ใหม่นี้เป็นกรณีพื้นฐานของการเรียกซ้ำและเป็นเรื่องปกติที่จะจัดการกับกรณีฐานข้อเสนอ First. My สำหรับ ema. answered พฤศจิกายน 26 14 ที่ 18 56.Pretty ตรวจสอบตื้นคุณไม่จำเป็นต้องเขียนชั้นสำหรับสิ่งที่คุณกำลังทำอยู่และฉันขอแนะนำให้คุณดูที่วิดีโอนี้ชั้นของคุณไม่ได้ห่อหุ้มข้อมูลใด ๆ และคุณเพียงแค่ใช้มันเพื่อให้มีหน้าที่ของคุณในหน่วยงานเดียวกันฉันเดาสิ่งที่ จะเข้าใจได้ง่ายขึ้นถ้าคุณกำหนด clas smethod เพื่อให้ชัดเจนว่าคุณได้รับรางวัล t จริงๆพึ่งพากรณีใด ๆ อย่างไรก็ตามตัวเลือกที่ดียิ่งขึ้นจะเป็นเพียงการกำหนดหน้าที่ในโมดูลตัวบ่งชี้. ตอบ 24 พฤศจิกายน 14 ที่ 18 04 ขอบคุณสำหรับคำแนะนำที่จริงผมมีพวกเขาเป็น classmethods และอภิปรายไปมาระหว่างแม้ใช้ชั้นเรียนหรือเพียงแค่กำหนดหน้าที่ในโมดูลตัวบ่งชี้ที่ฉันจะทำ ChrisC พ. ย. 25 14 ที่ 19 12. เพียงแค่ดูวิดีโอเกินไปสิ่งที่ดี ChrisC พฤศจิกายน 25 14 ที่ 19 43.Your Answer2017 Stack Exchange, Inc ฉันรู้ว่านี่เป็นคำถามเก่า แต่นี่เป็นโซลูชันที่ไม่ได้ใช้โครงสร้างข้อมูลพิเศษหรือไลบรารีเป็นเส้นในจำนวนองค์ประกอบของรายการป้อนข้อมูลและฉันไม่สามารถคิดอื่นใด วิธีที่จะทำให้มีประสิทธิภาพมากขึ้นจริงถ้าใครรู้วิธีที่ดีกว่าในการจัดสรรผลโปรดแจ้งให้เราทราบ. นี้จะเร็วขึ้นโดยใช้อาร์เรย์ numpy แทนรายการ แต่ฉันต้องการกำจัด dependencies ทั้งหมดก็จะเป็น. สามารถปรับปรุงประสิทธิภาพได้ b y การดำเนินการแบบมัลติเธรดฟังก์ชันจะถือว่ารายการอินพุทเป็นหนึ่งมิติดังนั้นโปรดระวังการแก้ปัญหาที่มีประสิทธิภาพมากขึ้นได้รับการเสนอโดย Alleo และ jasaarim คุณสามารถใช้สำหรับอาร์กิวเมนต์โหมดนั้นระบุวิธีจัดการกับขอบที่ฉันเลือก โหมดที่ถูกต้องที่นี่เพราะฉันคิดว่าเป็นวิธีที่คนส่วนใหญ่คาดหวังว่าการทำงานหมายถึงการทำงาน แต่คุณอาจมีความสำคัญอื่น ๆ นี่คือพล็อตที่แสดงให้เห็นถึงความแตกต่างระหว่างโหมดที่มี 24 มี.ค. 14 ที่ 22 01.I ชอบวิธีนี้เพราะมัน คือทำความสะอาดบรรทัดเดียวและทำงานที่มีประสิทธิภาพค่อนข้างทำภายใน Numpy แต่การแก้ปัญหาที่มีประสิทธิภาพ Alleo s ใช้มีความซับซ้อนที่ดีขึ้น Ulrich Stern 25 ก. ย. 15 ที่ 0 31 คุณสามารถคำนวณค่าเฉลี่ยที่ใช้กับโชคดีที่ numpy มีฟังก์ชัน convolve ที่เราสามารถใช้เพื่อเพิ่มความเร็ว สิ่งที่หมายถึงการวิ่งหมายถึงเทียบเท่า convolving x กับเวกเตอร์ที่มี N ยาวโดยมีสมาชิกทั้งหมดเท่ากับ 1 N การดำเนินการ numpy ของ convolve ประกอบด้วยการเริ่มต้นชั่วคราวดังนั้นคุณต้องลบจุด N-1 ตัวแรกออกไป เครื่องของฉันรุ่นที่รวดเร็วเป็น 20-30 ครั้งเร็วขึ้นอยู่กับความยาวของเวกเตอร์อินพุทและขนาดของหน้าต่างเฉลี่ยหมายเหตุว่า convolve จะมีโหมดเดียวกันซึ่งดูเหมือนว่าควรจะอยู่ปัญหาชั่วคราวชั่วคราว แต่แยก มันอยู่ระหว่างจุดเริ่มต้นและจุดสิ้นสุดมันเอาชั่วคราวจากปลายและจุดเริ่มต้น doesn t มีหนึ่งฉันคิดว่ามันเป็นเรื่องของลำดับความสำคัญฉัน don t ต้องจำนวนเดียวกันของผลค่าใช้จ่ายในการรับความลาดชันไปทางศูนย์ ที่มีอยู่ในข้อมูล BTW นี่คือคำสั่งเพื่อแสดงความแตกต่างระหว่างโหมดโหมดเต็มรูปแบบเดียวกันแปลงที่ถูกต้อง convolve คน 200 คน 50, 50, โหมด m สำหรับ m ในโหมดแกน -10, 251, - 1, 1 1 โหมดตำนาน Loc ศูนย์ลดลงด้วย pyplot และ numpy lapis นำเข้า Mar 24 14 ที่ 13 56.pandas เหมาะสำหรับการนี้มากกว่า NumPy หรือ SciPy ฟังก์ชัน rollingmean ไม่ได้งานสะดวกนอกจากนี้ยังส่งกลับอาร์เรย์ NumPy เมื่อใส่เป็น array. It เป็นเรื่องยากที่จะชนะ rollingmean ในการปฏิบัติงานด้วย ใด ๆ ที่กำหนดเองการปฏิบัติงูหลามบริสุทธิ์นี่คือประสิทธิภาพตัวอย่างกับสองโซลูชั่นที่นำเสนอนอกจากนี้ยังมีตัวเลือกที่ดีในการจัดการกับค่าขอบ I m รำคาญเสมอโดยฟังก์ชั่นการประมวลผลสัญญาณที่ส่งกลับสัญญาณผลลัพธ์ของรูปร่างที่แตกต่างจากการป้อนข้อมูล สัญญาณเมื่อทั้งสองอินพุตและเอาต์พุตมีลักษณะเช่นเดียวกันเช่นสัญญาณทั้งสองแบบการติดต่อกับตัวแปรอิสระที่เกี่ยวข้องเช่นเวลาการวางแผนหรือการเปรียบเทียบความถี่ไม่ใช่เรื่องสำคัญถ้าคุณแชร์ความรู้สึกคุณอาจต้องการเปลี่ยนข้อมูลล่าสุด บรรทัดของการทำงานที่เสนอเป็นคืนเดียวกัน y windowlen-1 - windowlen-1 คริสเตียน O Reilly 25 สิงหาคม 15 ที่ 19 56. บิตปลายไปงานเลี้ยง แต่ฉัน ve ทำฟังก์ชันเล็ก ๆ น้อย ๆ ของฉันเองที่ไม่ห่อรอบปลายหรือแผ่น กับ zeroes ที่ใช้แล้วเพื่อหาค่าเฉลี่ยเช่นกันการรักษาต่อไปคือว่ามันอีกครั้งตัวอย่างสัญญาณที่จุดเว้นระยะเชิงเส้นปรับแต่งรหัสที่จะได้รับคุณสมบัติอื่น ๆ วิธีการคือ si การคูณเมทริกซ์ mple กับ normalised Gaussian เคอร์เนลการใช้งานง่ายในสัญญาณไซน์ที่มีการกระจายเสียงรบกวนปกติคำถามนี้ตอนนี้ยังเก่ากว่าเมื่อ NeXuS เขียนเกี่ยวกับเรื่องนี้เมื่อเดือนที่แล้ว แต่ฉันชอบวิธีการรหัสของเขาเกี่ยวข้องกับขอบกรณี แต่เนื่องจาก มันเป็นค่าเฉลี่ยเคลื่อนที่ง่ายผลของมัน lag หลังข้อมูลที่ใช้กับฉันคิดว่าการจัดการกับกรณีขอบในทางที่น่าพอใจมากขึ้นกว่าโหมด NumPy ของถูกต้องเหมือนกันและเต็มรูปแบบสามารถทำได้โดยใช้วิธีการคล้ายกับวิธีการตาม convolution การมีส่วนร่วมของฉันใช้ค่าเฉลี่ยในการทำงานกลางเพื่อจัดเรียงผลลัพธ์ของข้อมูลของพวกเขาเมื่อมีสองจุดน้อยสำหรับหน้าต่างขนาดเต็มรูปแบบที่จะใช้ค่าเฉลี่ยที่ใช้คำนวณจากหน้าต่างขนาดเล็กที่ต่อเนื่องที่ขอบของอาร์เรย์จริงจากลำดับ หน้าต่างขนาดใหญ่ แต่ที่รายละเอียดการดำเนินงานของมันค่อนข้างช้าเพราะใช้ convolve และอาจจะ spruced ขึ้นค่อนข้างมากโดย Pythonista จริง แต่ผมเชื่อว่า ความคิด stands. answered 2 มกราคมที่ 0 28 เป็นสิ่งที่ดี แต่ช้าเมื่อความกว้างของหน้าต่างเติบโตใหญ่คำตอบบางขั้นตอนวิธีให้มีประสิทธิภาพมากขึ้นด้วย แต่ดูเหมือนไม่สามารถจัดการค่าขอบฉันเองได้ใช้ขั้นตอนวิธีที่อาจจัดการกับปัญหานี้ได้ดีถ้านี้ ปัญหาถูกประกาศเป็นพารามิเตอร์ mergenum พารามิเตอร์สามารถคิดเป็น 2 windowwidth 1.I ทราบรหัสนี้เป็นอ่านไม่ได้เล็กน้อยถ้า u พบว่ามีประโยชน์และต้องการ expanations บางโปรดแจ้งให้เราทราบและฉันจะ update คำตอบนี้เนื่องจากการเขียนคำอธิบายอาจ ค่าใช้จ่ายฉันมากเวลาฉันหวังว่าฉันจะทำเฉพาะเมื่อมีคนต้องการมันโปรดให้อภัยฉันสำหรับความเกียจคร้านของฉันหากเพียง u มีความสนใจใน version. It เดิมของมันแม้ไม่สามารถอ่านได้มากขึ้นแก้ปัญหาแรกได้รับการกำจัดปัญหาขอบโดยการเบียดศูนย์ อาร์เรย์ แต่ทางออกที่สองโพสต์ที่นี่จัดการกับมันในทางที่ยากและโดยตรงในประโยคสุดท้ายของฉันฉันพยายามที่จะระบุว่าทำไมมันจะช่วยให้ข้อผิดพลาดจุดลอยถ้าสองค่าประมาณลำดับเดียวกันของขนาดแล้วเพิ่มพวกเขา l oses ความแม่นยำน้อยกว่าถ้าคุณเพิ่มจำนวนมากไปเป็นขนาดเล็กมากรหัสรวมค่าที่อยู่ติดกันในลักษณะที่แม้ผลรวมกลางควรจะมีเหตุผลอย่างใกล้ชิดในขนาดเพื่อลดข้อผิดพลาดจุดลอยไม่มีอะไรพิสูจน์โง่ แต่วิธีนี้มี บันทึกสองโครงการดำเนินการไม่ดีมากในการผลิต Mayur Patel Dec 15 14 at 17 22. Alleo แทนที่จะทำอย่างใดอย่างหนึ่งต่อค่าคุณจะทำสองพิสูจน์เหมือนกันกับปัญหา bit-flipping แต่จุดของคำตอบนี้ ไม่จำเป็นต้องมีประสิทธิภาพ แต่ความแม่นยำการใช้หน่วยความจำสำหรับค่าเฉลี่ย 64 บิตจะไม่เกิน 64 องค์ประกอบในแคชดังนั้นจึงเป็นมิตรกับการใช้หน่วยความจำเช่นกัน Mayur Patel 29 ธ. ค. 14 เวลา 17 04. ฉันมีช่วงของวันที่และ วัดในแต่ละวันที่ฉันต้องการคำนวณค่าเฉลี่ยเคลื่อนที่ชี้แจงสำหรับแต่ละวันที่ไม่มีใครรู้วิธีการทำ this. I m ใหม่เพื่อหลาม It doesn t ปรากฏว่าค่าเฉลี่ยที่มีอยู่ในห้องสมุดหลามมาตรฐานซึ่ง st rikes ฉันเป็นนิด ๆ หน่อย ๆ บางทีฉัน m ไม่มองในสถานที่ที่เหมาะสมดังนั้นให้รหัสต่อไปนี้ฉันจะคำนวณค่าเฉลี่ยถ่วงน้ำหนักเคลื่อนที่ของจุด IQ สำหรับวันที่ปฏิทิน อาจมีวิธีที่ดีกว่าในการจัดโครงสร้างข้อมูลคำแนะนำใด ๆ ที่จะ appreciated. asked 28 มกราคมที่ 18 01.My หลามเป็นคนสนิมสนิมเล็กน้อยทุกคนสามารถรู้สึกฟรีเพื่อแก้ไขรหัสนี้เพื่อให้การแก้ไขถ้าฉันได้ messed ขึ้น ไวยากรณ์อย่างใด แต่ที่นี่ไปฟังก์ชันนี้จะย้ายย้อนกลับจากจุดสิ้นสุดของรายการไปที่จุดเริ่มต้นคำนวณค่าเฉลี่ยเคลื่อนที่ชี้แจงสำหรับแต่ละค่าโดยการทำงานย้อนกลับจนกว่าค่าสัมประสิทธิ์น้ำหนักสำหรับองค์ประกอบน้อยกว่าที่กำหนดให้กับ epsilon ในตอนท้าย ของฟังก์ชันมันย้อนกลับค่าก่อนที่จะส่งกลับรายการเพื่อให้พวกเขาอยู่ในลำดับที่ถูกต้องสำหรับผู้โทร ด้านข้างหมายเหตุถ้าฉันใช้ภาษาอื่นที่ไม่ใช่งูหลามฉัน d สร้างอาร์เรย์ที่ว่างเปล่าขนาดเต็มก่อนจากนั้นเติมคำสั่งย้อนหลังเพื่อที่ฉันจะไม่ต้องย้อนกลับเมื่อสิ้นสุด แต่ฉันไม่คิดว่าคุณสามารถประกาศ แถวว่างใหญ่ในหลามและในรายการหลาม appending มีราคาแพงกว่า prepending ซึ่งเป็นเหตุผลที่ฉันสร้างรายการในลำดับย้อนกลับโปรดแก้ไขฉันหากฉัน m ผิดอาร์กิวเมนต์ alpha เป็นปัจจัยการสลายตัวในการย้ำแต่ละ ถ้าคุณใช้ค่า alpha เท่ากับ 0 5 ค่าของค่าเฉลี่ยเคลื่อนที่ในวันนี้จะประกอบด้วยค่าที่วัดได้ต่อไปนี้แน่นอนถ้าคุณได้รับค่ามากมายค่าจากสิบหรือสิบห้าวันที่ผ่านมาจะไม่ค่อยมีส่วนร่วมมากนัก ค่าเฉลี่ยถ่วงน้ำหนักของวันนี้อาร์กิวเมนต์ epsilon ช่วยให้คุณสามารถกำหนดจุดตัดที่ด้านล่างซึ่งคุณจะไม่สนใจเกี่ยวกับค่าเดิมเนื่องจากการมีส่วนร่วมในคุณค่าของวันนี้จะไม่มีนัยสำคัญคุณจะเรียกฟังก์ชันนี้อย่างนี้ได้ตอบเมื่อมกราคม 28, 18 46. ไม่ทราบ Python แต่เป็นค่าเฉลี่ย ส่วนที่คุณหมายถึงตัวกรองผ่านต่ำผ่านการชี้แจงของรูปแบบที่ alpha dt tau, dt timestep ของตัวกรอง tau เวลาคงที่ของตัวกรองรูปแบบตัวแปร timestep นี้เป็นดังนี้คลิป dt tau ไม่เกิน 1 0. ถ้าคุณต้องการกรองสิ่งที่ต้องการวันที่ให้แน่ใจว่าคุณแปลงเป็นจำนวนจุดลอยเช่นวินาทีตั้งแต่ 1 มกราคม 1970. ตอบ 28 มกราคม 09 ที่ 18 10.I พบข้อมูลโค้ดข้างต้น โดย earino มีประโยชน์มาก แต่ฉันต้องการบางสิ่งบางอย่างที่อาจทำให้ค่าของคุณมีความต่อเนื่อง - ดังนั้นฉันจึงรีสตาร์ทใหม่ไปที่ this. and ฉันใช้มันเช่นนี้ ที่ผลิตค่าต่อไปที่ฉันต้องการที่จะบริโภคตอบ 12 กุมภาพันธ์ที่ 20 20 35. ฉันมักจะคำนวณ EMAs กับ Pandas นี่เป็นตัวอย่างวิธีการทำข้อมูลเพิ่มเติมเกี่ยวกับ Pandas EWMA. answered 4 ต. ค. ที่ 12 42 Don t รุ่นใหม่ของ Pandas มีฟังก์ชันใหม่และดีขึ้น Cristian Ciupitu 11 พ. ค. 54 ที่ 14 10. โปรดทราบว่าแตกต่างจากในกระดาษคำนวณของพวกเขา I don t คำนวณ SMA และฉัน don t รอเพื่อสร้าง EMA หลังจาก 10 ตัวอย่างซึ่งหมายความว่าค่านิยมของฉัน แตกต่างเล็กน้อย แต่ถ้าคุณทำแผนภูมิมันเป็นไปตามหลังจาก 10 ตัวอย่างในระหว่าง 10 ตัวอย่างแรก EMA ฉันคำนวณได้อย่างถูกต้อง smoothed

No comments:

Post a Comment