Authors
1 Islamic Azad University, Mobarakeh Branch
2 Shiraz university
3 Islamic Azad University, Science and Research Branch, Isfahan
Abstract
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