رگرسیون لجستیک و پیشبینی بازار سهام
ایده
بیایید یک ایده روی کاغذ داشته باشیم. فعلاَ روی کاغذ.
از یک سوال شروع میکنم. آیا امکان دارد در پایان هر روز بازار بورس، یک لیستی ارایه دهیم از تمام نمادهای معامله شده، به ترتیب اولویت و احتمال مثبت بودن فردا.
به بیان دیگر در این لیست، رتبه اول مربوط به نمادی باشد که بالاترین احنمال مثبت بودن فردا را دارد و به همین ترتیب تمام نمادها تا انتهای لیست، که در رتبه آخر نمادی قرار میگیرد که کمترین احتمال مثبت بودن فردا را دارد؟
پاسخ مثبت است. بله میتوان در پایان هر روز، به هر نماد یک عدد نسبت داد که آن عدد بیانگر اندازه احتمال مثبت بودن فردا است.
اما چگونه؟ با چه ابزاری؟
سعی میکنم از پایه و مقدمات شروع کنم و بگویم. هر چند کمی طولانی است. اما پیشنهاد میکنم با دقت بخوانید.
در نوشته قبلی گفتم همه چیز رگرسیون است. پس از همان شروع میکنم.
رگرسیون چه بود؟ خیلی ساده.
رگرسیون
Y = f (X)
به معنای اینکه با استفاده از تابعی مانند f و مشاهده و اندازهگیری X مقدار عددی Y را پیشبینی کنیم. در هر مدل رگرسیونی، X در اختیار ما است و ما آن را میبینیم و اندازه میگیریم اما Y در اختیار ما نیست و ما باید از روی X مقدار Y را به دست بیاوریم.
میخواهیم از همین ابزار استفاده کنیم تا به ایده خودمان برسیم. یعنی پیشبینی احتمال مثبت بودن نماد در بازار فردا. گام به گام پیش میرویم.
-
الف) Y چیست؟
از Y شروع میکنیم. به جای Y خیلی ساده P مخفف Probability قرار میدهیم. چرا؟ چون میخواهیم یک احتمال پیشبینی کنیم. احتمال مثبت بودن نماد در روز بعد.
پس مدل رگرسیونی زیر را خواهیم داشت.
P = f (X)
در این مدل X ها را که داریم و درباره آنها در ادامه صحبت میکنم، اما f یا همان تابعی که قرار است X را به P مرتبط کند چیست؟
-
ب) f چیست؟
بیایید درباره f حرف بزنیم. f از کجا ساخته میشود؟ چه تابعی قرار دهیم؟
برای پاسخ به این سوال اجازه دهید یکبار دیگر مدل رگرسیون را ببینیم.
Y = f (X)
در تئوری آماری اثبات میشود اینکه f چه باشد به جنس و ماهیت Y مربوط است. یعنی پاسخ به این سوال که از چه f ای استفاده میکنیم، به این برمیگردد اعداد Y چه هستند و چه جنسی دارند. چند مثال ببینیم.
i) فرض کنید Y پیشامد Event رخدادن بیماری کووید ۱۹ باشد. قبلاَ در همین کانال نوشتم که به نظر میرسد که رخداد این بیماری دارای توزیع آماری پواسن Poisson باشد، امروزه این مطلب ثابت شده است. پس f ما در این مثال تابع پواسنی خواهد بود و مدل ما رگرسیون پواسنی.
ii) فرض کنید Y پیشامد فاصله زمانی بین دو زمین لرزه باشد. میدانیم فاصله بین دو زمین لرزه دارای توزیع آماری با نام نمایی Exponential است. پس f ما در این مثال تابع نمایی خواهد بود و مدل ما رگرسیون نمایی.
iii) بسیاری از پدیدههای اطراف ما دو حالتی و اصطلاحاَ صفر و یکی هستند. یعنی یا رخ میدهد (یک) یا رخ نمیدهد (صفر). مثبت یا منفی، برد یا باخت، روشن یا خاموش، بیمار یا سالم. این پدیدهها و پیشامدها دارای توزیع آماری با نام برنولی Bernoulli هستند. ما در این پدیدهها به دنبال یافتن احتمال رخداد پیشامد هستیم. یعنی همان P که ابتدای متن از آن حرف زدم. ما در این نوشتار میخواهیم درباره این پدیدها حرف بزنیم.
یکبار دیگر مدل رگرسیونی که به مدل احتمالی تبدیل شد را ببینید.
P = f (X)
سوال ما این بود که در این مدل از چه f ای استفاده کنیم؟
تا اینجا به این نتیجه رسیدیم که پیشامدی که ما میخواهیم بررسی کنیم دو حالتی است، مثبت یا منفی. پس توزیع آن برنولی است. در تئوری آماری که البته چندان هم پیچیده نیست، نتیجه میشود وقتی توزیع پیشامد ما برنولی است، تابع f به صورت زیر خواهد بود. اسم آن را تابع لجستیک مینامیم.
f (X) = eX / (1+eX)
علامت / به معنای تقسیم است.
پس مدل احتمالی ما به صورت زیر خواهد بود.
P = eX / (1+eX)
در این مدل با استفاده از X که آنها را میدانیم، مقدار P را به دست میآوریم.
در اینجا دوست دارم دو نکته بگویم.
i) احتمال، مادر آمار است. به این نکته توجه کنید که ما در ابتدا فقط دو عدد داشتیم، صفر (پیشامد رخ نمیدهد) یا یک (پیشامد رخ میدهد). اما حالا مدل احتمالی داریم. یعنی بینهایت عدد از بازه (۱ . ۰). مثلا عدد ۰.۲۷ یعنی پیشامد با احتمال ۲۷ درصد رخ میدهد یا ۰.۶۳ یعنی پیشامد با احتمال ۶۳ درصد رخ میدهد و به همین ترتیب.
ii) احتمال یک اندازه است. همین کلمه اندازه و این تعریف، علوم آماری را دگرگون کرده و جرقه پیشرفت آمار شده است. از هواشناسی تا زمینشناسی در حیطه علوم آماری قرار دارد. از پاسخ مثبت به این سوال که آیا موجودات فضایی وجود دارند تا احتمال رخدادن زمین لرزه در کف اقیانوسها چقدر است، در مفاهیم و کاربردهای علوم آماری قرار میگیرند. فرصتی شد بعداَ درباره آن بیشتر خواهم نوشت.
یه ادامه متن خودمان بپردازیم.
به اینجا رسیدیم که مدل احتمالی ما به صورت زیر خواهد بود.
P = eX / (1+eX)
در این مدل با استفاده از X که آنها را میدانیم، مقدار P را به دست میآوریم. P هم همان احتمال رخدادن پیشامد مورد نظر ما است. ما این پیشامد را مثبت بودن نماد در روز بعد تعریف میکنیم.
به منظور کاربرد این مدل احتمالی در واقعیت و بر روی دیتا، آن را به یک مدل رگرسیون احتمالی که نام آن را رگرسیون لجستیک Logistic Regression میگذاریم، تبدیل میکنیم.
مدل رگرسیون لجستیک به صورت زیر خواهد بود. منظور از exp همان عدد نِپِر یا e است.
P = exp {b0 + b1 X} / (1+ exp {b0 + b1 X})
یکبار دیگر مدل لجستیک بالا را مرور کنیم.
P که احتمال است و احتمال رخداد پیشامد یا همان مثبت بودن نماد در فردا را نشان میدهد.
X اعدادی هستند که ما آنها را میدانیم، مثلاَ قیمت پایانی سهم در امروز، یا هر چیز دیگر.
b0 و b1 نیز ضرایب رگرسیونی هستند که توسط نرمافزارها محاسبه میشوند. نگران آنها نباشید.
به این ترتیب و در نهایت میتوانیم با استفاده از این مدل رگرسیون لجستیک، به یافتن و براورد احتمال مثبت بودن نماد در روز بعد بپردازیم.
-
پ) X چیست؟
X های داخلی.
آنها فاکتورهایی از جنس خود نماد هستند. به عنوان مثال عبارتند از
قیمت پایانی، اولین و آخرین قیمت، کمترین و بیشترین قیمت امروز
تعداد، حجم و ارزش معاملات امروز
خرید و فروش حقیقی و حقوقی امروز
نسبت فروشنده به خریدار امروز
موارد بالا برای یک روز است. به طور حتم قیمت فردا تاثیرپذیر از روزهای قبل نیز هست. پس همه فاکتورهای بالا را برای یک دوره تناوب به دست آورید. مثلاَ اگر امروز دوشنبه است، اعداد فاکتورهای بالا را برای همه روزها تا دوشنبه هفته قبل به دست بیاورید.
فاکتورهای دیگری نیز وجود دارند، مانند
حجم مبنا، میانگین حجم ماه و درصد سهام شناور
EPS و PE به همراه PE گروه
اخبار و گزارشات منتشر شده از سهم. این یک مفهوم کیفی است. اما آن را کمی میکنیم. میتوانیم آن را با کدهای ۱ تا ۷ ارزیابی کنیم. کد ۷ یعنی خبرهای خوب و مثبت و کد ۱ یعنی اخبار و گزارشات منفی.
آنها را هم به دست میآوریم.
درصد شاخص کل و هم وزن امروز (میتوان آن را برای یک تناوب نیز محاسبه کرد. به دقت کار اضافه میکند.)
قیمت ارز و طلای امروز
تورم ماهانه
ریسک سیاسی. این نیز یک مفهوم کیفی است. اما آن را کمی میکنیم. میتوانیم آن را با کدهای ۱ تا ۷ ارزیابی کنیم. کد ۷ یعنی بالاترین ریسک سیاسی و اوضاع نامساعد سیاسی و روانی جامعه و کد ۱ شرایط عادی و نرمال.
روز هفته. احتمالا موثر باشد. امروز چندشنبه است؟ شاید واقعاَ رفتار سهم روز چهارشنبه با شنبه متفاوت باشد. نمیدانیم. تست میکنیم.
به این ترتیب تعداد X های زیادی را وارد مدل میکنیم. هر آنچه که خودتان فکر میکنید بر روی نماد موثر است را نیز وارد مدل احتمالی نماد کنید. از تعداد زیاد آنها نترسید، مهم نیست. هر کدام که به درد بخور نبود، نرمافزار حذف خواهد کرد و X های اصطلاحاَ معنادار و مفید را نگه خواهد داشت.
و در پایان
P = exp {b0 + b1 X1 + …. + bk Xk} / (1+ exp {b0 + b1 X1 + …. + bk Xk})
به معنای اینکه به تعداد k تا کمیت اثرگزار X داریم که میخواهیم با استفاده از آنها، احتمال مثبت بودن قیمت نماد در روز بعد را به دست آوریم.
این ابزار بسیار دقیق خواهد بود. به دلیل اینکه خود رگرسیون لجستیک، یک تحلیل احتمالی دقیق است. از طرف دیگر سعی کردهایم X های اثرگزار زیادی در مدل وارد کنیم.
این فرایند را برای همه نمادهای بازار انجام میدهیم. به این ترتیب ما برای هر نماد یک مدل احتمالی از نوع رگرسیون لجستیک خواهیم داشت. با استفاده از آنها میتوانیم احتمال مثبت بودن سهم در فردا را به دست بیاوریم و بنابراین ایده و لیست ما که همه نمادها را به ترتیب اولویت احتمال مثبت بودن فردا، دستهبندی کنیم ایجاد خواهد شد.
مدلهای رگرسیون لجستیک هر روز خود را بهبود خواهند داد، امروز فردا را پیشبینی میکنند و با به دست آمدن اطلاعات فردا، پس فردا پیشبینی خواهد شد و به همین ترتیب روزهای آینده.
چگونه به این مقاله رفرنس دهیم
GraphPad Statistics (2021). Logistics regression and stock market forecasting. Statistical tutorials and software guides. Retrieved Month, Day, Year, from https://graphpad.ir/logistic-regression-stock-market/.php
For example, if you viewed this guide on 12th January 2022, you would use the following reference
GraphPad Statistics (2021). Logistics regression and stock market forecasting. Statistical tutorials and software guides. Retrieved January, 12, 2022, from https://graphpad.ir/logistic-regression-stock-market/.php
ارایه خدمات تحلیل و مشاوره آماری
گراف پد برای شما خدمات مشاوره و انجام انواع تحلیلهای آماری را ارایه میدهد. جهت دریافت نکات بیشتر بهتر است با ما تماس بگیرید.