الگوریتمهای تکاملی چیستند؟
در هوش محاسباتی، الگوریتم تکاملی زیرمجموعهای از هوش تکاملی به شمار میآید. یک الگوریتم تکاملی از مکانیسمهای برگرفته از تکامل بیولوژیکی همانند تولید مثل، جهش، نوترکیبی و انتخاب طبیعی استفاده میکند. الگوریتمهای تکاملی عموماً در ارائه راه حلهای تخمینی و پیش بینی برای انواع مسائل عملکرد خوبی دارند.
انواع الگوریتمهای تکاملی
تکنیکهای مختلف الگوریتمهای تکاملی در جزئیات اجرا و نیز ماهیت مساله مورد کاربرد، متفاوتاند.
- الگوریتم ژنتییک معروفترین نوع الگوریتمهای تکاملی است که بیشتر برای مسائل بهینه سازی مورد استفاده قرار میگیرد.
- کدنویسی ژنتیکی. کدنویسی تکاملی، استراتژیهای تکاملی، تکامل تفاضلی یا دیفرانسیلی، تکامل عصبی و سیستم طبقهبندی یادگیری همگی انواع مختلف تکنیکهای تکاملی هستند.
با توجه به اینکه از میان تمامی انواع الگوریتمهای تکاملی، الگوریتم ژنتیک بیشترین کاربرد را در بهینه سازی مدلسازی بورس دارد، به طور ویژه به بررسی آن میپردازیم.
الگوریتم ژنتیک چیست؟
الگوریتمهای ژنتیک (GAs) در واقع روشهای حل مسالهای هستند که فرآیند تکامل طبیعی را تقلید میکنند. بر خلاف شبکههای عصبی مصنوعی ANNs که برای عملکردی شبیه نورونهای مغزی طراحی شدهاند، این الگوریتمها مفهوم انتخاب طبیعی را برای تشخیص بهترین راه حل برای مساله به کار میگیرند.
در نتیجه، الگوریتمهای ژنتیک به طور متداولی به عنوان ابزار بهینهسازی برای تنظیم پارامترها جهت مینیمم یا ماکسیمم کردن برخی فاکتورها مورد استفاده قرار میگیرند. این ابزار میتواند به صورت مستقل یا در ساختار شبکههای عصبی مصنوعی به کار رود.
در بازارهای مالی، الگوریتمهای ژنتیک عمدتاً برای پیدا کردن بهترین ترکیب مقدار پارامترها در بحثترید و معاملات به کار میرود. این الگوریتمها را میتوان در مدلهای شبکههای عصبی مصنوعی ANN طراحی شده برای شناسایی و انجام معاملات به کار بست.
الگوریتم ژنتیک چگونه کار میکند؟
الگوریتمهای ژنتیک با استفاده از بردارهای ریاضی، که کمیتهایی دارای جهت و اندازه هستند، خلق شدهاند. پارامترهای مورد نظر برای هر ترید با یک بردار یک بعدی معرفی میشود که میتوان آن را کروموزوم در بحث ژنتیک نظر گرفت و مقادیر هر پارامتر را میتوان به عنوان ژنها دانست که با استفاده از انتخاب طبیعی اصلاح میشوند.
الگوریتم ژنتیک روشی برای حل مسائل بهینهسازی محدود و غیرمحدود مبتنی بر فرآیند انتخاب طبیعی است که تقلیدی از تکامل بیولوژیکاند.
استفاده از الگوریتم ژنتیک در معاملات
معاملات الگوریتمی بر مبنای یک سری شاخصهای از پیش تعیینشده مثل قیمت قبلی سهام و شرایط خاص بازار، برای انجام معاملات و ترید با سرعت و حجم بالا از برنامههای کامپیوتری استفاده میکنند. مثلاً ممکن است بخواهید زمانی که قیمت سهام به مقدار معینی که برای سیستم تعریف میکنید برسد، از الگوریتمها برای اجرای سریع فرامین استفاده کنید.
در حالی که الگوریتم ژنتیک در درجه اول توسط تردیدرهای سازمانی به کار میرود، تریدرهای فردی هم میتوانند بدون داشتن دانش پیشرفته در ریاضی و با استفاده از پیکجهای نرم افزاری متعدد موجود در بازار از قدرت این ابزار مفید استفاده کنند.
با استفاده از این نرم افزارها، تریدر مجموعهای از پارامترها را تعریف میکند که با استفاده از الگوریتم ژنتیک و به کمک دادههای قبلی، بهینهسازی میشوند. برخی از این نرم افزارها مشخص میکنند که بهترین پارامترها برای تغییر کدامند و با چه مقادیری عملکرد بهتری نشان خواهند داد؛ در حالی که برخی دیگر بر بهینه کردن مقدار پارامتر مشخص شده از سوی تریدر، متمرکز اند.
برازش منحنی (همان Curve fitting) یا طراحی سیستم ترید نزدیک به دادههای قبلی بجای شناخت الگوهای تکرارشونده، خبر از ریسک بالقوه برای تریدرهایی که از الگوریتم ژنتیک استفاده میکنند، دارد. هرگونه سیستم مبتنی بر الگوریتم ژنتیک باید قبل از استفاده در بازار، روی کاغذ دقیقاً تست و بررسی شود.
انتخاب پارامتر بخش مهمی از این فرآیند است و تریدرها باید با دقت پارامترهایی را انتخاب کنند که به تغییرات قیمت سهام مورد نظر مرتبط باشد. برای نمونه باید شاخصهای مختلفی را آزمایش کرد تا ببینیم کدام شان با تغییرات بزرگ وضعیت بازار، مرتبط هستند.
در اینجا ذکر این نکته را ضروری و بجا میدانیم که همواره در معاملات خود توجه داشته باشید این الگوریتمها آیات مقدس نیستند و همیشه امکان خطا دارند. تریدها باید درانتخاب پارامترهای صحیح دقت داشته باشند و تنها به برازش منحنی اکتفا نکنند.
برتون مایلکیل اقتصاددان و استاد اقتصاد دانشگاه پرینستون در کتاب معروف خود «گام تصادفی در وال استریت» مینویسد: میمونی که با چشم بسته تیر دارت به سمت صفحات اقتصادی روزنامهها پرتاب کند خواهد توانست سهامی را انتخاب کند که در عملکرد همانند بهترین و دقیقترین انتخاب متخصصترین و کارشناسان بازار باشد. یعنی گاهی شانس و تصادف هم میتواند انتخاب درستی را رقم بزند.
الگوریتمهای ژنتیک با بهره مندی از قدرت طبیعت راه حل منحصر بفردی برای مشکلات پیچیده ارائه میدهد. با استفاده از این ابزار برای تخمین قیمتها و مدلسازی و پیش بینی بورس، تریدرها با شناسایی و تشخیص بهترین مقادیر برای هر پارامتر در رابطه با هر سهام خاص، قوانین و قواعد حاکم بر معاملات آن سهام را بهینه سازی کرده و استراتژیهای بدیعی خلق میکنند.
نتایج تجربی تحقیقی که برای بررسی عملکرد تکنیکهای مختلف هوش مصنوعی در پیش بینی قیمتهای بازار سهام روی دیتاهای مالی از S&P 500 و NASDAQ و IBM انجام شده است نشان داد که از میان انواع تکنیکها، تأثیر مدل ترکیبی GA_BPN (Genetic Algorithm – Back Propagation Network) در مقایسه با دیگر مدلها بیشتر است و پیش بینیها و مدلسازی های دقیقتری ارائه میدهند.
به هر حال احتمال کسب سود در بازارهای مالی و بورس، مشوق تلاشهای بسیاری در زمینه پیش بینی و مدلسازی بورس و بازار سهام بوده است. با توجه به سادهتر شدن دسترسی به اطلاعات، محققان زیادی تلاش دارند تا با بررسی حجم بسیار زیادی از دادههای بازار، اطلاعات و الگوهایی استخراج کنند تا به هدف اصلی یعنی پیش بینی دقیق بازار و سودآوری بیشتر، نزدیک شوند. یک راه حل خلاقانه برای داشتن پیش بینیهای دقیقتر، استفاده از الگوریتمهای تکاملی است که از بین انواع مختلفش، الگوریتمهای ژنتیک به صورت ویژه توانستهاند نتایج چشمگیری از خود نشان دهند. استفاده از این ابزارها راه را برای مدلسازی بهینه و دقیقی که به واقعیت نزدیک باشد هموار ساخته و گرچه دقت این مدلها هنوز صد در صد نیست، اما میتوان به پیشرفتهای بیشتر آن امید داشت.
STOCK MARKET PRICE PREDICTION SYSTEM USING NEURAL NETWORKS AND GENETIC ALGORITHM, Jawad, Nadia Kurdy, Mohamad-Bassam, Journal of Theoretical and Applied Information Technology. Vol. 9, 2019.
Using a Genetic Algorithm with Options Data to Forecast Stocks, Andr ́e Filipe Ferreira Duarte, Instituto Superior T ́ecnico, Lisboa, Portugal, 2016.