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

حضور در گروه نیازمند کامل بودن نام، نام خانوادگی و آیدی تلگرامی شما قبل از ارسال درخواست عضویت است.
Download Telegram
#معرفی_پکیج_پایتون

انتظارات از تصمیمات آتی نرخ بهره - PyFedWatch

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

▫️اگرچه متدولوژی پیاده سازی شده در این پکیج، با متدولوژی منتشر شده توسط CME (بورس کالای شیکاگو) متفاوته، ولی عینا همون مقادیری رو که خود FedWatch تولید میکنه رو در اختیارتون قرار میده، به شرطی که داده های قیمت قراردادهای آتی رو بهش بدید! اطلاعات بیشتر رو میتونید تو ریپو پیدا کنید.

پست تکمیلی: آیا میتوان از اطلاعات موجود در ابزارهای مشتقه مالی برای پیش بینی بازار استفاده کرد؟

@FinPy
👍13
#بکتست

قسمت اول - آیا نتایج بک تست قابل اتکاست؟!

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

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

@FinPy
👍23👎1
This media is not supported in your browser
VIEW IN TELEGRAM
#گزارش

گزارش هوش مصنوعی کگل ۲۰۲۳

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

- Learnings From the Typical Tabular Modelling Pipeline
- AI Report - Time Series and Tabular Data
- Tabular Data in the Age of AI

▫️فایل گزارش رو میتونید از اینجا دانلود کنید. قبلا هم کتاب The Kaggle Book رو اینجا معرفی کردیم.

@FinPy
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
#بکتست

قسمت دوم - بایاس Survivorship در بک تست

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

▫️در شکل یه نمونه از تاثیر چنین بایاسی در نتایج بک تست نشون داده شده. سهم هایی که در شاخص Russell 3000 بودن از کمی بیشتر از ۲۵۰۰ تا در اواخر سال ۱۹۸۶ به حدود ۵۰۰ تا در اواخر سال ۲۰۱۳ رسیده (شکل چپ) و اگر بک تست یه پرتفوی هم وزن با همه سهم های یونیورس بازماندگان (Survivor Universe) در سال ۲۰۱۳ انجام بشه، منحنی قرمز (شکل راست) به دست میاد در حالی که اگه بک تست روی همه سهم های فعال شاخص Russell 3000 در اواخر سال ۱۹۸۶ انجام میشد، منحنی آبی (شکل راست) که حدود ۳ برابر کمتر از یونیورس بازمانده ها بازدهی داده، به دست میومد. فاصله این نتایج در صورتی که از معیارهای خاصی برای انتخاب یونیورس استفاده کنید میتونه حتی خیلی بیشتر هم بشه!

@FinPy
👍8
#کریپتو

چرا بازار رمزارزها از رونق افتاده؟

▫️داده های ماه جاری The Block، نشان دهنده افت بی سابقه حجم معاملات کریپتو به کمترین مقدار خود از اکتبر ۲۰۲۰ هست. عوامل موثر بر این رکود در بازار کریپتو که در حال تشدید شدن هم هستند، عبارتند از:

۱. خروج مارکت میکرهای (Market Maker) بزرگ و اختلال در تامین نقدینگی مورد نیاز بازار رمزارزها.
۲. فروپاشی بانک های Silvergate و Signature که چرخانندگان دو زیرساخت مهم SigNet و SEN، برای انتقال بلادرنگ و کم هزینه دارایی های دیجیتال بودن.
۳. فروپاشی شدو بانکهای بزرگ (Shadow Bank) کریپتو که تامین نقدینگی برای هج فاندها و بازارسازهای فعال در این بازار رو دشوار کرده.
۴. افزایش حداقل مارجین مورد نیاز و کاهش حداکثر اهرم قابل استفاده برای بازارسازها و هج فاندهای فعال بازار.
۵. تصویب قوانین سخت گیرانه نظارتی در آمریکا که صرافی های بزرگ رو هدف گرفته.

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

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

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

An Introduction to Statistical Learning with Applications in Python

@FinPy
👍16
Media is too big
VIEW IN TELEGRAM
#کاربردهای_مالی_ماشین_لرنینگ

آیا ماشین لرنینگ قادر به پیش بینی قوی سیاه هست؟

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

The Microstructure of the Flash Crash: Flow Toxicity, Liquidity Crashes, and the Probability of Informed Trading

@FinPy
👍15👎1
This media is not supported in your browser
VIEW IN TELEGRAM
#گیت

مدیریت و پیگیری تغییرات با گیت

▫️گیت (Git) یه سیستم کنترل نسخه برای مدیریت و پیگیری تغییرات (Version Control) هست که در پروژه های نرم افزاری و کدنویسی مورد استفاده قرار میگیره. با استفاده از گیت میتونیم تغییراتی که در کدهامون در گذر زمان ایجاد میکنیم رو ثبت کرده و هر جا لازم باشه به نسخه های قبلی کدمون برگردیم. گیت همچنین همکاری چند نفره در یک پروژه رو تسهیل میکنه و این اجازه رو میده که مشارکت کنندگان در پروژه، کدهاشون رو در یک مخزن مشترک که مثلا میتونه توسط گیتهاب میزبانی بشه رو ذخیره و برای سایر اعضای تیم قابل دسترس کنه. با استفاده از گیت میشه برنچ های جدیدی برای توسعه ویژگی های جدید یا رفع باگ ایجاد کرده و پس از نهایی شدن، به برنچ اصلی مرج کرد.

▫️اگه با گیت آشنا نیستید، یه مجموعه آموزش مختصر و بسیار مفید توسط آقای علیرضا آقامحمدی تهیه شده که در یوتیوب قابل دسترسی هست. مفاهیم از نصب تا اتصال ریپو به گیتهاب و دستورات پرکاربرد گیت در این آموزش به خوبی پوشش داده شده. در صورت آشنایی هم این ویدیو که توسط Hudson and Tames تهیه شده رو برای Best Practices ببینید.

@FinPy
👍4
#بکتست

قسمت سوم - بایاس Look-Ahead در بکتست

▫️این بایاس به دلیل استفاده از اطلاعاتی که در زمان انجام بک تست منتشر نشدن، به وجود میاد. مثلا در شکل، صورت های مالی فصلی "خودرو" رو میبینید که تقریبا با تاخیر ۱ ماه منتشر شدن، حالا اگه بیاییم و مثلا اطلاعات موجود در صورت مالی منتهی به ۱۴۰۱/۳/۳۱ رو از همون روز وارد بک تست کنیم، نتایج مخدوشه، چون این اطلاعات در اون تاریخ در دسترس نبودن! نوع ظریف تر این بایاس هم زمانی رخ میده که شرکت ها میان اصلاحیه میزنن و اطلاعاتی که قبلا منتشر کردن رو تغییر میدن که بهش میگن Restatement Bias و ما فقط از اطلاعات اصلاح شده استفاده میکنیم.

▫️ برای اینکه بکتست دچار این بایاس نشه باید اطلاعات رو زمانی وارد پروسه بک تست کنیم که منتشر شدن. بنابراین لازمه دیتابیس ما شامل تاریخ انتشار و اصلاحیه های مربوط به اطلاعات مورد استفاده هم باشه. در صورت عدم دسترسی به تاریخ انتشار، باید این داده ها رو با تاخیر وارد بکتست کنیم. مثلا در آمریکا داده های فصلی به طور میانگین با ۳۰ روز تاخیر منتشر میشن ولی باید بیشترین تاخیر که حدود ۹۰ روز هست رو برای همه شرکتها اعمال کنیم.

@FinPy
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
👎1
#گوگل_بارد
#تایپ_فرمول

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

▫️البته نرم افزار Mathpix نیز همین کار تایپ فرمول رو برای شما انجام میدهد.

@FinPy
👍15
#سواد_مالی

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

▫️همچنین، در حوزه نظام مالی و اقتصاد ملی، سواد مالی به عنوان یک عامل کلیدی در تقویت اقتصاد و جامعه و درک بهتری از ریسک‌ها و فرصت‌های مالی عمل می‌کند. بانک‌های مرکزی و نهادهای مالی ملی نیز در ترویج سواد مالی نقش بسیار مهمی ایفا می‌کنند.

▫️کتاب (International Handbook of Financial Literacy ) یک منبع جامع است که به بررسی گسترده و عمیق مسائل مرتبط با سواد مالی در سطح جهان می‌پردازد. نویسندگان این کتاب از محققان و متخصصان برجسته در زمینه سواد مالی اند و مفاهیم، رویکردها، و پژوهش‌های جدید در زمینه سواد مالی را ارائه می دهند.

@FinPy
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
👍1
الگوریتمهای LTR در فایننس

▫️وقتی تو گوگل چیزی رو سرچ میکنیم، نتایج بر اساس میزان مربوط بودن (relevance) به عبارت سرچ ما، رنک و بهمون نمایش داده میشن. الگوریتمهایی که پشت موتورهای جستجو این کار رو انجام میدن Learning to Rank یا LTR نام دارند. حالا فرض کنید چیزی که میخواییم سرچ کنیم که بهش کوئری میگن، این باشه: "پر بازده ترین سهم ها در یک ماه آینده کدامها خواهند بود؟" برای این کوئری میشه یه الگوریتم LTR رو ترین کرد تا بر اساس چیزی که یاد گرفته بیاد و پربازده ترین سهم ها در یک ماه آینده رو برای ما به ترتیب سورت کنه و مثلا یه پرتفو بر اساس سهمهای با رنک بالا تشکیل بدیم. توجه داشته باشید که این الگوریتم ترتیب بازدهی رو پیش بینی میکنن نه مقدار بازدهی! البته که مثل هر الگوریتم دیگه ای فیچرهایی که LTR ازش یاد میگیره اهمیت زیادی دارند و بدون فیچرهای به اصطلاح predictive این الگوریتم هم نمیتونه کاری از پیش ببره چون garbage-in منجر به garbage-out میشه! اگر این دسته از الگوریتمهای ماشین لرنینگ براتون جذاب هست، این مقاله از ژورنال Financial Data Science رو مطالعه کنید.

#LTR
@FinPy
👍15
موفق ترین مدل های ماشین لرنینگ برای حل مسائل مالی

▫️بخش بزرگی از مسائل دنیای فایننس مبتنی بر داده های جدولی (Structured/Tabular) مثل داده هایی که در یک دیتافریم ذخیره میشن، هستند. بخش دیگری از مسائل هم مبتنی بر آلترناتیو دیتا، مثل متن و تصویر که داده های بدون ساختار (Unstructured) نامیده میشن. اگر مساله با داده های جدولی شما، یه مساله Supervised باشه، بهترین مدل برای حل اش GBDTها هستند. XGBoost، LightGBM و CatBoost نمونه هایی از GBDT هستند که در مواجهه با داده های جدولی، سایر مدلها از جمله مدلهای دیپ لرنینگ، حرفی برای گفتن در مقابل شون ندارن. توجه داشته باشید که برای داده های بدون ساختار مثل متن و تصویر، دیپ لرنینگ انتخاب بهتری هست. بنابراین اگر مسائل پیش روی شما با داده های جدولی سر و کار داره، سراغ دیپ لرنینگ نرید و مساله رو با GBDT یا مدلهای Bagging مثل Random Forest حل کنید.

GBDT = Gradient Boosting Decision Tree

@FinPy
👍19
#معرفی_کتاب

Ensemble Methods for Machine Learning

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

@FinPy
👍17