تشخیص روند اولیه

ساخت وبلاگ

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

برای اینکه این رویکرد مؤثر باشد ، باید یک "روش مشترک" وجود داشته باشد که در آن یک روند باشد. شاید این یک افزایش تدریجی در طی پنج روز اول باشد و به دنبال آن افزایش سریع طی 10 روز آینده انجام شود. یا شاید شما فقط به سه روز اول نیاز داشته باشید تا پیش بینی دقیق روند مثبت در هنگام تغییر تقاضا بسیار سریع باشد. روش های زیادی وجود دارد که می تواند روند آن را طی کند ، اما الگوی تقاضا ، توییت ها ، دیدگاه ها ، خریدها ، لایک ها و غیره. برای یک روند مثبت باید با یک روند منفی یا مسطح متفاوت باشد.

در این پست یک رویکرد برای جدا کردن امضاهای مرتبط با انواع مختلف روندها تشریح شده است. ما از داده های سهام شرکت های Fortune 500 به عنوان مجموعه داده تحلیلی ما استفاده خواهیم کرد تا پیش بینی کنیم که آیا قیمت سهام بر اساس قیمت بسته شدن آن در 30 روز اول در ژانویه/فوریه 2015 روند مثبت خواهد داشت؟اما قبل از پریدن به مثال ، من به طور خلاصه تکنیک را با یک مجموعه داده کوچکتر معرفی می کنم.

تشخیص روند غیر پارامتری

ما از یک رویکرد K-Nearest-Ineighbor (KNN) برای طبقه بندی جایی که روند قیمت سهام در آینده (به عنوان مثال ، بالا یا مسطح/پایین) استفاده می کنیم ، استفاده خواهیم کرد. KNN غیر پارامتری است ، به این معنی که ما هیچ فرضیه ای در مورد داده های خود ایجاد نمی کنیم. همچنین هیچ "مدل" وجود ندارد. ما به سادگی اجازه می دهیم که داده ها طبقه بندی یا پیش بینی را انجام دهند. بدون تعمیم زیاد ، من وقتی مجموعه ویژگی های من کوچک است و بیشتر از متغیرهای مداوم تشکیل شده است ، KNN را دوست دارم. توضیح و تعجب آور نسبت به مدلهای پارامتری پیچیده تر آسان است. تنها کاری که ما باید انجام دهیم این است که "K" مناسب را پیدا کنیم ، که تعداد همسایگان ما برای پیش بینی/طبقه بندی خود استفاده می کنیم."K" از طریق اعتبارسنجی متقابل تعیین می شود ، جایی که ما چندین مقادیر را امتحان می کنیم و می بینیم که بهترین نتیجه را می دهد.

بنابراین چگونه همسایگان خود را تعیین می کنیم؟معیارهای فاصله زیادی برای تعریف "شباهت" استفاده می شود که شایع ترین آن فاصله اقلیدسی است. با این حال ، اشکال اصلی این رویکرد این است که نمی تواند تغییرات رو به جلو یا عقب را بین سری ها حساب کند ، که این مسئله هنگام برخورد با داده های متوالی مسئله ای است. بنابراین ما از پیچ و تاب زمان پویا استفاده خواهیم کرد ، که می تواند تغییرات موقت ، رهبری یا تأخیر را به خود اختصاص دهد.

ما در مثال اولیه ما از 10 سهام ساختگی استفاده خواهیم کرد. پنج مورد بعد از 50 روز اول خود روند مثبت خواهد داشت در حالی که پنج نفر باقی مانده در مدت زمان مشابه روند منفی خواهند داشت. این سهام به عنوان "مجموعه آموزش" ما خدمت می کند. ما پس از آن سهام جدیدی خواهیم گرفت که فقط 50 روز اول را برای آن داشته باشیم و آن را به عنوان یک روند روند "مثبت" یا "منفی" طبقه بندی کنیم. این پیش بینی جایی است که ما فکر می کنیم سهام در روز 50 نسبت به موقعیت آن می رود.

بیایید ابتدا 50 روز اولیه را برای 10 سهام خود تولید کنیم.

حالا بیایید روندهای مثبت و منفی خود را اضافه کنیم.

و در آخر ، ما عملکرد نقشه برداری خود را تنظیم خواهیم کرد و پنج روند مثبت و پنج منفی را ترسیم خواهیم کرد. علاوه بر این ، ما به 50 روز اول نگاه خواهیم کرد تا ببینیم آیا الگویی با روند مثبت/منفی وجود دارد یا خیر. منطقه سایه دار خاکستری نشانگر نقطه ای است که ما پیش بینی خود را در مورد اینکه فکر می کنیم سهام خواهد رفت ، پیش بینی می کنیم.

در این حالت ، سهام هایی که در ابتدا بالا می روند ، پایین می روند ، سپس تمام روند را به طور مثبت صاف می کنند. در مقابل ، سهام هایی که کاهش می یابد و سپس از روزهای 30-50 روند به سمت پایین از روزهای 51-100 افزایش می یابد. بنابراین ، یک الگوی مشترک وجود دارد که پیش از افزایش پایدار یا کاهش قیمت است. بر اساس این اطلاعات ، بیایید سهام جدید خود را-"روند هدف"-معرفی کنیم که ما فقط برای روزهای 1-50 اطلاعات قیمت گذاری داریم.

بیایید مجموعه داده های خود را به روزهای 1-50 فیلتر کنیم و ببینیم که چه تعداد از نزدیکترین همسایگان برای روند هدف ما مثبت/منفی هستند. در این حالت K روی 5 تنظیم شده است.

طبقه با بهترین نتیجه رابطه جنسی همبستگی طول درجه متناسب با هماهنگی مطابق با هماهنگی
هدف_ مثبت_ 2 3. 234196 0. 6145986 50 1 2016-01-01 2016-02-19
هدف_ 4_ 4 3. 375498 0. 5205792 50 2 2016-01-01 2016-02-19
هدف_ 3_ 3 3. 394093 0. 5089169 50 3 2016-01-01 2016-02-19
هدف_ مثبت_ 1 3. 408172 0. 5831835 50 4 2016-01-01 2016-02-19
هدف_ 5_ مثبت 3. 453815 0. 4916183 50 5 2016-01-01 2016-02-19

بیایید روی قسمت BestControl تمرکز کنیم. هر پنج مورد از سری زمانی مشابه سری زمان هدف ما دارای برچسب مثبتی هستند. بنابراین ما پیش بینی می کنیم که سری زمان هدف ما بر اساس الگوی آن از روزهای 1-50 ، از روزهای 51-100 روند مثبت خواهد داشت. اگر هر پنج مسابقه بهترین ما سهام بود که روند منفی داشتند ، ما پیش بینی مخالف را انجام می دادیم. من به شما گفتم این روش ساده (و مؤثر) است! با این حال ، بیایید ببینیم که آیا بعد از کار با داده های سهام در دنیای واقعی ، که در بخش بعدی معرفی شده ایم ، چگونه احساس می کنیم.

پیش بینی سهام

ما در حال تلاش برای پاسخ به سوال زیر هستیم:

  • آیا الگویی از قیمت های بسته شدن روزانه وجود دارد که قبل از~90 روز افزایش قیمت سهام؟

به عنوان مثال ، شاید یک افزایش اندک در 60 روز اول اغلب با صعود بزرگ 60 روزه به سمت بالا دنبال شود. یا شاید سهام هایی که به تدریج برای مدت 60 روز فرو می روند ، در طی 60 روز بعدی احتمال بیشتری دارند. در اصل ، آیا مجموعه ای از الگوهای 60 روزه وجود دارد که قبل از روند صعودی با قیمت سهام آمده است؟تلاش برای رسمی سازی چنین الگوهای با مجموعه ای از پارامترها ، با توجه به تنوع الگوهایی که می تواند با یک روند مثبت همراه باشد ، دشوار است. به همین دلیل ما از رویکردی که در بالا ذکر شد استفاده می کنیم و اجازه می دهیم داده ها تصمیم بگیریم.

ما با ضبط نام همه شرکت های Fortune 500 از ویکی پدیا شروع خواهیم کرد و سپس قیمت های بسته شدن واقعی را برای هر شرکت از طریق بسته BatchgetSymbols می کشیم. این چند دقیقه زمان خواهد برد.

تیک زدن ref_date close قیمت
mmmm 2015-01-02 164. 06
mmmm 2015-01-05 160. 36
mmmm 2015-01-06 158. 65
mmmm 2015-01-07 159. 80
mmmm 2015-01-08 163. 63
mmmm 2015-01-09 161. 62
mmmm 2015-01-12 160. 74
mmmm 2015-01-13 160. 62
mmmm 2015-01-14 159. 84
mmmm 2015-01-15 159. 66

داده ها آماده برای رفتن هستند! بیایید سهام هایی را که شامل مجموعه های آموزش/آزمون ما هستند ، انتخاب کنیم. ما یک تقسیم 90 ⁄ 10 را انجام خواهیم داد. توجه داشته باشید که از سهام تست کمی بعد استفاده می شود.

اکنون که داده های خود را داریم و همه آن تمیز شده است ، اجازه دهید بحث کنیم که چگونه برچسب های سریال "مثبت" و "Flat | منفی" خود را تعیین خواهیم کرد.

تعریف یک روند

ما می توانیم هر سریال زمانی را ترسیم کنیم و آنها را با دست برچسب بزنیم اما هیچ کس برای این کار وقت نگذاشته است. در عوض ، ما از دو رویکرد خودکار استفاده خواهیم کرد:

برچسب ها بر اساس روند مشاهده شده از روزهای 60-120 تولید می شوند و مثبت ، منفی یا خنثی خواهند بود. ما علاقه مندیم که آیا ضریب این شاخص قابل توجه است و همچنین جهت کلی آن. به عنوان مثال ، اگر یک سهام روند مثبت قابل توجهی داشته باشد ، پس از آن دارای برچسب مثبت خواهد بود. اگر یک سهام دارای تنوع تصادفی باشد ، آن را خنثی می کند. LR شیب متوسط را می گیرد ، در حالی که رویکرد MK شیب میانه را می گیرد. توجه داشته باشید که ممکن است ما این فرض را نقض کنیم که نقاط داده ما با یکدیگر ارتباط ندارند. راه هایی در این زمینه وجود دارد (به عنوان مثال ، راه اندازی راه اندازی بلوک) ، اما به خاطر سادگی ، ما عدم همبستگی سریال را فرض خواهیم کرد. بیایید هر دو آزمایش را اجرا کنیم و نتایج را جمع کنیم.

تیک زدن TREND_CLASS_MK Trend_Class_lm
A منفی منفی
عالیه منفی منفی
AAP مثبت مثبت
AAPL خنثی خنثی
عکسبرداری مثبت مثبت
ABC منفی منفی
در مثبت مثبت
ACN مثبت مثبت
عیاش مثبت مثبت
ادی خنثی خنثی

این دو روش برای بیشتر سهام طبقه بندی یکسان را تولید کردند. با این حال ، اجازه دهید چند مورد را که متفاوت هستند بررسی کنیم.

قیمت این سهام بالا می رود اما پس از آن روندها به سمت پایین. LR روند مثبت را نشان می دهد در حالی که آزمون MK نشانگر یک روند خنثی است. LR با توجه به اینکه سهام در ژوئن و ژوئیه سود بزرگی را نشان می دهد ، میانگین را به دست می آورد و میانگین آن به طور کلی مثبت است. در مقابل ، MK آزمایش می کند که آیا روند یکنواختی در حال افزایش یا کاهش است. این نسبت تفاوت های مثبت و منفی را در طول زمان در نظر می گیرد. از آنجا که ما بالا رفتیم و سپس به پایین برگشتیم ، تعداد مشابهی از تفاوت های مثبت/منفی وجود خواهد داشت ، از این رو طبقه بندی خنثی.

بیایید یک مثال جداگانه را در نظر بگیریم.

این سریال زمانی الگوی مخالف را تولید کرد: آزمون MK روند را به صورت خنثی طبقه بندی کرد ، در حالی که LR طبقه بندی منفی تولید می کند. سهام برای بیشتر دوره های زمانی کمی به سمت بالا بود و سپس چند روز آخر ماه ژوئیه سقوط کرد. در این چند امتیاز پایانی اهرم زیادی در ضریب در مدل خطی دارند ، در حالی که آزمون MK نسبتاً بی تأثیر است. در این حالت ، من می گویم این یک سهام منفی است ، اما می توان استدلال برای هر یک از طبقه بندی ها مطرح کرد.

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

در نهایت، بیایید توزیع کلاس های خود را بررسی کنیم.

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

کامل. اکنون اعداد زوج داریم و آماده آزمایش آشکارساز روند هستیم.

عملکرد تشخیص روند

اکنون که به هر یک از سهام در مجموعه آموزشی خود برچسب اختصاص داده ایم، قیمت های پایانی سهام آزمایشی را که مربوط به سال بعد در همان دوره زمانی (یعنی ژانویه/فوریه 2016) است، دانلود می کنیم.

اکنون بیایید مجموعه داده های آزمایشی و آموزشی خود را با هم متحد کنیم. ما همچنین مهرهای زمانی را در مجموعه داده های آزمایشی خود تغییر خواهیم داد، علیرغم این واقعیت که داده های آموزشی ما مربوط به سال 2015 و داده های آزمایش ما مربوط به سال 2016 است.

در ابتدا قرار است K را روی 10 تنظیم کنیم. دلیل استفاده از این عدد بالا این است که برخی از سهام آزمایشی با سایر سهام آزمایشی مطابقت دارند. بدیهی است که اینها برچسب نخواهند داشت، بنابراین ما فقط می خواهیم مسابقات را با سهام تمرینی در نظر بگیریم. اجرای این بخش چند دقیقه طول می کشد.

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

test_stock تیک زدن رابطه جنسی همبستگی طول درجه متناسب با هماهنگی مطابق با هماهنگی trend_class
AGN SHW 0. 0602364 -0. 4176124 60 1 2015-01-02 30/03/2015 منفی
AGN MTD 0. 1413700 -0. 5561973 60 2 2015-01-02 30/03/2015 مثبت
AGN V 0. 2732732 0. 3993992 60 3 2015-01-02 30/03/2015 مثبت
AGN PPG 0. 3660257 0. 0625775 60 4 2015-01-02 30/03/2015 منفی
AGN EQIX 0. 3835526 -0. 2642403 60 5 2015-01-02 30/03/2015 مثبت
AIV BBT 0. 0584007 0. 1862317 60 2 2015-01-02 30/03/2015 مثبت
AIV NWL 0. 0619271 -0. 1978514 60 3 2015-01-02 30/03/2015 مثبت
AIV BBY 0. 0732311 0. 2444824 60 4 2015-01-02 30/03/2015 منفی
AIV SYY 0. 0737522 -0. 3448536 60 5 2015-01-02 30/03/2015 منفی
AIV IRM 0. 0765316 -0. 1706778 60 7 2015-01-02 30/03/2015 منفی

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

پس از حذف تمام طبقه بندی های "خنثی"، 20 سهم باقی مانده است. از این میان چند درصد به درستی مثبت یا منفی طبقه بندی شدند؟

بیایید نگاهی به دقت پیش بینی های خود بیندازیم.

اگر توزیعی معادل از روندهای مثبت، منفی و ثابت را فرض کنیم، نرخ دقت 30 درصد بهتر از شانس نیست. با این حال، این رویکرد برای ارزیابی عملکرد، میزان افزایش/کاهش رخ داده را در نظر نمی گیرد، همچنین هیچ بینشی از درصد کلی سهامی که روند صعودی یا نزولی داشته اند ارائه نمی کند. در واقع، بسیاری از سهام در این دوره زمانی روند مثبتی داشتند، بنابراین دقت طبقه بندی کلی چندان داغ نبود. ما بسیاری از سهام را که عملکرد بسیار خوبی داشتند از دست می دادیم، و در اینجا چند دلیل وجود دارد:

  • یک دوره زمانی 60 روزه خیلی کوتاه بود
  • پویایی هایی که منجر به روندها در مجموعه آموزشی ما می شود با موارد موجود در مجموعه آزمایشی ما متفاوت بود
  • مفروضات مورد استفاده برای طبقه بندی سهام مختلف معتبر نبود
  • K خیلی زیاد/پایین بود
  • این رویکرد فقط با داده های سهام کار نمی کند

در واقع ، این نکته آخر بسیار مهم است. مواردی در زندگی وجود دارد که پیش بینی آن بسیار دشوار است ، زیرا تعداد عواملی که بر چیزی که ما سعی می کنیم پیش بینی کنیم بسیار زیاد است. این یکی از مزیت های استفاده از یک رویکرد غیر پارامتری است ، به این ترتیب که لازم نیست هر یک از عوامل را با یک پارامتر تعیین کنید-فقط داده ها را تصمیم می گیرید. با این حال ، این فرض که الگوهای و روابط گذشته در آینده همچنان ادامه خواهد داشت. در مورد ما ، اگر الگوهای پیش از روند مثبت در گذشته متفاوت از نمونه های آینده باشند ، نمی توانید از داده های تاریخی (مانند ما در اینجا) به عنوان پایه ای برای پیش بینی استفاده کنید. این فرض هنگام پیش بینی سهام در دنیای اقتصاد به شدت مورد بحث قرار می گیرد. برخی معتقدند الگوهای چرخه ای وجود دارد که پیش از روند نزولی یا رو به بالا در قیمت است ، در حالی که برخی دیگر معتقدند که بازار سهام به سادگی یک پیاده روی تصادفی است - نمی توان پیش بینی کرد. هر دانش آینده نگر در مورد جایی که ممکن است یک سهام ممکن است به قیمت فعلی خود پخته شود. من جواب ندارماگر این کار را کردم ، یک صندوق پرچین را شروع می کردم ، پول زیادی می گیرم ، سپس دستگاه بستنی با سرویس نرم خودم را خریداری می کنم. من کاملاً مطمئن هستم که این کاری است که همه ما انجام می دهیم.

اگرچه روشی که در اینجا بیان شده است در پیش بینی سهام عملکرد خوبی نداشته است ، اما روشهای مشابه نشان داده است که روند تشخیص روندهای دیگر در زمینه های دیگر ، مانند رسانه های اجتماعی را نشان می دهد (اینجا را ببینید). امیدوارم از خواندن این پست لذت برده باشید. اگر پیشنهادی برای رویکردهای متناوب برای تشخیص روند دارید ، دوست دارم بشنوم!

کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید

برچسب : نویسنده : ژیلا توفیقی بازدید : <-PostHit-> تاريخ : يکشنبه 6 فروردين 1402 ساعت: 15:56