Tuesday 11 July 2017

ชี้แจง เคลื่อนไหว ค่าเฉลี่ย ใน หลาม


technicalindicators 0.0.15 โมดูลนี้มีตัวบ่งชี้ทางเทคนิคสำหรับการวิเคราะห์หุ้น โมดูลนี้มีตัวบ่งชี้ทางเทคนิคสำหรับการวิเคราะห์หุ้น เมื่อฉันสามารถจะเพิ่มมากขึ้นได้ ถ้าใครต้องการมีส่วนร่วมกับโค้ดใหม่หรือคำแนะนำแก้ไขโปรดอย่าลังเล (SMMA), ค่าเฉลี่ยเคลื่อนที่แบบถ่วงน้ำหนัก (WMA), ค่าเฉลี่ย Bolinger Banders (EMA), Bollinger Bands (BB), Bollinger Bandwidth, B ต้องการค่า Numpy โมดูลนี้ทำและทดสอบภายใต้ Windows กับ Python 2.7.3 และ Numpy 1.6.1.Im ในขั้นตอนการสร้างอัลกอริธึมการซื้อขายแบบเทรดและต้องการลองใช้การคำนวณ EMA (Exponential Moving Averages) ผลลัพธ์ของฉันดูเหมือนถูกต้อง (เทียบกับการคำนวณที่ฉันทำด้วยมือ) ดังนั้นฉันเชื่อว่าวิธีการต่อไปนี้ทำงานได้ แต่เพียงต้องการได้รับชุดพิเศษของตาเพื่อให้แน่ใจว่า im ไม่ขาดอะไร โปรดทราบว่านี่เป็นเพียงการส่งคืน EMA สำหรับราคาล่าสุด แต่ไม่ได้ส่งคืนอาร์เรย์ของ EMA เนื่องจากไม่ใช่สิ่งที่ฉันต้องการสำหรับแอ็พพลิเคชันของฉัน การทับซ้ำเป็นเครื่องมือที่ดีสำหรับงานที่เหมาะสม แต่ที่นี่ใช้เพื่อทำให้เกิดการวนซ้ำง่าย เช่นรหัส เป็นเรื่องยากที่จะอ่านและอธิบายเหตุผล จะช้าลงเนื่องจากโค้ดใน ema ต้องการเพียงแค่เรียกใช้เพียงครั้งเดียวเท่านั้น จะล้มเหลวด้วยค่าที่มากพอของหน้าต่างเนื่องจากล้นกองเรียก Pythons โปรดระบุพารามิเตอร์ของแต่ละฟังก์ชันอย่างน้อยเช่น หน้าต่างนั้นคือความยาวของหน้าต่างและตำแหน่งดังกล่าวนับถอยหลังจากจุดสิ้นสุดของข้อมูล (ในความเป็นจริงสิ่งต่างๆจะชัดเจนยิ่งขึ้นถ้าตำแหน่งเป็นดัชนีส่งต่อไปยังข้อมูลปกติ) เพิ่มข้อยกเว้นเมื่อคุณพบว่าพารามิเตอร์มีค่าที่ไม่ถูกต้อง การส่งคืน None จะทำให้เกิดข้อผิดพลาดที่ทำให้เกิดความสับสนขึ้นในภายหลัง ในความเป็นจริงถ้าฉันลองตัวบ่งชี้ () ema (closeprices, 600) ฉันได้รับการเรียกซ้ำอนันต์เนื่องจาก sma ส่งกลับไม่มี ซึ่งทำให้ ema เรียก sma ซ้ำแล้วซ้ำอีก จุดก่อนหน้ายังแสดงให้เห็นว่าถ้า len (data) lt หน้าต่าง 2 ไม่ถูกต้องตรวจสอบความถูกต้อง 1 ใน data-window2 1: - window 1 ดูเหมือนจะไม่ถูกต้องกับฉัน ฉันสมมุติว่าคุณต้องการ data-window2: - window คำสั่ง return previousema อยู่ในที่แปลกเนื่องจาก ณ จุดนี้คุณได้คำนวณ currentema ใหม่ นี่เป็นกรณีฐานของการทับทิมและเป็นเรื่องปกติที่จะต้องจัดการกับกรณีฐานก่อน ข้อเสนอของฉันสำหรับ ema: ตอบ 26 พ. ย. ที่ 18:56 บทวิจารณ์ที่น่าตื้น: คุณไม่จำเป็นต้องเขียนชั้นเรียนสำหรับสิ่งที่คุณกำลังทำอยู่ (และขอแนะนำให้คุณดูวิดีโอนี้) ชั้นของคุณไม่ได้ห่อหุ้มข้อมูลใด ๆ ไว้และคุณเพียงแค่ใช้เพื่อทำหน้าที่ของคุณในเอนทิตีเดียวกันเท่านั้น ฉันเดาสิ่งที่จะง่ายต่อการเข้าใจถ้าคุณได้กำหนด classmethod เพื่อให้ชัดเจนว่าคุณเคยชินจริงๆพึ่งพาใด ๆ เช่นใด. อย่างไรก็ตามตัวเลือกที่ดียิ่งขึ้นคือการกำหนดฟังก์ชันในโมดูลตัวบ่งชี้ ผมขอขอบคุณสำหรับคำแนะนำที่ผมได้ทำเป็น classmethods และถกเถียงกันว่าจะไปมาระหว่างการใช้คลาสหรือเพียงแค่กำหนดฟังก์ชันในโมดูลตัวบ่งชี้ (ซึ่งตอนนี้ผมจะทำ) ndash ChrisC พ. ย. 25 14 ตอน 19:12 แค่ดูวิดีโอที่ยอดเยี่ยมมาก ndash ChrisC พ. ย. 25 14 ที่ 19:43 คำตอบของคุณ 2017 Stack Exchange, Inc มีช่วงของวันที่และการวัดในแต่ละวันดังกล่าว รหัสต้องการคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนาสำหรับแต่ละวัน ไม่มีใครรู้วิธีการทำเช่นนี้ Im ใหม่หลาม ไม่ปรากฏว่าค่าเฉลี่ยถูกสร้างขึ้นในไลบรารี python มาตรฐานซึ่งทำให้ฉันประหลาดใจเล็กน้อย บางทีฉันไม่ได้มองในที่ที่เหมาะสม ดังนั้นให้รหัสต่อไปนี้ฉันจะคำนวณค่าเฉลี่ยถ่วงน้ำหนักเคลื่อนที่ของจุด IQ สำหรับวันที่ปฏิทิน (theres อาจเป็นวิธีที่ดีกว่าในการจัดโครงสร้างข้อมูลคำแนะนำใด ๆ จะนิยม) ถาม 28 มกราคมที่ 18:01 หลามของฉันเป็น เล็กน้อยสนิม (ทุกคนสามารถรู้สึกฟรีเพื่อแก้ไขโค้ดนี้เพื่อทำการแก้ไขถ้า Ive messed ขึ้นไวยากรณ์อย่างใด) แต่ที่นี่ไป. ฟังก์ชันนี้จะเลื่อนย้อนกลับจากจุดสิ้นสุดของรายการไปยังจุดเริ่มต้นโดยคำนวณค่าเฉลี่ยเคลื่อนที่ที่เป็นไปได้สำหรับแต่ละค่าโดยการทำงานย้อนกลับจนกว่าค่าสัมประสิทธิ์น้ำหนักขององค์ประกอบจะน้อยกว่า epsilon ที่กำหนด ในตอนท้ายของฟังก์ชันมันกลับค่าก่อนที่จะกลับรายการ (เพื่อให้พวกเขากำลังอยู่ในลำดับที่ถูกต้องสำหรับผู้โทร) (ด้านข้างหมายเหตุ: ถ้าผมใช้ภาษาอื่นที่ไม่ใช่งูหลาม, Id สร้างอาร์เรย์ที่ว่างเปล่าขนาดเต็มก่อนจากนั้นเติมคำสั่งย้อนหลังเพื่อที่ฉันจะไม่ต้องย้อนกลับเมื่อสิ้นสุด แต่ฉันไม่คิดว่าคุณสามารถประกาศ อาร์เรย์ใหญ่ในหลามและในรายการหลาม appending มีราคาแพงกว่า prepending ซึ่งเป็นเหตุผลที่ฉันสร้างรายการในลำดับย้อนกลับโปรดแก้ไขฉันหากผิดพลาด.) อาร์กิวเมนต์อาร์กิวเมนต์เป็นปัจจัยการสลายตัวในแต่ละซ้ำ ตัวอย่างเช่นถ้าคุณใช้ค่า alpha เท่ากับ 0.5 ค่าการเคลื่อนที่เฉลี่ยในปัจจุบันจะประกอบด้วยค่าน้ำหนักต่อไปนี้แน่นอนถ้าคุณได้รับค่ามากมายค่าจากสิบหรือสิบห้าวันก่อนจะไม่ค่อยมีส่วนร่วมมากนัก ปัจจุบันถัวเฉลี่ยถ่วงน้ำหนัก อาร์กิวเมนต์ epsilon ช่วยให้คุณสามารถกำหนดจุดตัดที่ด้านล่างซึ่งคุณจะไม่สนใจเกี่ยวกับค่าเดิม (เนื่องจากการมีส่วนร่วมในปัจจุบันจะไม่มีนัยสำคัญ) Youd เรียกฟังก์ชั่นบางอย่างเช่นนี้ #: 31818 I dont know Python แต่สำหรับส่วนเฉลี่ยคุณหมายความว่าตัวกรองผ่านต่ำ exponenting ต่ำของรูปแบบที่ alpha dttau, dt timestep ของตัวกรอง , tau เวลาคงที่ของตัวกรอง (รูปแบบตัวแปร timestep นี้เป็นดังนี้เพียงแค่คลิป dttau ไม่เกิน 1.0) ถ้าคุณต้องการกรองสิ่งที่ต้องการวันที่ให้แน่ใจว่าคุณแปลงเป็นจำนวนจุดลอย เช่นของวินาทีนับตั้งแต่ 1 มกราคม 1970. # 28 มกราคม 18:10 ฉันพบข้อมูลโค้ดข้างต้นโดย earino ประโยชน์สวย - แต่ฉันต้องการสิ่งที่สามารถอย่างต่อเนื่องเรียบค่าของ - ดังนั้นฉัน refactored ไปนี้และฉันใช้ (เช่น pin. read () สร้าง ID ค่าถัดไปที่ต้องการใช้) ตอบ 12 ก. พ. 14 ที่ 20:35 Im มักจะคำนวณ EMA ด้วยหมีแพนด้า: นี่คือตัวอย่างวิธีทำ: ข้อมูลเพิ่มเติมเกี่ยวกับ Pandas EWMA: ตอบ 4 ต. ค. 15 เวลา 12:42 น. Donand Pandas รุ่นใหม่ ๆ มีฟังก์ชันใหม่และดีกว่า ndash Cristian Ciupitu 11 พฤษภาคม 16 เมื่อ 14:10 โปรดทราบว่าแตกต่างในกระดาษคำนวณของพวกเขา I dont คำนวณ SMA และฉันไม่รอที่จะสร้าง EMA หลังจาก 10 ตัวอย่าง ซึ่งหมายความว่าค่าของฉันแตกต่างกันเล็กน้อย แต่ถ้าคุณทำแผนภูมิมันจะเกิดขึ้นหลังจาก 10 ตัวอย่าง ในช่วง 10 ตัวอย่างแรก EMA ฉันคำนวณเป็น smoothed. Hmmm เหมาะสมดูเหมือนว่า quoteasy นี้จะใช้งานฟังก์ชั่นเป็นจริงค่อนข้างง่ายที่จะผิดและได้ส่งเสริมการอภิปรายที่ดีเกี่ยวกับประสิทธิภาพของหน่วยความจำ ฉันยินดีที่จะมีการบวมถ้ามันหมายถึงการรู้ว่าสิ่งที่ได้รับการทำถูกต้อง ndash Richard Sep 20 14 at 19:23 การขาดฟังก์ชันเฉพาะโดเมนเฉพาะของ NumPys อาจเนื่องมาจากหลักเกณฑ์ของ Core Teams และความเที่ยงตรงในการใช้คำสั่ง NumPys สำคัญ: ให้อาร์เรย์แบบ N-dimensional รวมทั้งฟังก์ชันสำหรับการสร้างและการจัดทำดัชนีอาร์เรย์เหล่านั้น เช่นเดียวกับวัตถุประสงค์พื้นฐานหลายอย่างนี้ไม่เล็กและ NumPy ไม่เก่ง SciPy ขนาดใหญ่ (ใหญ่มาก) มีคอลเล็กชันเฉพาะของห้องสมุดเฉพาะโดเมน (เรียกว่า subpackages by SciPy devs) - ตัวอย่างเช่นการเพิ่มประสิทธิภาพเชิงตัวเลข (optimization) การประมวลผลสัญญาณ (สัญญาณ) และแคลคูลัสหนึ่ง (integrate) ฉันเดาว่าฟังก์ชันที่คุณใช้หลังจากอยู่ในอย่างน้อยหนึ่งชุดย่อยของ SciPy (scipy. signal บางที) แต่ฉันจะดูเป็นครั้งแรกในชุดของ SciPy scikits ระบุ scikit ที่เกี่ยวข้องและค้นหาฟังก์ชันที่น่าสนใจที่นั่น Scikits ได้รับการพัฒนาขึ้นโดยใช้ชุดโปรแกรม NumPySciPy และนำไปสู่ระเบียบวินัยด้านเทคนิคโดยเฉพาะ (เช่น scikits-image. scikits-learn เป็นต้น) หลายคนได้รับการยกย่องเป็นอย่างดี ก่อนที่จะเลือกที่จะอาศัยอยู่ภายใต้รูบริก scikits ที่ค่อนข้างใหม่ หน้าแรกของ Scikits ชอบรายการด้านบนประมาณ 30 scikits ดังกล่าว แม้ว่าอย่างน้อยหลายคนจะไม่อยู่ภายใต้การพัฒนางาน อย่างไรก็ตามคำแนะนำนี้จะนำคุณไปสู่ ​​scikits-timeseries แต่แพคเกจดังกล่าวไม่ได้อยู่ภายใต้การพัฒนาที่มีประสิทธิภาพ Pandas กลายเป็น AFAIK ห้องสมุดไลบรารีไทม์ NumPy ที่ใช้ de facto หมีแพนด้ามีหน้าที่หลายอย่างที่สามารถใช้คำนวณค่าเฉลี่ยเคลื่อนที่ได้โดยง่ายที่สุด ที่คุณใช้เช่นนี้: ตอนนี้เพียงเรียกใช้ฟังก์ชัน rollingmean ที่ส่งผ่านไปยังชุดข้อมูลและขนาดของหน้าต่าง ซึ่งในตัวอย่างข้างล่างนี้คือ 10 วัน ตรวจสอบว่าทำงานได้ดีหรือไม่ - เช่น เปรียบเทียบค่า 10 - 15 ในชุดต้นฉบับเมื่อเทียบกับชุดใหม่ที่เรียบด้วยความหมายของการม้วนฟังก์ชัน rollingmean พร้อมด้วยฟังก์ชันอื่น ๆ ประมาณหนึ่งโหลจะถูกจัดกลุ่มอย่างไม่เป็นทางการในเอกสาร Pandas ภายใต้หน้าต่างการเคลื่อนย้ายตามรูบี้จะทำหน้าที่เป็นกลุ่มที่สอง ใน Pandas จะเรียกว่าฟังก์ชันที่มีการถ่วงน้ำหนักแบบเลขยกกำลัง (เช่น ewma ซึ่งคำนวณค่าเฉลี่ยถ่วงน้ำหนักที่ชี้แจง) ความจริงที่ว่ากลุ่มที่สองนี้ไม่รวมอยู่ในส่วนแรก (ฟังก์ชันการเคลื่อนย้ายหน้าต่าง) อาจเป็นเพราะการแปลงแบบทวีคูณไม่ได้ขึ้นอยู่กับหน้าต่างที่มีความยาวคงที่

No comments:

Post a Comment