در پایان مقاله ، شما می دانید که چگونه می توانید یک مشکل معاملاتی را به روشی احتمالی ساختار دهید. همچنین ، شما یاد می گیرید که چگونه با گوش دادن به متخصصان ، روند مهندسی ویژگی را بهبود بخشید. در پایان ، ما یک جنگل تصادفی را با داده های واقعی آموزش خواهیم داد تا از این مفاهیم استفاده کنیم!.(آهنگ جایزه: تجسم جالب).
0) انگیزه ما
این داستان است: ما سرمایه گذار هستیم و بیایید بگوییم 1،199 دلار دلار (به زودی خواهید فهمید که چرا من از 1،199 و نه 1000 استفاده می کنم) و هدف ما این است که از آنها بیشترین استفاده را کنیم (آیا می توانیم چیزی بخواهیمدیگری؟)ما تصمیم گرفتیم به دلیل نوسانات آن وارد بازار رمزنگاری شویم. برای حفظ مشارکت خود ، باید سود مداوم کسب کنیم. ما می خواهیم بدون فراموش کردن درک شغلی که توسط معامله گران استفاده می شود ، از یادگیری ماشین استفاده کنیم. اکنون ، تنها چیزی که باید بدانیم این است که چگونه (وای ... من به طور قطعی از آن در رقابت بعدی آزاد خود استفاده می کنم). آیا ما این کار را انجام خواهیم داد؟بیایید آن را بفهمیم!
0. a) آیا می توانم از این چیز جدیدی یاد بگیرم؟
پاسخ سریع: بله ، این قصد من است. من از شما دعوت می کنم 18 دقیقه بعدی خود را - طبق تخمین متوسط - در اینجا با من بگذرانید. اگر اکنون وقت ندارید ، فقط این پیوند را به دفترچه یادداشت خود اضافه کنید ، اما برای استفاده بیشتر از اینجا ، من تمام توجه شما را می خواهم. من می دانم که من چیزهای زیادی می خواهم ، اما به شما اطمینان می دهم که این ارزش آن را خواهد داشت. بنابراین ، چرا من این را می نویسم؟:
اول: من بسیاری از مقالات مربوط به تجارت را با مدلهای باورنکردنی آموزش دیده ، با استفاده از الگوریتم های چشمگیر ، تجسم جالب و سبک نوشتن عالی دیده ام. اما آنچه من پیدا نکردم که با جزئیات بیشتری توضیح داده شده است ، نمونه ای آسان با اساسی برای درک نحوه استفاده از آنها در دنیای واقعی است.
دوم: مقدار زیادی از این مقالات را می توان در گروه هایی مانند موارد زیر فهرست بندی کرد: "استراتژی های خود را با تجارت خود با ربات خود تنظیم کنید" و "بهترین مدل یادگیری ماشین برای پیش بینی قیمت سهام".
نوع "تجارت ربات" برای درک منطق بسیار مناسب است که می تواند به اندازه کافی تعامل بین شاخص ها و رفتارهای نمودار قابل مشاهده را منعکس کند: درک کسب و کار. از طرف دیگر ، مدل های یادگیری ماشین با استفاده از شاخص ها به عنوان متغیرهایی که صحنه گسترده تری از بازار را ضبط می کنند ، عالی هستند: دانش علوم داده.
آنچه من از دست داده ام ، این یک ترکیب از این مفاهیم است. مشکل تجارت رباتها این است که ممکن است یک استراتژی سفت و سخت ساده توسط شاخص های دیگر پشتیبانی نشود. از طرف دیگر ، نوع "قیمت سهام" روی شاخص ها تمرکز دارد ، اما آنها فاقد زمینه هستند و بدون آن ، آنها معمولاً بی فایده یا حداقل مؤثر هستند.
0. b) دستور کار
همانطور که می بینید ، من سعی خواهم کرد که به شما در مورد چگونگی مقابله با این مشکلات بپردازم. در تلاش من برای تمرکز این موضوع بر روی مفاهیمی که اخیراً در معرض دید قرار گرفته است ، برخی از جزئیات قسمت آموزش مدل (مانند انتخاب مدل یا تنظیم هایپرپارامتر) را پشت سر می گذارم. ایده آزمایش شده این خواهد بود که اگر بتوانیم آن مفاهیم تجاری را بگیریم و آنها را با دانش علوم داده خود مخلوط کنیم ، می توانیم دقت خود را بهبود بخشیم. دستور کار ما:
- من با معرفی شما به برخی از مفاهیم لازم شروع می کنم. فقط اصول اولیه حتی قبل از شروع فکر کردن در مورد آموزش مدل ما.
- ما در مورد چگونگی تأثیر هزینه ها با تأثیرگذاری بر بازده مورد انتظار ما صحبت خواهیم کرد.
- ما در مورد الزامات مدل های نامزد برای ضبط روشهای مدیریت ریسک بحث خواهیم کرد.
- در پایان ، ما توضیح خواهیم داد که چگونه یک تفسیر تجاری از بازار را بدست آوریم و سپس از آن برای تقویت مدل های خود استفاده کنیم. اینجا جایی است که کار انجام می شود ، هیجان انگیز ترین قسمت! اگر زمینه را درک کردید ، می توانید قسمت های دیگر را به سرعت بخوانید ، اما در اینجا تمرکز کنید. شما پشیمان نخواهید شد
- ما با غذای اصلی خود کمی تلاوت خواهیم کرد.
1) مدیریت ریسک
اول ، بیایید با تعریف آن در یک زمینه تجارت شروع کنیم.
مدیریت ریسک: "آیا فرایندی است که برای کاهش یا محافظت از حساب تجارت شخصی شما در برابر خطر از دست دادن تمام مانده حساب شما استفاده می شود."
این فرایند شامل تصمیمات مختلف است و در صورت تمایل ، می تواند پیچیدگی باورنکردنی را بدست آورد. در حال حاضر این فراتر از دامنه ما است ، بنابراین ما فقط روی دو مورد از آنها تمرکز خواهیم کرد:
- : آیا ارزش مورد انتظار بازده تجارت است.
- حداکثر ریسک: حداکثر مبلغ کل پول خود را که مایل به انجام آن هستید برای انجام معامله.
1. a) بازگشت مورد انتظار
برای تبدیل شرط های خود به حرکات محاسبه شده ، باید سناریو را ارزیابی کنیم تا بفهمیم شانس ما چیست. و از آنجا که ما قمارباز نیستیم ، باید نقاط توقف-از دست دادن (S/L) و انتفاعی (T/P) را تعریف کنیم. این ارزشهایی هستند که ما برای پایان دادن به تجارت خود تعریف کردیم.
دنیای آرمانشهر را تصور کنید که Covid-19 از بین می رود و اتریوم دوباره به 1000 دلار دلار می رسد. در آن مرحله ، ما تصمیم می گیریم مقداری بخریم. همچنین ، ما احساس کردیم که اگر ارزش بیش از 20 ٪ کاهش یابد ، ممکن است در یک مکان خطرناک قرار بگیریم ، بنابراین اگر ارزش فراتر از 800 دلار $ (S/L) باشد ، آن را می فروشیم. از طرف دیگر ، اگر ارزش بیش از 25 ٪ افزایش یابد ، ما با خوشحالی آن را می فروشیم و سود 250 دلار ما (T/P) را می گیریم.
اگر متغیر زمان را فراموش کنیم ، در هر تجارت ما فقط دو نتیجه داریم ، می توانیم پیروز شویم ، یا می توانیم از دست بدهیم ، بسته به اینکه قیمت آن به چه صورت است (S/L یا T/P). تصور کنید که فکر می کنیم 45 ٪ شانس پیروزی و 55 ٪ از دست دادن را داریم. بازده مورد انتظار به شرح زیر محاسبه می شود.
می توانید ببینید که این تعداد ضرب بین احتمال همه موارد داده شده و بازگشت آنها است. برای مثال ما ، بازده مورد انتظار 2. 5 دلار در هر تجارت است. این بدان معنی است که اگر شانس درست باشد و ما این روند را به عنوان مثال 100 بار تکرار می کنیم ، سود 250 دلار تخمین زده می کنیم.
1. b) حداکثر خطر
کار اساسی دیگر تعریف حداکثر مبلغی است که ما مایل به از دست دادن فقط در یک تجارت واحد هستیم. این امر به این دلیل است که اگر ما به دنبال معامله هایی باشیم که 20 ٪ از پول خود را در یک حرکت به خطر می اندازد ، و ما از دست دادن 3 معاملات اول ما - کاملاً قابل قبول - برخوردار هستیم. ما به نیمی از پول خود می رسیدیم ، اشک می ریزیم و احتمالاً دوستی زیبای ما به پایان رسید.
برای جلوگیری از این امر ، به دلیل دشواری بازگشت از چنین ضرر و به دلیل اینکه چقدر از دوستی ما قدردانی می کنم ، به شما پیشنهاد می کنم که از قانون معمولی 1 ٪ استفاده می کنیم. این بدان معنی است که اگر ما 1،199 دلار دلار داشته باشیم ، اجازه نداریم بیش از 11. 99 دلار در هر تجارت از دست بدهیم.
من یک عاشق ریسک هستم ، بنابراین من به شما تحمیل می کنم که در هر تجارت ، سناریوی از دست دادن ما حداکثر 1 ٪ از دست دادن تعریف خواهد شد (این برای نمونه ما است ، من بد نیستم). چیز مهمی وجود دارد که باید در هنگام انجام این کار ، مستقل از نتیجه ما ، در نظر بگیریم ، ما باید هزینه بپردازیم. چه واقعیت دردناک!
2) زندگی واقعی
بیایید بگوییم که ما از بهترین هزینه های موجود در بازار برای معامله گران تازه کار استفاده می کنیم. ما binance را انتخاب می کنیم. آنها یک کمیسیون 0. 1 ٪ برای سازندگان و سازندگان دارند. این بدان معنی است که اگر Ethereum را با 1. 000 USDT بخریم (به همین دلیل USDT و نه USD) ، ما فقط برای خرید باید 1 هزینه USDT را بپردازیم.
S/L و T/P ما به ترتی ب-1 ٪ و 1 ٪ خواهد بود (به یاد داشته باشید که می تواند هر نقطه S/L و T/P باشد که می خواهید ارزیابی کنید). اگر مقادیر به 990 برسند ، ما وظیفه فروش آن را داریم ، اما فراموش نکنید که برای آن معامله دوم باید 0. 99 USDT بپردازیم. در آن سناریو ، ما 11. 99 USDT را از دست می دهیم ، حداکثر مبلغ تحمل شده برای سرمایه اولیه ما از 1،199 دلار $ ، که اکنون کاملاً معنی دارد.
در صورت رسیدن قیمت به نقطه T/P ابتدا ، ما سود 10 USDT و هزینه های 2. 01 USDT را می گیریم ، به این معنی که ما یک تعادل مثبت 7. 99 USDT را ایجاد می کنیم. با توجه به این سناریو ، چه شانس برای نتیجه مثبتی که باید در اینجا سرمایه گذاری کنیم چیست؟اگر به سرعت به 60 ٪ پاسخ دهید ، مهارت های محاسبه سریع چشمگیر دارید ، در اینجا روش ریاضی ، با توجه به اینکه P (N) ، احتمال یک نتیجه منفی ، P (P) یک مثبت و 1-P (n) = است. P (P).
ما به بازده مورد انتظار (1) نیاز داریم تا بالاتر یا برابر از صفر باشد. در غیر این صورت ، ما به طور مداوم پول از دست می دهیم. یک چیز مهم از این امر این است که اگر درصد S/L و T/P را افزایش دهیم ، به P (P) احتیاج نداریم تا آنقدر زیاد باشد. به عنوان مثال ، اگر آخرین سناریوی خود را با 3 ٪ و-3 ٪ ارزیابی کنیم ، فقط به 53. 3 ٪ نیاز داشتیم تا تجارت را انجام دهیم.
به همین دلیل من به هر شخصی که می تواند در مورد Robinhood یک حساب کاربری ایجاد کند ، حسادت می کنم. من مجاز نیستم زیرا "از خارج از ایالات متحده" هستم. همانطور که مشاهده می کنید ، تجارت بدون هزینه شما را در موقعیت بسیار بهتری قرار می دهد. شما شروع به از دست دادن نمی کنید. اما به اندازه کافی از شکایت من ، بیایید به دنبال آنچه ما را به اینجا می آورد ، برویم.
3) تعریف شانس با استفاده از یادگیری ماشین
ما در مورد بازگشت مورد انتظار زیاد صحبت کردیم ، بنابراین ما قطعاً از این رویکرد استفاده می کنیم ، اما این تنها نیست. در واقع متداول ترین من دیده ام استفاده از اندازه گیری نوسانات (به روشنی در اینجا توضیح داده شده است) برای تخمین خطر معامله. من این را به شما می گویم زیرا این تقریب استاندارد است - که در اینجا برای حفظ ساختار استفاده نمی شود - اما گزینه بسیار خوبی است.
ما هر دو باهوش هستیم اما بدون تجربه زیادی در بازار رمزنگاری هستیم. بنابراین ما می دانیم که روده های ما و مقاله Bollinger Bands® که یک بار دیدیم ، برای تعریف احتمال مرتبط با نقاط S/L و T/P ما کافی نیست. اکنون هدف ما این است که فکر کنیم کدام الگوریتم یادگیری ماشین برای این مشکل مناسب است.
ما مشکل را با نتیجه مثبت و منفی می بینیم. به همین دلیل ، می توانیم ادعا کنیم که این یک مشکل طبقه بندی باینری استاندارد است. همچنین ، ما به یک طبقه بندی کننده نیاز داریم که بتواند در شرایط خاص احتمال هر نتیجه را به ما بدهد. در حالت ایده آل چیزی شبیه به این:
چرا اینطور؟از آنجا که ما باید بدانیم که آیا بازده مورد انتظار تجارت ما مثبت است یا خیر. این یک سیگنال ساده "بالا می رود" برای ما کافی نیست. این نوع مدل به عنوان یک برآورد قابلیت اطمینان کلاس فهرست بندی می شود. تجارت در مورد برنده شدن در تمام ورودی ها نیست. این در مورد احتمالات است!
حتی اگر ما می توانیم گزینه های زیادی را با آن طبقه بندی برای انگیزه های مختلف دور کنیم (KNN ، SVM ، تمام مدلهای مختلف اتورگرایی ، K-Means ، در میان بسیاری دیگر) ، ما هنوز نامزدهای عالی داریم.
برخی از گزینه های ما طبقه بندی کننده ساده لوح ، رگرسیون لجستیک ، درخت تصمیم گیری ، جنگل تصادفی یا انواع مختلف شبکه های عصبی است. با نامزدهای کمتری ، کار نیز کمتر است. برای آزمایش نتایج همه آنها شگفت انگیز خواهد بود. همانطور که قبلاً به شما گفتم که این مرزهای تعریف شده برای این مقاله است. اما به عنوان مثال ، ما یک جنگل تصادفی را آموزش خواهیم داد.
4) چگونه می توان منطق تجارت را به عنوان متغیرهای مشکلات یادگیری ماشین ضبط کرد؟
من می خواهم با یک مثال نگاهی اجمالی به این موضوع بدهم. ایده اصلی درک بینش ارائه شده توسط کارشناسان ما است: معامله گران! اگر آنها تمام روز را برای انجام این کار صرف کنند ، ما باید فروتن باشیم و آنچه را که آنها باید به ما بگویند بشنویم. این یک فرآیند کلیدی در این مشکل است ، اما همچنین در هر مشکلی که مایل به حل آن هستید. ما به آن زمینه تجاری احتیاج داریم.
هدف ما انجام بهترین مهندسی ویژگی ممکن است!. و روند ایجاد متغیرهای ما باید مبتنی بر مفاهیم تجاری باشد. و تنها پس از آن ، ما می توانیم تمام تحولات معمول ، مانند استاندارد سازی یا عادی سازی را اعمال کنیم (قسمت آخر فقط در صورت معنی!).
هدف از این بخش مقایسه عملکرد یک رویکرد ساده لوحانه ، سپس تقریب معاملاتی است و در آخرین نفس سعی می کند تمام قسمت ها را با هم جمع کند. فرض خواهیم کرد که فقط می توانیم موقعیت های طولانی را بدست آوریم و به همین دلیل ، ما فقط به پیش بینی های نتایج مثبت علاقه مندیم.
PS: من تمام این کد را در GitHub خود می گذارم. با وجود چند استثنا ، کد برای به دست آوردن سیالیت عمومی خواهد بود. علاوه بر این ، برخی از نتایج ممکن است به دلیل تصادفی نمونه برداری ، تغییر کند (نه به طرز چشمگیری ، من آنها را آزمایش کردم).
4. 1) داده های ما
ما داده های خود را از Binance بازیابی خواهیم کرد ، شما می توانید این وبلاگ را بخوانید تا کلید API را ایجاد کنید. در اینجا مستندات Python-Binance آورده شده است. ما از فواصل 5 دقیقه ای داده ها استفاده خواهیم کرد. در زیر کد برای جمع آوری داده ها (3 خط برای داده ها ، من به فلش تبدیل می شوم؟).
4. 2) چگونه 0 و 1 را برچسب گذاری می کنیم؟
من روشی را ساختم که تعیین می کند ابتدا چه اتفاقی می افتد: افزایش 0. 5 ٪ یا کاهش 0. 5 ٪. منطق زیر است: این روش به دنبال 100 دوره زمانی بعدی (برای داده های 5 دقیقه ای ، بیش از 8 ساعت) است و بررسی می کند که آیا قیمت آستانه تعریف شده ما را تخلف می کند ، فقط اولین مقدار رسیده است.
من فقط از قیمت نزدیک استفاده کردم ، زیرا مقادیر بالا و پایین می تواند همزمان بالاتر یا پایین تر از اهداف ما باشد و به ما دردسر می زند. همانطور که انتظار می رفت ، در همه موارد ، نتیجه ای حاصل شد ، اما درصد آن چندان زیاد نیست و ما فقط می توانیم از شر آن داده ها خلاص شویم.
توجه فنی: داده های جمع آوری شده شامل 500 روز قبلی تا تاریخ ‘2 2-04-2020 است. من 0. 5 ٪ نتایج را با 1s و-0. 5 ٪ با 0 نشان دادم. همانطور که مشاهده می کنید ، داده ها به وضوح عدم تعادل نیستند. از مجموع 143. 542 (120،245 برای قطار و 23297 برای آزمایش نتایج) ، داده ها 49. 85 ٪ منفی ، 49. 82 ٪ مثبت و 1. 26 ٪ بدون نتیجه.
4. 3) شاخص ها
بسته TA روشی برای ساخت شاخص های مفید زیادی دارد. نکته جالب در مورد آن این است که تمام پارامترهایی که باید انتخاب کنیم مقدار پیش فرض خود را دارند. با این وجود ، اگر بخواهیم می توانیم آنها را تغییر دهیم.
4. 4) MACD
معامله گران درک کسب و کار هستند ، و اگر ما مدل خود را فقط در تحلیل فنی پایه گذاری کنیم - که ممکن است منعکس کننده اخبار باشد - باید در مورد شاخص ها بدانیم!. اما همانطور که قبلاً به شما گفتم ، این افراد به سختی تلاش می کنند تا آنها را برای تعریف استراتژی ها متناسب کنند ، که در نهایت به شهود در مورد ترکیبات می رسند. کار ما این است که آن شهود را به ریاضی تبدیل کنیم!.
به عنوان نمونه ، من می خواهم در مورد شاخص میانگین همگرایی در حال حرکت (MACD) با شما صحبت کنم. این یکی از عوام ترین و گسترده بین بازرگانان است. MACD با کم کردن میانگین متحرک نمایی بلند مدت (EMA) از EMA کوتاه مدت محاسبه می شود. پس از آن ، شما یک "خط سیگنال" ایجاد می کنید ، که EMA از MACD است. بیشترین پارامترها به ترتیب 26 ، 12 و 9 است.
با استفاده از MPLFInance می توانید مانند مواردی که توسط معامله گران استفاده می شود ، به تجسم دست یابید. در بالا ، می توانید یک شمعدان معمولی OHLC را در صفحه اصلی مشاهده کنید. در پانل پایین ، ما دو مورد در جریان است ، حجم روی هیستوگرام و شاخص های نمایش داده شده با یک خط نقطه (MACD در خاکستری و macd_signal در سیان).
ممکن است شما گیج شوید زیرا بازنمایی معمول استفاده از تفاوت بین دو MACD برای ایجاد هیستوگرام است. اما احساس گم شدن نکنید! هیستوگرام حجم است. من فقط مقدار اطلاعات موجود در نمودار را به حداکثر می رسانم (ما نیازی به هیستوگرام با اطلاعات موجود در خطوط نداریم ، نه؟).
4. 5) آیا می توانیم به تنهایی؟
خوب ، شاخص های جالب ، تجسم جالب ، اما چگونه از آنها استفاده کنیم؟این بخشی است که ما باید برخی از استراتژی ها را امتحان کنیم. با علم داده ما ، دانش کافی خواهد بود؟بیایید آن را بفهمیم! بخش زیر این است که زمینه ای از متغیرها را به شما ارائه دهد. من شاخص ها را در بعضی از سطل ها جدا کردم. ما می توانیم بازرسی کنیم که آیا ارزش ها به تنهایی سرنخ یک نتیجه مثبت یا منفی را در این محدوده ها به ما می دهند.
آموزش کار در فارکس...
ما را در سایت آموزش کار در فارکس دنبال می کنید
برچسب :
نویسنده : Mihayloo
بازدید : <-PostHit->
تاريخ : چهارشنبه
2 فروردين
1402 ساعت: 14:05