Saturday 19 August 2017

ชี้แจง เคลื่อนไหว เฉลี่ย รหัส ใน Java


ฉันเป็นหลักมีอาร์เรย์ของค่าเช่นนี้อาร์เรย์ข้างต้นเป็น oversimplified, Im เก็บ 1 ค่าต่อมิลลิวินาทีในรหัสจริงของฉันและฉันต้องดำเนินการออกในขั้นตอนฉันเขียนเพื่อหาจุดสูงสุดที่ใกล้เคียงที่สุดก่อนจุดในเวลา ตรรกะของฉันล้มเหลวเนื่องจากในตัวอย่างข้างต้นของฉัน 0.36 เป็นยอดจริง แต่อัลกอริทึมของฉันจะมองย้อนกลับไปและดูจำนวนสุดท้าย 0.25 เป็นยอดสูงสุดเนื่องจาก theres ลดลงเหลือ 0.24 ก่อนหน้านี้ เป้าหมายคือการใช้ค่าเหล่านี้และใช้อัลกอริธึมกับข้อมูลเหล่านี้ซึ่งจะทำให้บิตเหล่านั้นเรียบขึ้นเพื่อให้มีค่าเชิงเส้นมากขึ้น (เช่น: Id เช่นผลของฉันจะ curvy ไม่ jaggedy) Ive ได้รับการบอกให้ใช้ตัวกรองค่าเฉลี่ยที่ชี้แจงค่าเฉลี่ยกับค่าของฉัน ฉันจะทำเช่นนี้จริงๆมันยากสำหรับฉันที่จะอ่านสมการทางคณิตศาสตร์ที่ฉันจัดการดีมากกับรหัส ฉันจะประมวลผลค่าในอาร์เรย์ของฉันโดยใช้การคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนาเพื่อให้พวกมันออกไปถาม 8 ก. พ. 2 เวลา 20:27 เพื่อคำนวณค่าเฉลี่ยเคลื่อนที่แบบเสวนา คุณต้องเก็บข้อมูลบางส่วนไว้รอบ ๆ และคุณต้องใช้พารามิเตอร์การปรับค่า (สมมติว่าคุณกำลังใช้ Java 5 ขึ้นไป): เริ่มต้นด้วยพารามิเตอร์การสลายตัวที่คุณต้องการ (อาจใช้การปรับค่าระหว่าง 0 ถึง 1) และใช้ค่าเฉลี่ย () เพื่อกรอง เมื่ออ่านหน้าเว็บเกี่ยวกับการกลับเป็นซ้ำคณิตศาสตร์บางสิ่งที่คุณจำเป็นต้องรู้จริงๆเมื่อเปลี่ยนเป็นรหัสก็คือนักคณิตศาสตร์ต้องการเขียนดัชนีเป็นอาร์เรย์และลำดับด้วยดัชนีย่อย (พวกเขายังมีโน้ตอื่น ๆ อีกเช่นกันซึ่งไม่ได้ช่วยอะไร) อย่างไรก็ตาม EMA ใช้งานได้ง่ายเพียงเท่านี้คุณจะต้องจำค่าเดิมที่ไม่มีอาร์เรย์สถานะที่ซับซ้อน ตอบกุมภาพันธ์ 8 12 เวลา 20:42 TKKocheran: Pretty much. (ถ้าเริ่มต้นด้วยลำดับใหม่ให้หาค่าเฉลี่ยใหม่) โปรดสังเกตว่าคำไม่กี่คำแรกในลำดับเฉลี่ยจะกระโดดไปรอบ ๆ เล็กน้อยเนื่องจากผลกระทบขอบเขต แต่คุณจะได้รับค่าเฉลี่ยเคลื่อนที่ที่เคลื่อนที่ได้ เกินไป. อย่างไรก็ตามข้อได้เปรียบที่ดีคือคุณสามารถตัดค่าตรรกะเฉลี่ยที่เคลื่อนที่ไปเป็นค่าเฉลี่ยและการทดสอบได้โดยไม่รบกวนส่วนที่เหลือของโปรแกรมมากเกินไป ndash Donal Fellows ก. พ. 9 12 เวลา 0:06 ฉันกำลังมีปัญหาในการทำความเข้าใจคำถามของคุณ แต่ฉันจะพยายามตอบคำถามต่อไป 1) ถ้าอัลกอริทึมของคุณพบ 0.25 แทน 0.36 แล้วมันก็ไม่ถูกต้อง ผิดเพราะสมมติว่ามีการเพิ่มขึ้นหรือลดลงเล็กน้อย (ซึ่งมักจะขึ้นหรือลงไปตลอดเวลา) เว้นแต่คุณจะเฉลี่ยข้อมูลทั้งหมดของคุณจุดข้อมูลของคุณ --- ตามที่คุณนำเสนอ --- ไม่เป็นเชิงเส้น ถ้าคุณต้องการหาค่าสูงสุดระหว่างสองจุดในเวลาจากนั้นแบ่งอาร์เรย์จาก tmin ไปเป็น tmax และหาค่าสูงสุดของอาร์เรย์ย่อยนั้น 2) ตอนนี้แนวคิดเกี่ยวกับค่าเฉลี่ยเคลื่อนที่จะง่ายมาก: สมมติว่าฉันมีรายการต่อไปนี้: 1.4, 1.5, 1.4, 1.5, 1.5 ฉันสามารถเรียบออกโดยใช้ค่าเฉลี่ยของสองตัวเลข: 1.45, 1.45, 1.45, 1.5 สังเกตว่าตัวเลขแรกเป็นค่าเฉลี่ย 1.5 และ 1.4 (ตัวเลขที่สองและหมายเลขแรก) ส่วนที่สอง (รายการใหม่) คือค่าเฉลี่ย 1.4 และ 1.5 (รายการเก่าที่สามและสอง) อันดับที่สาม (รายการใหม่) เฉลี่ย 1.5 และ 1.4 (สี่และสาม) และอื่น ๆ ฉันสามารถทำให้มันเป็นระยะเวลาสามหรือสี่หรือ n สังเกตว่าข้อมูลมีความนุ่มนวลมากขึ้น วิธีที่ดีในการดูค่าเฉลี่ยเคลื่อนที่ในที่ทำงานคือไปที่ Google Finance เลือกสต็อค (ลองใช้ Tesla Motors volatile สวย (TSLA)) และคลิก technicals ที่ด้านล่างของแผนภูมิ เลือก Moving Average โดยใช้ระยะเวลาที่กำหนดและค่าเฉลี่ยเคลื่อนที่แบบเสวนาเพื่อเปรียบเทียบความแตกต่าง ค่าเฉลี่ยเคลื่อนที่แบบเสวนาเป็นเพียงการอธิบายเพิ่มเติมอีกประการหนึ่งจากข้อมูลนี้ แต่ให้น้ำหนักข้อมูลเก่าน้อยกว่าข้อมูลใหม่นี่เป็นวิธีที่จะทำให้เกิดการปรับให้เรียบไปทางด้านหลัง โปรดอ่านรายการวิกิพีเดีย นี่เป็นความคิดเห็นมากกว่าคำตอบ แต่กล่องความคิดเห็นเล็ก ๆ น้อย ๆ ก็เล็กไป โชคดี. หากคุณมีปัญหาเกี่ยวกับคณิตศาสตร์คุณอาจไปกับค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายแทนที่จะเป็นเลขชี้กำลัง ดังนั้นผลลัพธ์ที่ได้จะเป็นเงื่อนไข x ล่าสุดหารด้วย x Pseudocode ที่ไม่ได้ตรวจสอบ: โปรดทราบว่าคุณจะต้องจัดการกับจุดเริ่มต้นและจุดสิ้นสุดของข้อมูลเนื่องจากคุณไม่สามารถเฉลี่ย 5 เทอมสุดท้ายเมื่ออยู่ในจุดข้อมูลที่ 2 ได้ นอกจากนี้ยังมีวิธีที่มีประสิทธิภาพในการคำนวณค่าเฉลี่ยเคลื่อนที่นี้ (ผลรวมรวม - เก่าที่สุดที่เก่าที่สุด) แต่นี่เป็นแนวคิดที่จะเกิดอะไรขึ้น ตอบ 8 ก. พ. 12 ที่ 20: 41 ค่าเฉลี่ยเคลื่อนที่ - EMA BREAKING DOWN Exponential Moving Average - EMA ค่า EMA BREAKING DOWN ค่า EMA เป็นค่าเฉลี่ยระยะสั้น 12 และ 26 วันเป็นค่าเฉลี่ยระยะสั้นที่ได้รับความนิยมสูงสุดและใช้ในการสร้างตัวบ่งชี้เช่นความแตกต่างของค่าเฉลี่ย MACD) และตัวประกอบอัตราสวนราคา (PPO) โดยทั่วไปแล้ว EMA 50 และ 200 วันใช้เป็นสัญญาณของแนวโน้มในระยะยาว ผู้ค้าที่ใช้การวิเคราะห์ทางเทคนิคพบค่าเฉลี่ยเคลื่อนที่ที่มีประโยชน์และลึกซึ้งเมื่อใช้อย่างถูกต้อง แต่สร้างความหายนะเมื่อใช้ไม่ถูกต้องหรือถูกตีความผิด ค่าเฉลี่ยเคลื่อนที่ทั้งหมดที่ใช้กันโดยทั่วไปในการวิเคราะห์ทางเทคนิคเป็นไปตามลักษณะของตัวชี้วัดที่ล่าช้า ดังนั้นข้อสรุปที่ได้จากการนำค่าเฉลี่ยเคลื่อนที่ไปเป็นกราฟตลาดหนึ่ง ๆ ควรเป็นการยืนยันการเคลื่อนไหวของตลาดหรือเพื่อบ่งชี้ถึงความแข็งแกร่ง บ่อยครั้งเมื่อถึงเวลาที่เส้นค่าเฉลี่ยเคลื่อนไหวได้เปลี่ยนไปเพื่อสะท้อนการเคลื่อนไหวที่สำคัญในตลาดจุดที่เหมาะสมที่สุดของการเข้าสู่ตลาดได้ผ่านไปแล้ว EMA ช่วยลดปัญหานี้ได้บ้าง เนื่องจากการคำนวณ EMA ให้น้ำหนักมากขึ้นกับข้อมูลล่าสุดจึงทำให้การดำเนินการด้านราคาแย่ลงและตอบสนองได้เร็วขึ้น นี่เป็นที่พึงปรารถนาเมื่อใช้ EMA เพื่อรับสัญญาณการซื้อขาย การตีความ EMA เช่นเดียวกับตัวบ่งชี้ค่าเฉลี่ยเคลื่อนที่ทั้งหมดพวกเขาจะเหมาะกับตลาดที่มีแนวโน้มมากขึ้น เมื่อตลาดอยู่ในขาขึ้นที่แข็งแกร่งและยั่งยืน เส้นแสดงตัวบ่งชี้ EMA จะแสดงแนวโน้มขาขึ้นและทางกลับกันสำหรับแนวโน้มขาลง ผู้ค้าระมัดระวังจะไม่เพียง แต่ใส่ใจกับทิศทางของเส้น EMA แต่ยังสัมพันธ์ของอัตราการเปลี่ยนแปลงจากแถบหนึ่งไปอีก ตัวอย่างเช่นในขณะที่การดำเนินการตามราคาของขาขึ้นที่แข็งแกร่งจะเริ่มแผ่ออกและพลิกกลับอัตราการเปลี่ยนแปลงของ EMA จากแถบหนึ่งไปยังอีกส่วนหนึ่งจะเริ่มลดลงไปจนกว่าจะถึงเวลาดังกล่าวที่บรรทัดตัวบ่งชี้จะราบเรียบและอัตราการเปลี่ยนแปลงเป็นศูนย์ เนื่องจากผลกระทบที่ปกคลุมด้วยวัตถุฉนวนถึงจุดนี้หรือแม้กระทั่งไม่กี่บาร์ก่อนการดำเนินการด้านราคาน่าจะได้กลับรายการไปแล้ว ดังนั้นจึงเป็นไปได้ว่าการสังเกตการลดอัตราการเปลี่ยนแปลงของ EMA ที่สอดคล้องกันอาจเป็นตัวบ่งชี้ที่สามารถช่วยป้องกันภาวะที่กลืนไม่เข้าคายไม่ออกซึ่งเกิดจากผลกระทบที่เกิดจากการเคลื่อนที่โดยเฉลี่ย การใช้ EMA ทั่วไปของ EMA มักใช้ร่วมกับตัวบ่งชี้อื่น ๆ เพื่อยืนยันการย้ายตลาดที่สำคัญและเพื่อวัดความถูกต้อง สำหรับผู้ค้าที่ค้าขายระหว่างวันและตลาดที่เคลื่อนไหวอย่างรวดเร็ว EMA จะสามารถใช้งานได้มากขึ้น ผู้ค้ามักใช้ EMA เพื่อหาอคติในการซื้อขาย ตัวอย่างเช่นหาก EMA ในแผนภูมิรายวันแสดงให้เห็นถึงแนวโน้มที่สูงขึ้นกลยุทธ์การค้าระหว่างวันอาจเป็นการค้าเฉพาะจากด้านยาวบนแผนภูมิระหว่างวันที่ 29 มีนาคม 2014 โดย Ryan Hamilton Let8217s ดูที่วิธีเขียนการวิเคราะห์เฉลี่ยเคลื่อนที่ in q สำหรับฐานข้อมูล kdb ตัวอย่างข้อมูล (mcd. csv) เราจะใช้ข้อมูลราคาหุ้นสำหรับ McDonalds MCD รหัสด้านล่างจะดาวน์โหลดข้อมูลหุ้นย้อนหลังสำหรับ MCD และวางลงในตาราง t: Simple Moving Average ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายสามารถใช้เพื่อทำให้ข้อมูลมีความผันผวนได้ง่ายขึ้นเพื่อระบุแนวโน้มและรอบโดยรวม ค่าเฉลี่ยเคลื่อนที่แบบง่ายคือค่าเฉลี่ยของจุดข้อมูลและน้ำหนักทุกค่าในการคำนวณอย่างเท่าเทียมกัน ตัวอย่างเช่นเพื่อหาราคาเฉลี่ยเคลื่อนที่ของหุ้นในช่วงสิบวันที่ผ่านมาเราเพียง แต่เพิ่มราคารายวันสำหรับสิบวันและหารด้วยสิบ หน้าต่างนี้มีขนาดสิบวันจากนั้นจะเลื่อนไปตามวันที่โดยใช้ค่าภายในหน้าต่างเพื่อหาค่าเฉลี่ย Here8217s รหัสใน kdb สำหรับค่าเฉลี่ยเคลื่อนที่ 1020 วันและแผนภูมิผลลัพธ์ Simple Moving Average แผนภูมิเฉลี่ย (Kdb) (ผลิตโดยใช้ qStudio) ค่าเฉลี่ยการเคลื่อนที่แบบ Exponential คืออะไรและคำนวณอย่างไรหนึ่งในปัญหาที่มีค่าเฉลี่ยเคลื่อนที่แบบง่ายๆคือให้ทุกๆวันมีน้ำหนักเท่ากัน สำหรับวัตถุประสงค์หลายอย่างทำให้รู้สึกมากขึ้นที่จะให้วันล่าสุดมากขึ้นน้ำหนักที่สูงขึ้นวิธีหนึ่งในการทำเช่นนี้คือการใช้ค่าเฉลี่ยเคลื่อนที่แบบเสวนา (Exponential Moving Average) วิธีนี้ใช้น้ำหนักที่ลดลงเรื่อย ๆ สำหรับวันที่ต่อไปในอดีตรูปแบบที่เรียบง่ายที่สุดของการให้ความเรียบแบบเลขยกกำลังได้จากสูตร: ที่นี่คือปัจจัยการปรับให้เรียบและ 0 ตารางนี้แสดงวิธีการคำนวณค่าต่างๆของ WeightsEMAs ที่มีค่า 1,2,3 , 4,8,10,20 และปัจจัยการปรับความเรียบเป็น 0.7 (excel spreadsheet) เพื่อทำการคำนวณนี้ใน kdb เราสามารถทำสิ่งต่อไปนี้: (รหัสนี้ถูกโพสต์ลงในรายชื่ออีเมล google โดย Attila การสนทนาแบบเต็มสามารถดูได้ที่นี่) คำวิเศษณ์ทับขวานี้ทำงานเป็นไวยากรณ์อื่น generalizes เพื่อการทำงานของ อาร์กิวเมนต์ 3 ตัวขึ้นไปที่อาร์กิวเมนต์แรกถูกใช้เป็นค่าเริ่มต้นและอาร์กิวเมนต์เป็นองค์ประกอบที่สอดคล้องกันจากรายการ: แผนภูมิค่าเฉลี่ยเคลื่อนที่แบบก้าวกระโดดในที่สุดเราใช้สูตรของเราและนำไปใช้กับข้อมูลการกำหนดราคาหุ้นของเราซึ่งทำให้เราสามารถดูค่าเฉลี่ยเคลื่อนที่แบบเสวนาได้ สำหรับสองปัจจัยการทำให้ราบเรียบแตกต่างกัน: แผนภูมิการจัดเตรียมราคาเฉลี่ยของสต็อคที่ผลิตโดยใช้ qStudio ในขณะที่คุณเห็นกับ EMA เราสามารถจัดลำดับความสำคัญค่าล่าสุดโดยใช้ปัจจัยการทำให้ราบรื่นที่เลือกเพื่อพิจารณาความสมดุลระหว่างข้อมูลล่าสุดและข้อมูลที่ผ่านมา การเขียนการวิเคราะห์ kdb เช่น Exponential Moving Average ครอบคลุมอยู่ในหลักสูตรการฝึกอบรม kdb ของเรา เราจัดหลักสูตรการฝึกอบรมในกรุงลอนดอนนิวยอร์กเป็นประจำ เอเชียหรือหลักสูตรออนไลน์ของเรา kdb สามารถเริ่มต้นได้ในขณะนี้ 1 การตอบสนองต่อ 8220Exponential Moving Average EMA ใน Kdb8221 ขอบคุณ Ryan นี่เป็นประโยชน์มาก แต่ฉันคิดว่ามีคำที่สะกดผิดในความหมาย ema8217s ควรเป็น: ema: xy

No comments:

Post a Comment