چند سال قبل که تب بورس و سهام در ایران خیلی بالا گرفته بود، یکی از دوستان ما حسابی افتاده بود توی این کارهای تحلیل بازار و پیشبینی و سیگنال ورود و خروج دادن. متاسفانه اکثر سیگنالهایی که میداد هم اشتباه از کار در میآمد و ضرر بزرگی به خودش و بقیه وارد کرده بود. البته که این دوست ما خیلی آدم شیرین و بامزهایست و کلا زندگی را هم خیلی سخت نمیگیرد و خودش خیلی از بابت سیگنالهای اشتباهی که داده بود و ضررهایی که متحمل شده بود، ناراحت نبود و همیشه معتقد بود که آدم نباید زیادی سخت بگیرد و همهی اینها درس است. اما دوباره بعد از چند روز یک سیگنال جدید میداد و باز همان آش و همان کاسه. اما از آنجایی که دوست خیلی خوبی بود و به قول کُردها خونش شیرین بود، هرکسی از آشناها و دور و بریها یکی دو بار با سیگنالهایش ضرر میکردند و بعد بیخیال میشدند. چون آدم دوست داشتنی بود و همه میدانستند که نیت خوبی هم دارد، کسی ناراحتی از او به دل نمیگرفت.
من که شخصا هیچگاه وارد بورس و این صحبتها نشدم، اما مسالهی بورس به لحاظ ریاضیات برای من خیلی جالب است. به هرحال اقتصاد در کنار جنبههای روانشناسی و جامعه شناسی و سیاسی، یک جنبههای مهم ریاضیاتی نیز دارد. اصلا شما وقتی لیست برندگان نوبل اقتصاد و تخصص هرکدام و علت برنده شدنشان را مطالعه بفرمایید، از تنوع این متخصصان خیلی متعجب خواهید شد. شما میبینید در بین برندگان علاوه بر اقتصاددان، چندین و چند روانشناس و ریاضیدان بزرگ هم وجود دارد. این نشان میدهد که اقتصاد ارتباط تنگاتنگی با ریاضیات دارد.
در مورد بورس، شما عمدتا دنبال دو چیز هستید، پیدا کردن نقاط بیشینه (maximum) و کمینهی (minimum) قیمت سهم. کسی که در بورس است، علاقه دارد در نقطهی کمینه یعنی پایینترین قیمت سهم، سهم را بخرد و در نقطهی بیشینه یعنی بالاترین قیمت، سهم را بفروشد. اگر سیگنالهای کسی مثل سیگنالهای آن دوست ما، برعکس باشد خیلی افتضاح است. این یک نوع مسالهی بهینه سازی یا optimization است. البته در مورد بازار سهام، خیلی پارامترهای دیگر دخیل است که اینجا مورد بحث نیست.
اجازه دهید روی این مسالهی بهینهسازی بیشتر تمرکز کنیم. راستش مسالهی بهینه سازی یک مسالهی بسیار دشوار و پیچیده در ریاضیات و علوم کامپیوتر است. فرض کنید ما دادههایی مانند نمودار بالا به کامپیوتر دادهایم و کامپیوتر قرار است برای ما پایینترین مقدار در کل دادهها را پیدا کند. اما فرض کنید تعداد دادهها خیلی زیاد است و ما نمیخواهیم انرژیمان را برای بررسی کل دادهها صرف کنیم. ما به الگوریتممان میگوییم از سمت چپ حرکت کن و جلو برو، هروقت دادهی بعدی از دادهی قبلی کوچکتر بود ادامه بده، به محض اینکه این روند برعکس شد، متوقف شو و همان نقطه را به عنوان کمینه اعلام کن. این الگوریتم در مورد دادههای زیر، براحتی شکست میخورد. چرا که نقطهی کمینهی اولی در سمت چپ را به ما میدهد، در حالیکه این نقطه فقط یک کمینهی محلی (local minima) است، نه کمینهی کل دادهها (global minima). و این یکی از مسائل دشوار در ریاضیات است، چرا که ما هنوز الگوریتمی نداریم که به شکلی موثر، بتواند از تلهی کمینههاهای محلی بگریزد.
پینوشت : خوبی زندگی هم همین است، وقتی در اوجیم نمیدانیم که این بلندترین نقطهی زندگیمان یا global maxima است یا صرفا یک بیشینهی محلی یا local maxima. همینطور وقتی در قعریم، امیدواریم که آن قعر global minima باشد و دیگر از آن پایینتر نرویم.
– ابا اباد