زمانی که به عنوان مهندس توسعه سیستم در یک شرکت مدیریت سرمایهگذاری کار میکردم، یاد گرفتم که برای موفقیت در امور مالی کمی باید در ریاضیات، برنامهنویسی و تجزیه و تحلیل دادهها خوب باشید.
معاملات الگوریتمی یا کمی را می توان به عنوان فرآیند طراحی و توسعه استراتژی های معاملاتی آماری و ریاضی تعریف کرد. این یک حوزه بسیار پیچیده مالی است.
بنابراین، سوال این است که چگونه می توان با تجارت الگوریتمی شروع کرد؟
من قصد دارم شما را از طریق پنج موضوع ضروری که باید مطالعه کنید تا راه خود را به این دنیای جذاب تجارت هموار کنید، راهنمایی کنم.
من شخصا پایتون را ترجیح میدهم زیرا درجه مناسبی از سفارشیسازی، سهولت و سرعت توسعه، چارچوبهای آزمایشی و سرعت اجرا را ارائه میدهد. به همین دلیل، تمام این موضوعات بر روی پایتون برای تجارت متمرکز شده است.
1. برنامه نویسی پایتون را یاد بگیرید
به منظور داشتن یک حرفه شکوفا در علم داده به طور کلی، به اصول اساسی نیاز دارید. هر زبانی را که انتخاب کنید، باید موضوعات خاصی را در آن زبان کاملاً درک کنید.
در اینجا چیزی است که باید برای تسلط بر اکوسیستم پایتون برای علم داده به دنبال آن باشید:
-
- این شامل ایجاد یک محیط مجازی، نصب بستههای مورد نیاز و کار با نوتبوکهای Jupyter یا Google colab است.
- ساختارهای داده – برخی از مهم ترین ساختارهای داده پایتونیک لیست ها، فرهنگ لغت ها، آرایه های NumPy، تاپل ها و مجموعه ها هستند. من چند نمونه را در مقاله پیوند داده شده برای شما جمع آوری کرده ام تا آنها را یاد بگیرید.
- برنامه نویسی شی گرا – به عنوان یک تحلیلگر کمیت، باید مطمئن شوید که در نوشتن کدهای ساختار یافته با کلاس های مناسب مهارت دارید. هنگام استفاده از بسته های خارجی مانند Pandas، NumPy، SciPy و غیره باید یاد بگیرید که از اشیاء و روش های آنها استفاده کنید.
برنامه درسی freeCodeCamp همچنین گواهینامه ای در تجزیه و تحلیل داده ها با پایتون ارائه می دهد تا به شما کمک کند تا با اصول اولیه شروع کنید.
یاد بگیرید چگونه داده های مالی را خرد کنید
تجزیه و تحلیل داده ها بخش مهمی از امور مالی است. علاوه بر یادگیری نحوه مدیریت فریم های داده با استفاده از پانداها، چند موضوع خاص وجود دارد که باید در هنگام معامله با داده ها به آنها توجه کنید.
نحوه کاوش داده ها با استفاده از پانداها
یکی از مهم ترین بسته های موجود در پشته علم داده پایتون، بدون شک پانداها هستند. شما می توانید تقریباً تمام وظایف اصلی را با استفاده از توابع تعریف شده در بسته انجام دهید.
روی ایجاد قاب های داده، فیلتر کردن (loc، iloc، query)، آمار توصیفی (خلاصه)، پیوستن/ادغام، گروه بندی و زیرمجموعه تمرکز کنید.
نحوه برخورد با داده های سری زمانی
داده های معاملاتی همه چیز در مورد تجزیه و تحلیل سری زمانی است. باید یاد بگیرید که داده ها را مجدداً نمونه برداری یا فهرست بندی مجدد کنید تا فرکانس داده ها را از دقیقه به ساعت یا از داده های پایان روز OHLC به داده های پایان هفته تغییر دهید.
برای مثال، میتوانید سریهای زمانی ۱ دقیقهای را با استفاده از تابع نمونهبرداری مجدد به دادههای سری زمانی ۳ دقیقهای تبدیل کنید:
3. نحوه نوشتن الگوریتم های معاملاتی اساسی
یک حرفه در امور مالی کمی نیاز به درک کاملی از آزمون فرضیه های آماری و ریاضیات دارد. تسلط خوب بر مفاهیمی مانند حساب دیفرانسیل و انتگرال چند متغیره، جبر خطی، نظریه احتمال به شما کمک می کند که پایه خوبی برای طراحی و نوشتن الگوریتم ها ایجاد کنید.
میتوانید با محاسبه میانگینهای متحرک روی دادههای قیمتگذاری سهام، نوشتن استراتژیهای الگوریتمی ساده مانند متقاطع میانگین متحرک یا استراتژی بازگشت میانگین و یادگیری در مورد معاملات قدرت نسبی شروع کنید.
پس از انجام این جهش کوچک اما قابل توجه در تمرین و درک نحوه عملکرد الگوریتم های آماری پایه، می توانید به حوزه های پیچیده تر تکنیک های یادگیری ماشین نگاه کنید. اینها نیاز به درک عمیق تری از آمار و ریاضیات دارند.
در اینجا دو کتاب وجود دارد که می توانید با آنها شروع کنید:
-
-توسط دکتر ارنست چان
- کتاب تجارت الگوریتمی و DMA - توسط بری جانسون
و در اینجا چند دوره وجود دارد که به شما کمک می کند تا با پایتون برای تجارت شروع کنید و بیشتر موضوعاتی را که من در اینجا ثبت کرده ام پوشش می دهد:
با استفاده از کد من HARSHIT10 می توانید 10% تخفیف دوره Quantra را دریافت کنید.
4. درباره Backtesting بیاموزید
هنگامی که کدگذاری استراتژی معاملاتی خود را تمام کردید، نمی توانید آن را به سادگی در بازار زنده با سرمایه واقعی آزمایش کنید، درست است؟
گام بعدی این است که این استراتژی را در معرض جریانی از داده های معاملاتی تاریخی قرار دهیم که سیگنال های معاملاتی را تولید می کند. معاملات انجام شده پس از آن سود یا زیان مرتبط (P&L) را به همراه خواهد داشت و انباشت تمام معاملات کل P&L را به شما می دهد. به این بک تست می گویند.
بک تست نیاز دارد که در بسیاری از زمینه ها مانند ریاضیات، آمار، مهندسی نرم افزار و ریزساختار بازار به خوبی تسلط داشته باشید. در اینجا چند مفهوم وجود دارد که باید آنها را یاد بگیرید تا درک مناسبی از بک تست داشته باشید:
- می توانید با درک شاخص های فنی شروع کنید. برای استفاده از این اندیکاتورها، بسته پایتون به نام TA_Lib را کاوش کنید.
- از اندیکاتورهای مومنتوم مانند SAR سهموی استفاده کنید و سعی کنید هزینه تراکنش و لغزش را محاسبه کنید.
- یاد بگیرید که بازده استراتژی تجمعی را ترسیم کنید و عملکرد کلی استراتژی را مطالعه کنید.
- یک مفهوم بسیار مهم که بر عملکرد بک تست تأثیر می گذارد، سوگیری است. شما باید در مورد سوگیری بهینه سازی، سوگیری نگاه به آینده، تحمل روانی و سوگیری بقا یاد بگیرید.
5. معیارهای عملکرد - نحوه ارزیابی استراتژی های معاملاتی
برای شما مهم است که بتوانید استراتژی خود را به اختصار توضیح دهید. اگر استراتژی خود را درک نکنید، احتمال تغییر مقررات یا تغییر رژیم وجود دارد، استراتژی شما شروع به رفتار غیرعادی خواهد کرد.
هنگامی که استراتژی را با اطمینان درک کردید، معیارهای عملکرد زیر می توانند به شما کمک کنند تا بفهمید استراتژی واقعا چقدر خوب یا بد است:
- نسبت شارپ - به طور اکتشافی نسبت ریسک / پاداش استراتژی را مشخص می کند. این بازدهی را که می توانید برای سطح نوسانی که منحنی ارزش سهام متحمل شده است، محاسبه می کند.
- نوسان - «ریسک» مربوط به استراتژی را کمیت می کند. نسبت شارپ نیز این ویژگی را نشان می دهد. نوسانات بیشتر یک دارایی اساسی اغلب منجر به ریسک بالاتر در منحنی حقوق صاحبان سهام می شود و این منجر به نسبت های شارپ کوچکتر می شود.
- حداکثر افت - بزرگترین افت درصدی اوج به پایین در منحنی حقوق صاحبان سهام استراتژی. ماکزیمم افتها اغلب همراه با استراتژیهای حرکتی مورد مطالعه قرار میگیرند، زیرا از آنها رنج میبرند. یاد بگیرید که آن را با استفاده از کتابخانه numpy محاسبه کنید.
- ظرفیت / نقدینگی - مقیاس پذیری استراتژی را برای سرمایه بیشتر تعیین می کند. هنگامی که استراتژی ها در تخصیص سرمایه افزایش می یابد، بسیاری از صندوق ها و شرکت های مدیریت سرمایه گذاری از این مشکلات ظرفیت رنج می برند.
- CAGR - میانگین نرخ رشد یک استراتژی را در یک دوره زمانی مشخص میکند. با فرمول محاسبه می شود: (بازده استراتژی تجمعی)^(252/تعداد روزهای معاملاتی) — 1
منابع بیشتر
این مقاله به عنوان یک برنامه درسی پیشنهادی برای کمک به شما برای شروع تجارت الگوریتمی عمل کرد. این فهرست خوبی از مفاهیم برای تسلط است.
حال سوال این است که چه منابعی می تواند به شما در سرعت بخشیدن به این موضوعات کمک کند؟
در اینجا چند کتاب کلاسیک و دوره های مفید با تکالیف و تمریناتی که به نظر من مفید است:
- [دوره] پایتون برای دوره تجارت توسط مبادله چند کالایی که توسط Quantra ارائه شده است [Promocode: Harshit10]
- [کتاب] تجارت کمی: چگونه می توان تجارت تجارت الگوریتمی خود را ساخت - ارنست چان
- [دوره] دوره های معاملاتی دکتر ارنست چان در سکوی Quantra
- [کتاب] پایتون برای امور مالی - ایو هیلپیش
- [مجلات]: Arxiv ، امور مالی ریاضی ویلی ، امور مالی محاسباتی.
علم داده با خشن
با استفاده از این کانال ، من قصد دارم یک سری از سریال ها را پوشش دهم که کل فضای علوم داده را پوشش می دهد. در اینجا به همین دلیل است که شما باید در کانال مشترک شوید:
- این سریال تمام آموزش های کیفیت مورد نیاز/مورد نیاز را در مورد هر یک از مباحث و زیرمجموعه هایی مانند اصول پایتون برای علوم داده پوشش می دهد.
- ریاضیات و مشتقات را توضیح داد که چرا ما آنچه را که در ML انجام می دهیم و یادگیری عمیق انجام می دهیم. در Google ، Microsoft ، Amazon و ETC و مدیرعامل شرکت های Big Data محور. برای اجرای مباحث آموخته شده تاکنون. در مورد گواهینامه های جدید ، Bootcamp و منابع برای شکستن آن گواهینامه ها مانند این آزمون گواهینامه توسعه دهنده TensorFlow توسط Google اطلاعات کسب کنید.
اگر این آموزش مفید بود ، باید دوره های علوم داده و یادگیری ماشین من را در آکادمی Wiplane بررسی کنید. آنها جامع و در عین حال جمع و جور هستند و به شما کمک می کنند تا پایه و اساس کاملی از کار را برای نمایشگاه بسازید.