تقریباً همه بخش ها از داده های سری زمانی برای پیش بینی نقاط زمانی آینده استفاده می کنند. پیش بینی آینده می تواند به تحلیلگران و مدیریت در تصمیم گیری های بهتر محاسبه شده برای به حداکثر رساندن بازده و به حداقل رساندن خطرات کمک کند. من نشان خواهم داد که چگونه می توانیم نرخ ارز را در این مقاله پیش بینی کنیم. اگر تازه وارد امور مالی هستید و می خواهید بفهمید نرخ ارز چیست ، لطفاً مقاله من را بخوانید "بهترین راه برای یادگیری امور مالی؟داده های بازار را درک کنید. "این یک مرور کلی از داده های بازار را ارائه می دهد. نرخ ارز به طیف وسیعی از عوامل مانند عرضه و تقاضا ، سیاست های دولت ، نرخ رشد کشور و غیره بستگی دارد. و مقایسه کشورها ".
پیش بینی نرخ ارز
اخیراً تعدادی از پیشرفتهای فناوری معرفی شده اند که می توانند نقاط زمانی آینده را به سرعت ، کارآمد و دقیق پیش بینی کنند. یکی از آنها معرفی مدل های آماری و یادگیری ماشین (ML) در پایتون است. من در مقاله خود "پایتون از ابتدا" مروری بر اصول اولیه پایتون ارائه کردم.
در این مقاله از مدل ARIMA برای پیش بینی نرخ ارز استفاده خواهم کرد.
در وبلاگ من "چگونه سریال های زمانی را پیش بینی کنم؟"و "درک مدل متوسط متحرک رگرسیون خودکار - Arima" ، من مفهوم سری زمانی و نحوه عملکرد ARIMA را بیان کردم. در این وبلاگ ، من از زبان برنامه نویسی پایتون با نوت بوک Jupyter استفاده خواهم کرد تا نحوه استفاده از ARIMA در پایتون را برای پیش بینی نرخ ارز توضیح دهم.
لطفاً سلب مسئولیت fintechexplained را بخوانید.
با استفاده از پاندا برای بارگیری داده های نرخ ارز
پانداس یکی از محبوب ترین کتابخانه های پایتون است. این کتاب بر روی نوع کتابخانه Numpy Python ساخته شده است و طیف وسیعی از ویژگی ها را ارائه می دهد از جمله:
ایجاد شی ، تجزیه و تحلیل داده ها و بارگیری داده ها. این کارکردهای آماری داخلی دارد ، می تواند مجموعه های مختلف را ادغام/پیوست/اتحادیه. همچنین می تواند به ما در گروه بندی ، محوری و ترسیم داده ها کمک کند. علاوه بر این ، پاندا کتابخانه ای بسیار کارآمد برای بارگیری داده ها از CSV ، HDF5 و Excel است. سرانجام می توان طیف وسیعی از یک ظاهر طراحی و قالب بندی را برای داده ها اعمال کرد.
ما از پاندا استفاده خواهیم کرد:
1. بارگذاری نرخ ارز سری زمانی از پرونده CSV (کاما جدا شده)
2. مشاهده 10 سوابق اول
3. اطلاعات آماری اساسی را در مورد داده ها مشاهده کنید
بار نرخ ارز سری زمانی را از یک پرونده CSV بارگیری کنید
من پرونده ای را تهیه کرده ام که شامل بسته شدن روزانه نرخ ارز GBP/USD از 31/12/1998 است. پرونده در اینجا ذخیره می شود. این پرونده حاوی داده هایی با دو ستون است: داده ها و GBP/USD بستن
اطمینان حاصل کنید که پرونده در همان مکان با نوت بوک پایتون ذخیره می شود.
برای بارگیری پرونده و مشاهده 10 سوابق اول در خطوط زیر تایپ کنید:
توجه: GetData (نام پرونده) روشی است که نام پرونده را به عنوان یک آرگومان در نظر می گیرد.
Alt + Enter را فشار دهید تا اطلاعات اولیه آماری را مشاهده کنید
تصویر زیر با استفاده از روش GetData (نام پرونده) 10 سوابق اول پرونده CSV را نشان می دهد:
بیایید آمار مفیدی را بدست آوریم و نرخ ارز را ترسیم کنیم
نوع در: ExchangeRatesseries. describ () برای دیدن آمار مطابق شکل زیر:
توصیف () تعدادی از معیارهای مفید از جمله:
تعداد سوابق ، میانگین - مقدار مورد انتظار ، STD - انحراف استاندارد که به ما پراکندگی داده ها را در حدود میانگین ، حداقل - حداقل مقدار در مجموعه ، حداکثر - حداکثر مقدار در مجموعه همراه با طیف وسیعی از صدک ها می گوید. صدک ها می توانند به ما در درک توزیع احتمال داده های خود کمک کنند.
ترسیم داده های بارگذاری شده
یک ظاهر طراحی شده HTML را می توان برای تغییر احساس و نگاه در پایتون اضافه کرد. من رنگ طرح را به رنگ سبز تنظیم می کنم:
#داده های سری زمانی را ترسیم کنید
توجه داشته باشید ، عبور از رنگ = "سبز" یک نمودار خط سبز ایجاد می کند.
نوع در: Exchangeratesseries. hist () برای نشان دادن HistorGram.
هیستوگرام می تواند به ما در درک توزیع داده ها کمک کند که در عوض به ما در پیش بینی یک متغیر کمک می کند:
Matplotlib می تواند در ترسیم داده ها به ما کمک کند. ما همچنین می توانیم با نوشتن matplotlib وارد کنیم:
از Matplotlib Import Pyplot
سپس سری زمانی را با نوشتن ترسیم کنید:
Arima با بسته statsmodels
Statsmodels یک کتابخانه قدرتمند پایتون است که سرشار از مدل های آماری است. کتابخانه Statsmodels شامل تعدادی مدل است که می تواند برای پیش بینی و پیش بینی داده ها استفاده شود. این کتابخانه تعدادی از ابزارهای تشخیصی را نیز در اختیار دارد. ما قصد داریم از مدل ARIMA در بسته statsmodels برای پیش بینی نرخ ارز استفاده کنیم.
مقدمه آریما
مدل Arima دارای 3 پارامتر است:
P - ویژگی رگرسیون خودکار مدل
D - سفارش متفاوت
س - حرکت میانگین مدل مدل
پس از وارد کردن Statsmodels ، از tsa. arima_model استفاده کنید و به آن نام مستعار Arima بدهید:
از statsmodels. tsa. arima_model واردات arima
پارامترهای ARIMA را می توان برای دستیابی به رفتار مختلف پیش بینی تغییر داد. من یک روش تعریف شده کاربر را تعریف کرده ام که برای هر یک از سه پارامتر مجموعه و ارزش را در نظر گرفته است. عملکرد ابتدا مدل ARIMA را ایجاد می کند. سپس متناسب () و سپس پیش بینی () را بر روی مدل اجرا می کند. پیش بینی () مقدار پیش بینی شده را برمی گرداند.
این خطوط را در نوت بوک خود کپی و چسبانده اید:
Arima (…) مدل Arima را ایجاد می کند. متناسب با مدل ARIMA (P ، D ، Q) با حداکثر احتمال دقیق از طریق فیلتر کالمن و پیش بینی () مقدار تخمینی را بر اساس مدل ARIMA متناسب باز می گرداند.
ما می توانیم از FIT () به عنوان فرایندی فکر کنیم که بهترین منحنی خط مناسب را ایجاد می کند که کمترین خطا را ایجاد می کند. اطلاعات بیشتر در مورد این موضوع در وبلاگ من پوشش داده شده است: مدل پیش بینی شده من چقدر خوب است - تجزیه و تحلیل رگرسیون؟
پارامترهای P ، Q ، D را می توان برای به دست آوردن نتایج بهتر تنظیم کرد.
این نمونه ای از نحوه عبور ما در داده های سری زمانی و استفاده از ARIMA برای پیش بینی مقدار بر اساس داده های مشاهده شده واقعی است:
با اجرای اسکریپت ، مقدار پیش بینی شده را می بینیم:
ما به عنوان مجموعه آموزش در مقادیر تصادفی عبور کردیم. مدل Arima سپس خود را متناسب کرد و مقدار بعدی را به عنوان 15. 219305 پیش بینی کرد
ما همچنین می توانیم در متغیرهای اگزوژن ، تاریخ ، فرکانس سری زمانی و غیره به مدل ARIMA منتقل شویم.
در آخر ، بیایید از Arima در پایتون برای پیش بینی نرخ ارز استفاده کنیم
اکنون که ما می دانیم که چگونه از پایتون پانداس برای بارگیری داده های CSV و نحوه استفاده از statsmodels برای پیش بینی ارزش استفاده کنیم ، اجازه می دهیم تمام دانش به دست آمده در این وبلاگ را برای پیش بینی نرخ ارز نمونه خود ترکیب کنیم.
این کد را کپی و جایگذاری کنید. این ترکیبی از تمام مفاهیمی است که ما در این وبلاگ آموخته ایم.
Alt+Enter را فشار دهید. پایتون شروع به فراخوانی مدل Arima در یک حلقه با داده های واقعی خواهد کرد. 70 ٪ از داده ها برای آموزش مدل استفاده می شود و بقیه 30 ٪ برای آزمایش دقت استفاده می شود. هر بار که یک مقدار تازه پیش بینی شده تولید می شود.
مقادیر واقعی و پیش بینی شده روی نوت بوک چاپ می شود.
سرانجام مقادیر پیش بینی شده واقعی در نمودار ترسیم می شوند
مشاهده میانگین خطای مربع
من همچنین یک کتابخانه اضافی Sklea وارد کرده ام که در وبلاگ های آینده خود از آن استفاده خواهم کرد.
کپی کردن این خط:
"از Sklea. Metrics واردات متوسط_ squared_error" برای وارد کردن کتابخانه.
در آخر چاپ خطای مربع متوسط:
میانگین خطای مربع به طور متوسط تفاوت بین داده های واقعی و پیش بینی شده را محاسبه می کند و به شما می گوید مدل شما چقدر خوب است. اطلاعات بیشتر را می توان در وبلاگ من یافت: مدل پیش بینی من چقدر خوب است - تجزیه و تحلیل رگرسیون
با اجرای کد زیر ، می توانیم مقادیر واقعی و پیش بینی شده را به همراه یک نمودار خط و خطای میانگین مربع کل مشاهده کنیم:
همانطور که مشاهده می کنید ، ما مقادیر واقعی و پیش بینی شده را چاپ کردیم. علاوه بر این ، ما مقادیر پیش بینی شده را به رنگ قرمز با MSE 1. 551 ترسیم کردیم.
برای نوت بوک کامل ، لطفاً به اینجا مراجعه کنید.
پیشرفت های بیشتر
پیش بینی نرخ ارز توسط:
- به طور مداوم پارامترهای مدل را به روز می کنید
- با وارد کردن عوامل اضافی که بر نرخ ارز و همبستگی آنها تأثیر می گذارد
- پارامترهای مدل همچنین می توانند از طریق تکنیک های یادگیری ماشین و بهینه سازی به روز شوند.
- در آخر عوامل و همبستگی آنها می تواند تأکید شود تا اطمینان حاصل شود که نرخ ارز پیش بینی شده سناریوهای شدید را در نظر می گیرد.
یادداشت های نهایی
در این مقاله نحوه استفاده از پایتون برای پیش بینی نرخ ارز با استفاده از مدل ARIMA نشان داده شده است. بازارهای مالی می توانند از هر جهت حرکت کنند و این باعث می شود پیش بینی دقیق نرخ ارز ، اگر غیرممکن نباشد ، بسیار سخت باشد. با بیان این موضوع ، تنها هدف پیش بینی نرخ ارز از طریق ARIMA کمک به ما در گرفتن تصمیمات محاسبه شده است که حداکثر بازده را به حداکثر می رساند و خطرات را به حداقل می رساند. نرخ ارز پیش بینی شده به فرضیات تحمیل شده توسط مدل ARIMA بستگی دارد که مبتنی بر رگرسیون خودکار ، مفاهیم متوسط یکپارچه و متحرک است.
Arima یک مدل ساده و در عین حال قدرتمند است. فرض بر این است که ارزشهای تاریخی رفتار فعلی را نشان می دهد. همچنین فرض می کند که داده ها حاوی ناهنجاری نیستند ، پارامترهای ثابت است و پارامترهای مدل همراه با اصطلاح خطا ثابت است.
اگرچه ARIMA در داده های بازار به عنوان ورودی ، شرایط اقتصادی و سیاسی یا همبستگی کلیه عوامل خطر برای پیش بینی نرخ ارز ، استرس ندارد اما مثال ساده ای که در بالا نشان داده شده است می تواند برای پیش بینی حرکات ارزهای پایدار در شرایط عادی که در آن رفتار گذشته دیکته می کند ، مفید باشدموجود و ارزش ها.
کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید
برچسب :
نویسنده : محسن زنجانچی
بازدید : <-PostHit->
تاريخ : دوشنبه
25 ارديبهشت
1402 ساعت: 15:26