بک تریدر: چیست, نحوه نصب, استراتژی ها, تجارت و موارد دیگر

  • 2022-06-17

پایتون معامله گران و سرمایه گذاران را قادر می سازد تا استراتژی های خود را دوباره تست کنند تا بتوانند با مشاهده عملکرد گذشته استراتژی خوب یا نه استراتژی را ارزیابی کنند. با این حال همه مهارت های کدنویسی بالایی ندارند که بتوانند تست پشتی خود را به دقیق ترین و موثرترین روش اجرا کنند. با تشکر از کتابخانه بک تریدر, همه می توانند استراتژی های خود را به روشی موثر و دقیق دوباره تست کنند.

دریابید که چگونه می توانید با کتابخانه بک تریدر در این وبلاگ تست پشتی انجام دهید که شامل موارد زیر است:

معامله گر است?

بک تریدر یک کتابخانه متن باز پایتون است که می توانید برای بک تست استفاده کنید, تجسم استراتژی, و تجارت زنده.

اگرچه کاملا امکان پذیر است که استراتژی معاملاتی الگوریتمی خود را در پایتون بدون استفاده از کتابخانه خاصی تست کنید, بک تریدر ویژگی های بسیاری را فراهم می کند که این روند را تسهیل می کند. به طور کلی هر یک از اجزای پیچیده بک تست معمولی را می توان با فراخوانی توابع خاص با یک خط کد ایجاد کرد.

چگونه به نصب کتابخانه بک تریدر?

برای نصب کتابخانه بک تریدر نیاز خاصی وجود ندارد. همچنین هیچ وابستگی ندارد. شما می توانید این کتابخانه را با استفاده از مدیر بسته "تصویر در تصویر"نصب کنید.

برای نصب کتابخانه بک تریدر با استفاده از "تصویر در تصویر" مدیر بسته, باز کردن خط فرمان (و یا ترمینال برای کاربران مک) سپس کد زیر را تایپ کنید:

پیپ نصب بک تریدر

با امتحان کد زیر می توانید با موفقیت نصب شود یا خیر:

اگر چه هیچ وابستگی وجود دارد, برای استفاده از ویژگی های رسم از کتابخانه معامله گر, "ماتلوتلیب" مورد نیاز است. شما می توانید این کتابخانه را با استفاده از همان راه نصب کنید.

لطفا توجه داشته باشید که جدیدترین نسخه کتابخانه ماتلوتلیب ممکن است هنگام استفاده با بک تریدر خطاهایی ایجاد کند. با نسخه 3.2.2 کتابخانه ماتلوتلیب سازگار است. بنابراین هنگام نصب باید این نسخه را مشخص کنید.

نصب پیپ ماتلوتلیب==3.2.2

اکنون می توانید از بک تریدر با عملکرد کامل خود استفاده کنید.

اولین کد خود را با بک تریدر ایجاد کنید

در این قسمت شما از طریق اجزای اصلی برای ایجاد یک چارچوب پشتی با کتابخانه بک تریدر می روید. همانطور که با تمام کتابخانه های خارجی, اولین, شما نیاز به وارد کردن کتابخانه بک تریدر.

واردات بک تریدر به عنوان بی تی

اولین چیزی که باید در مورد این کتابخانه بدانید کلاس سربرو است. کتابخانه ای که بیشتر فعالیت ها را انجام می دهد. این یک موتور است که داده ها را بازخوانی می کند, استراتژی را شبیه سازی می کند و یافته ها را نشان می دهد و به طور متناوب ورودی ها و خروجی ها را ترسیم می کند.

شما می توانید موتور سربرو را ایجاد کنید و داده ها را اضافه کنید, استراتژی و سایر ورودی ها مانند شروع مبلغ سرمایه گذاری و کارمزد و با کد زیر اجرا کنید:

قبل از رفتن به یکی دیگر از اجزای مهم بک تریدر که کلاس استراتژی است, اجازه دهید راه های واکشی داده ها را بررسی کنیم. در کد بالا " افزودن داده()" باید داده های شما را به عنوان یک پارامتر درج کند.

بنابراین قبل از این خط باید داده ها را به صورت اینترنتی یا برونخط وارد کنید. در اینجا دو گزینه مختلف برای خواندن داده ها برای مغز بک تریدر وجود دارد:

چگونه یک استراتژی را با بک تریدر تست کنیم?

برای تست پشت یک استراتژی باید یک کلاس استراتژی تعریف کنید و این استراتژی را با تایپ کردن نام کلاس در داخل پرانتز در کد بالا به نمونه مغزی اضافه کنید.

در این قسمت اجزای کلاس استراتژی را مرور خواهید کرد. این مولفه ها توابع مورد استفاده برای تعریف متغیر هستند, اقدامات تجاری ورود به سیستم و سیگنال نسل.

اولین تابع ورود است():

این تابع برای خروجی اطلاعات است که شما می خواهم برای ذخیره و چاپ استفاده می شود. ما این تابع نمونه در حالی که توضیح تابع دیگری از این کلاس, بعد():

این یک مثال ساده است که قیمت های بسته شدن را چاپ می کند. در طول تست بک این تابع جایی است که شما سیگنال تولید می کنید.

به عنوان مثال بیایید از یک استراتژی استفاده کنیم که وقتی قیمت به زیر میانگین متحرک 100 روزه می رسد بفروشد و وقتی از میانگین متحرک 100 روزه عبور کند خرید کند.

با این حال, قبل از نوشتن این استراتژی, شما باید یکی دیگر از تابع بک تریدر می دانم, "__اینیت__(خود)". این تابع جایی است که شما متغیرها و شاخص هایی را که در استراتژی خود استفاده می کنید تعریف می کنید. با تشکر از ویژگی های شاخص معامله گر, شما به راحتی می توانید شاخص های فنی محاسبه.

برای این استراتژی باید میانگین متحرک 100 روزه را محاسبه کنیم. می توانید این شاخص را با کد زیر تعریف کنید:

اکنون می توانید عملکرد استراتژی سفارشی خود را برای تولید سفارشات ایجاد کنید. فرض کنید قانون ورود همان قانونی است که در بالا توضیح داده شد و قانون خروج موقعیت را برای 4 دوره حفظ می کند.

به طور خلاصه تا کنون, ما ایجاد کرده اند 3 توابع برای کلاس استراتژی ما. اولین تابع برای ورود به سیستم است که اقدامات را هنگام تماس با ما چاپ می کند. دومین تابع اصلی ("__در__") است که متغیرها و شاخص ها را برای استراتژی ما تعریف می کنیم. سپس تابع "بعدی()" را برای تعریف قوانین ورود و خروج ایجاد کردیم.

تابع گذشته است برای چک کردن اینکه سفارش ما ارسال شده از طریق" بعدی () " تابع اجرا شده است یا نه. این تابع نامیده می شود"اطلاع دهید_ سفارش ()". این تابع نامیده می شود به اطلاع از وضعیت سفارش.

اکنون شما می توانید یک استراتژی را دوباره امتحان کنید. در اینجا کد کاملی برای تست مجدد این استراتژی ساده وجود دارد.

چگونه می توان تجارت زنده را با بک تریدر انجام داد?

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

مثلا, به زندگی می کنند-تجارت در اوندا, اولین, شما نیاز به نصب "اونداپی" با استفاده از مدیر بسته "تصویر در تصویر":

نصب پیپ گیت + https://github. com/oanda/oandapy. git

اکنون می توانید با کد زیر از کارگزار خود استفاده کنید:

برای نمونه خوراک داده از اواندا می توانید از کد زیر استفاده کنید:

شما می توانید اسناد بک تریدر را برای تجارت زنده برای اطلاعات بیشتر و راه های اتصال سایر کارگزاران مرور کنید.

مزایای بک تریدر

مزایای بسیاری از بک تریدر در هنگام بک تست وجود دارد. اول از همه واقعا قدرتمند و سریع است. شما می توانید نتایج یک رویداد را در عرض چند ثانیه به عقب برگردانید حتی اگر یک مجموعه داده طولانی داشته باشید.

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

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

در اینجا نمودار تولید شده برای استراتژی نمونه ما است.

Backtrader: Sample Trading Strategy

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

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

همچنین این صفحه مستندات قابل درک است که می توانید نحو کد و نمونه هایی را برای همه قسمت های این کتابخانه پیدا کنید.

محدودیت های بک تریدر

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

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

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

نتیجه گیری

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

به طور خلاصه فرایند ایجاد کلاس استراتژی, شما می توانید متغیرهایی مانند شاخص های فنی مورد استفاده در استراتژی در زیر تعریف "__اینیت__ _ ()" تابع. برای چاپ اقداماتی مانند ایجاد سفارش در هنگام تست پشتی باید با عبور از متنی که می خواهید چاپ کنید با عملکرد "ورود()" تماس بگیرید.

همچنین عملکرد "اطلاع رسانی ()" برای چاپ اینکه سفارش ارسال شده پس از تولید سیگنال تکمیل شده است یا خیر استفاده می شود. در نهایت تابع " بعدی ()" جایی است که شرایط سیگنال را تعریف می کنید.

لطفا توجه داشته باشید که لزوما لازم نیست تغییراتی در عملکردهای "ورود به سیستم()" و "اطلاع رسانی _ سفارش()" ایجاد کنید. شما می توانید بدون هیچ تغییری استفاده کنید. برای ایجاد یک کلاس استراتژی برای استراتژی خود را, شما نیاز به ایجاد تغییرات به "__اینیت__()" و "بعدی()" توابع.

شما می توانید دوره استراتژی های معاملاتی نوسان را در مورد کوانترا بررسی کرده و در صورت رضایت از نتایج در دنیای واقعی اعمال کنید.

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

برچسب ها

ثبت دیدگاه

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