آموزش معاملات الگوریتمی با پایتون شامل مباحث پیشنیاز برای علم داده و یادگیری ماشین است. این آموزش از مرحله ی آموزش مقدماتی پایتون، تا کار با ماتریس ها و نمودارها و تحلیل جداول داده عددی را در برمی گیرد. کاربرد این مباحث در تحلیل بازارهای مالی موارد زیر است:
با کد زنی و تمرین مباحث این آموزش، شما آمادگی ساخت یک ربات معامله گر را خواهید داشت. پس از گذراندن این دوره آموزشی میتوانید به سراغ آموزش بعدی آرادفین یعنی « آموزش ساخت ربات معامله گر با پایتون » بروید. در آن آموزش یک سیستم بک تست ربات های معامله گر طراحی خواهیم کرد. خواهید دید که چطور مهارت هایی که در آموزش مقدماتی دیده اید به ساخت یک انجین بک تست، بهینه سازی پارامترها و تست های استحکام ربات معامله گر شما کمک می کند.
دانشجویان این دوره مهارت تحلیل داده را کسب می کنند. کاربردهای علم داده گسترده و متنوع است، از تجارت و امور مالی گرفته تا مراقبت های بهداشتی و علوم اجتماعی. به عنوان مثال، علم داده برای تجزیه و تحلیل رفتار مشتری، پیشبینی فروش، بهینهسازی زنجیرههای تامین، تشخیص تقلب، تشخیص بیماریها و درک روندهای اجتماعی استفاده میشود. پس از گذراندن این دوره باید خوشحال باشید! زیرا می توانید یادگیری کتابخانه های هوش مصنوعی، یعنی TensorFlow و PyTorch را شروع کنید!
معاملات الگوریتمی یا معاملات خودکار به استفاده از کامپیوتر برای ورود به پوزیشن های معاملاتی بدون دخالت معامله گر گفته می شود. زمانی که معامله گران با استفاده از کدنویسی ها و هوش مصنوعی, سیستمی را طراحی می کنند که بر طبق آن کامپیوتر تصمیم به خرید و فروش بگیرد, الگوتریدینگ (Algo Trading) در حال رخ دادن است. در این دوره آموزشی به معاملات الگوریتمی با پایتون در بازارهای مالی خواهیم پرداخت.
۱-برای چه سهامی چه میانگین متحرک هایی بهترین عملکرد را دارد. به عنوان مثال برای سهام شپنا آیا مووینگ ۵۰ مناسب است یا مووینگ ۶۰. این کار با کدنویسی پایتون برای معامله گران در ۳ دقیقه قابل فهم است!
2-چه مقادیری برای اندیکاتور های RSI , MACD , Stocastic, Bollinger Band انتخاب کنیم که بیشترین بازده را داشته باشیم. این موضوع برای تمامی سهام های موجود قابل پیاده سازی است.
3-استراتژی های معاملاتی مبتنی بر Bollinger Band , RSI , MACD , Moving average , stocastic را یاد میگیریم و با نرم افزار پایتون می آموزیم که چگونه خرید و فروش انجام دهیم.
۴-چگونه در پایتون چارت رسم کنیم و تمامی اندیکاتور ها را در چارت پیاده سازی کنیم.
۵- می آموزیم که چگونه با استفاده از کدنویسی, نقاط حمایتی و مقاومتی را برای هر سهام رسم کنیم بدون دخالت دستی!
۶- یاد خواهیم گرفت که بر روی داده های گذشته استراتژی های فوق را پیاده سازی کنیم و میزان بازده استراتژی های معاملاتی خود را با میزان استراتژی خرید و نگه داری مقایسه کنیم و سود را به حداکثر برسانیم.
فصل اول: مقدمه و معرفی دوره
درس اول: مقدمه و معرفی
درس دوم: آنچه در این دوره خواهیم آموخت
درس سوم: نصب و راه اندازی پایتون
فصل دوم: تحلیل تکنیکال با پایتون
درس چهارم :نصب پکیج های مورد نیاز
درس پنجم: استخراج داده های مالی
درس ششم: طراحی چارت
درس هفتم: رسم چارت خطی ساده
درس هشتم: رسم چارت های پویا و حرفه ای با نمایش تمامی اطلاعات
درس نهم: رسم چارت کندل استیک
درس دهم: رسم چارت حجمی
درس یازدهم: رسم اندیکاتور مووینگ اورج (SMA) در چارت
درس دوازدهم: رسم خطوط حمایتی و مقاوتی در چارت
فصل سوم: طراحی سیستم معاملات الگوریتمی با استفاده از SMA
درس سیزدهم: معرفی اندیکاتور
درس چهاردهم: استراتژی خرید و نگه داری (Buy and Hold)
درس پانزدهم: استراتژی کراس (Crossover) با دو SMA
در شانزدهم: یافتن بهترین استراتژی کراس با بهترین مقدار SMA برای هر دارایی
درس هفدهم: طراحی سیستم معاملات الگوریتمی با استفاده از SMA
درس هجدهم: افزودن هزینه معاملاتی به استراتژی
فصل چهارم: طراحی سیستم معاملات الگوریتمی با استفاده از EMA
درس نوزدهم: معرفی اندیکاتور
درس بیستم: استراتژی کراس (Crossover) با دو EMA
درس بیست و یکم: طراحی سیستم معاملات الگوریتمی با استفاده از EMA
درس بیست و دوم: استراتژی کراس EMA از SMA
درس بیست و سوم: طراحی سیستم معاملات الگوریتمی استراتژی کراس EMA از SMA
فصل پنجم: طراحی سیستم معاملات الگوریتمی با استفاده از اندیکاتور MACD
درس بیست و چهارم: معرفی اندیکاتور
درس بیست و پنج: رسم MACD در چارت پایتون
درس بیست و ششم: استراتژی پوزیشن معاملات با MACD
درس بیست و هفتم: طراحی سیستم معاملات الگوریتمی با استفاده از MACD
درس بیست و هشتم: واگرایی در MACD
فصل ششم: طراحی سیستم معاملات الگوریتمی با استفاده از اندیکاتور RSI
درس بیست و نهم: معرفی اندیکاتور RSI
درس سی ام: رسم RSI در چارت پایتون
درس سی و یکم: استراتژی معاملاتی با RSI
درس سی و دوم: گرفتن پوزیشن معاملاتی با RSI
درس سی و سوم: طراحی سیستم معاملات الگوریتمی با استفاده از RSI
فصل هفتم: استراتژی استفاده همزمان از RSI و MACD
درس سی وچهارم: معرفی
درس سی و پنجم: استراتژی ترکیبی RSI و MACD
درس سی و ششم: طراحی سیستم معاملات الگوریتمی ااستراتژی ترکیبی RSI و MACD
فصل هشتم: اسیلاتور Stocastic
درس سی و هفتم: معرفی اسیلاتور
درس سی وهشتم: رسم Stocastic در چارت
درس سی و نهم: استراتژی معاملاتی با استفاده از Stocastic
درس چهلم: طراحی سیستم معاملات الگوریتمی با استفاده از Stocastic
فصل نهم: اندیکاتور Bollinger Band
درس چهل و یکم: معرفی اندیکاتور
درس چهل و دوم: رسم Bollinger Band بر روی چارت
درس چهل و سوم: استراتژی معاملاتی با Bollinger Band
درس چهل و چهارم: طراحی سیستم معاملات الگوریتمی با استفاده از Bollinger Band
سخن پایانی
معرفی دوره ی بعد
این دوره برای تمامی مردم عادی , دانشجویان یا فارغ التحصیلانی که در بازارهای سهام یا مالی دیگر فعال هستند , مناسب و واجب است.
برای تمامی تحلیل گران مالی, تحلیلگران تکنیکال و فاندامنتال , معامله گران بازارهای فارکس , کریپتو و … مناسب است.
در این دوره نیاز به دانش پایه و مقدماتی از پایتون را داریم با این حال بخش اعظمی از مطالب در دوره بیان می شود. اما اگر میخواهید پایتون را بهتر یادبگیرید میتوانید از دوره های مربوط به آموزش پایتون دانشجویار استفاده کنید
نیاز به آگاهی از اندیکاتور های RSI , MACD , Stocastic, Bollinger Band به صورت مقدماتی. که برای این مورد میتوانید از وبسایت freecodecamp استفاده کنید.
نرم افزار پایتون نسخه ۳.۹
Jupyter Notebook
از آنجا که دوره های زیادی برای آموزش این استراتژی ها وجود ندارد و یا اینکه به قیمت گزاف و میلیونی فروخته می شوند, دوره آموزش معاملات الگوریتمی با پایتون دانشجویار یک دوره بسیار غنی, خالی از توضیحات تئوری اضافی و زمان بر و حوصله سربر می باشد که با یک قیمت بسیار معقول در خدمت تمامی مردم , دانشجویان و فارغ التحصیلان قرار گرفته است.
در معاملات الگوریتمی کامپیوتر می تواند از یک استراتژی یا چند استراتژی هم زمان بهره گیرد و با بررسی زمان, حجم, قیمت, اندیکاتور ها, اسیلاتورها, حد سود و حد ضرر و… تصمیم گیری های لازم در خصوص ورود به یک معامله, جهت معامله, نگه داری و بستن موقعیت معامله را اتخاذ کند.
لذا مشاهده می کنیم که با پیشرفت بازارهای مالی و افزایش تعداد دارایی های مالی نظیر سهام, کامودیتی ها, ارزها, اوراق بدهی, اوراق مشتقه, رمزارزها (Crypto currencies) و … توانایی انسان برای رقابت با کامپیوترها روز به روز کمتر و کمتر می شود. این موضوع در آمار های بازار سهام آمریکا هویدا می شود که نزدیک 60 تا 75 درصد از کل معاملات سهام, توسط سیستم های الگوریتمیک در حال پیاده سازی است.
بخشی از معاملات الگوریتمی که الگوریتم های سیگنال دهی نام گذاری شده اند, وظیفه طراحی سیستم هایی را دارند که با بررسی اطلاعات مختلف از بازار, سیگنال های معاملاتی را به کاربر و کامپیوتر اعلان نماید. این الگوریتمی ها با استفاده اندیکاتور هایی نظیر RSI , MACD , Moving average , Stocastic و …. و مقایسه اینها با یکدیگر تلاش برای دریافت سیگنال های معاملاتی دارند.
با علم به توضیحات فوق , در دوره معاملات الگوریتمی با پایتون تلاش می شود تا با کد نویسی سیستم های معاملاتی مبتی بر هر کدام از اندیکاتور های مذکور و ترکیب آن ها با یکدیگر, سیستم معاملاتی را پیدا نمود که بیشترین بازدهی را برای هر دارایی مالی دارد. به بیان واضح تر با استفاده از این دوره شما یاد خواهید گرفت:
۱-برای چه سهامی چه میانگین متحرک هایی بهترین عملکرد را دارد. به عنوان مثال برای سهام شپنا آیا مووینگ ۵۰ مناسب است یا مووینگ ۶۰. این کار با کدنویسی در ۳ دقیقه قابل فهم است!
2-چه مقادیری برای اندیکاتور های RSI , MACD , Stocastic, Bollinger Band انتخاب کنیم که بیشترین بازده را داشته باشیم. این موضوع برای تمامی سهام های موجود قابل پیاده سازی است.
3-استراتژی های معاملاتی مبتنی بر Bollinger Band , RSI , MACD , Moving average , stocastic را یاد میگیریم و با نرم افزار پایتون می آموزیم که چگونه خرید و فروش انجام دهیم.
۴-چگونه در پایتون چارت رسم کنیم و تمامی اندیکاتور ها را در چارت پیاده سازی کنیم.
۵- می آموزیم که چگونه با استفاده از کدنویسی, نقاط حمایتی و مقاومتی را برای هر سهام رسم کنیم بدون دخالت دستی!
۶- یاد خواهیم گرفت که بر روی داده های گذشته استراتژی های فوق را پیاده سازی کنیم و میزان بازده استراتژی های معاملاتی خود را با میزان استراتژی خرید و نگه داری مقایسه کنیم و سود را به حداکثر برسانیم.
در دوره معاملات الگوریتمی با پایتون ابتدا به بیان مقدمه و مطالب ضروری پرداخته می شود. سپس طریقه رسم یک چارت حرفه ای در پایتون را می آموزیم و اندیکاتور های مختلف را بر روی چارت , پیاده سازی می کنیم. خواهیم آموخت که چگونه با استفاده از پایتون و کدنویسی خطوط حمایت و مقاومت رسم کنیم بدون دخالت دستی. سپس در فصول مختلف سیستم های خودکار معاملاتی الگوریتمی و سیگنال دهی مبتنی بر اندیکاتور های RSI , MACD , Stocastic, Bollinger Band طراحی می شود و خواهیم آموخت که با ترکیب هر کدام از این استراتژی ها با هم چه سودی کسب خواهیم کرد
همچنین با تماشای دوره آموزشی معاملات الگوریتمی با پایتون , حتی اگر دانشی در حد “صفر” از کدنویسی پایتون دارید, خواهید آموخت که چگونه کدنویسی کنید و با بسیاری از پکیج ها و متدهای این نرم افزار آشنا خواهید شد.
پایتون یکی از کارآمدترین زبانهای برنامه نویسی حال حاضر جهان است و به دلیل توانمندیهایی که در حوزه یادگیری ماشینی دارد بهترین زبان برنامه نویسی برای تحلیل دادههای مالی است. زبان برنامه نویسی پایتون هم برای آن دسته از افرادی که به تازگی به حوزه برنامه نویسی وارد شدهاند مناسب است و هم برای کسانی که تجربه کار با زبانهای برنامهنویسی دیگر را داشتهاند.
گروه مالی و مدیریت سرمایهگذاری شریف در راستای ارتقای سطح دانش و مهارت تخصصی تمامی علاقهمندان به زبانهای برنامهنویسی اقدام به طراحی و برگزاری دوره آموزشی آشنایی با نرمافزار پایتون در دو بخش نموده است.
در بخش اول که شامل سه سطح میشود، مباحث مطرح شده حول محور مباحث اصلی و پایهای این زبان برنامهنویسی خواهد بود به طوری که مخاطبان بعد از گذراندن این سه سطح قادر خواهند بود تا از این زبان برنامهنویسی در حوزههای مختلفی همچون دنیای وب و اینترنت، ساخت نرمافزارهای موبایل، یادگیری ماشین، استفاده در هک و تست نفوذ، دادهکاوی و Big Data، ساخت رابط کاربری گرافیکی، ساخت بازیهای رایانهای و … استفاده نماید.
در بخش دوم که شامل سطح چهارم این زبان برنامهنویسی میشود، به صورت تخصصی به استفاده از این زبان برنامهنویسی در انجام معاملات الگوریتمی در بازارهای مالی از جمله بازار سهام داخلی و بینالمللی، بازارهای ارز و بازار رمزارزها پرداخته خواهد شد که به طور مشخص برای علاقهمندانی خواهد بود که علاوه بر گذراندن سه سطح اول و آشنایی کامل با مباحث مطرح شده در آن، به استفاده از این زبان برنامهنویسی جهت انجام معاملات الگوریتمی در بازارهای مالی علاقهمند میباشند.
امکان ثبتنام در هر بخش بصورت جداگانه و یا ثبتنام در هر دو بخش برای علاقهمندان در این دوره وجود دارد. یادگیری این زبان برنامه نویسی بسیار ساده بوده و همین مسئله منجر شده تا محبوبیت بسیار زیادی در بین علاقهمندان به یادگیری زبانهای برنامه نویسی پیدا کند. در شرایط کنونی که نیاز به برنامهنویسان کامپیوتری روز به روز بیشتر میشود، یادگیری این زبان برنامه نویسی میتواند مهارتی کاربردی برای برنامهنویسان به شمار رود.
درس یکم: مقدمهای بر پایتون
درس دوم: ساختار یک برنامه در پایتون
درس سوم: ساختارهای تصمیم
درس چهارم: تابع
درس پنجم: فایل
درس ششم: مطالعه آزاد
درس یکم: شیگرایی
درس دوم: کار با بانک اطلاعاتی
درس سوم: تاریخ و زمان
درس چهارم: مطالعه آزاد
درس اول: کتابخانه Numpy
درس دوم: رسم نمودار در پایتون
درس سوم: کتابخانه Pandas
درس چهارم: مطالعه آزاد
درس اول: معاملات الگوریتمی
درس دوم: دریافت دادههای مالی
درس سوم: نمایش دادهها در پایتون
درس چهارم: پیادهسازی استراتژی
درس پنجم: back test
درس ششم: Optimization
درس هفتم: مطالعه آزاد