فینپای | FinPy
2.43K subscribers
498 photos
62 videos
13 files
259 links
گروه پرسش و پاسخ:
@FinPyGroup

حضور در گروه نیازمند کامل بودن نام، نام خانوادگی و آیدی تلگرامی شما قبل از ارسال درخواست عضویت است.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👍1
دسترسی به مطالب پولی مدیوم

▫️استوری هایی که در مدیوم (medium.com) منتشر میشه، یه گزینه عالی برای یادگیری سریع درباره موضوعاتی هست که بهشون علاقه مندیم. اما دسترسی به اکثر این مقالات نیاز به پرداخت حق عضویت داره که کار رو کمی دشوار میکنه. برای حل این مشکل و دسترسی رایگان به استوری های این سایت، اینجا یه راه حل ارائه شده که میتونید ازش استفاده کنید. به این ترتیب که لینک استوری مدیوم رو کپی و در سایت زیر وارد میکنید تا کل مطلب براتون نمایش داده بشه:

https://readmedium.com

همچنین برای سهولت کار میتونید از افزونه های کروم یا موزیلا هم استفاده کنید.

▫️برای دست گرمی میتونید این استوری ها رو ببینید:

Deep Learning is What You Do Not Need

XGBoost 2.0: Major update on Tree-based methods

Schur Complementary Portfolios — A Unification of Machine Learning and Optimization-Based Allocation

Remind Me Again Why Large Language Models Can’t Think

@FinPy
👍29
This media is not supported in your browser
VIEW IN TELEGRAM
دوراهی مانایی و حافظه

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

ادامه مطلب

@FinPy
👍23👎1
This media is not supported in your browser
VIEW IN TELEGRAM
#معرفی_کتاب
Feature Engineering Bookcamp

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

▫️ کتاب Feature Engineering Bookcamp برای مهندسین یادگیری ماشین و دانشمندان داده است که قبلا وارد این فضا شده اند و به دنبال تقویت توانایی ها و مهارت های خود هستند. پیش فرض اصلی کتاب این است که خواننده قبلاً دانش مورد نیاز در مورد یادگیری ماشین، اعتبار سنجی، تنظیم پارامترها و آموزش مدل با استفاده از پایتون و scikit-learn را بدست آورده است.


▫️ کدهای کتاب هم در ریپوی گیتهابش قابل دسترسیه.


@FinPy
👍12
#روند_تکاملی_پژوهش

▫️ برای همه شما پیش اومده که میخواستید در مورد موضوعی پژوهشی انجام بدهید و دوست داشتید بدونید پیشینه تاریخی اون موضوع چی بوده و روند تکاملش در طی زمان به چه صورت بوده!

▫️ یک پلتفرم هوش مصنوعی (MyLens AI) است که به کاربران کمک می‌کند تا دنیای اطراف خود را کشف و درک کنند. این پلتفرم از پردازش زبان طبیعی و یادگیری ماشین استفاده می‌کند تا به کاربران اطلاعات دقیق و مربوط در مورد موضوعات مختلف را ارائه دهد.

▫️نمونه ای از نحوه کارکرد این ابزار در این ویدئو می تونید مشاهده نمایید.

▫️ عکس های پیوست شده نیز روند تکامل یادگیری ماشین در صنعت مالی و روند تکامل معاملات الگوریتمی را داره به ما نمایش میده.

@FinPy
👍18
This media is not supported in your browser
VIEW IN TELEGRAM
#بازده_دارایی

▫️در این تصویر، شما با ویژگی‌های آماری بازده دارایی ها آشنا می‌شوید؛ از توزیع‌های احتمالاتی گرفته تا پارامترهای آماری که مدل‌های تحلیلی بر اساس آنها ساخته می‌شوند. مدل‌های آماری مختلف، هرکدام با نگاهی منحصربه‌فرد به داده‌ها، تلاش می‌کنند تا روندها و الگوهای مختلف بازده دارایی‌ها را تبیین کنند.

▫️ در سفر به دنیای بازده دارایی‌ها، با مسائل آماری مختلفی همراه خواهید بود؛ از تخمین پارامترها تا ارزیابی فرضیات مدل‌ها و بررسی اهمیت و تاثیرات آنها بر تصمیم‌گیری‌های مالی. بنابر این ابزارهای روش‌شناختی در اینجا نقش مهمی دارند؛ با کمک آنها، قادر خواهید بود روندها و الگوهای نهفته در داده‌ها را بهتر درک کنید و تصمیم‌گیری‌های مطلوب‌تری را انجام دهید.

▫️این مدل‌ها و روش‌های آماری نه تنها در دنیای تحلیل مالی، بلکه در زمینه‌های مختلفی از علوم تا مهندسی و پزشکی نیز کاربرد دارند. اما همواره با چالش‌ها و محدودیت‌هایی نیز روبرو هستیم؛ از جمله ناکافی بودن داده‌ها تا فرض‌های ساده‌سازی که برای استفاده از مدل‌ها صورت می‌گیرد.


@FinPy
👍19
#حقایق_بازده_مالی

▫️دنیای پیچیده بازارهای مالی، مملو از نوسانات و اتفاقات غیرقابل پیش‌بینی است. اما در دل این آشوب، نظم و قاعده‌ای پنهان وجود دارد که درک آن، کلید موفقیت در سرمایه‌گذاری خواهد بود.

▫️ تحقیقات وسیع بر روی ویژگی های بازده های مالی نشان داده است که بازده های مالی دارای یکسری از ویژگی های خاص هستند و زمانی که شما می خواهید بر روی دیتاهای مالی کار کنید، نیاز است که با این ویژگی ها و نحوه برخورد با این خصوصیات آشنا باشید. این واقعیت‌های زیبایی که به سبک مشترکی در بازارها و ابزارهای مالی مختلف مشاهده می‌شوند، به عنوان حقایق بازده های مالی شناخته می شوند.

▫️ در این ویدئو به بررسی این خصوصیات پرداخته می شود و در این مقاله هم میتوانید با ادبیات این بحث بیشتر آشنا شوید. در این صفحه هم در خصوص شناسایی برخی از این حقایق با پایتون آشنا می شوید.

@FinPy
👍19
This media is not supported in your browser
VIEW IN TELEGRAM
#معاملات_الگوریتمی

▫️ معاملات الگوریتمی، که به نام معاملات کمی یا سیستماتیک نیز شناخته می‌شود، به استفاده از الگوریتم‌های کامپیوتری برای خودکار کردن فرآیند معامله اشاره دارد. این حوزه ممکن است در ابتدا پیچیده به نظر برسد، زیرا شامل ترکیبی از دانش مالی، برنامه‌نویسی و ریاضیات است. با این حال، درک مفاهیم کلی آن دشوار نیست و جزئیات را می‌توان به تدریج آموخت.

▫️ مزایای معاملات الگوریتمی:

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

@FinPy
👍21
#یادگیری_معاملات_الگوریتمی

▫️ راهنمای شروع مطالعه برای یادگیری معاملات الگوریتمی:

۱. درک کلی از موضوع:

معاملات کمی : این کتاب با زبانی ساده و قابل فهم، فرآیند راه‌اندازی یک سیستم معاملاتی کمی برای افراد مبتدی را توضیح می‌دهد.

۲. درک زیرساخت بازار:
معاملات الگوریتمی و دسترسی مستقیم به بازار (DMA) : این کتاب به شما در درک نحوه عملکرد بورس‌ها و ساختار بازار کمک می‌کند.

۳. انتخاب استراتژی معاملاتی:
معاملات الگوریتمی: این کتاب استراتژی‌هایی مانند مومنتوم، بازگشت به میانگین و برخی استراتژی‌های فرکانس بالا را با جزئیات بیشتر مورد بحث قرار می‌دهد.

۴. یادگیری برنامه‌نویسی:
یادگیری ماشین برای معاملات الگوریتمی: به شما می‌آموزد که چگونه از یادگیری ماشین برای توسعه استراتژی‌های معاملات الگوریتمی استفاده کنید.

۵. روانشناسی معامله‌گری:
بازی ذهنی معامله‌گری: به بررسی جنبه‌های روان‌شناختی معامله‌گری و تأثیر آن بر عملکرد معامله‌گران می‌پردازد.

۶. مدیریت سرمایه:
مدیریت پرتفوی کمی: هنر و علم آربیتراژ آماری : به موضوع مدیریت پرتفوی با استفاده از روش‌های آماری و کمی می‌پردازد.

@FinPy
👍49
This media is not supported in your browser
VIEW IN TELEGRAM
#معرفی_کتابخانه_تحلیل_داده
#DataPrep

▫️با ورود به دنیای علم داده، یکی از مراحل ضروری در چرخه حیات هر پروژه یادگیری ماشین، تحلیل اکتشافی داده (EDA) است. EDA به ما اجازه می‌دهد تا بینش‌های ارزشمندی از مجموعه داده‌های خود به دست آوریم و پایه و اساس ساخت مدل‌های یادگیری ماشین دقیق و قوی را بنا نهیم.

▫️با این حال، انجام EDA می‌تواند یک فرآیند پیچیده و زمان‌بر باشد. این فرآیند اغلب شامل نوشتن کدهای گسترده، استفاده از کتابخانه‌های مختلف و انجام عملیات متعدد برای استخراج اطلاعات معنی‌دار از داده‌ها است. اینجاست که DataPrep به کمک شما می‌آید.

▫️این کتابخانه ابزاری ارزشمند برای دانشمندان داده است که به دنبال بهبود کارایی و سهولت استفاده در مرحله حیاتی EDA هستند. این کتابخانه با ارائه قابلیت‌های جمع‌آوری داده، رابط کاربری بصری و ماژول‌های قدرتمند EDA، به دانشمندان داده کمک می‌کند تا وظایف خود را سریع‌تر و آسان‌تر انجام دهند.

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

@FinPy
👍16
#متغیرهای_کلان_اقتصادی

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

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

▫️در این پست در خصوص منابع اطلاعاتی برای این حوزه و سایت های مفید صحبت کرده بودیم، ولی اخیرا بانک مرکزی نسخه جدید سامانه سری زمانی اطلاعات اقتصادی ایران خود را منتشر نموده است!

📊 این سامانه چه چیزی به شما ارائه می‌دهد؟
• دسترسی به متغیر های اقتصادی در 13 سرفصل مختلف
• دسترسی آسان به اطلاعات به روز اقتصادی کشور
• قابلیت جستجو و دانلود اطلاعات مورد نیاز
• مفید برای تحقیقات، مطالعات و تصمیم‌گیری‌های اقتصادی
• رسم نمودار داده های انتخابی (میله ای و خطی)

🌐 آدرس سامانه:
tsdview.cis.cbi.ir

@FinPy
👍18
Forwarded from Deep Time
اگر بتونیم مزیت الگوریتم یادگیری شبکه عصبی (gradient backpropagation) رو با الگوریتم مدل‌های boosting بر مبنای درخت تصمیم مثل XGboost که پادشاهان Tabular Data هستند به صورت بنیادی ترکیب کنیم به چه مدلی میرسیم؟

مدل قدرتمند جدیدی در Tabular Dataبه نام GRANDE که بر اساس ایده Gradient Decision Tree ساخته شده و تونسته در اکثر دیتاست‌ها، از جمله Numerai (مسابقه معروف در پیشبینی بازار مالی با دیتاساینس) از XGboost و Catboost که تا به حال بهترین بودن عملکرد بهتری داشته باشه.
پکیج GRANDE رو میتونید با pip نصب کنید.
GRANDE: Gradient-Based Decision Tree Ensembles

کمی عمیق تر:
مسئله اصلی این هست که الگوریتم‌های درخت تصمیم و الگوریتم ترکیب درخت‌ها در boosting ها به صورت greedy هست که باعث ایجاد محدودیت در فضای جستجو و همچنین overfitting میشه. به همین دلیل نیاز هست تا فرآیند‌هایی مثل split به صورت differentiable بشه و بعضی موارد non-differentiable مدیریت بشن. بعد از این امکان بهینه کردن بنیادی پارامترهای درخت تصمیم و ensemble رو خواهیم داشت. و حتی میتونیم برای split values، split indices، leaf weights و leaf به طور جداگانه learning rate داشته باشیم. برای فهم دقیق الگوریتم مقاله‌های اصلی رو بخونید:
GRANDE paper : ICLR 2024
GradTree paper : NeurIPS 2023

@deeptimeai
👍16
#فیچر_سلکشن

ارزیابی کارآمدی روش های فیچر سلکشن - مقدمات

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

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

▫️راهکار ترتیب دادن یه آزمایش و استفاده از یک یا چند دیتاست ساختگی توسط خودمون هست که میدونیم کدوم فیچرهای اون دیتاست نویزاند. بعد میتونیم مدلی رو روی این دیتاست ترین کنیم و سپس روی مدل ترین شده الگوریتمهای مختلف فیچر سلکشن رو ارزیابی کرده و ببینیم که آیا میتونن فیچرهای نویز رو به درستی برامون بیرون بکشن یا نه.

▫️به عنوان مثال میتونیم یه دیتاست با ۲۵ تا فیچر بسازیم که ۵ تاش نویز، ۵ تاش فیچرهای به اصطلاح informative و بقیه فیچرهای redundant باشند. سپس با استفاده از فیچرهای informative متغیر هدف (مثلا لیبل های صفر و یک) رو تولید کنیم. توضیح اینکه فیچرهای redundant هم از روی فیچرهای informative و با اضافه کردن نویزی با واریانس دلخواه تولید میشن.

▫️جزئیات چنین رویه ای، که برای ارزیابی کارآمدی الگوریتمهای مختلف در شناسایی فیچرهای نویز مورد استفاده قرار گرفته، در فصل ۶ این کتاب همراه با کد توضیح داده شده. در خصوص روش های فیچر سلکشن هم میتونید به همین کتاب مراجعه کنید اما هدف از این پست معرفی پکیج BorutaShap بود که در ادامه بهش خواهیم پرداخت.

@FinPy
👍11👎1
#فیچر_سلکشن

ارزیابی کارآمدی BorutaShap

▫️در انتهای پست قبلی به BorutaShap اشاره شد که در واقع یه الگوریتم فیچر سلکشن هست. اما برای اینکه بدونیم آیا BorutaShap میتونه فیچرهای نویز رو به درستی بیرون بکشه، یه دیتاست طبق چیزی که تو پست قبل توضیح داده شد میسازیم و باهاش یه باینری کلاسیفایر ترین و بعد الگوریتم رو به مدل اعمال میکنیم.

▫️ تو شکل نتیجه اعمال BorutaShap نشون داده شده. در محور افقی فیچرها قرار دارند. فیچرهای نویز با حرف N، فیچرهای Informative که لیبلهای باینری از روی اونها ساخته شدن با حرف I و فیچرهای Redundant که با اعمال نویزی با واریانس مشخص به فیچرهای Informative ساخته شدن با حرف R شروع میشن. اون فیچرهایی که به Shadow ختم میشن هم به دیتاستمون مربوط نمیشن و باهاشون کاری نداریم.

▫️همون طور که مشاهده میکنید، BorutaShap تونسته فیچرهای نویز رو روی این دیتاست ساختگی تشخیص بده و اونها رو با رنگ قرمز مشخص کرده. برای آشنایی بیشتر با این الگوریتم فیچر سلکشن و پکیج مربوطه اش سری به پست زیر بزنید:

Is this the Best Feature Selection Algorithm BorutaShap?

@FinPy
👍14