Deep Time – Telegram
Deep Time
3.81K subscribers
101 photos
10 videos
7 files
298 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
@Mohammad_Talaei
Download Telegram
ML-based Forex 01

یک سیستم پیشبینی در بازار مالی در درجه اول باید information advantage یا مزیت اطلاعاتی داشته باشه. فیچرسازی، مدل‌های هوش مصنوعی، بک تست، استراتژی و ... همه روی یک داده خوب میتونن جواب بدن.
طبق efficient market hypothesis یک بازار efficient قابل پیشبینی نیست و در هر لحظه عرضه تقاضا قیمت رو تعیین میکنه. اما مارکت‌های واقعی efficient نیستن و همیشه نقاطی وجود داره که میشه با داشتن داده مناسب یک تحرک، Anomaly یا موقعیت cross-sectional رو پیشبینی کرد.

شما باید ۲ منبع داده کلی برای سیستمتون در نظر داشته باشید. اول منبع historical که داده‌های تاریخی رو برای آموزش مدل‌های ماشین لرنینگ و بکتسک و ... میگیرید و دوم منبع داده real-time که به صورت مداوم داده ازش میگیرید و به realtime pipeline میدین. این پایپلاین شامل پیش‌پردازش، فیچرسازی، پیشبینی با مدل ماشین لرن و استراتژی هست و این پایپلاین در نهایت به ترید ختم میشه.

نکته‌ بسیار مهم:
گرچه احتمالا مزیت اطلاعاتی زیادی در داده‌هایی با فرکانس بالا و HFT وجود داره، اما مادامی که از منابع اطلاعاتی رایگان و بروکرهای معمولی  استفاده میشه اصلا نباید به سمت HFT و تایم فریم زیر ۵ دقیقه رفت.

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

اما منابع رایگان معتبری وجود داره که به شما داده دقیقه‌ای یا گاها تیک مارکت میده که میتونید به ۵ دقیقه‌ای aggregate کنید و از این تایم‌فریم و تایم‌فریم بزرگتر فیچرهاتون رو بسازید.

شرکت‌هایی که روی HFT کار میکنن عموما پول زیادی بابت اطلاعات با کیفیت با فرکانس بسیار بالا میدن. چرا که وندورهای داده‌ای وجود داره که کارشون تجمیع اطلاعات دقیق و فرکاسن بالا از تمامی بازار و فروش این داده‌هاست.
#ML_Forex

@deeptimeai
28👍8
ML-based Forex 02

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

نکته اساسی در این پیش‌پردازش ساخت realtime candle هست. شما باید در هر تایم (در هر data point) بتونید داده‌های کندل‌های مختلف رو با توجه به همون تایم داشته باشید.

مثال:
اگر در یک سطر از دیتاست شما ساعت ۵:۱۰ هست کندل ۴ ساعتی در واقع یک کندل یک ساعت و ده دقیقه‌ای هست که هنوز کامل نشده. کندل یک ساعتی هم یک کندل ۱۰ دقیقه‌ای از ۵ تا ۵:۱۰. مثال برای تایم زونی هست که اول هفته بازارو از ساعت ۱۲ شب شروع میکنه.

کندل‌ها چیزی نیستن جز یک time aggregation که قیمت شروع، پایان، ماکس و مین رو در یک بازه زمانی مشخص نشون میدن. نکته دیگه این هست که شما میتونید از روش‌های time aggregation دیگه مثل ramp هم استفاده کنید که فیچرهای بهتری بسازید.

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

#ML_Forex

@deeptimeai
14👍4
در هر زمانی از روز ما یک انتخاب داریم. انجام کار سخت (فرضا گذروندن یک دوره یا نوشتن کد یا خوندن کتاب) که معمولا شروعش سخته اما بعدش دوپامین ممتدی داره؛ و انجام کار ساده (چرخیدن در اینستا و توییتر و لینکدین و ...) که پیک اولیه دوپامین داره اما با crash دوپامین همراه است.

علم نوروسایننس نشون داده که بخشی از مغز که مسئول اراده است با تلاش برای انجام کار سخت یا مقاومت در برابر یکسری تحریکات انگیزشی فعال میشه. این بخش از مغز با انجام مستمر کارهایی که (عموما شروعشون) سخته رشد میکنه.
یک نکته مهم مقاومت در برابر اینستاگرام، یوتیوب و حتی لینکدین هست. بحث procrastivity (در ظاهر مفید) هم میتونه خیلی خطرناک باشه.

در زمانی از روز که قصد تفریح داریم هم به نظرم باید کتاب/سریال طنز جایگزین ۱۰ ها کلیپ یا مطلب در اینستا و توییتر بشه. تفریح درست حسابی هم حس به مراتب بهتری داره و گذر تایم در این فضاهارو باید کمینه کرد.

مستند the social dilemma رو حتما ببینید اگر ندیدین. مدیران اسبق شبکه‌های اجتماعی اینستا و توییتر و ... ببینید چی میگن. و یادمون باشه

if you are not paying for the product YOU are the product

@deeptimeai
26👍18🔥2
یک کانال تلگرام خیلی خوب:
Dev Tweet
خصوصا این دو مطلب اخیرش رو ببینید:
Post 1
Post 2

@deeptimeai
13
یک بنیاد متن باز درست حسابی در فایننس اگر باشه همین AI4Finance Foundation هست. ریپوهای زیر خصوصا خیلی مهم هستن.

FinRL: Financial Reinforcement Learning 8.3k stars

FinGPT: Open-Source Financial Large Language Models 9.3k stars

خصوصا مدل‌های زبانی و RL مهمه که open source باشن. چراکه آموزش و finetune کردن مدل‌های زبانی به پردازش وحشتناکی نیاز داره و نحوه تعریف environment در RL برای trade و ... گاها خیلی چالشی هست که اینجا انجام دادن.

برای RL از طرف ACM مسابقه هم گذاشتن.
Link

@deeptimeai
8👍5
ML-based Forex 03
Features 01

ساخت فیچر قطعا یکی از اساسی‌ترین قسمت‌ها در Quantitative Finance است. علت: ساخت فیچر به صورت فول اتومات امکان‌پذیر نیست‌ و فیچر‌های معنی‌دار باید توسط متخصصین تولید شود. دقت کنیم که ساخت فیچر در فایننس قبل از هوش مصنوعی و هوش طبیعی، به Domain Expertise نیاز دارد که در این پست هم صحبت شد.

برخلاف داده تصویر و متن، دیپ لرنینگ توانایی ساخت فیچر‌های کارساز از داده‌های خام بازار مالی را ندارد‌ (فول اتومات). این مسئله بزرگترین اشتباه افراد تازه‌کار در این حوزه هست. بهترین، حجیم‌ترین و با کیفیت‌ترین داده خام با LSTM و Transformer و MLP هیچ آورده‌ای برای شما ندارد اگر فیچر‌های اولیه معنی‌دار تعریف نشوند. بماند که کارایی این مدل‌ها در این حوزه زیر سوال هست و بعدا بحث میشه. پس چطور در بعضی مسابقات بازار مالی و Tabular با دیپ‌لرنینگ فیچر می‌سازند:
اگر از داده‌خام یکسری فیچر‌های معنی‌دار اولیه تعریف کنیم می‌توان فیچر‌های خوبی با دیپ لرنینگ Supervised و Unsupervised تعریف کرد. اینجا نمونه وجود دارد. البته در صورت وجود داده بسیاز زیاد می‌توان فیچر از داده خام هم تولید کرد ولی تا به امروز (۱۵ نوامبر ۲۰۲۳) این روش کارساز نیست و قطعا best practice هم نیست.

ساخت فیچر‌های اولیه در پست بعدی بحث میشه. در مورد ساخت فیچر مطلب زیاد هست‌ و به مرور اضافه میشه. یک بحث فاندامنتال درباره فیجرها، Latent Space و SciML در حوزه‌های مختلف و خصوصا فایننس به صورت ویس میریم به زودی.

#ML_Forex

@deeptimeai
👍145🔥2
شرکت Nvidia کل دانش ساخت چیپش، شامل دیزاین‌ها، codebase ها و داکیومنت‌ها و حتی log و bug report هارو در یک مدل Generative AI (با ۲۴ میلیارد توکن) به نام ChipNeMo خلاصه کرد.

Blog post

توانایی‌هایی مثل ارائه Electronic Design Automation که خصوصا برای GPU ها انجام میشه و chatbot دستیار مهندس‌ها، code generator و ابزار آنالیز.

نسل جدید محصولات نرم‌افزاری همین LLM‌های متخصص خواهند بود. این یک امکان فوق‌العادس که شما اگر در زمینه‌ای تخصص و داکیومنت‌های خاص دارید میتونید LLM خودتون رو با pretraining و finetune کردن یا به سادگی با GPT Builder بسازید و بفروشید.

پ.ن: البته Nvidia این رو برای فروش قرار نداده مشخصا😁

@deeptimeai
9👍4😱3😢1
ML-based Forex 04
Features 02

برای ساخت فیچر از داده خام قیمتی باید به دو مسئله دقت کرد. اول domain expertise و دوم شناخت کامل نوع مدل ML که قرار هست فیچرهارو ببینه. مسئله دوم رو بعدا بیشتر صحبت می‌کنیم.
در مورد domain expertise مسئله اصلی اینجاست که اصولا شما نمی‌توانید مثل یک مسئله فیزیکی معادلات حاکم یا governing equation مشخصی برای بازاری مثل فارکس متصور بشید. مزیتِ دانش شما از بازار به واسطه trade کردن، مطالعه و ... در نهایت فقط و فقط این خواهد بود که متوجه بشید چه عواملی احتمالا، به نوعی باعث پیشبینی حرکتِ یک/چند جفت ارز در جهت/جهات خاص میشن. بعد باید همگی این عوامل رو تجمیع کنید، به صورت فیچر بسازید و در نهایت آنالیز کنید.

در مورد تحلیل تکنیکال: از نظر data science معیار‌های تکنیکال ابزار پیشبینی با نقاشی (و بعدش احتمالا به فاک رفتن) نیستن، بلکه صرفا فیچر هستند.

بحث بعدی به صورت ویس یا live stream با یکی از متخصصین خواهد بود.

#ML_Forex

@deeptimeai
21👍4👎1😁1
پیرو مقاله بحث قبل، یان لکن هم نوشته که مدل‌های LLM (مثل chatGPT) با خوندن متونی که برای انسان ۲۰ هزار سال طول میکشه، بازم‌ نمیفهمن که اگر A همون B هست، B هم همون A هست.

نکته: منظور یان لکن از این بحث این نیست که این مدل‌ها بدرد نمیخورن بلکه منظور این هست که اولا زمینه تحقیقات باید به سمت ساخت هوش از جنس و efficiency انسان یا حیوان بره و ثانیا انقد فاز بد ندید که انسان نابود میشه با هوش مصنوعی! (شایدم بشه ها!)

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

نتیجه: با توجه به این بحث و بحث یان لکن، (تا مدت زیادی) به انسان‌های متخصصی نیاز است که به هوش مصنوعی مجهز هستند.

@deeptimeai
10👍5😁1
اگر سال‌ها پای چارت بازار دنبال الگو بودید، استفاده از Shapelet روش کاربردی و علمی برای الگویابی است.
از Shapelet Transform یا Subsequence Transform برای ساخت فیچر و الگویابی در مسائل سری زمانی و خصوصا Classification استفاده میشه. البته Shapelet برخلاف Fourier و Wavelet از حوزه فرکانس استفاده نمیکنه. خود این مسئله، به خصوص در مسائلی که فیزیک مشخصی ندارند (مثل فایننس) یک مزیت است.
نکته مهم هزینه محاسباتی بالا برای استخراج این الگوهاست. به تازگی در ژورنال معتبر Pattern Recognition مقاله جدیدی که نتیجه یک پایان‌نامه دکتری هست، روش سریع و Scaleable ارائه کرده:
Scalable and accurate subsequence transform for time series classification

Code on Github

حتما کد گیتهاب رو بررسی کنید و star بزنید. نکته اساسی استفاده از decorator‌های Numba روی Numpy برای افزایش سرعت هست یعنی:
@njit
البته مهم هست که از آرگومان‌های مختلف fastmatch و parallel چه زمانی استفاده کنیم. ضمنا نحوه استفاده از Scikit Learn برای نوشتن یک پکیج compatible هم دقت کنید. مواردی مثل:

check_array, check_X_y, check_is_fitted

@deeptimeai
👍119🔥1
مهمان ما دکتر علی حبیب‌نیا استاد دانشگاه ویرجینیاتک هستن. در مورد موارد متنوعی از جمله سیستم‌های ترید، استارتاپ‌های موفق و بازارها صحبت میکنیم.
شنبه ساعت 9:30 شب، لایو در تلگرام.

@deeptimeai
26👍16🔥5💯1
Forwarded from Golem Course
منتشر شد!

پس از چند ماه کار و همکاری با چند فیزیکدان، کتابخانه pysolorie را به صورت رسمی منتشر کردیم.

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

تئوری پشت این کتابخانه بر اساس چندین مقاله و کتاب است که مهمترین آن مقاله‌ای است که در Scientific Report Nature به چاپ رسیده است (لینک).
کتابخانه pysolorie با قابلیت‌های متعدد، به این نوع سوالات پاسخ می‌دهد. این کتابخانه با زبان برنامه‌نویسی پایتون توسعه یافته است. لینک گیتهاب پروژه را در اینجا قرار داده‌ام. برای مراجعه به مستندات پروژه، می‌توانید به این لینک مراجعه کنید.


چگونه در پروژه مشارکت (contribute) کنیم
؟

برای بهبود کتابخانه، روش‌های مختلفی وجود دارد:

۱. می‌توانید تست‌های جدید اضافه کنید.

۲. می‌توانید داکیومنت را بهبود ببخشید.

۳. می‌توانید قابلیت جدید اضافه کنید یا باگی را برطرف کنید.

از آن‌جایی که زیرساخت CI/CD در پروژه به کار گرفته شده و انواع کنترل کیفیت مانند pre-commit و tox به کار رفته، قبل از هر تغییری، صفحه مشارکت پروژه را از سایت بخوانید.

تکنولوژی‌های به کار رفته در کتابخانه:
Python, readthedocs, pre-commit, github actions, tox, pyproject, black, pytest

@golemcourse
👍166
Live stream scheduled for
Deep Time
مهمان ما دکتر علی حبیب‌نیا استاد دانشگاه ویرجینیاتک هستن. در مورد موارد متنوعی از جمله سیستم‌های ترید، استارتاپ‌های موفق و بازارها صحبت میکنیم. شنبه ساعت 9:30 شب، لایو در تلگرام. @deeptimeai
چند نکته درباره جلسه امشب:

۱_ احتمالا با پروکسی صدای لایو استریم براتون پخش نشه و نیاز به فیلترشکن و وی‌پی‌ان هست.
۲_ در پایان احتمالا سوالات هم کمی جواب بدیم.
👍163
Live stream started
Live stream finished (2 hours)
Deep Time
مهمان ما دکتر علی حبیب‌نیا استاد دانشگاه ویرجینیاتک هستن. در مورد موارد متنوعی از جمله سیستم‌های ترید، استارتاپ‌های موفق و بازارها صحبت میکنیم. شنبه ساعت 9:30 شب، لایو در تلگرام. @deeptimeai
Audio
ویس ضبط شده لایو با دکتر علی حبیب‌نیا

هوش مصنوعی و یادگیری ماشین در بازارهای مالی و الگوتریدینگ

AI & Machine Learning in Quantitative Finance, Dr. Ali Habibnia, Mohammad Talaei


مباحث خیلی خوبی مطرح شد. البته در لایو خیلی مشکل اینترنت داشتم و بارها قطع شدم. خوشبختانه بیشتر علی جان که خارج از کشور هستن صحبت کردن و قطعی هم نداشتن.

@deeptimeai
45👍11🔥2
منابع ML in Algorithmic Trading & Quantitative Finance از دکتر علی حبیب‌نیا که در لایو هم صحبت شد.

پیشنهاد میکنم این منابع رو بررسی کنید.
Github
برای مثال ریپوزیتوری
Algorithmic Trading with Python
رو ببینید.
YouTube
در کانال یوتیوبشون ویدیوهای آموزشی فارسی هم وجود داره.

@deeptimeai
34👍3
پست قبل درباره یک سیستم جدید بود که با تیم برای فارکس بالا آوردیم که البته پست به دلایل مشخص حذف شد. اما چرا وقتی از نتایج یک سیستم trade پست گذاشته میشه انقد واکنش های منفی زیاد میشه؟ در واقع بعضی افراد نتیجه میگیرن که بدترین backtest گرفته شده، حس میکنن فقط اونا فرق back-test و live رو میدونن و ظرافت های back-test دقیق رو متوجه میشن. ما چند ساله تو این کانال داریم همینارو میگیم.
متاسفانه در ابتدا فکر کردم از اون دیسلایک ها حرف خاصی وجود داره و کامنتارو باز کردم. حدود نیم ساعتی داشتم با همین افراد حرف میزدم و بدیهیات رو میگفتن. فقط انرژی تلف شد. و البته ممنون از شایان باسواد که بجای من که جایی جلسه آنلاین بودم و البته خسته شده بودم جوابشونو میداد. احتمالا با شایان هم لایو بریم در آینده.
من شخصا یاد گرفتم skeptical باشم نسبت به سیستم های data science و آگاه به خطاهای شناختی چه برسه به اینکه حوزه فایننس باشه. اصولا سیستم algo trader تا پول نسازه و اون هم به طور پایدار در بلندمدت، مورد قبول نیست. بازم میگم، اینها بدیهیاته. حداقل برای من که چند ساله دارم از این راه نون میخورم. اما این به این معنا نیست که نمیشه سیستم رو در فازهای مختلف ارزیابی کرد و کور پیش رفت.

تنها نکته پست حذف شده:
اگر مدل classification دارید، فقط به TP FP و precision نگاه نکنید. به طور دقیق backtest کنید و میانگین سود FP هارو ببینید. FPها احتمالا فقط نتونستن به حد سود برسن اما مثلا در مثال ما بعد از 8 ساعت که پوزیشن ها بسته میشه، FP ها هم به طور میانگین سود دادن و فقط بعضی هاشون به حد ضرر میخورن. بک تست سختگیرانه با cross val و gap بین train test در بلند مدت.

@deeptimeai
27👍11😢1
The Rise of Diffusion Models in Time-Series Forecasting

یکی از مهم ترین تکنولوژی‌های روز دنیا در Generative AI مدل Diffusion هست که قطعا کاربردش رودر تولید تصویر دیدین. اینجا کاربرد در سری زمانی هست.
ریاضی Diffusion و notation های ریاضی شو میتونید باکمک chatGPT یاد بگیرید.

@deeptimeai
👍84