

در این مقاله ، من به شما نشان خواهم داد که چگونه می توانید میانگین متحرک نمایی سهام را با استفاده از پایتون محاسبه کنید.
میانگین متحرک نمایی (EMA) Tr. لطفا JavaScript را فعال کنید
مرحله 1. ماژول ها را نصب کنید
ماژول هایی که ما به آن نیاز خواهیم داشت در زیر ذکر شده اند و می توانید آنها را با نصب PIP3 نصب کنید.
pip3 نصب numpy == 1. 20. 0 pip3 نصب پاندا == 1. 1. 4 pip3 نصب pandas-datareader == 0. 9. 0 pip3 نصب matplotlib == 3. 3. 3
مرحله 2. درک میانگین متحرک نمایی

اگرچه من به مفهوم EMA (میانگین متحرک نمایی) خیلی عمیق نخواهم رسید ، اما من یک مرور مختصری از آنچه در آن است به شما ارائه می دهم. EMA نوعی شاخص متوسط در حال حرکت است که وزن یا اهمیت بیشتری به قیمت سهام قبلی می دهد. تفاوت اساسی بین EMA و SMA در این است که EMA در مقایسه با SMA سریعتر به حرکت قیمت رو به بالا پاسخ می دهد. فرمول محاسبه EMA به شرح زیر است. ضریب هموار سازی را می توان پس از اولویت تغییر داد ، اما یک انتخاب مشترک برای این متغیر 2 است و این همان چیزی است که ما از آن استفاده خواهیم کرد. معامله گران هنگام محاسبه EMA از طول روزهای مختلف استفاده می کنند ، اما یک دوره مشترک یک دوره 10 روزه است و این همان چیزی است که ما از آن استفاده خواهیم کرد.
مرحله 3. نحوه محاسبه EMA
در مرحله 2 ، ما مشخص کردیم که برای هر 10 روز مشاهدات EMA را محاسبه می کنیم. اولین قدم برای محاسبه EMA ، محاسبه SMA از طول روز ثابت است. در مورد ما ، ابتدا SMA 10 قیمت سهام اول را محاسبه خواهیم کرد. سپس SMA 10 روزه را به عنوان اولین مقدار EMA ما در نظر خواهیم گرفت. اکنون با استفاده از فرمولی که قبلاً به آن اشاره کردم ، EMA را برای قیمت یازدهم محاسبه خواهیم کرد. می توانید فرایند استفاده از فرمول EMA را به طور مکرر تکرار کنید تا اینکه محاسبه تمام قیمت سهام را تمام نکنید.
مرحله 3. 1. مثال
در این مثال ، ما EMA 5 روزه مجموعه اعداد زیر را با مقدار صاف کننده 2 محاسبه خواهیم کرد.
10 ، 11 ، 11. 5 ، 10. 75 ، 12 ، 11. 75 ، 12. 25 ، 14 ، 16 ، 17 ، 15. 6 ، 15. 75 ، 16 ، 14 ، 16. 5 ، 17 ، 17. 25 ، 18 ، 18. 75 ، 20
اولین کاری که ما انجام خواهیم داد پیدا کردن SMA از 5 شماره اول است.
ema = [] (10 + 11 + 11. 5 + 10. 75 + 12) / 5 = 11. 05
بیایید 11. 05 را به لیست EMA خود اضافه کنیم.
ema = [11. 05]
اکنون از فرمول EMA برای محاسبه EMA برای شماره ششم استفاده خواهیم کرد.
(11. 75 x (2 / (1 + 5))) + 11. 05 x (1 - (2 / (1 + 5))) = 11. 28 اضافه کردن 11. 28 به لیست EMA ما: [11. 05 ، 11. 28]
روند استفاده از فرمول EMA را برای تمام اعداد موجود در مجموعه ادامه دهید و به این ترتیب است که EMA یک سهام را محاسبه می کنید.
11. 05 ، 11. 28 ، 11. 61 ، 12. 40 ، 13. 60 ، 14. 73 ، 15. 02 ، 15. 26 ، 15. 51 ، 15. 01 ، 15. 50 ، 16. 00 ، 16. 42 ، 16. 95 ، 17. 55 ، 18. 36
مرحله 4. تنظیم برنامه نویسی
- تمام ماژول های لازم را وارد کنید
- ایجاد یک تابع خالی محاسبه_یم (قیمت ها ، روزها ، هموار سازی = 2)
- داده های قیمت سهام را برای یک سهام خاص دریافت کنید --- (MSFT ، 2015--01--01 ، 2016--01--01)
واردات numpy به عنوان pandas واردات np به عنوان pd import matplotlib. pyplot به عنوان plt واردات pandas_datareader به عنوان وب def calculation_ema (قیمت ها ، روزها ، هموار سازی = 2): عبور نماد = "msft" df = web. datareader (نماد ، "یاهو" ، '2015-01-01 '،' 2016-01-01 ')
مرحله 5. محاسبه EMA
به یاد داشته باشید که اولین قدم برای محاسبه EMA مجموعه ای از تعداد ، یافتن SMA از شماره های اول در طول روز ثابت است. دو روش ساده وجود دارد که می توانیم در این مورد پیش برویم.
دنباله محاسبه_ما(قیمت ، روز ، هموار سازی =2): ema = [جمع(قیمت [: روزها]) / روزها]# روش اول ################################################ema = [] ema. append (جمع(قیمت [: روزها]) / روزها)# روش دوم
اکنون باید شماره هایی را که در محدوده طول روز ثابت نیستند حلقه کنیم و به طور مکرر EMA را برای آنها محاسبه کرده و آنها را به لیست EMA ما اضافه کنیم.
دنباله محاسبه_ما(قیمت ، روز ، هموار سازی =2): ema = [جمع(قیمت [: روزها]) / روزها]برایقیمتinقیمت ها [روزها:]: ema. append ((قیمت * (هموار سازی / ((1+ روز))) + ema [-1] * (1- (هموار سازی / (1+ روز))))برگشتEMA
در پایان این مرحله ، کد شما باید چیزی شبیه به این باشد.
وارد كردناعماقasNPوارد كردنپانداasPDوارد كردنmatplotlib. pyplotasPLTوارد كردنpandas_datareaderasوبدنباله محاسبه_ما(قیمت ، روز ، هموار سازی =2): ema = [جمع(قیمت [: روزها]) / روزها]برایقیمتinقیمت ها [روزها:]: ema. append ((قیمت * (هموار سازی / ((1+ روز))) + ema [-1] * (1- (هموار سازی / (1+ روز))))برگشتنماد ema ="MSFT"df = web. datareader (نماد ،"یاهو", '2015-01-01', '2016-01-01') ema = calculation_ema (df ['بستن'], 10) # این خط را برای ذخیره مقادیر EMA در یک لیست اضافه کنید
مرحله 6. ترسیم نتایج
ما می توانیم قیمت واقعی سهام و EMA محاسبه شده را با Matplotlib ترسیم کنیم.
وارد كردناعماقasNPوارد كردنپانداasPDوارد كردنmatplotlib. pyplotasPLTوارد كردنpandas_datareaderasوبدنباله محاسبه_ما(قیمت ، روز ، هموار سازی =2): ema = [جمع(قیمت [: روزها]) / روزها]برایقیمتinقیمت ها [روزها:]: ema. append ((قیمت * (هموار سازی / ((1+ روز))) + ema [-1] * (1- (هموار سازی / (1+ روز))))برگشتنماد ema ="MSFT"df = web. datareader (نماد ،"یاهو", '2015-01-01', '2016-01-01') ema = calculation_ema (df ['بستن'], 10) price_x = np. arange (df. shape [0]) # آرایه را ایجاد می کند [0 ، 1 ، 2 ، 3 ،. df. shape [0]]ema_x = np. arange (10، df. shape [0]+1) # آرایه را ایجاد می کند [10 ، 11 ، 12 ، 13 ،. df. shape [0] +1] # ما از 10 شروع می کنیم ، زیرا از 10 مقدار اول برای محاسبه SMA استفاده می کنیم ، # سپس ما فرم EMA را محاسبه می کنیمplt. xlabel ('روزها') plt. ylabel ("قیمت") plt. plot (price_x ، df ['بستن'] ، برچسب ="بسته شدن قیمت") plt. plot (ema_x ، ema ، label ='ema') plt. legend () plt. show ()
طرح شما باید چیزی شبیه به این باشد.

نتیجه. چگونه از EMA برای سهام استفاده کنیم؟
در حالی که روش های زیادی برای استفاده از میانگین متحرک نمایی سهام برای تجزیه و تحلیل فنی وجود دارد ، استفاده اساسی از آن تشخیص سیگنال خرید وقتی خط EMA در زیر و خط سهام می رود و در جهت رو به بالا قرار می گیرد. سیگنال فروش را می توان تشخیص داد که خط EMA از خط سهام می رود و در جهت نزولی قرار می گیرد. برای نتیجه گیری ، امیدوارم که شما از این مقاله چیز جدیدی و مفیدی یاد گرفته باشید که می توانید بعداً در پروژه های پایتون خود استفاده کنید.< Pan> # آرایه ای را ایجاد می کند [10 ، 11 ، 12 ، 13 ،. df. shape [0] +1]
ویدیو های آموزشی فارکس...
ما را در سایت ویدیو های آموزشی فارکس دنبال می کنید
برچسب :
نویسنده : محبوب امانی
بازدید : 28
تاريخ : پنجشنبه
1 تير
1402 ساعت: 11:32