Deep Time
3.78K subscribers
101 photos
10 videos
7 files
298 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
Download Telegram
تافل قبلی ۱۰۳ شده بودم که بعد از دو سال منقضی شد. اینبار فقط حدود یک ماه بعضی روزا ۲ ۳ ساعت تمرین داشتم (کار اولویت بود) که عموما Neo TOEFL میزدم که همون TPO برای ورژن جدید تافل هست.
👍61🔥304💯4😎2🤩1👌1🆒1
منابع خوب آموزشی در حوزه Quant عموما Advanced level و سنگین هستن و ویدئو آموزشی با کیفیت مثل حوزه نرم افزار برای مقدمات و کلیات کمتر هست. هج فاند WorldQuant یک سری ویدئو کوتاه در یوتیوب تحت عنوان Learn2Quant منتشر کرده که پیشنهاد میکنم ببینید:
YouTube playlist
بنیان‌گذار و مدیرعامل این هج فاند آقای Igor Tulchinsky هم کتابی دارن به نام Finding Alphas که ایده‌های جالبی برای ساخت آلفا مطرح میکنه. چهرش آدمو یاد گیتاریست افسانه‌ای Wolf Hoffmann میندازه که نسخه َAdagio in G Minor اون هم پیشنهاد میدم.
👍2062🔥2
خوشحالم که در سال گذشته با وجود چالش‌ها به اهداف مهمی در استارتاپ رسیدیم. اگر یکسری اتفاقاتِ به ظاهر بد نبودن، به اینجا نمی‌رسیدیم.

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

پ.ن: با تاخیر نوروز رو تبریک میگم و امیدورام در سال جدید، بیش از قبل شاهد ذلت ظالمان باشیم و شادی مردم رو ببینیم.
81👍13👾3🔥2
علت اصلی که نباید سیستم Algorithmic Trading بر پایه بکتست‌های Metatrader ساخته بشه این هست که به شدت در معرض گرایه‌های بکتست و نتیجتا خروجی اشتباه خواهید بود. شایع ترین موارد:
Survivorship bias
Overtuning

چرا این موارد اتفاق میفته:
در متاتریدر (یا پلتفرم‌های مشابه) کنترل بسیار کمی روی نحوه بکتست، تغییر داده و خروجی گرفتن هست. اما در یک سیستم استاندارد، بکتست سخت‌گیرانه و با تعریف انواع stress test و robustness test انجام خواهد شد. این مسئله هم برای استراتژی‌های Rule-based هم Machine Learning صادق هست.

پ.ن: هدف اصلی در بکتست تلاش برای اثبات بدرد نخور بودن استراتژی و مدل شماست و نه confirmation bias که به یک طریقی ثابت کنیم در گذشته سود ده بودیم.
👍2441💯1
Forwarded from Golem Course
آموزش پروژه محور یادگیری ماشین در محیط عملیاتی

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

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

- Object Storage
- MLflow
- FastAPI
- Github Actions
- Docker
- Kubernetes


استفاده شده است. سورس کد پروژه نیز از طریق این لینک در دسترس علاقه‌مندان قرار دارد.

@golemcourse
👍3820🔥2
قبلا هم در کانال بارها صحبت شده که در هوش مصنوعی، بازی Tabular data کاملا با Computer Vision و NLP متفاوت هست. در مورد Vision و NLP، دیپ لرنینگ و ترنسفورمر موفق بودن و فرآیند کلی شامل feature creation و feature selection به شکل end-to-end و اتومات انجام میشه. علت:
1- اشتراک معانی در NLP: معنی یک کلمه در مسائل مختلف یکسان است
2- اشتراک فیچر Vision: فیچرهای سطح پایین در پردازش تصویر مثل لبه‌ها و اشکال پایه در تمامی تصاویر مشترک است
این دلایل در درجه اول باعث وجود دیتای بسیار زیاد برای deep learning در این حوزه‌ها میشه که دقیقا نقطه قوت یادگیری عمیق هست.
اما در Tabular data یک فیچر از یک مسئله معنی منحصر به فرد خودش رو داره و به همین دلیل خیلی فرآیند‌ها همچنان دستی و خاص هر پروژه انجام میشن. بنابراین وجود میزان بالای دیتا از دیتاسیت‌های مختلف به دیپ لرنینگ کمکی نمیکنه. و به طور کلی همچنان تک مدل‌های tree-based در tabulr data انتخاب بهتری هستن و deep learning، transformer و LLM کارساز نیست هرجا هم بحث شد:
Transformers_And_LLM_Are_What_You_Dont_Need

اما این "به طور کلی" در جمله قبل به این معنی هست که همیشه باید یک جایی برای استثناء قائل بود و به مدل‌های جدید نگاه کرد. اخیرا یک مدل به نام TabPFN بر اساس ترنسفرمر برای tabular data توسعه داده شده که در بنچمارک ها و در شرایط برابر برای HPO از مدل‌های tree-based از جمله Catboost و XGBoost بهتر بوده. البته فقط برای دیتاست‌های کوچک با کمتر از 10000 سطر. ایده و طراحی خاص attention برای داده جدولی جالب هست و پیشنهاد میکنم اگر مقاله رو نمیخونید شکل 1 و 4 رو ببینید.
Github

Nature Paper: Accurate predictions on small data with a tabular foundation model
👍214🔥3
قوی سیاه مثبت در کوئانت

یک قانون نانوشته معروف در هوش مصنوعی هست:
"A good model is good across folds and seeds"

به این معنی که یک مدل خوب هم در داده‌های مختلف cross-validation عملکرد خوبی داره و هم عملکردش نسبت به randomness و random seed ها حساسیت کمی داره.

مشکل: این نوع مدل در دنیای Quantitative Finance کمیاب هست و فراوانی مدل‌هایی که این خاصیت رو ندارن به طور طبیعی بالاتر هست.

سوال: آیا همیشه باید مدل‌هایی که از این قانون تبعیت نمی‌کنند رو دور بریزیم؟ اکثر اوقات بله و بهتره دچار خطاهای شناختی نشیم اما در یک حالت خاص شما احتمال صید یک قوی سیاه مثبت رو دارید!

فرض کنید یک استراتژی مبتنی بر یادگیری ماشین برای trade دارید که در نتایج walk forward بکتست در اکثر موارد خنثی هست و سود ضرر به طور کلی برابر. اما در بعضی تست‌ها (اثر randomness) مشاهده می‌کنید که بعضی فولدها سودهای بسیار بالا دارن، در بقیه فولدها نسبتا خنثی و این مورد بارها قابل مشاهده هست. در این حالت شما با یک پدیده رو به رو هستید که با احتمالی غیر قابل محاسبه، پیامدی بسیار مثبت دارد.

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

مثال: اخیرا یک مدل انسمبل با چنین شرایطی را تست گرفتیم که در کمتر از یک ماه درصد سود بسیار بالایی تولید کرد. همانطور که در بکتست چنین موردی را بعضا دیدیم. اما انتظار نداریم سود این مدل مستمر باشد و profit trailing بلند مدت را فعال میکنیم.

پ.ن: مفهوم قوی سیاه مثبت در فصل ۱۳ کتاب قوی سیاه نسیم نیکولاس طالب بحث شده. فصل مورد علاقه من در کتاب هست که راهکارهای جالبی هم دارد.
👍197🔥2💯1
مثال مرسوم‌تر: گاها فرصت‌هایی در معاملات Option بعد از یکسری اخبار یا شرایط سیاسی بوجود میاد که دقیقا نمونه قوی سیاه مثبت هستند.‌ نحوه تشخیص هم به این شکل هست که اصولا وزن پیامد مثبت انقدر بالاست که میشه با مقداری سرمایه ریسک کرد و خیلی درگیر محاسبه احتمال وقوع هم نبود. حتی‌الامکان سعی کنید در معرض این موارد باشید حتی اگر فراوانی پایینی داشته باشن سود بالایی رو تولید میکنن.

اصولا Options Trading اگر به عنوان یک ابزار پوشش ریسک استفاده بشه، جلوی قوی سیاه منفی رو هم میگیره. در مورد یکسری استراتژی‌های آپشن با ماشین لرنینگ یک ویس قبلا اینجا پست شده بود.
7👍5🆒1
محمد عباسی در رویداد هکتون LLM Agents شریف منتور خواهد بود. فرصت خوبی هست برای یادگیری و تعامل.

Link

در این پست در مورد LLM Agents و فریمورک AutoGen صحبت کرده بودم. سعی میکنم در چند روز آینده یک نمونه کد ساده از همکاری چند Agent برای حل یک مسئله رو که کورس دانشگاه برکلی به عنوان تسک داده بود قرار بدم تا کمی با فضاش آشنا شین.
13👍8
وبینار رایگان دکتر براک رو در حوزه استراتژی‌های جدید مدلسازی مالی میتونید ثبت‌نام کنید. این پست از کانال خودشون رو ببینید. ظرفیت محدود هست.
10👍5
Deep Time
فردا و پسفردا در هکتون LLM Agents شریف به عنوان منتور حضور دارم. اگر شرکت هم نکرده باشید میتونید ویدئوهای ارائه‌ها رو در این کانال یوتیوب ببینید که به مرور آپلود میشه.
شاید جالب‌ترین نکته‌ای که در رویداد دیدم قدرت یادگیری شرکت‌کننده‌ها بود و اثبات این مسئله که ما انسان‌ها میتونیم در شرایط کمی پر فشار و در تعامل با تیم‌ها، یاد بگیریم، ایده بدیم و پیاده سازی کنیم.

در داوری محصولات هم همیشه به تیم‌ها میگفتم که ارزشمندترین چیزی که از این رویداد میبرن تیمشون هست و این که بفهمن چه قدرت نهفته‌ای دارن.

پ.ن: عکس با محمد عباسی که مصاحبت باهاش مثل همیشه لذت بخش بود. و البته سعادت آشنایی با دوستان کار درست مثل مهدی، آرش، پیام، محمد و ... داشتم.
51🔥74
در کاربردهای خاص LLM یا LLM Agent مثل Finance به یکی از روش‌های زیر، بسته به مسئله، میشه پرفرمنس رو بالا برد:

- Prompt Engineering
- Few Shot Learning
- RAG
- Knowledge System
- Fine-tuning

که روش‌های آخر از نظر زمانی/محاسباتی پرهزینه تر هستن.
اما یک مورد بسیار مهم که شاید خیلی بهش توجه نمیشه بهینه کردن انتخاب مدل زبانی با توجه به prompt هست. این مسئله به دلیل اهمیت داره که فرضا یک مدل که ممکن هست در
Financial Named Entity Recognition (FNER)
بهترین باشه،، در تسک reasoning برای
Anomalous Event Attribution (AEA)
عملکرد بسیار بدی داشته باشه.

بنچمارک BizFinBench دقیقا میتونه برای این کاربرد استفاده بشه که ۹ کتگوری خاص حوزه فایننس رو پوشش داده.
وظیفه یک Agent اولیه میتونه LLM Routing بر اساس همین بنچمارک و البته هزینه مدل‌ها باشه.
👍137🔥1
هوشمندانه تر است که راه خاص خود را برویم

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

پ.ن: بماند که عوامل و شرایط محیطی چه تاثیر عمیقی در موفقیت دارند که در ایران اوضاع مشخص است.
45👍92👾2👌1💯1
شکاکیت به عنوان یک ابزار حرفه‌ای در Quantitative Trading

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

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

در یک سیستم Quantitative Trading هم شرایط همین هست با این تفاوت که معادلات حاکم فیزیکی وجود ندارن و خیلی اوقات از "ریسک" فقط "پیامد وقوع" رو داریم و "احتمال وقوع" در دسترس نیست.
17👍16👌32
مقایسه Database های OLAP برای آنالیز و Backtest

در یک سیستم Quantitative Trading به انواع مختلفی database و ابزار در لایه‌های مختلف نیاز هست. گاهی هم بهتره in-memory solution استفاده کرد و دیتابیس overkill میشه.
اما این پست در مورد انتخاب دیتابیس‌ OLAP هست که در این حوزه برای Backtest و آنالیز داده‌های Historical استفاده میشه. نکته اصلی اینجاست که برای تصمیم گیری در انتخاب، به هر مطلبی که دیتابیس‌هارو بررسی و مقایسه کرده نباید اکتفا کرد، حتی اگر منابع معتبر هم بهش ارجاع دادن. اینجا منظور این مقایسه هست:
Comparing Three Real-Time OLAP Databases: Apache Pinot, Apache Druid, and ClickHouse

این مطلب بایاس هست و بیشتر قصد تبلیغ Pinot و ضعیف نشون دادن ClickHouse رو داره که میشه این بایاس و ارتباط تجاری با startree رو هم با اون موارد startree support فهمید حتی اگر تست نکرده باشید.
طبق تستی که ما در سیستم خودمون انجام دادیم ClickHouse عملکرد بهتری داشت:
- سرعت کوئری به 3 میلیون سطر در ClickHouse حدود 5 برابر هست
- مصرف رم و مدیریت بهتر رم بعد از کوئری
- عملکرد Pinot در خیلی موارد شبیه TimescaleDB بود که خوب اصلا OLAP نیست

در یک پست دیگه بعدا در مورد Realtime Incremental Feature Computation و انواع Solution ها صحبت میکنیم.
👍1652
Forwarded from MetaPage
این کانال با هدف هم‌خوانی کتاب‌های حوزه فناوری، به‌ویژه کتاب‌های مرتبط با هوش مصنوعی ایجاد شده است. گاهی یک کتاب را به‌طور کامل و فصل‌به‌فصل مطالعه می‌کنیم و نکات مهم و ارزشمند آن را در اینجا منتشر می‌کنیم. گاهی هم ممکن است تنها یک فصل از یک کتاب به دلیل اهمیتش بررسی و هم‌خوانی شود.


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

۱. محمد طلایی
۲. علیرضا آقامحمدی

برای سهولت در جست‌وجوی کتاب‌ها و فصل‌های هم‌خوانی شده، از هشتگ‌هایی با الگوی زیر استفاده می‌کنیم


NNN_AA_CH_XXX

در این الگو:

بخش NNN شامل حروف اختصاری نام کتاب است (برای مثال Agentic Design Patterns به شکل ADP نوشته می‌شود).
بخش AA حروف ابتدایی نام و نام خانوادگی نویسنده کتاب
بخش CH مخفف کلمه فصل.
بخش XXX شماره فصلی است که هم‌خوانی شده است.

@metapageai
17👍7
بهبود استراتژی‌های Rule-based در Algorithmic Trading

عموما معامله‌گرهای خرد (retail traders) از استراتژی‌های Rule-based که ترکیبی از یکسری شرط هست استفاده میکنن.
اشکال کجاست؟ این استراتژی‌‌ها اکثرا نقاط ضعف زیادی دارن که بحث جداگانه‌ای داره اما میشه در اجزاء همین استراتژی‌ها با استفاده از data science عملکرد استراتژی‌ رو بهبود داد و نواقص رو برطرف کرد.

سریعا نباید سراغ پیاده‌سازی یک مدل هوش مصنوعی برید. قدم اول تحلیل داده و visualization هست. ابتدا نیاز به EDA و بررسی توزیع آماری در نتایج و بکتست‌هاست‌. مصورسازی رو حتما باید وقت گذاشت و جدی گرفت. Plotly و چارت‌های Interactive اش فوق‌العادست.

حالا که احتمالا یک یا چند مسئله تعریف شده، نیاز به مدلسازی با داده دارید. طبیعتا باید از مدل‌های ساده و خطی آماری شروع کنید و بعد مدل‌های Machine Learning و هوش مصنوعی مدرن‌تر بنا به نیاز مسئله استفاده بشه. اینجا هم مباحث پایه Model Selection مثل بایاس وایریانس، تسلط روی تئوری و فرضیات مدل‌ها، و تجربه کار با مدل‌های tabular data خصوصا در فایننس هست. مثال در پست بعدی.
👍1312
در استراتژی مربوط به یک پروژه‌ کریپتو، یک بخشی نیاز به یک تخمین دست بالا وجود داشت. این تخمین در ابتدا با یک شرط بر پایه شهود انجام می‌شد که کارا نبود. اینجا کار ما شروع شد.

به عنوان قدم اول بعد از EDA و Visualization، از یکسری داده‌ها برای این تخمین استفاده شد. اما نتیجه محافظه‌ کارانه شد که سود رو کم می‌کرد. با بررسی متوجه شدیم جنس این کار پیچیدگی‌هایی داره که بجای تخمین نیاز به یک مدل پیشبینی هست.

از اونجایی که مدل پیشبینی قرار بود بالادست رو پیشبینی کنه از Quantile Regression استفاده کردیم. نتیجه راضی کننده بود. در قدم بعد اگر نیاز باشه با توجه به حساسیت موضوع و وجود عدم قطعیت ذاتی، میتونیم از یک مدل UQ مثل Conformal Prediction برای پیشبینی بازه‌ای و کالیبره کردن پیشبینی‌ها استفاده کنیم.

دقت کنید این فقط یک بخش از یک استراتژی Rule-based بود که یک فرآیند کامل Data Science و مدلسازی ML براش انجام شد.
10👍7
ماجرای مدل‌های Tabular Machine Learning و معرفی یک بنچمارک

بیزینس‌ها در حوزه‌های مختلف به شکل گسترده به مدل‌های ماشین لرنینگ Tabular وابسته هستن اما انتخاب مدل در Tabular Data همیشه بحث برانگیز بوده. بحث بین مدل‌های Tree-based و Deep Learning یا مفید بودن Foundational Model ها در این حوزه زیاد دیده میشه. اما نکته اساسی اینجاست که نمیشه یک گزاره صفر یا صدی در مورد این نوع مدل‌ها گفت و فرآیند انتخاب یا ترکیب مدل‌ها پیچیده تر هست.

- در پست مربوط به نتایج مسابقات Kaggle دیدیم که یکسری از مدل‌های برنده ترکیبی از مدل‌های Tree-based و Deep Learning بودن.
- در پست GRANDE در مورد یک ایده جالب برای ترکیب بنیادین الگوریتم‌های شبکه عصبی و Tree-based boosting و عملکرد عالیش صحبت شد.
- در پست TabPFN دیدیم که یک مدل‌ Foundational در شرایطی بهترین عملکرد رو بین مدل‌ها داشته.

اخیرا یک بنچمارک فعال در HuggingFace به نام TabArena شکل گرفته که موارد جالبی داره و مباحث گفته شده رو تایید میکنه. البته مدل‌های مدرنی مثل GRANDE هم پوشش داده نشدن که جای کانتریبیوت کردن رو باز میذاره. برای دقیق تر شدن روی موضوع مقاله رو ببینید. در شکل یک به عملکرد Default که بدون tune شدن و Ensemble هست دقت کنید چراکه بهترین و بی دردسرترین انتخاب شماست. اما پتانسیل اصلی در Ensemble انواع این مدل هاست:
We argue that the battle between GBDTs and deep learning is a false dichotomy, as both model families contribute to ensembles that strongly outperform individual model families.
خط بنفش در شکل 6 رو ببینید. نکته جالب اینکه خود تک مدل‌ها هم معمولا روش‌های جالبی از Stack یا Ensemble دارن و بنابراین Ensemble of Ensemle بهترین عملکرد رو داره. بد نیست با بعضی مدل‌های صدرنشین Leaderboard آشنا بشیم، ایده های جالبی دارن:
RealMLP:
Better by Default: Strong Pre-Tuned MLPs and Boosted Trees on Tabular Data (NeuroIPS 2024) , GitHub
TabM (by Yandex):
TabM: Advancing Tabular Deep Learning with Parameter-Efficient Ensembling (ICLR 2025) , GitHub
👍94