در این پروژه ، ما به تحقیقات مربوط به استفاده از فناوری های پردازش زبان طبیعی (NLP) در حوزه مالی می پردازیم. ما توییت هایی را برای معامله گران فارکس می ریزیم و سپس تجزیه و تحلیل احساسات را برای تولید بینش سرمایه گذاری اعمال می کنیم.
معرفی
تجزیه و تحلیل احساسات می تواند از پردازش زبان طبیعی ، هوش مصنوعی ، تجزیه و تحلیل متن و زبان شناسی محاسباتی برای شناسایی نگرش چندین موضوع استفاده کند. در این پروژه ، ما به تحقیقات مربوط به استفاده از فناوری های پردازش زبان طبیعی (NLP) در حوزه مالی می پردازیم. اول ، ما به برخی از افرادی که تأثیر زیادی در بازار مالی دارند ، حفر خواهیم کرد. دوم ، ما با استفاده از مباحث گرایش از توییتر ، با استفاده از یک مدل مبتنی بر یادگیری ماشین ، نرخ ارز را پیش بینی خواهیم کرد.
جمع آوری داده ها
داده های توییت را جمع آوری کنید
معاملات فارکس سریع ، بسیار سریع است و توییتر مانند دستکش به دست هر معامله گر فارکس متناسب است. اطلاعات سریع و مفید زیادی در قالب توییت و گاهی اوقات اطلاعات بیش از حد وجود دارد. ما لیستی از حساب های برتر توییتر فارکس را از اینجا دریافت کردیم ، هرکدام با ویژگی های مختلف ، متناسب با معامله گران علاقه مند به جنبه های مختلف تجارت (فنی ، اساسی ، آموزشی ، احساسات ، ترکیبی از برخی یا همه و غیره). ما 63 حساب توییتر فارکس ذکر شده در وب سایت را خزیدیم و آن را در لیست Trader_account برای استفاده های بعدی ذخیره کردیم. در اینجا نوت بوک ما است.
Twint ابزاری پیشرفته توییتر است که در پایتون نوشته شده است که امکان خرابی توییت از پروفایل های توییتر را بدون استفاده از API توییتر فراهم می کند. ما از Twint برای دریافت توییت استفاده می کنیم و نتایج را در یک Pandas dataframe ذخیره می کنیم. ما یک عملکرد ساده ایجاد کردیم که می توانید در پروژه واقعی مشاهده کنید که پاندا را با Twint API برای این قسمت ادغام می کند. در مرحله بعد ، بسیاری از ویژگی های ما از پرس و جو که تازه انجام دادیم وجود دارد. ارتباط با این داده ها چیزهای مختلفی وجود دارد ، اما برای این پروژه فقط از برخی از آنها استفاده خواهیم کرد ، یعنی تاریخ ، زمان ، نام کاربری ، توییت ، هشتگ ، likes_count ، anskere_count و retweets_count.
داده های فارکس را جمع آوری کنید
ما داده های فارکس را از Mecklai Financial بارگیری کردیم. بعد از پیش پردازش ، یک ستون جدید "برچسب" دریافت می کنیم ، که به معنای تمایز بین دو روز است. برچسب برچسب جنبش فارکس است که می گوید قیمت تجارت فارکس پس از مدت زمان مشخص بالا یا پایین است یا خیر. برای این مطالعه ، ما فقط از قیمت GBP/USD از وب سایت Macrotrends استفاده کردیم. Macrotrends تعداد زیادی از داده های ارزی مانند EUR/USD ، USD/JPY ، USD/CNY ، AUD/USD ، EUR/GBP ، USD/CHF ، EUR/CHF ، GBP/JPY و EUR/JPY را ارائه می دهد. علاوه بر این ، آنها همچنین نمودار تاریخی تعاملی را نشان می دهند که قیمت روزانه فارکس را نشان می دهد.
توییت و فارکس را ترکیب کنید
وظیفه پیش بینی حرکت فارکس را می توان به عنوان اختصاص برچسب حرکت برای ورودی توییت تعریف کرد. پیش بینی فارکس به عنوان یک کار طبقه بندی باینری (بالا یا پایین) انجام می شود. معیارهای ارزیابی ضریب همبستگی F1 و متیوز (MCC) است. MCC اغلب در پیش بینی حرکت سهام گزارش می شود (Xu and Cohen ، 2018 ؛ Ding et al. ، 2016) زیرا می تواند بر مسئله عدم تعادل داده ها غلبه کند.
مدل سازی
مدل پایه
در این کار ، ما نقاط قوت CNN و LSTM را برای نمایش جمله و طبقه بندی متن ترکیب می کنیم. CNN-LSTM از CNN برای استخراج دنباله ای از بازنمایی های عبارت سطح بالاتر استفاده می کند و برای به دست آوردن بازنمایی جمله در LSTM تغذیه می شود. CNN-LSTM قادر به ضبط هر دو ویژگی محلی عبارات و همچنین معناشناسی جمله های جهانی و زمانی است.

مدل پیشنهادی

نمای کلی مدل ما در بالا نمایش داده می شود. این مدل به طور کلی می تواند به سه مرحله منتقل شود:
- رتبه بندی توییت.
- توییت قبل از پردازش.
- تجمع بین گروهها.
در مرحله 1 ، ما یادگیری شات صفر را در این پاراگراف انجام می دهیم تا مهمترین توییت ها را به صورت روزانه انتخاب کنیم. توییت ها سپس با رویکرد تعبیه شده نهفته رتبه بندی می شوند ، که این یک رویکرد مشترک برای یادگیری شات صفر در تنظیمات دید رایانه است. در دامنه متن ، ما این مزیت را داریم که می توانیم از یک مدل واحد استفاده کنیم تا هم داده ها و هم نام های کلاس را در همان فضا جاسازی کنیم و نیاز به مرحله تراز داده گرسنه را از بین ببریم. بنابراین ما تصمیم گرفتیم که برخی از آزمایشات را با جمله-Bert انجام دهیم ، یک تکنیک اخیر که نمایش های توالی BERT را برای افزایش غنای معنایی به خوبی تنظیم می کند ، به عنوان روشی برای به دست آوردن توالی و تعبیه های برچسب.
در مرحله 2 ، ما برخی از کارهای پیش پردازش متن را انجام می دهیم. اگر متن به خوبی از پیش پردازش شود ، طبقه بندی متن به طور کلی بهتر کار می کند. مقداری وقت اضافی به آن اختصاص دهید ، در پایان همه ارزش آن را خواهد داشت.
در مرحله 3 ، ما توییت های روزانه K را به منظور جمع آوری اطلاعات معنایی در سطح بین گروه ها ترکیب می کنیم. سرانجام ، آن را به یک لایه softmax منتقل کنید تا آن را در توزیع احتمال متشکل از 2 احتمال (بالا یا پایین) متناسب با نمایی شماره های ورودی قرار دهید.
تنظیم آزمایش
ما ترانسفورماتورها را از Huggingface به عنوان پیاده سازی انتخاب می کنیم و نسخه Bert-Base را انتخاب می کنیم. ما ورودی BERT را به 64 نشانه کوتاه می کنیم و پارامترهای BERT را در حین آموزش تنظیم می کنیم. ما بهینه ساز آدام را با نرخ یادگیری اولیه 2E-5 اتخاذ می کنیم. ما تنظیمات ترکیبی را با احتمال ترک 0. 25 برای کاهش بیش از حد مناسب اعمال می کنیم. اندازه دسته ای 32 است. دوره تمرین 4 است. وزن تنظیم L2 0. 1 است. هنگام تقسیم مجموعه داده ها ، ما تضمین می کنیم که نمونه های موجود در مجموعه قطار در مجموعه و آزمایش معتبر قرار دارند تا از نشت اطلاعات احتمالی جلوگیری شود. پیش بینی فارکس به عنوان یک کار طبقه بندی باینری (بالا یا پایین) انجام می شود. معیارهای ارزیابی ضریب همبستگی F1 و متیوز (MCC) است. MCC اغلب در پیش بینی حرکت سهام گزارش می شود زیرا می تواند با مشکل عدم تعادل داده ها مقابله کند.
نتیجه
طرح تاریخچه

پشتی

نتیجه
در این پروژه ما تجزیه و تحلیل احساسات و ویژگی های پردازش سیگنال را برای پیش بینی روند روزانه فارکس بررسی کردیم. پیش بینی به عنوان یک مشکل طبقه بندی باینری مطرح می شود که مدل پیش بینی می کند که آیا فارکس بالا یا پایین می رود. هر دو Word2VEC و BERT برای یافتن بهترین زیر مجموعه های ویژگی برای مشکل طبقه بندی استفاده می شوند. نتایج نشان می دهد که مدل پیشنهادی هنوز راه طولانی دارد.
فارکس کاران ایران...
ما را در سایت فارکس کاران ایران دنبال می کنید
برچسب :
نویسنده : ديناروند فهيمه
بازدید : <-PostHit->
تاريخ : جمعه
19 خرداد
1402 ساعت: 19:56