استفاده از یادگیری ماشین در معاملات ارزهای دیجیتال

  • 2022-04-8

Applying Machine Learning To Cryptocurrency Trading

این پست شامل یک حساب کاربری از یک پروژه نرم افزاری یادگیری ماشین در حوزه بهینه سازی سرمایه گذاری های مالی / اتوماسیون در بازارهای رمزنگاری مبتنی بر بلاکچین است. این مقاله مشکل دامنه را مشخص می کند و همچنین فرایند توسعه راه حل و پروژه های کلیدی پروژه را توصیف می کند.

Photo Big 3

انگیزه پشت این پروژه ناشی از چالش استفاده از یادگیری ماشین برای تربیت مدلی است که سیگنال های خرید/نگهداری/فروش را برای بازارهای خاص فراهم می کند که احتمالا می تواند منجر به افزایش ارزش نمونه کارها در طول زمان شود. با توجه به زمینه تجارت, ما تصمیم به تجربه با بازار ارز رمزنگاری مبتنی بر بلاکچین, مانند اتریوم, لیت کوین, استراتیس و بسیاری دیگر-ما با مورد کار 70 بازار در پروژه تحقیقاتی. با توجه به اینکه بازارهای ارزهای رمزنگاری شده بسیار بی ثبات هستند و هنوز به شدت تحت سلطه ربات های معاملاتی با فرکانس بالا نیستند, فرصت های زیادی برای انجام معاملات خوب با تسهیل ربات ها وجود دارد. این حداقل فرضیه ما یا بهتر بگوییم فرضیه ای بود که در تجربه ای که انجام دادیم تایید شد.

دلیل اصلی استفاده از ربات های تجاری چیست? کامپیوتر منطقی عمل می کنند و نه مغرضانه با چیزهایی مانند اعتیاد به مواد مخدره, ترس از دست رفته, حرص و طمع و غیره. رباتها برخلاف انسانها عاری از احساساتی هستند که اغلب مردم را به سمت تصمیمات تجاری نادرست سوق می دهند. استراتژی هایی وجود دارد که شامل تجزیه و تحلیل احساسات پست های رسانه های اجتماعی است اما در مورد ما تصمیم گرفتیم از این نوع اطلاعات استفاده نکنیم. به طور خلاصه ما تصمیم گرفتیم یک ربات بسازیم که به ما کمک کند تا در بازارهای رمزنگاری مبتنی بر بلاکچین به طور موثرتری تجارت کنیم و در نتیجه ارزش سرمایه گذاری خود را در بازار افزایش دهیم.

ما به استارتاپ ها و شرکت های کوچک و متوسط کمک می کنیم تا پتانسیل کامل داده ها را باز کنند. کشف بهترین شیوه, ارزیابی طراحی تجارت. پیاده سازی معماری داده های مدرن با ابر داده دریاچه و/یا انبار داده. ببینید چگونه می توانیم به شما کمک کنیم

ایجاد یک راه حل برای پاسخگویی به چالش

این پروژه شامل دو مولفه بود:

یک لایه ارتباطی دولتی بین ربات معاملاتی و صرافی ارزهای دیجیتال (ما تصمیم گرفتیم که به صرافی پولونیکس برویم). این قسمت با اکسیر اجرا شد. دومی یک زبان برنامه نویسی نسبتا جوان است که در داخل ماشین مجازی ارلانگ تست شده در حال اجرا است. پس در این زمینه خاص ما نیاز به یک ابزار است که می تواند حجم بالایی از ارتباطات همزمان رسیدگی, اکسیر به نظر می رسید بزرگ مناسب برای این کار.

خود ربات تجاری که موضوع مقاله است.

در حالی که راه حل را ساختیم, ما تصمیم گرفتیم از کتابخانه اسکیت-یادگیری (که در پایتون نوشته شده است) استفاده کنیم, زیرا با تعداد زیادی ابزار پیش پردازش داده مستند و کاربردی همراه است, الگوریتم ها و همچنین راه حل هایی برای تجسم نتایج تولید شده. این انتخاب باعث شد که ما بتوانیم به جای پیچیدگی های فنی پیاده سازی بر روی مشکل دامنه تمرکز کنیم. از وظیفه بود به تناسب هر ورودی از مجموعه داده های ما را به یک دسته واحد (خرید/نگه دارید/فروش), مشکل عمده ما مواجه در مورد طبقه بندی بود.

به منظور تمرین و بررسی عملکرد مدل, ما داده های قیمت تاریخی چند سال گذشته (بین 1.5 تا 4 سال بسته به داده های بازار موجود) را برای حدود 70 جفت مختلف بیت کوین / ارز رمزنگاری شده در یک تبادل محبوب بیت کوین جمع و پردازش کردیم. منبع دوم میلیون ها ورودی داده را در اختیار ما قرار داد که به بردارهای ویژگی تبدیل شدند. این مدل با استفاده از دادههای یک بازار اموزش داده شد در حالی که شبیهسازیها بر روی دادههای بازارهای باقیمانده اجرا شد. در مورد شبیهسازیها ما یک سبد اولیه از 0.008 بیت کوین (در زمان 10 دلار) و بالاترین کارمزد معاملات ممکن را در یک صرافی معین فرض کردیم. در ابتدا مجموعه داده ورودی باید کلاسهای خرید/نگهداری / فروش مربوطه را از قبل تعیین کند تا بتواند از کلاسها به عنوان نمونه برای یادگیری استفاده کند. در ابتدا تنها ویژگی هایی که ما استخراج کردیم قیمت بسته شدن از دوره های زمانی قبلی و فعلی بود. r

Photo Small 3 C

در ابتدا نتایج شبیه سازی شده بسیار امیدوار کننده نبود – دو مشکل بسیار مهم را نشان داد. اولا مدل بیشتر اوقات تصمیمات نادرستی می گیرد که منجر به کاهش مداوم ارزش نمونه کارها در طول زمان می شود. موضوع دیگر – که در مجموعه دیگری از موارد بازار مطرح شد – این بود که این مدل معاملات بسیار کمی را در یک بازه زمانی چند ساله انجام می دهد بدون اینکه سود قابل توجهی کسب کند. در این مرحله برای بهبود عملکرد مدل چند قدم برداشتیم. اولین گام شامل استخراج ویژگی های اضافی بود. ما در مورد شاخص های تجزیه و تحلیل فنی تحقیقاتی انجام دادیم و در نهایت لیستی از حدود 10 شاخص را پیدا کردیم که به نظر می رسید بهترین نتایج را در چالش های تجاری مشابه تضمین می کند. در مرحله دوم, ما کار می کرد به درخواست الگوریتم های مختلف طبقه بندی و پارامترهای خود را بهینه سازی. ما با استفاده از ماشینهای بردار پشتیبان, تجزیه و تحلیل تمایز خطی/درجه دوم, جنگل تصادفی, زانوبور و بسیاری دیگر را تجربه کردیم, با این حال انتخاب نهایی ما که بهترین نتیجه را داشت طبقه بندی کننده ادابوست بود. در مجموع, در پایان ما ساخته شده است یک طبقه بندی که در تغییرات قیمت های اخیر و همچنین شاخص های تجزیه و تحلیل فنی متکی.

نکات کلیدی

پس از اعمال تمام ترفند ذکر شده در بالا, ما شگفت زده شدند برای پیدا کردن که در بیش از نیمی (43/77) از شبیه سازی اجرا نمونه کارها رسیده حداقل 1 بیت کوین (12500% بازگشت) در برخی از نقطه, و دستاوردهای شد ارتباط با عملکرد بازار داده نمی شود. نتایج در این مرحله از تجربه فراتر از انتظارات ما بود.

پس از شبیه سازی فوق العاده خوب رفت, ما می خواستیم برای شروع تست ربات در برابر بازارهای ارز واقعی به همان سرعتی که ممکن است. نتایج اولیه چیزی را که ما واقعا انتظار داشتیم ثابت کرد: شبیه سازی ها کامل نبودند و برخی مشکلات جدید ظاهر شد.

Photo Small 3 B

    متاسفانه زمانی که ما شروع به تست ربات در یک محیط واقعی کردیم به لحظه ای رسیدیم که صرافی پولونیکس از نظر تعداد کاربران اینترنتی شتاب زیادی می گرفت که منجر به عملکرد بسیار ضعیف مبادله در کل شد. مهندسان پولونیکس برای مقابله با این پدیده تصمیم گرفتند درخواست های مجاز را در یک بازه زمانی مشخص محدود کنند. پس این چیزی است که پروژه ما به طور قابل توجهی بر تکیه, تست ربات ما وجود دارد که در زمان غیر ممکن شد در برخی از نقطه و ما تا به حال به عقب نشینی.

بعضی اوقات سفارشاتی که توسط ربات قرار می گیرد به دلیل خوش بینی/بدبینی بیش از حد ربات در مورد قیمت خرید/فروش پر نمی شود – این چیزی بود که ما در شبیه سازی های خود حساب نکرده بودیم. بیشتر به این دلیل, ربات خواهد شد بسیاری از تصمیمات متناقض که به کاهش کند در ارزش نمونه کارها منجر شود. ما مجموعه ای از ترفند کوچک برای کاهش مشکل ساخته شده, در عین حال اقدامات اصلاحی تنها تا حدی کار می کرد.

ما احساس می کنیم که هنوز خیلی زود است که پروژه را به طور قطعی قضاوت کنیم یعنی موفق بوده یا نه. با وجود مشکلات شرح داده شده ما در تست و بهبود ربات تجاری به عنوان نگاه بسیار امیدوار کننده با توجه به مرحله اولیه توسعه خود را نگه دارید. ما با ارزیابی و تنظیم مداوم عملکرد ربات موفق شدیم تعدادی از نقص ها را برطرف کنیم. ما هنوز چند ایده دیگر در مورد اینکه چه چیزی می تواند بهبود یابد داریم تا راه حل بهتری باشد.

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.