Deep Time
3.8K subscribers
101 photos
10 videos
7 files
298 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
@Mohammad_Talaei
Download Telegram
آنچه در فینپای خواهید دید:

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

فینپای، توسعه دهنده ماژول پایتونی finpy-tse برای دسترسی به داده های بورس تهران

@FinPy
1👍1
فرض کنید یک مدل خوب برای پیشبینی Stock Market ساختید و Back-Test استراتژی رو هم با ملاحظات فنی انجام دادید و جواب خوب هست. مدل و استراتژی رو در Real Time توسط یک ربات معامله‌گر برای معامله کردن اجرا می‌کنید. اما معاملات طبق پیشبینی شما پیش نمیرن و موفق نیستن.
علتش چیه؟
مدل نکردن پاسخ بازار به سفارشات و معاملات خودتون! شما بازار رو شبیه سازی نکردید و صرفا از داده های گذشته (که شما در اون هیچ معامله یا سفارشی با این مدل اعمال نکردید) به عنوان شبیه سازی محیط معامله استفاده کردید. این یکی از مهم ترین موارد هست. دقت کنید که در بازار شما با بسیاری ربات طرف هستید که به محض اینکه سفارش قرار میدین (هرچند کوچک) واکنش نشون میدن و اون رو سیگنال تلقی میکنن حتی اگر سرخط معامله بزنید.

راه حل:
شبیه‌سازی بازار با وجود سفارشات و استراتژی معاملات خودتون. اما چطور؟ قبلا عموما با استفاده از مدل های multi-agent بازار شبیه سازی میشده اما این نوع شبیه سازی صرفا تلاشی برای تقلید یک فضای بازار با حضور معامله گرانی با استراتژی های diverse هست و اطلاعات تاریخی سطح agent هم برای عموم (یا حتی خرید) وجود نداره.
برای پاسخ به این مشکل در روش جدید این مقاله، بازار با استفاده از تکنیک Conditional Generative Adversarial Networks شبیه سازی میشه. این مدل به خوبی پاسخ واقعی بازار رو شبیه سازی میکنه و نتایج بهتری نسبت به مدل های قبل داره.
سوال:
مورد مشابه این کار برای تولید دیتای بازار که در پست های کانال هست چی بود؟
@deeptimeai
👍1
این نوشته "سم آلتمن" درباره زندگی رو هر کسی به نظرم باید یه نگاه بندازه.
The days are long but the decades are short
سم آلتمن مدیرعامل OpenAI، یکی از پیشرو ترین شرکت‌های هوش مصنوعی دنیاست. قبل از این هم مدیر شتاب دهنده معروف Y Combinator بوده.
6👍2
Audio
همه چیز را پیشبینی نکن!

در این ویس روش مدلسازی ۲ لایه در بازارهای مالی معرفی می‌شود.
در روش‌های پیشبینی سری زمانی و بازار مالی ما عموما سعی میکنیم تمام سری را پیشبینی کنیم. اما بازار در اکثر موارد اساسا قابل پیشبینی نیست و وقتی به مدل هوش مصنوعی تان داده‌هایی با اکثریت پیشبینی ناپذیر بخورانید، نتیجه لزوما مطلوب نیست.
پس ابتدا با یک مدل یا فیلتر، مناطق پیشبینی پذیر مشخص می‌شوند و داده‌های این منطقه به عنوان دیتاست نهایی به مدلسازی (ماشین لرنینگ) داده می‌شوند.

لایه ۱: شناسایی مناطق پیشبینی پذیر
لایه ۲: مدل پیشبینی (هوش مصنوعی)

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

پ.ن ۲: این روش لزوما بهترین روش برای تمامی تایم فریم ها، مقادیر پول و ... نیست.

@deeptimeai
1
Deep Time
همه چیز را پیشبینی نکن! در این ویس روش مدلسازی ۲ لایه در بازارهای مالی معرفی می‌شود. در روش‌های پیشبینی سری زمانی و بازار مالی ما عموما سعی میکنیم تمام سری را پیشبینی کنیم. اما بازار در اکثر موارد اساسا قابل پیشبینی نیست و وقتی به مدل هوش مصنوعی تان داده‌هایی…
ساختار کلی سیستم از زیرساخت داده تا ترید، ۴ لایه است.

لایه ۱: زیرساخت اطلاعات شامل دیتابیس، کرالینگ و scheduling و ...

لایه ۲: مدلسازی که به انواع روش‌های ماشین لرنینگ، آماری، rule-based و یا Meta-model ها

لایه ۳: بهینه سازی استراتژی، بک تست و مدیرت ریسک و پرتفو

لایه ۴: پیاده سازی معاملات خودکار به شکل reliable

در ویس در مورد یک روش در لایه مدلسازی صحبت شد که خودش ۲ بخشی (۲ لایه‌ای) هست.
👍1
Forwarded from Deep Time
آیا نیاز هست که حتما از حفظ کردن داده‌های آموزشی و overfitting دوری کنیم تا یادگیری واقعی و generalization به وجود بیاد؟

بخش اول

احتمالا یکی از مهم ترین مقالات هوش مصنوعی که اخیرا منتشر شده، مقاله OpenAI در مورد پدیده Grokking باشه.
قابلیت تعمیم یا generalization یکی از مهم ترین مباحث در هوش مصنوعی هست. این مقاله نشون میده generalization بسیار بعد از overfitting اتفاق میفته و اون هم با تعداد پارامتر خیلی زیاد(overparameterization)! چیزی که همیشه دقیقا برعکسش مورد کاربرد بوده یعنی معمولا یادگیری با دیدن اولین نشانه های overfitting متوقف میشه و ادامه پیدا نمیکنه.
یکم تاریخ:
در گذشته هم ریاضیات و آمار بر این تاکید داشتن که شبکه underparametrized (به طور خاص منظور اینکه تعداد پارامتر ها از تعداد داده ها کمتر باشه) میتونه بجای حفظ کردن داده قوانین رو یاد بگیره. و حتی در یادگیری ماشین کلاسیک هم بحث کاهش ابعاد مهم بود. اما یادگیری عمیق اومد و گفت نیازی به کاهش ابعاد و یا کاهش تعداد پارامتر نیست. شبکه رو با پارامتر خیلی زیاد درست میکنیم اما رگولاریزیشن استفاده میکنیم. که خوب به شدت جواب داد.

اما حالا پدیده ای که مطرح میشه اینه که اجازه بدیم تعداد اپوک خیلی زیادی بعد از overfitting یادگیری ادامه پیدا کنه اما از چیزی مثل weight decay استفاده کنیم. نکته هم در همین weight decay loss هست. پیشنهاد میکنم حتما ویدئو توضیح مقاله را ببینید که بحث ساده سازی و smoothing هم جالب مطرح میشه.

پ.ن 1: دیتاست آزمایشی بوده و خیلی موارد باید بررسی بشه. این پدیده بسیار جای کار داره.

پ.ن 2: کلا داستان این کشف این بوده که یکی از نویسندگان مقاله یادش رفته آموزش مدل رو متوقف کنه و به تعطیلات میره وقتی برمیگرده: دوووبس GENERALIZATION!

@deeptimeai
👍1
امروز وقتی یک سورس کد دیپ لرنینگ توی گیتهاب مربوط به یکی از محققین دانشگاه هاروارد میخوندم با notation عملیات ضرب تنسور و ماتریس از آلبرت انیشتین مواجه شدم به نام einsum. کد هم برای چند ماه پیش بود بنابراین این روش رایج هست.
به طور خیلی جالب تمامی انواع ضرب و عملیات (ضرب ماتریسی، داخلی، خارجی، trace، ضرب element-wise، جمع سطری، ستونی و ...) و هر نوع ضرب تنسوری و ماتریسی عجیب یا خاصی که مد نظرتون باشه فقط با نیم خط و با یک notation جامع توسط این روش انیشتین ساپورت میشه.
تمام کتابخونه های اصلی پایتون هم این ضرب رو دارن. قبل از اینکه ازش بترسید این ویدئو رو ببینید.
Numpy:
np.einsum

TensorFlow:
tf.einsum

Pytorch:
torch.einsum

مثال:

ضرب ماتریسی دو ماتریس a و b با numpy:
np.einsum("ik,kj->ij", a, b)

ضرب به صورت batch matrix multiplication وقتی a و b تنسور های ۳ بعدی به صورت batch باشن:
np.einsum("ijk,ikl->ijl", a, b)

کاربرد های اساسی این روش در انجام عملیات خاص تنسور و یا انجام مجموعه‌ای از عملیات به صورت یکجاست.
آلبرت انيشتين این notation رو در سال ۱۹۱۶ برای حوزه فیزیک ارائه کرد.

@deeptimeai
دو دلیل برای اینکه کتاب جدید The Kaggle Book رو باید بخونیم (۲ عکس بالا).

یکی از نویسنده های اصلی Konrad هست که از بزرگان Kaggle و متخصص سری زمانی هست که از قبل تو کانال میشناسیم.

@deeptimeai
👍1
میدانیم که storytelling مهم ترین مهارت برای بیان ایده‌ها، طرح‌ها، جذب متخصصین و سرمایه‌گذاران است.
اما وقتی صحبت از حوزه دیتا و نرم افزار مطرح باشد، data storytelling مهارت اساسی مورد نیاز است.
قسمت اصلی همان بیان پروژه با یک توالی مناسب از مصورسازی ها، علت و معلول ها و ... است که مربوط به خود مهارت storytelling می‌شود و وارد آن نمی‌شویم.

اینجا یک ابزار مهم برای data storytelling معرفی می‌شود:
با ابزار fastpages می‌توانید فایل‌های notebook را از پروژه گیتهاب تان به بلاگ‌هایی با دامنه github.io. تبدیل کنید. ویدئو و لینک را ببینید. در لینک میتوانید ابزار و مصورسازی‌های تعاملی که برای storytelling در قالب notebook مناسب است ببینید.

بلاگ نوشتن با Github.io بسیار محبوب و مرسوم شده (برای مثال بلاگ آندره کارپاتی مدیر هوش مصنوعی تسلا و ..‌.) و خوب نیازی به خرید سرور و دامنه و دانستن CSS و ... نیست.

البته Github pages قبلا هم وجود داشت اما fastbooks، فایل نوتبوک را مستقیما برای بلاگ شما در صفحات مختلف دیپلوی می‌کند.

#data_storytelling

@deeptimeai
👍1
Forwarded from @machinelearningnet (Sasan Barak)
سلام دوستان.
در ادامه مدلهای پیشبینی بازار و استراتژی های ml برای پیشبینی، اینبار به مدلهای بوستینگ رسیدیم
🍀🍀🍀🍀

این جلسه رو بخاطر ماهیت چالشی اش از دست ندین🌺🌺


زمان: دوشنبه ۱۲ اردیبهشت ساعت ۲۰

Time: 2nd May 2022

لینک ورود: زوم
Meeting ID: 899 2864 0090

درصورت درخواست پسورد، با ۱۲۳۴۵ وارد شوید.

جلسه همچنین رو بصورت لایو در اینستاگرام هم پخش خواهد شد

https://www.instagram.com/sasanbarak

برای اطلاعات بیشتر به وبسایت مراجعه کنید.
Ml4trading.ir



————————————————————

لطفا دوستانتان را دعوت کنید...🌺
@machinelearningnet
سلام دوستان. در ادامه مدلهای پیشبینی بازار و استراتژی های ml برای پیشبینی، اینبار به مدلهای بوستینگ رسیدیم 🍀🍀🍀🍀 این جلسه رو بخاطر ماهیت چالشی اش از دست ندین🌺🌺 زمان: دوشنبه ۱۲ اردیبهشت ساعت ۲۰ Time: 2nd May 2022 لینک ورود: زوم Meeting ID: 899…
سلام‌ دوستان امشب من ارائه دهنده دوم هستم (حدود ده دقیقه ۹ احتمالا میام).
مباحث خیلی جالبی صحبت میکنیم:

۱_ در مورد متد های Ensembling و سیر تکاملیشون از XGBoost تا Meta-model های موفق در صنعت. روش های Stacking و Blending هم و اون متامدل هارو خارج از کتاب توضیح میدم.

۲_ در مورد Hyperparameter tuning و اینکه چقدر مهم هست. چه مواردی از این مهم تر هست در توسعه مدل کارا

۳_ در مورد Interpretation در مدل های هوش مصنوعی میگم. روش های Feature Importance من جمله Permutation Importance و بعد Partial Dependence Plot و متد ارزشمند SHAP

۴_ و قسمت آخر (خارج از کتاب) میخوام در مورد چند موضوع مهم برای استارتاپ های حوزه نرم افزار صحبت کنم. بحث پادالگو ها AntiPatterns (ایجاد، معماری، مدیریتی)
و بحث Agile Methodologies
یکی از مشکلات در مسائل یادگیری ماشین، مدیریت فیچرهای categorical هست. اگر از روش one-hot encoding استفاده کنیم و تعداد فیچر ها و حالات زیاد باشه، آموزش شبکه سخت میشه و ما میمونیم و یکسری فیچر sparse. چند نکته و روش کاربردی:

۱_ ساده ترین روش one-hot encoding هست که وقتی تعداد حالات فیچر های categorical زیاد باشه روش مناسبی نیست. روش مرسوم در این حالات در مسابقات و صنعت، استفاده از Target Encoding هست (که از انواع baysian encoding محسوب میشه). در این روش میانگین مقادیر target با توجه به هر حالت از category به صورت فیچر وارد میشه و البته فقط از داده های train برای این مقدار میانگین استفاده میشه. روش LeaveOneOut هم شبیه همین هست فقط در میانگین گیری، target اون سطر خاص در نظر گرفته نمیشه تا اثر outlier ها از بین بره‌.

۲_اگر فیچر ordinal هست میتونه integer تبدیل بشه و همون یک بعد باقی بمونه. البته بسته به شرایط مسئله شاید همون dummy کردن بهتر باشه.

۳_ روش frequency encoding که فرکانس هر حالت از کتگوری به عنوان فیچر جایگزین میشه (به شکل integer)

برای دیدن انواع دیگه روش ها این پست لینکدین رو ببینید.

@deeptimeai
👍1
آیا برای پیشبینی مجاز به استفاده از اطلاعاتی درباره آینده هستیم؟!
#Future_Covariate
بله، به شرطی که اون اطلاعات رو از حال داشته باشیم! و گاها نقش اساسی در پیشبینی دارن. مثلا ما از الآن میدونیم هفته بعد انتخابات ریاست جمهوری هست، میتونیم از این اطلاعات برای افزایش دقت پیشبینی استفاده کنیم.
فیچرهایی به نام Future Covariate، فیچر هایی هستن که اطلاعاتی درباره آینده به ما میدن ولی ما اونهارو از الآن داریم.
مثال از حوزه انرژی: برای مثال فرض کنید میخوایم میزان مصرف انرژی ساعت آینده شهر تهران رو پیشبینی کنیم. میتونیم از اطلاعات جدول پخش مسابقات ورزشی ساعت بعد برای این پیشبینی استفاده کنیم که قطعا هم در پیشبینی مصرف انرژی موثر خواهد بود.
مثال از فایننس: فرض کنید میدونیم 3 روز دیگه مجمع سالیانه یک شرکت برگزار میشه، یا موعد تسویه حساب اعتبار کارگزاری هاست. یا در ساعت آینده قرار شده نتیجه مذاکرات اعلام بشه. تمامی این موارد میتونن در مدل لحاظ بشن.

طریقه استفاده: بعضی مدل های جدید سری زمانی این فیچرهارو مستقیم ساپورت میکنن. ولی خودمون هم میتونیم اونهارو در دیتاست لحاظ کنیم.
@deeptimeai
1
کمپانی‌های بزرگ و استارتاپ‌های موفق همیشه از افرادی تشکیل می‌شوند و افرادی را جذب می‌کنند که ماکزیممِ بالا دارند، نه جمعِ بالا. یعنی افرادی مهم هستند که در یک حوزه تخصص بسیار بالایی دارند نه افرادی که در حوزه‌های مختلف، دانش و تخصصی متوسط کسب کرده اند. گرچه این به معنی تشویق به تک بعدی شدن نیست، بلکه تاکید روی قوی بودن در یک تخصص است.

تعیین‌کننده ترین و مهم‌ترین مهارت زمان ما توانایی تمرکز است. در زمانی که جنگ بیزینس‌ها، شبکه‌های اجتماعی یا حتی تولید کننگان محتوای ارزشمند روی جذب توجه است، اگر حواس جمع نباشیم در بهترین حالت به آدم‌هایی تبدیل می‌شویم که در حوزه‌های مختلف تنها مهارت و دیدی سطحی داریم. خواندن مقالات و گذراندن دوره‌های آموزشی مختلف از حوزه‌های متفاوت، در صورتی که توانایی تمرکز روی یک موضوع را از بین ببرد می‌تواند خطرناک باشد.
در هیاهوی محتوا و حوزه‌های مختلف، عمیق شدن و کار و تفکر روی یک موضوع، لذت بالایی را نیز به دنبال دارد. همانطور که دیدن ۱۰۰ کلیپ خیلی عالیِ ۱ دقیقه در اینستاگرام هیچگاه به اندازه دیدن یک فیلم ۱۰۰ دقیقه‌ایِ خوب لذت بخش نیست.
در کتاب صفر به یک اثر پیتر تیل (استاد استنفرد، بنیانگذار پی پال و از مدیران لینکدین) آمده است:
یک فرد معتقد به آینده معین و تعریف شده، به جای تشویق به کسب متوسط‌ها در وجوه مختلف و "خوب رشدیافتگی" خواندن این حالت، بهترین کاری را که می‌توان انجام داد شناسایی می‌کند و آن را انجام می‌دهد. چنین فردی به‌جای کار خستگی ناپذیر برای متمایز شدن، به دنبال فوق‌العاده شدن در یک حوزه اصیل می‌رود تا منحصر به فرد شود.

@deeptimeai
1
Deep Time
ویدئو جلسه در یوتوب از دقیقه 40 به بعد ارائه من هست.
ML4T_S12_II_MohammadTalaei.pptx
2.4 MB
لینک‌هایی که در ارائه معرفی شد در این فایل پاورپوینت هست. فقط باید در حالت پرزنت باشید که بتونید روی لینک ها کلیک کنید.
حتما Darts رو درنظر داشته باشید

سازنده‌های Darts به طور تخصصی روی مدل‌های Time Series فعال هستند. از مدل‌های کلاسیک و یادگیری عمیق تا مدل‌های هایبرید پوشش داده شده و مدل‌های SOTA سری زمانی هم در این کتابخونه دیده میشن. از ARIMA تا Prophet و حتی مدل‌های Transformer برای سری زمانی.

@deeptimeai