Estimating the return on investment opportunities in financial markets due to their interaction relation and establishing optimized portfolio by Artificial Intelligence

Authors

1 Islamic Azad University, Mobarakeh Branch

2 Shiraz university

3 Islamic Azad University, Science and Research Branch, Isfahan

Abstract

This project is looking for increasing return on investment, by presenting models based on artificial intelligence. Investment in financial markets could be considered in short-term (daily) and middle-term (monthly) basis. hence the daily data in Tehran Stock Exchange and the rates of foreign exchange and gold coins have been extracted for the period Mar. 2010 to Sep. 2012 and recorded as the data into the neural networks and the genetic programming model. Also the monthly rate of return and risk of 20 active companies of the stock exchange, and the monthly risk values of foreign exchange and gold coin, as well as bank deposits were used as genetic algorithms in order to provide optimum investment portfolios for the investors. The results obtained from executing the models indicates the efficiency of both methods of artificial neural network and also genetic programming in the short-term financial markets predictions, but artificial neural networks show a better efficiency. Also the efficiency of genetic algorithm was approved in improving the rate of return and risks, via identifying the optimum investment portfolios.

Keywords

Main Subjects


مقدمه

سرمایه­گذاری را می­توان رکن اساسی اقتصاد کشور دانست، که اگر به نحو مطلوب صورت پذیرد، باعث افزایش تولید ملی و رشد اقتصادی می­شود. در هر اقتصاد، چهار بازار اصلی وجود دارد که عبارتند از: بازار کالا، بازار کار، بازار پول و بازار سرمایه. بازارهای کالا و کار در مجموع بخش واقعی اقتصاد و بازارهای پول و سرمایه، بخش مالی اقتصاد(بازارهای مالی) نامیده می­شوند[21]. این دو بخش مانند چرخ­های دوچرخه­ای هستند که باید همگام با هم حرکت کنند تا به رشد و توسعة اقتصادی منجر شوند. این بازارها بر هم اثر می‌گذارند و از هم تأثیر می­پذیرند.

فرایند سرمایه­گذاری با استفاده از منبع آن؛ یعنی پس­اندازها آغاز می­شود. بسیاری از اقتصاددانان معتقدند ویژگی کشورهای درحال توسعه کمبود پس‌انداز است. در این صورت اگر پس­انداز افزایش یابد، سرمایه­گذاری افزایش یافته و رشد اقتصادی محقَّق می­شود. شواهد متعدد نشان می­دهد نقدینگی ­و پس­انداز قابل توجهی در کشور وجود دارد، اما این پس­اندازها به سمت سرمایه­گذاری­های کارا حرکت نمی­کنند[13]. اگر به محل­هایی که پس­اندازها به سوی آن گرایش دارند نگاه کنیم، خواهیم دید که این پس‌اندازها عمدتاَ در حوزه­های زیر سرمایه­گذاری می‌شوند[1]:

خرید و فروش طلا و سکة طلا؛

سپرده­گذاری در بانک؛

خرید و فروش ارز؛

خرید و فروش اوراق بهادار و سهام؛

خرید و فروش زمین و ساختمان؛

 سرمایه­گذاری در معاملات آتی بورس کالا؛

سایر فرصت­ها.

تغییرات مستمر شاخص بورس اوراق بهادار و نوسان‌های شدید سکه و ارز و دیگر بازارهای مالی، سرمایه­گذاران را در تشخیص ریسک و بازده فرصت‌های سرمایه­گذاری و شناسایی سودآور­ترین بخش، دچار نوعی سردرگمی می­کند. به علاوه، سرمایه­گذاران برای تعیین ­این­که در یک دورة بلندمدت، میان­مدت یا کوتاه­مدت کدام بخش سودآوری بیشتری دارد، دچار مشکل می­شوند. این سردرگمی باعث سرگردانی سرمایه­ها در بین بازارهای مالی شده و هر از گاهی بازار سرمایه را دچار نوسان‌های ناخواسته و احساسی می­کند. همچنین علاوه بر ضرر و زیان سرمایه­گذاران، کارایی بازار در تخصیص سرمایه به نحو مطلوب اجرا نمی­شود و تولید ملی و رشد اقتصادی را با آسیب جدی مواجه می­کند.

با توجه به مطالب گفته شده، پرسش اصلی در این پژوهش این است که آیا می­توان مدل قابل اتکایی برای پیش­بینی عملکرد بازارهای مختلف سرمایه­پذیر طراحی کرد تا سرمایه­گذاران با کمک آن بتوانند فرصت­های مطلوب سرمایه­گذاری را شناسایی کنند؟

 

مبانی نظری و پیشینة پژوهش

 سرمایه­گذار با توجه به ریسک­ و بازده، بخش­های مطلوب برای سرمایه­گذاری را از میان چهار بازار اقتصاد انتخاب می­کند. سرمایه­گذارانی که نظریة نوین پورتفوی را پذیرفته­اند بر این باورند که حریف بازار نیستند، بنابراین می­کوشند مجموعه­ای متنوع از دارایی‌ها را نگهداری کنند تا بازده سرمایة خود را با متوسط بازده بازار برابر کنند.

بازده در لغت به معنای حاصل و نتیجه است. به بیان ساده، بازده عبارت است از کل عایدی که یک سرمایه­گذار در طول یک دوره سرمایه­گذاری به‌دست می­آورد. بازده در فرایند سرمایه­گذاری نیروی محرکی است که ایجاد انگیزه می­کند و پاداشی برای سرمایه‌گذاران محسوب می­شود. ارزیابی بازده سرمایه‌گذاری‌ها تنها راه منطقی است که سرمایه­گذاران می­توانند برای مقایسة سرمایه‌گذاری‌های جایگزین و متفاوت از هم انجام دهند. برای درک بهتر عملکرد سرمایه‌گذاری، اندازه‌گیری بازده واقعی (مربوط به گذشته) لازم است؛ به خصوص این­که بررسی بازده مربوط به گذشته در تخمین و پیش­بینی بازده­های آینده نقش زیادی دارد. همواره از دو نوع بازده نام ‌برده می‌شود:

الف) بازده تحقق‌یافته[1]؛

ب) بازده مورد انتظار[2].

بازده تحقق‌یافته به وقوع پیوسته و مربوط به اطلاعات تاریخی و گذشته است، اما بازده مورد انتظار با عدم اطمینان همراه است، چرا که مربوط به آینده و تخمینی است که سرمایه­گذاران انتظار دارند در یک دورة مشخص آینده آن را کسب کنند و احتمال برآورده نشدن آن نیز وجود دارد.

در این پژوهش برای پیش بینی بازده در هر بازار مالی از روند تغییرات قیمت­ها در سایر بازارهای مالی استفاده می­شود. این متغیرها دارای رفتاری همکنشی هستند، به این معنا که با افزایش  قیمت­ها در یک بازار، سرمایه­ها به سمت آن بازار سرازیر می­شوند و قیمت­ها در سایر بازارها تحت تأثیر قرار می­گیرند. در این پژوهش، برای بررسی این رفتار همکنشی، از نوین­ترین فنون هوش مصنوعی، یعنی شبکه­های عصبی مصنوعی[3] و برنامه­نویسی ژنتیک[4] استفاده شده است. نتایج بررسی­ها در زمینة پیش­بینی، نشان‌دهندة برتری مدل شبکه­های عصبی مصنوعی بر مدل­های قبلی است[2، 6 و 8]. برنامه­نویسی ژنتیک نیز مبتنی بر هوش مصنوعی است و در این پژوهش برای پیش­بینی متغیرهای اقتصادی به کار رفته است. این روش از نوین­ترین روش­های هوش مصنوعی است که در این پژوهش کارایی آن با شبکه­های عصبی مصنوعی مقایسه شده است. برای تهیة سبد بهینة سرمایه­گذاری در بین این بازارهای مالی، از الگوریتم ژنتیک استفاده شد. در ادامه، این فنون به اختصار معرفی و دلیل انتخاب هر روش برای تحلیل داده­های اقتصادی بیان می­شود. سپس جامعة آماری و فرضیه­های پژوهش بیان می­شود و پس از آن هر فرضیه مورد آزمون قرار می­گیرد و در پایان نتایج حاصل از پژوهش ارایه می­شود.

 

شبکه‌های عصبی مصنوعی

شبکه‏های عصبی، ساختارهایی محاسباتی با قابلیت‏های یادگیری و تعمیم‏پذیری هستند. از نظر مفهومی، شبکه‏های عصبی یک فن توزیعی را به کار می‏گیرند تا بتوان به کمک آن، یافته‏های‏ به دست آمده از نمونه‏های مشخص و شناخته‌شده را ذخیره کرد و آنها را برای طبقه‏بندی، پیش‏بینی، تجزیه‌وتحلیل، کنترل و بهینه‏سازی مورد استفاده قرار داد. شبکه‏های عصبی، برنامه‏های نرم‏افزاری هستند که از ساختار زیست‏شناختی مغز انسان، با همان‏ پیچیدگی‏ها، تقلید کرده‏اند [16]؛ به‌عبارت‌دیگر شبکه‌های عصبی را می‌توان مدل‌های الکترونیکی شبیه‌سازی شده از ساختار عصبی مغز انسان نامید[3]. چندین خصوصیت متمایز و منحصربه‌فرد، باعث جذاب شدن شبکه‌های عصبی شده است: ﻗﺎﺑﻠﯿﺖ ﯾﺎدﮔﯿﺮی، ﭘﺮاﮐﻨﺪﮔﯽ اﻃﻼﻋﺎت (ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده ﺑﻪ ﻋﻨﻮان ﺣﺎﻓظة ﺷﺮاﮐﺘﯽ ﯾﺎ اﻧﺠﻤﻨﯽ)، ﻗﺎﺑﻠﯿﺖ ﺗﻌﻤﯿﻢ، ﭘﺮدازش ﻣﻮازی و ﻣﻘﺎومت.

مدل‌سازی پی‌یاخته[5]

شبکه‌های عصبی از یک سری لایه‌، شامل اجزای پردازشگر ساده­ای به نام «پی‌یاخته» تشکیل می‌شوند که به صورت موازی باهم عمل می‌کنند. هر لایة ورودی به یک یا تعداد بیشتری لایة میانی مرتبط است و لایه‌های میانی نیز به لایة خروجی وصل می‌شوند؛ یعنی جایی که پاسخ شبکه در نقش خروجی سامانه ظاهر می‌شود. «پی‌یاختة مصنوعی»، پایه و اساس هر شبکة عصبی است. طراحی و ساختار آن از «پی‌یاختة طبیعی» که پایة شبکه عصبی بیولوژیکی است، الهام گرفته‌شده است. دو شباهت ساده بین شبکة عصبی بیولوژیکی و مصنوعی وجود دارد: نخست این­که شکل و ساختمان هر دو ساده است و دوم این­که ارتباط بین پی‌یاخته‌ها تعیین‌کنندة نحوة کار شبکه است. پی‌یاخته‌های شبکة عصبی مصنوعی بسیار ساده­تر از پی‌یاخته‌های بیولوژیک هستند ولی توانایی یادگیری آنها را تا اندازة زیادی دارند[12 و 17].

ساختار پایة شبکة عصبی پرسپترون چندلایه، یک لایة ورودی، یک یا چند لایة مخفی و یک لایة خروجی است. هرکدام از این لایه‌ها از یک یا چندین گره تشکیل شده است. لایة ورودی به تعداد متغیرهای مستقل گره دارد و به همین ترتیب لایة خروجی نیز به تعداد متغیرهای وابسته گره دارد؛ اما مشخص کردن ساختار لایة پنهان سخت است[18]. مقدار ورودی از طریق تابع انتقال پی‌یاخته به خروجی تبدیل می­شود؛ بنابراین، لازم است به توابع انتقال و انواع آنها نیز توجه شود. برای به‌دست آمدن خروجی مطلوب، پژوهشگر باید با توجه به نوع استفاده از شبکة عصبی، از تابع انتقال مناسبی استفاده کند. تابع انتقال می­تواند خطی یا غیرخطی باشد. یک تابع انتقال بر اساس نیاز خاص حل یک مسأله انتخاب می­شود.

 

ملاک‌های تمایز شبکه‌های عصبی

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

 

الف) معماری شبکه[6][15]

معماری شبکه، تعداد لایه­ها و نوع ارتباط پی‌یاخته‌ها را بیان می­کند. ارتباط بین پی‌یاخته‌ها به دو نوع ارتباط بین لایه­ها و ارتباط درون لایه­ها، قابل تقسیم است. در ارتباط درون لایه­ها، یک پی‌یاخته می­تواند به سایر پی‌یاخته‌های لایة خود متصل باشد و یا نباشد. در ارتباط بین لایه­ها، پی‌یاخته‌های هر لایه می­توانند همه به پی‌یاخته‌های لایة بعد متصل باشند و یا این­که هر پی‌یاخته به پی‌یاخته‌های خاصی از لایة بعد متصل باشد. پی‌یاخته‌های یک لایه می­توانند تنها به لایة بعد از خود متصل باشند و یا این­که به چندلایة متفاوت متصل باشند. ارتباط بین لایه­ها می­تواند یک سویه و یا دو سویه باشد که بر این اساس می­توان دو دستة عمدة شبکه­های عصبی را تفکیک کرد:

- شبکه‌های پیش‌خور[7] که در آنها حلقة بازخور وجود ندارد و اطلاعات از ورودی‌ها به خروجی‌ها تنها در یک جهت حرکت می‌کنند.

- شبکه‌های بازگشتی[8]، یا بازخور که در آنها حلقه‌های بازخور وجود دارد، یعنی اطلاعات هم از ورودی‌ها به خروجی‌ها انتقال پیدا می‌کنند و هم بر عکس.

 

ب) شیوة آموزش[9][15]

یکی از مهم‌ترین ویژگی‌های شبکه‌های عصبی مصنوعی که عملکرد آن را به انسان نزدیک‌ می‌کند، قدرت یادگیری است. یادگیری ممکن است شامل دو نوع پردازش اطلاعات شود: استقرایی و قیاسی؛ در پردازش استقرایی، الگوهای عمومی و قواعد از داده‌های خام و با استفاده از تجربه تعیین می‌شوند و در پردازش قیاسی، از قواعد عمومی برای تعیین حقایق خاص استفاده می‌شود. اگرچه ارایه تعریفی دقیق از یادگیری مشکل است، اما می‌توان گفت فرایند یادگیری در شبکه‌های عصبی مصنوعی، موضوع به­هنگام سازی وزن­های ارتباطی آن است، به نحوی که یک شبکه بتواند یک وظیفة خاص را به صورت کارا انجام دهد.

سه نوع پرادایم اصلی یادگیری وجود دارد که هریک دارای تعداد زیادی از الگوریتم‌های یادگیری است:

- یادگیری با سرپرست[10]:

یادگیری با سرپرست، روشی است که پارامترهای شبکة عصبی مصنوعی را از داده‌های آموزشی استخراج می‌کند. داده‌های آموزشی تشکیل‌شده از جفت‌هایی از ورودی‌ها و خروجی‌ها است. در یادگیری با سرپرست، ورودی­ها به شبکه وارد می­شوند تا شبکه براساس وضعیت موجودِ وزن­های پی­یاخته­ها، خروجی را برآورد کند، این خروجی با خروجی واقعی مقایسه می­شود و براساس اختلاف آنها(خطای شبکه) الگوریتم یادگیری وزن­های شبکه را اصلاح می­کند. در واقع خروجی واقعی مانند یک سرپرست یا معلم برای شبکه عمل می­کند و با محاسبة میزان خطا، عملکرد شبکه را بهبود می­بخشد.

- یادگیری بدون سرپرست[11]:

یادگیری بدون سرپرست، یک فن یادگیری ماشین است که پارامترهای شبکة عصبی را بر اساس داده‌های ورودی و تابع هزینه‌ای که باید حداقل شود، تنظیم می‌کند. در یادگیری بدون سرپرست در جست­وجوی این هستیم که چگونه داده‌ها سازمان‌دهی می‌شوند. تفاوت این شیوة یادگیری با دو شیوة دیگر در این است که در این حالت تنها مثال‌های طبقه‌بندی نشده را به کار می‌بریم. در این نوع شبکه­ها وزن­ها فقط بر اساس ورودی­ها اصلاح می‌شوند و خروجی­های مطلوب(معلم) وجود ندارد تا با مقایسة خروجی شبکه با آن و تعیین مقدار خطا، وزن­ها اصلاح شوند. یک شکل متداول از یادگیری بدون سرپرست، طبقه‌بندی داده‌ها با توجه به شباهت‌هایشان است. این یادگیری به طور گسترده در مسائلی از قبیل مدل‌سازی آماری، تراکم، تصفیه و جداسازی منابع و داده‌ها به کار می‌رود.

- یادگیری تقویتی[12]:

یک فن یادگیری ماشین است که پارامترهای شبکة عصبی را هنگامی که داده‌ها، داده نشده است به وسیلة اثرات متقابل با محیط مشخص می‌کند. یادگیری تقویتی مرتبط با این مسأله است که شبکة عصبی چگونه باید در مقابل محیط واکنش نشان دهد تا بعضی از مفاهیم پاداش بلندمدت را افزایش دهد. این یادگیری به طور موفقیت‌آمیزی در مسائل گوناگونی از قبیل کنترل روبات، ارتباط از راه دور و بازی‌هایی مثل شطرنج و تصمیم‌گیری پیاپی به‌کاررفته است.

 

 

 

 

ج) الگوریتم یادگیری[13][15]

الگوریتم یادگیری، شیوة اثرگذاری میزان خطا در روند آموزش و چگونگی به روز شدن شبکة عصبی برای کاهش این خطا را تعیین می­کند. الگوریتم یادگیری راهکار رسیدن به ضرایب بهینة شبکة عصبی است.

وایت[14](1988)[23] اولین کسی بود که از شبکه‏های عصبی در پیش‏بینی بازار استفاده‏ کرد. او پس ازکشف قواعدی که قبلاً در مبحث قیمت دارایی‏ها یافت نشده بودند، از قبیل نوسان‏های قیمت‏ سهام عادی، در مورد چگونگی استفاده از شبکه‏های عصبی در استخراج قواعد غیر خطی از سری‏های‏ زمانی اقتصادی، کنجکاو شد.

 

الگوریتم ژنتیک

مسائلی وجود دارند که برای رسیدن به جواب بهینهة آنها، راه و روش مشخصی وجود ندارد و گاه مسائلی هستند که به نظر می‏رسد صرفاً از طریق‏ جست­و جوی تصادفی می‏توان به جوابی نسبی برای آنها دست‌یافت؛ اما در بسیاری از مسائل راه‏حل‏های موجود بسیار زیاد هستند و بررسی یک‏به‏یک آنها میسر نیست. برای حل این‌گونه مسائل، فنی به نام الگوریتم ژنتیک ارایه ‌شده است. اﻟﮕﻮرﯾﺘﻢ ژنتیک، یک اﻟﮕﻮرﯾﺘﻢ ﺟﺴﺘﺠﻮ براساس ساختار ژنتیک موجودات زﻧﺪه اﺳﺖ. اﯾﻦ اﻟﮕﻮرﯾﺘﻢ اﺻﻞ اﻧﺘﺨﺎب ﯾﺎ ﺑﻘﺎی اﺻﻠﺢ[15] داروﯾﻦ را ﺑﺎ ﯾﮏ ﺳﺮی اﻃﻼﻋﺎت ﺗﺼﺎدﻓﯽ ساخت‌یافته ادﻏﺎم ﻧﻤﻮده و ﯾﮏ اﻟﮕﻮرﯾﺘﻢ ﺟﺴﺘﺠﻮ ﺑﺎ ﺧﺼﻮﺻﯿﺖ روش‌های ﺗﮑﺎﻣﻞ ﻃﺒﯿﻌﯽ اﯾﺠﺎد می­کند[4]. قانون انتخاب اصلح داروین می­گوید که نسل گونه­هایی از یک جمعیت تداوم دارد که بهترین ویژگی­ها را داشته باشند و آنهایی که این ویژگی­ها را نداشته باشند به تدریج و در طی زمان از بین می‌روند. در طبیعت از ترکیب فام‌تن‌های بهتر، نسل­های بهتری پدید می­آیند. دراین‌بین گاهی اوقات جهش­هایی نیز در فام‌تن‌ها روی می­دهد که ممکن است باعث بهتر شدن نسل بعدی شوند. الگوریتم ژنتیک نیز با استفاده از این ایده به حل مسائل اقدام می­کند[10]. طرز کار الگوریتم‏های ژنتیک نیز به همین صورت است، با این تفاوت که برای اجرای آن باید ابتدا موجودات مورد نظر، نحوة تولید مثل و درجة تناسب(سازگاری) آنها را برای برنامة‏ الگوریتم ژنتیک مورد نظر تعریف کرد.

در الگوریتم ژنتیک قبل از هر چیز، برای نمایش جواب‌ هر مسأله به صورت یک فام‌تن[16] ساز و کاری تعریف می‌شود. سپس مجموعه‌ای از فام‌تن‌ها که در حقیقت، بیانگر مجموعه‌ای از جواب‌های مسأله هستند به عنوان جمعیت اولیه در نظر گرفته می‌شود. بعد از این مرحله، باید با به­کارگیری عملگرهای ژنتیک، به تولید فام‌تن‌های جدید، موسوم‌ به نوزاد پرداخت. پس از تولید تعدادی فام‌تن‌های منتخب، برابر اندازة‌ جمعیت اولیه، باید تعدادی از اعضا را برای تولید نسل بعد انتخاب کرد. فرایند انتخاب، مبتنی بر مقدار برازندگی هر رشته است. در هر رشته‌ اغلب تابع برازش برابر با همان تابع هدف مسألة بهینه‌سازی‌ در نظر گرفته می‌شود. تاکنون یک بار تکرار یا یک نسل از الگوریتم تولید شده است. الگوریتم، بعد از تولید چندین نسل به تدریج به سمت جواب‌ بهینه همگرا می‌شود[11].

 

 

 

 

 

- ﻓﺮاﯾﻨﺪ ﺑﺎز ﺗﻮﻟﯿد

در ﻓﺮاﯾﻨﺪ ﺑﺎز ﺗﻮﻟﯿﺪ، فام‌تن‌ها ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻘﺪار ﺗﺎﺑﻊ ﺑﺮازﻧﺪﮔﯽ آنها اﻧﺘﺨﺎب و ﺑﺮای اﻋﻤﺎل ﺳﺎﯾﺮ ﻋﻤﻠﮕﺮﻫﺎ ﺑﻪ ﮐﺎر ﮔﺮﻓﺘﻪ می‌شوند. اﯾﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻋﺒﺎرﺗﻨﺪ از:

الف) عملگر انتخاب[17][11]: پس از این­که برازندگی تمام افراد یک نسل مشخص شد، باید افرادی را برای مشارکت در تولید نسل بعد انتخاب کرد. طبق اصول طبیعی، فرزندانی‏ که از زوج‏های برازنده‏تر به وجود می‏آیند، برازندگی بیشتری دارند. همان طور که در طبیعت، افرادی که برتری‏هایی نسبت به دیگران دارند، به زوج‏های برتری دست‏ می‏یابند، الگوریتم ژنتیک این فرایند را شبیه‏سازی می‏کند و به افراد برازنده‏تر، شانس‏ تولیدمثل بیشتری می‌دهد.

ب) ﻋﻤﻠﮕﺮ پیوند[18][11]: اﯾﻦ ﻋﻤﻠﮕﺮ ﻣﺸﺎﺑﻪ ﻫﻤﺘﺎی ﺧﻮد در ﻃﺒﯿﻌﺖ، ﻓﺮد ﺟﺪﯾﺪی ﺗﻮﻟﯿﺪ می­کند ﮐﻪ اﺟﺰای آن از واﻟﺪﯾﻨﺶ ﺗﺸﮑﯿﻞ می‌شود. عملگر انتخاب برای‏ کشف نواحی جدید فضای جست­وجو[19] ابزاری ندارد و اگر تنها به نسخه‏برداری‏ ساختارهای قدیمی، بدون تغییر آن اکتفا شود، نمی‏توان به بررسی موارد جدید پرداخت. پیوند، عملگری است که اطلاعات بین رشته‏ها را به طور اتفاقی تبادل می‏کند.

ج) ﻋﻤﻠﮕﺮ ﺟﻬﺶ[20][11]: ﯾﮏ ﻓﺮاﯾﻨﺪ ﺗﺼﺎدﻓﯽ اﺳﺖ ﮐﻪ در آن ﻣﺤﺘﻮای ﯾﮏ یا چند ژن در درون فام‌تن، ﺑﺎ ژن­های دﯾﮕﺮ برای ﺗﻮﻟﯿﺪ ﯾﮏ فام‌تن ﺟﺪﯾﺪ ﺟﺎﯾﮕﺰﯾﻦ می‌شود. برای هر فرد، در مجموعه، احتمال وقوع‏ جهش بررسی‌شده، چنانچه باید جهش انجام شود، نقطه‏ای در فام‌تن، به صورت تصادفی انتخاب می‏شود و ژن مورد نظر با همتای دیگری جایگزین می­شود.

برای خاتمه دادن به مراحل‏ ایجاد نسل توسط الگوریتم به یک شرط خاتمه نیاز است. شرط توقف مسأله، می‌تواند طی کردن تعداد معینی تکرار باشد که از قبل توسط کاربر تعیین‌شده، یا می­تواند عدم تغییر جواب نهایی الگوریتم در چند تکرار و یا رسیدن به تعداد ثابتی از نسل‌ها و یا اتمام بودجة اختصاص داده‌شده(زمان محاسبه/پول) و یا شرط خاص‌ دیگری باشد[5 و 9]. در پایان ذکر این نکته ضروری است که ملاک برتری یک‏ رشته(جواب) نسبت به رشتة دیگر، در واقع تابع برازش است. برای مثال در حالت کشف‏ الگوهای بیان‏گر تقلب این تابع می‏تواند، حداقل میزان تطابق‏ مورد انتظار در شرکت‏های متقلب و حداکثر میزان تطابق‏ مورد انتظار در شرکت‏های سالم باشد.

 

برنامه‌نویسی ژنتیک

برنامه‌نویسی ژنتیک[21]، همچون الگوریتم ژنتیک از جمله الگوریتم­های الهام گرفته­شده از طبیعت است که در پی بهبود سامانه­های محاسباتی رایانه­ای است. این روش برای نخستین بار در سال 1992 توسط کوزا[19] مطرح شد. در این روش راه­حل­ها از طریق شبیه­سازی روند تکامل موجودات و قانون بقای اصلح ایجاد می‌شوند. تفاوت بنیادین بین الگوریتم ژنتیک و برنامه‌نویسی ژنتیک در راه­حل­ها و یا به عبارتی در خروجی آنهاست؛ الگوریتم ژنتیک رشته­ای از اعداد را ارایه می­کند که بیان‌کنندة یک راه حل بهینه هستند درحالی‌که برنامه‌نویسی ژنتیک یک مدل محاسبه­گر ارایه می­کند که با در اختیار داشتن ورودی­ها می­تواند خروجی را ایجاد کند. این مدل از یک سری گره­های[22] متصل به یکدیگر تشکیل می­شود، گره­ها می­توانند به صورت نقطة عملیاتی[23] و یا نقطة نهایی[24] باشند. نقاط نهایی محل قرارگیری متغیرهای مستقل هستند و نقاط عملیاتی می­توانند به صورت توابع ریاضی ساده چون جمع، تفریق، ضرب و تقسیم و یا متشکل از توابع ریاضی دیگری چون توابع مثلثاتی، لگاریتمی، توانی و یا توابع دیگر باشند[14].

خروجی یا مدل برنامه‌نویسی ژنتیک را می­توان به صورت یک درخت مثل شکل 1 نشان داد، در این درخت­ها، گره­های دارای علامت ریاضی بیانگر نقاط عملیاتی و گره­های دارای حروف، نشانگر نقاط نهایی هستند. این الگوریتم با اعمال عملگرهای ژنتیک بر این درخت، به دنبال درخت یا راه­حل و یا به عبارتی معادله­ای می‌گردد که بهترین میزان برازندگی را داشته باشد. این الگوریتم در چند مرحله به شرح زیر اجرا می‌شود[22]:

الف) ایجاد جمعیت ابتدایی از راه­حل­ها، در این مرحله الگوریتم به صورت تصادفی چندین راه­حل را ایجاد می­کند. هر یک از این راه‌حل‌ها در قالب یک درخت هستند که از نقاط عملیاتی و نقاط نهایی تشکیل شده­اند. شاخه­هایی از درخت که زیرمجموعه ندارند باید به صورت نقاط نهایی در نظر گرفته شوند و سایر نقاط به صورت تصادفی به نقاط عملیاتی و نقاط نهایی تبدیل می­شوند. نوع توابع قابل به کارگیری در نقاط عملیاتی، توسط پژوهشگر تعیین می­شود و الگوریتم برای هر راه­حل در جمعیت ابتدائی، به صورت تصادفی، توابع در دسترس را در نقاط عملیاتی قرار می­دهد. نتیجه حاصل تعدادی درخت است که هریک بیانگر یک معادله برای حل مسألة مورد نظر هستند.

ب) محاسبة میزان برازندگی هر درخت: این مرحله با محاسبة خروجی حاصل از ارایه متغیرهای مستقل به هر درخت و مقایسة این خروجی با خروجی واقعی، میزان برازندگی هر راه حل را برآورد می‌کند. در نهایت براساس میزان برازندگی درخت‌ها آنها را مرتب می­کند و راه­حل­های مناسب را برای اجرای مرحلة بعد انتخاب می­کند.

ج) اعمال عملگرهای ژنتیک به روی درخت‌ها: در این مرحله همچون الگوریتم ژنتیک، با استفاده از عملگرهایی چون پیوند، جهش و انتخاب و اعمال آنها به روی راه­حل­های انتخاب‌شده در مرحلة قبل، جمعیت بعدی ایجاد می‌شود. نمایة 2، نشانگر اعمال عملگر پیوند بر دو درخت راه­حل است.

د) مراحل ب و ج آن‌قدر تکرار می‌شوند تا یکی از شرایط توقف به‌دست آید. شرط توقف می­تواند تعداد دفعات مشخص از تکرار الگوریتم، تعداد دفعات بازخوانی تابع هدف، طی زمان مشخص، رسیدن به سطح خطای قابل‌قبول و یا عدم بهبود راه­حل­ها در چند تکرار متوالی باشد. از مزایای این الگوریتم می­توان به موارد زیر اشاره کرد:

- تخمین معادله یا مدل محاسبه­گر برای نخستین بار؛

- بهینه‌سازی فارغ از مشتق‌گیری؛

- عملکرد با پارامترهای اندک؛

- انتخاب طبیعی مهم‌ترین ورودی­ها؛

- ارایه نتیجة نهایی به صورت توابع تجزیه‌شدة مختصر.

شینگو[25] و همکارانش (2013) این روش را برای پردازش سیگنال­های خرید و فروش در بازارهای مالی به کار بردند. هدف ایشان  تکامل بخشیدن به سامانه­های تصمیم­گیری در بازارهای مالی، برای شناخت مناسب­ترین زمان برای خرید و فروش اوراق بهادار بود. پژوهش ایشان را می­توان در شمار نخستین کاربردهای برنامه نویسی ژنتیک در پردازش داده­های اقتصادی و مالی آورد.

 

فرضیه‌های پژوهش

فرضیة 1: با استفاده از برنامه‌نویسی ژنتیک می­توان مدل قابل اتکایی برای پیش­بینی رفتار بازارهای سرمایه، طلا و ارز ایجاد کرد.

فرضیة 2: با استفاده از شبکة عصبی مصنوعی می‌توان مدل قابل اتکایی برای پیش­بینی رفتار بازارهای سرمایه، طلا و ارز ایجاد کرد.

فرضیة 3: مدل شبکة عصبی مصنوعی از مدل برنامه‌نویسی ژنتیک برای پیش‌بینی بازارهای سرمایه، طلا و ارز کاراتر است.

فرضیة 4: با استفاده از مدل الگوریتم ژنتیک می‌توان سبدهای بهینة سرمایه­گذاری را شناسایی کرد.

 

روش پژوهش

در پژوهش حاضر، سعی شد تا مدل بهینة سرمایه‌گذاری برای سرمایه­گذاران تعیین شود. در این راستا با استفاده از مدل‌های برنامه­نویسی ژنتیک و شبکة عصبی مصنوعی، برای یافتن بهترین مدل برای پیش‌بینی کوتاه‌مدت بازارهای مالی تلاش شد، بدین گونه که با استفاده از میانگین قیمت­ها در هفتة منتهی به هر روز، طی دورة یادشده، سعی شد تا قیمت روز بعد پیش‌بینی شود. پس از آن برای راهنمایی سرمایه‌گذاری در بعد میان‌مدت کارایی الگوریتم ژنتیک در یافتن مرز کارایی بازار و ارایه سبدهای بهینة سرمایه­گذاری مورد آزمون قرار گرفت؛ معیار قضاوت درمورد کارایی این الگوریتم شاخص پاداش به تغییر پذیری شارپ است. این پژوهش، کاربردی است. طرح پژوهش آن، از نوع نیمه­تجربی و با استفاده از رویکرد پس­رویدادی (از طریق اطلاعات گذشته) است.

جامعة آماری این پژوهش، شامل کلیة فرصت­های سرمایه­گذاری ممکن در ایران از تاریخ اول فروردین‌ماه 1389 تا تاریخ 31 شهریورماه 1391 است. در این پژوهش نمونه‌گیری انجام نشد، بلکه با توجه به مطالب گفته‌شده، از بین کلیة فرصت­های سرمایه‌گذاری ممکن برای سرمایه­گذاری، بازارهای بورس اوراق بهادار، سپرده­های بانکی، بازار طلا و ارز مورد بررسی قرار گرفت.

متغیرهای مستقل این پژوهش در مدل­های شبکة عصبی مصنوعی و برنامه­نویسی ژنتیک برای پیش­بینی بازار بورس اوراق بهادار تهران عبارتند از: قیمت بازار آزاد دلار امریکا، حباب قیمت سکة بهار آزادی، قیمت جهانی هر اونس طلای 24 عیار و قیمت سبد نفتی اوپک هستند؛ همچنین متغیر وابسته این مدل­ها شاخص قیمت بورس اوراق بهادار تهران است.

همچنین برای پیش­بینی بازار ارز، متغیرهای مستقل پژوهش عبارتند از: قیمت بازار سکة بهار آزادی، قیمت سبد نفتی اوپک و شاخص قیمت بورس اوراق بهادار. متغیر وابستة این مدل قیمت بازار آزاد دلار امریکا است.

متغیرهای مستقل پژوهش برای پیش­بینی بازار طلا، عبارتند از: قیمت بازار آزاد دلار امریکا، قیمت جهانی هر انس طلای 24 عیار، قیمت سبد نفتی اوپک و شاخص قیمت بورس اوراق بهادار. متغیر وابستة این مدل، قیمت بازار سکة بهار آزادی است.

کولموگوروف، اثبات کرده است که با استفاده از یک شبکة عصبی پرسپترون سه لایه، می­توان هر تابع پیوستة مورد نیاز برای طبقه­بندی را ایجاد کرد[7].  بر همین اساس، در این پژوهش از شبکه­های عصبی پرسپترون سه لایه استفاده شده است. سایر ویژگی­های شبکه­های به کار رفته از این قرار است:

- شبکه‌ها از نوع شبکه­های پیش‌خور هستند؛

- روش یادگیری، شبکة یادگیری نظارت‌شده یا با سرپرست است؛

- این شبکه­ها با الگوریتم پس انتشار خطا آموزش داده شده­اند؛

- الگوریتم آموزش، الگوریتم لونبرگ-مارکواد[26] است؛

- ساختار ارتباطی این شبکه‌ها یک طرفه، با ارتباط کامل هر ورودی با تمام پی‌یاخته‌های لایة میانی و ارتباط هر پی‌یاختة لایة میانی با پی‌یاختة لایة خروجی است. در این شبکه‌ها ورودی­ها ارتباط مستقیمی با لایة خروجی ندارند؛

- با آزمودن تعداد پی‌یاختة متفاوت در لایة میانی(از 1 تا 20)، بهترین شبکه انتخاب شد؛

- معیار سنجش کارایی شبکه در فرایند آموزش میانگین مربعات خطا، [27] است.

 

یافته‌های پژوهش

هدف از این پژوهش، بررسی توانایی پیش­بینی کوتاه­مدت بازده سرمایه­گذاری در بازارهای مالی به وسیلة فنون هوش مصنوعی بود. در ارتباط با مدل برنامه نویسی ژنتیک، بررسی داده­های حاصل، نشان می­دهد که میزان دقت مدل که براساس میانگین خطای پیش‌بینی شبکه در داده­های آزمون سنجیده می­شود، در بازار سکة بهار آزادی معادل 31/97%، در بازار ارز 22/96% و در بورس اوراق بهادار تهران 41/97% است. مقدار مجذور میانگین مربعات خطای شبکه در داده های آزمون، در بازار سکة بهار آزادی 687/588، در بازار ارز 7936/13174 و در بازار بورس اوراق بهادار تهران 7239/42 است. بنابراین فرضیة نخست پژوهش تأیید شد.

در ارتباط با فرضیة دوم، پس از طراحی و اجرای شبکه‌های عصبی با تعداد پی­یاختة متفاوت در لایة میانی و مقایسة آنها با یکدیگر، شبکة بهینه در هر بازار انتخاب شد که خلاصة نتایج آن به شرح جدول (1) است. این نتایج، بیانگر توانایی شبکه­های عصبی در پیش­بینی بازارهای مالی است و بنابراین فرضیة دوم پژوهش نیز تأیید شد.

فرضیة سوم از طریق مقایسة مقادیر درصد خطا و مجذور میانگین مربعات خطای مدل­ها مورد آزمون قرار گرفت. مقایسه­ها نشان می­دهد که در هر دو مورد شبکه­های عصبی مصنوعی از برنامه­نویسی ژنتیک بهتر عمل می­کند. بنابراین فرضیة سوم تأیید می­شود.

علاوه بر معیارهای کمی، از دیگر موارد برتری شبکه­های عصبی بر برنامه‌نویسی ژنتیک، می‌توان به موارد زیر اشاره کرد:

- سرعت بسیار بالاتر؛

- پیچیدگی محاسباتی کمتر؛

- سهولت در کاربرد و تنظیمات الزامی کم­تر برای یافتن پاسخ؛

- وجود نرم­افزارهای پیشرفته و جامع جهت اجرای مدل­ها.

 

 

 

 

 

 

 

 

 

 

 

جدول (1) خلاصة نتایج عملکرد شبکه­های عصبی مصنوعی

بازار

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

RMSE

میانگین قدر مطلق خطا

میانگین درصد خطا

سکة بهار آزادی

15

789/9806

005/6939

25/1

ارز

11

77/33

307/23

68/1

بورس اوراق بهادار

17

788/314

673/232

06/1

 

جدول (2) مقایسة میزان مجذور میانگین مربعات خطای مدل‌های پیش‌بینی بازارهای مالی

 

بازار سکة بهار آزادی

بازار ارز

بورس اوراق بهادار

شبکة عصبی مصنوعی

789/9806

778/33

788/314

برنامه­نویسی ژنتیک

793/13174

7239/42

687/588

 

جدول (3) مقایسة میزان درصد خطای مدل‌های پیش‌بینی بازارهای مالی

 

بازار سکة بهار آزادی

بازار ارز

بورس اوراق بهادار

شبکة عصبی مصنوعی

25/1%

68/1%

06/1%

برنامه­نویسی ژنتیک

69/2%

78/3%

59/2%

 

 

به منظور آزمون فرضیة چهارم بازده و ریسک فرصت‌های سرمایه‌گذاری برای آخرین ماه از دورة پژوهش استخراج شد. این فرصت‌ها شامل سهام 20 شرکت فعال‌تر بازار بورس طی دورة پژوهش، دلار آمریکا، سکة بهار آزادی و سپرده‌گذاری در بانک بود. بازده مورد استفاده در این مدل، بازده حاصل از نگهداشت دارایی، یعنی قیمت پایان دوره منهای قیمت ابتدای دوره به اضافة سود سهام پرداخت شده بود. ریسک از طریق محاسبة گشتاور مرتبة دوم بازده‌ها حول بازده حاصل از نگهداشت دارایی به دست آمد، چرا که واحد اندازه­گیری ریسک تابعی از واحد اندازه­گیری بازده است و باید بیانگر نوسان یا احتمال انحراف از بازده باشد. محاسبة واریانس به دلیل این­که پراکندگی داده­ها را حول میانگین و نه حول بازده حاصل از نگهداشت دارایی محاسبه می­کند نامطلوب است. توانایی این مدل براساس مقایسة شاخص شارپ سبدهای بهینه با شاخص شارپ دارایی‌های مالی محاسبه شد. بررسی‌ها نشان می‌دهند که تمامی سبدهای بهینه از تمامی دارایی‌های مالی، شاخص شارپ بیشتری دارند. بنابراین فرضیة چهارم پژوهش تأیید می­شود.

 

 

 

نمودار (1) بازده و ریسک سبدهای بهینة سرمایه‌گذاری

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


نتیجه‌گیری

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

در بعد میان­مدت، کارایی الگوریتم ژنتیک در یافتن سبدهای بهینة سرمایه­گذاری در بازارهای مالی مورد بررسی قرار گرفت. به این منظور از بازده حاصل از نگهداشت دارایی و گشتاور مرتبة دوم بازده­ها حول بازده حاصل از نگهداشت به عنوان بازده و ریسک فرصت­ها استفاده شد. نتایج کار، حاکی از برتری تمامی سبدهای شناسایی شده از منظر شاخص شارپ نسبت به هر فرصت سرمایه­گذاری بود.

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



[1]. Realized Return

[2]. Expected Return

[3]. Artificial Neural Network

[4]. Genetic Programing

[5]. Neuron

[6]. Connection Topology

[7]. Feed forward

[8]. Recurrent

[9]. Training Method

[10]. Supervised Learning

[11]. Unsupervised Learning

[12]. Reinforcement Learning

[13]. Learning Algorithm

[14]. White

[15]. Survival of the Fittest

[16]. Chromosome

[17]. Selection

[18]. Cross Over

[19]. Search Space

[20]. Moutation

[21]. Genetic Programing (GP)

[22]. Nodes

[23]. Function Set

[24]. Terminal Set

[25]. Shingo

[26]. Levenberg-Marquardt backpropagation

[27]. Mean Squared Error

منابع
 [1] اسلامی بیدگلی، علیرضا و مهدی بیگدلو. (۱۳۸۵). هم سنجی بازده و ریسک فرصت‌های جایگزین سرمایه‌گذاری در ایران. بررسی‌های حسابداری و حسابرسی، 13 (۴۴): ۱۴۹-۱۷۵.
[2] البرزی، محمود و احمد یعقوب­نژاد و حسین مقصود. (۱۳۸۸). کاربرد شبکه‌های عصبی مصنوعی در پیش‌بینی شاخص بازده نقدی و قیمت سهام. فصلنامة مطالعات حسابداری، (۲۲): ۱۱۹-۱۴۰.
[3] بی، آر ‌و تی جکسون. (1383). آشنایی با شبکه‌های عصبی. (ترجمة دکتر محمود البرزی). تهران: انتشارات علمی دانشگاه صنعتی شریف، چاپ دوم.
[4] جعفریه، حمید رضا، نگاره معتمدی و الهه ملایی. (1385). شبکه‌های عصبی و الگوریتم­های ژنتیک در تجارت. مجلة تدبیر (177):62-67.
[5] جوهری، بیژن و حسین فرقانی. (1384). نقش الگوریتم ژنتیک در آموزش و کاهش پیچیدگی شبکة عصبی. مجلة بررسی­های بازرگانی، (14): 97-101.
 [6] حسینی سلاکجانی، سیدحسین. (۱۳۸۶). کاربردهای شبکه‌های عصبی مصنوعی، منطق فازی و الگوریتم ژنتیک در بازار سرمایه. حسابدار رسمی، 4 (۱۲):  ۴۳ـ۷۱.
[7] خالوزاده، حمید. (1377). مدل‌سازی غیرخطی و پیش‌بینی رفتار قیمت سهام در بازار بورس تهران. پایان‌نامة چاپ‌نشده دکترای الکترونیک. دانشگاه تربیت مدرس.
[8] راعی، رضا. (۱۳۸۱). تشکیل سبد سهام برای سرمایه‌گذار مخاطره پذیر(مقایسة شبکة عصبی و مارکویتز). پیام مدیریت، 2 (۲): ۷۷-۹۶.
[9] راعی، رضا. (1377). طراحی مدل سرمایه‌گذاری مناسب در سبد سهام با استفاده از هوش مصنوعی (شبکه‌های عصبی). پایان‌نامة دکتری چاپ نشده. دانشگاه تهران.
 [10] مسیح آبادی، ابوالقاسم و احمد عبداللهی. (1388). مفاهیم و کاربردهای الگوریتم ژنتیک در حوزة حسابداری. مجلة دانش و پژوهش حسابداری، (17): 24-29.
[11] منجمی، سید امیرحسین، مهدی ابزری و علیرضا رعیتی شوازی. (1388). پیش‌بینی قیمت سهام در بازار بورس اوراق بهادار با استفاده از شبکة عصبی فازی و الگوریتم‌های ژنتیک و مقایسة آن با شبکة عصبی مصنوعی. فصلنامة اقتصاد مقداری (بررسی‌های اقتصادی سابق)، 6 (3): 1-26
[12] منهاج، محمدباقر (۱۳۷۹). مبانی شبکه‌های عصبی، هوش محاسباتی. تهران: انتشارات دانشگاه صنعتی امیرکبیر.
 [13] نخجوانی، احمد. (۱۳۸۲). اقتصاد ایران. تهران: انتشارات مرکز آموزش تحقیقات صنعتی ایران، چاپ اول.
[14] AlQuraishi, A. (2009). Determination of Crude Oil Saturation Pressure Using Linear Genetic Programming. Energy & Fuels, (23): 884–887.
[15] Brabazon, A & O’Neill, M. (2006). Biologically Inspired Algorithms for Financial Modeling. Berlin: Springer, 1st ed: 15-20.
[16] Bishop, M. Christopher. (1995). Neural Networks for Pattern Recognition. USA: Oxford University Press. 1 edition.
[17] Hagan, M. T., Demuth, H. B. and M. Beal. (2002). Neural Network Design. Singapore: Thamson Asia Pte Ltd.
[18] Hoglund, H. (2012). Detecting Earnings Management with Neural Networks. Expert Systems with Applications, (39): 9564-9570.
[19] Koza, J. (1992). Genetic programming: on the Programming of Computers by Means of Natural Selection. England, London: MIT Press, Cambridge, Sixth ed.
[20] Shingo Mabua, Kotaro Hirasawab, Masanao Obayashia, Takashi Kuremoto. (2013). Enhanced Decision Making Mechanism of Rule-Based Genetic Network Programming For Creating Stock Trading Signals. Expert Systems with Applications Volume 40, Issue 16: 6311–6320.
[21] Sonmez, F. saryal. (2007). Does inflation have an impact on conditional stock market volatility? Evidence from Turkey and Canada. International research journal at finance and economics, (11): 122-133
[22] Tae-Mun Hwang, Hyunje Oh, Youn-Kyoo Choung, Sanghoun Oh, Moongu Jeon, Joon Ha Kim, Sook Hyun Nam, Sangho Lee. (2009). Prediction of Membrane Fouling In The Pilot-Scale Microfiltration System Using Genetic Programming. Desalination (247): 285–294.
[23] White, H. (1988). Economic Prediction Using Neural Networks: The Case of IBM Daily Stock Return. Proceeding of the second IEEE international conference on neural network.