Python4Finance
9.35K subscribers
567 photos
41 videos
152 files
758 links
کانال Python4Finance
آموزش پایتون در اقتصاد و مدیریت مالی
هر روز چند نکته را در خصوص پایتون برای مالی بیاموزیم
***
ارتباط با من
b2n.ir/y72935
***
آپارت:
aparat.com/Python4Finance
کانال چالش ها:
t.iss.one/python4finance_challenge
Download Telegram
مروری بر یادگیری ماشین با پایتون - بخش اول

در چند پست آتی قصد دارم در خصوص یادگیری ماشین به صورت عملی توضیحاتی را تقدیم کنم.
اگر با مفاهیم یادگیری ماشین آشنایی زیادی ندارید حتما این لینک را مشاهده نمایید.
در ادبیات یادگیری ماشین، داده ها عموما به دو دسته train و test تقسیم می شوند. داده های train برای یادگیری مدل مورد استفاده قرار می گیرند و کیفیت مدل با داده های test مورد ارزیابی قرار می گیرد. درصدی که برای داده های train در نظر گرفته می شود بستگی به عوامل زیادی دارد اما معمولا بین 70 تا 80 درصد داده ها است.
در مثال این پست، داده های دو شرکت اپل و مایکروسافت دریافت شده و با استفاده از ماژول scikit-learn ، تعداد 30% داده ها به عنوان داده تست و 70% مابقی به عنوان داده train انتخاب می شود و رسم می شود.

#یادگیری_ماشین
#معاملات_الگوریتمی
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
2
مروری بر یادگیری ماشین با پایتون - بخش دوم
کاربرد یادگیری ماشین در بازاریابی
در ادامه مبحث قبل، در این پست یک مثال از یادگیری ماشین بر اساس تکنیک درخت تصمیم ارائه می شود.از آنجایی که دنبال کنندگان کانال از بخش های مختلفی هستند، مثال را در حیطه بازار یابی طرح می کنیم.
فرض کنید شما عرضه کننده لپ تاپ و تبلت هستید و می خواهید علاقه مندی افراد را برای خرید نوع محصول مشخص نمایید.
انواع محصولات ما، گوشی موبایل، تبلت 7 اینج، تبلت 10 اینچ، لپ تاپ 14 اینج، لپ تاپ 15 اینچ است (5نوع محصول).
برای این منظور پرسشنامه ای میان 18 نفر از مشتریان توزیع شده است و اطلاعات مربوط به سن ، جنسیت و محصول خریداری شده را ثبت کرده ایم.
مسئله مورد نظر ما این است که با فرض داشتن سن و جنسیت بتوانیم محصول مورد درخواست فرد را پیش بینی کنیم. (اطلاعات مسئله در فایل csv ضمیمه شده قرار دارد. ستون جنسیت در فایل، برای خانم ها عدد 1 و اقایان عدد 0 صفر در نظر گرفته شده است)
1️⃣ گام اول تفکیک مقادیر ورودی (input) و خروجی (outpu). مقادیر ورودی ما جنسیت و سن هستند و مقدار خروجی ما که به دنبال پیش بینی آن هستیم محصولی است که خریداری می شود.
2️⃣ در گام دوم داده ها را به دو بخش آموزش (train) و آزمون (test) تقسیم می کنیم.
3️⃣ در گام سوم با استفاده از روش درخت تصمیم (DecisionTreeClassifier) مدل را با استفاده از داده های آموزش (train) اجرا می کنیم.

کار تمام است! به راحتی می توانیم داده های آزمون (test) را به مدل بدهیم و مدل برای ما پیش بینی را انجام می دهد.
فایل های این مثال در پست بعد ارائه می شود.
در پست های آتی مطالبی را در خصوص سنجش کیفیت و کارایی مدل تقدیم خواهد.


#یادگیری_ماشین
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
2
machinelearning2.rar
542 B
مروری بر یادگیری ماشین با پایتون - بخش دوم
کاربرد یادگیری ماشین در بازاریابی
فایل های مربوط به مثال بالا


#یادگیری_ماشین
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
اخیرا، دوره ای را در خدمت دانشجویان MBA علم داده و معاملات الگوریتمی دانشگاه الزهرا(س) هستم. نظر سنجی این دوره تقدیم می شود. برای دانشجویان این دوره، آرزوی موفقت دارم.

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

@python4finance
مروری بر یادگیری ماشین با پایتون - بخش سوم
سنجش دقت مدل (accuracy)

بعد از اجرای مدل، لازم است میزان دقت مدل را بررسی کنیم. در واقع در این مرحله، مقادیر مربوط به output که توسط مدل پیش بینی شده است و مقادیر واقعی test با یکدیگر مقایسه شده و یک عدد به عنوان امتیاز دقت از 0 تا 1 به مدل تخصیص داده می شود که هر چه عدد دقت مدل به 1 نزدیک تر باشد کیفیت مدل بهتر است. البته در مثال ما به دلیل اینکه هر بار داده های مختلفی به صورت تصادفی به عنوان داده های آموزش در نظر گرفته می شود، عددهای مختلفی ممکن است به عنوان امتیاز مدل به دست بیاید.
در مثال این پست با استفاده از accuracy_score امتیاز دقت مدل محاسبه و نمایش داده می شود.


#یادگیری_ماشین
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
مروری بر یادگیری ماشین با پایتون - بخش چهارم
ماندگاری مدل (Model persistence)
خیلی از اوقات ممکن است بخواهیم در زمان های مختلفی از مدل یادگیری ماشین استفاده کنیم اما مشکل اینجاست که هر بار باید مدل با استفاده از داده ها یادگرفته (ترین شود). حالا شرایطی را در نظر بگیرید که شما برای یادگرفتن مدل از میلیون ها داده استفاده کرده اید!
خوشبختانه امکان نگهداری مدل (بدون نیاز به یادگیری مجدد) وجود دارد. برای این منظور از ماژول joblib استفاده می کنیم.
در مثال این پست، ابتدا فرآیند یادگیری مدل انجام شده و سپس در فایلی به نام product-prediction.joblib ذخیره می شود.
از این به بعد صرفا با Load کردن فایل مذکور بدون یادگیری مدل می توانیم از هوشمندی! مدل استفاده کنیم.

#یادگیری_ماشین
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
مروری بر یادگیری ماشین با پایتون - بخش پنجم و پایانی
نمایش گرافیکی مدل!
احتمالا شما هم شنیده اید که گاهی یک تصویر، می تواند بیانگر صدها صفحه کتاب باشد. یکی از زیبایی های مدل های درخت تصمیم نمایش گرافیکی آنهاست.
برای نمایش گرافیکی خروجی لازم است، در vscode ماژول Graphviz (dot) language support for Visual Studio Code را نصب کنید. سپس فایل ایجاد شده با پسوند dot را با vscode باز کنید. از سمت راست ... گزینه open preview را انتخاب کنید.

#یادگیری_ماشین
#پایتون_مالی
#Machine_learning
#scikit-learn

@python4finance
نمایش نمودارهای تعاملی(InterActive) در Jupyter
معمولا همه ما برای رسم نمودارها از Matplotlib استفاده می کنیم. این ماژول بسیار ساده و خوش دست است و عموما بیشتر کارهای ما راه می اندازد. برای استفاده از Matplotlib در Jupyter عموما از دستور جادویی matplotlib inline% استفاده می کنیم.
این دستور به ما امکان استفاده از Matplotlib را در Jupyter می دهد. (البته قبلا استفاده از این دستور اجباری بود اما در زمان حال استفاده از آن الزامی ندارد. اما خب مثلا در صورتی که از این دستور استفاده کنید نیازی به plt.show در انتهای کار برای نمایش نمودار وجود ندارد!)
در این روش نمودارها در Jupyter نمایش داده می شوند اما صرفا به صورت عکس ظاهر می شوند!
برای ایجاد نمودارهای تعاملی (که قابلیت بزرگنمایی، جابجایی و ... ) داشته باشند کافی است به جای matplotlib inline% از matplotlib notebook% استفاده کنید.
در تصویر این پست نمودار تعاملی که با matplotlib notebook% ایجاد شده است نمایش داده شده است.

#نمودارهای_تعاملی
#پایتون_مالی
#Maplotlib
#Jupyter
#InterActive

@python4finance
یک نکته کوتاه اما کاربردی!
جدا کردن سه رقم سه رقم اعداد در پایتون

معمولا در محاسبات، خصوصا محاسبات پولی و مالی برای راحت تر خوانده شدن داده ها، اعداد را به صورت سه رقم سه رقم از یکدیگر جدا می کنیم.
برای انجام این کار در پایتون کافی است از foramt در تایع پرینت استفاده کنیم.
در تصویر این پست، نمونه ای جدا کردن سه رقم سه رقم اعداد در پایتون نشان داده شده است.

#سه رقم سه
#پایتون_مالی
#comma _separated_numbers

@python4finance
یک برنامه ساعت ساده
یکی از سوالاتی که خیلی از دوستان در پیام خصوصی پرسیده اند این است که چگونه یک عملی را در زمان های مشخصی انجام دهیم. برای مثال می خواهیم برنامه ما هر دقیقه یکبار قیمت سهم را به روز کند و بر اساس آن بتوانیم تحلیل به روز داشته باشیم.
راه حل این کار استفاده از تابع sleep در ماژول time است. در تصویر این پست، یک برنامه ساعت ساده نوشته شده است که هر 1 ثانیه یکبار، به ثانیه شمار یک عدد اضافه می شود و هر 60 ثانیه یک دقیقه به تعداد دقیقه‌ها اضافه می‌شود.


#پایتون_مالی
#time
#sleep

@python4finance
Python4Finance pinned «سوالات متداول (به روزشده در 1404/01/03) از آنجایی که خیلی از عزیزان در خصوصی سوالات زیر را پرسیده اند و این سوالات قبلا در کانال پاسخ داده شده است، من عناوین سوالات و پاسخ آنها را جهت مرور خدمت شما قرار می دهم. 🔸چرا پایتون یاد بگیرم؟ پاسخ 🔸بهترین منابع زبان…»
بیست و یکمین دوره مدلسازی مالی مقدماتی

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

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


مشاهده سرفصل ها و اطلاعات بیشتر:
🌐 vclc.alzahra.ac.ir

t.iss.one/azvclc
بیست و یکمین دوره مدلسازی مالی با python مقدماتی
📌 سرفصل:
آموزش مبانی پایتون
آموزش مبانی مدلسازی مالی
معادله نویسی در پایتون
مصورسازی داده ها
مبانی آمار توصیفی
ارزش زمانی پول
بهینه سازی
محاسبه بازده و ریسک سهم
مطالعه موردی بازار سرمایه ایران

📌 مخاطبین:
فعالان بازار سرمایه
تحلیل گران و تصمیم گیرندگان اقتصادی
اساتید و دانشجویان رشته های اقتصاد و مدیریت


📌اطلاعات دوره :
مدرس: دکتر محمد صادق کریمی مهرآبادی
طول دوره :۱۵ ساعت
زمان شروع :از ۴ مرداد روزهای دوشنبه ساعت ۱۸:۳۰ الی ۲۱:۳۰

شرکت برای عموم افراد (آقایان و خانم ها) آزاد است.
به شرکت کنندگان در پایان دوره گواهی مرکز آموزش های آزاد و مجازی دانشگاه الزهرا(س) اعطا خواهد شد.

اطلاعات بیشتر و ثبت نام:
🌐 vclc.alzahra.ac.ir


مرکز آموزش های آزاد و مجازی
t.iss.one/azvclc
رفع مشکل دریافت دیتا از Yahoo Finance با Pandas-datareader

چند روزی بود که به علت تغییرات در سایت Yahoo Finance امکان دریافت داده از طریق Pandas-datareader میسر نبود و با خطا مواجه می شدیم.
خوشبختانه توسعه دهندگان این ماژول چند ساعت قبل (امروز 22 تیر 1400) آپدیتی را برای این موضوع ارائه کردند.
برای به روز رسانی این ماژول دستور زیر را در CMD اجرا کنید.
pip install --upgrade pandas-datareader

#پایتون_مالی
#یاهو_فایننس
#pandas_datareder
#yahoo_finance

@python4finance
بدست آوردن روند در یک سری زمانی
سری های زمانی یکی از مباحث بسیار جذاب و در عین حال کاربردی در بازار سرمایه هستند. برای مثال قیمت یک سهم در طول زمان، شاخص بورس، تولید ملی و ... ، همه مثال هایی از سری های زمانی هستند.
(اگر با مباحث سری زمانی، چرخه، روند و ... آشنا نیستند حتما وبینار جادوی سری های زمانی را مشاهده نمایید.)
در مثال این پست، قیمت سهم شرکت اپل از اواسط سال 2020 بررسی شده و به کمک فیلتر هودریک-پرسکات چرخه و روند از یکدیگر تفکیک و رسم می شوند.

#سری_زمانی
#چرخه
#روند
# هودریک-پرسکات

#time_series
#Hodrick-Prescott

پایتون برای مالی در تلگرام https://t.iss.one/python4finance
پایتون برای مالی در بله https://ble.im/python4finance
1
یک تابع بسیار جالب در Numpy
یکی از توابع جالب ماژول Numpy تابع fromfunction است. کاربرد این تابع وقتی است که می خواهیم تاثیر همزمان دو متغیر را در مدل شبیه سازی کنیم. برای دقیق تر شدن بحث ماتریسی را فرض کنید که سطرهای آن مقادیر X و ستون های آن مقادیر Y را نشان می دهند و ما تابعی را بر اساس مقادیر XوY مقدار دهی می کنیم.
برای سادگی موضوع تابع f=x*y را در نظر بگیرید. به کمک این تابع و تابع fromfunction به راحتی می توانیم یک جدول ضرب را شبیه سازی کنیم.

#پایتون_مالی
#numpy
#fromfunction

@python4finance
Media is too big
VIEW IN TELEGRAM
چگونه از یک اقتصاددان به یک دانشمند داده تبدیل شویم؟

در این ویدئوی بسیار جالب، فرآیند تبدیل شدن از یک اقتصاددان به دانشمند داده به زبان ساده تشریح شده است. (زبان ویدئو انگلیسی روان است)
#پایتون_مالی
#دانشمند_داده
#اقصاددان
#ویدئو
#video
#Data_Science
#Economist
@python4finance
عید سعید قربان بر شما گرامیان مبارک.

@python4finance
Numpy, Scipy, Matplotlib.pdf
1.5 MB
اسلایدهای معرفی Numpy, Scipy, Matplotlib
مربوط به درس introduction to Scientific Python دانشگاه استنفورد
سایر اسلایدهای درس را می توانید از این لینک دریافت کنید.

#اسلاید
#استنفورد
#آشنایی با پایتون
#پایتون مالی

#slide
#stanford
#introdution to python

@python4finance
تسلط به پایتون (Python) یکی از امتیازات گسترده برای پذیرش در دوره های دکتری و نیز استخدام در شرکت های بزرگ و فعال داخل و خارج کشور است.

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

📌دوره مدلسازی مقدماتی با پایتون (شروع از ۴ مرداد)
📌دوره مدلسازی مالی پیشرفته با پایتون (شروع از ۸ شهریور ماه)
📌دوره معامله گر الگوریتمی (شروع از ۱۲ مهرماه)
ثبت نام همزمان 3 دوره با تخفیف ویژه (لینک)

مدرس: آقای دکتر محمدصادق کریمی مهرآبادی

مرکز آموزش های آزاد و مجازی دانشگاه الزهرا(س)
@azvclc
1
افت سرمایه یا DrawDown چیست؟
نوسان؛ جزء ماهیت بازارهای مالی است. یعنی یک سرمایه گذار حرفه ای می داند که ممکن است دارایی اش در زمان های مختلف افزایش یا کاهش یابد اما نکته مهم برآیند این نوسانات است که سود آور باشد.
اما همیشه باید توجه داشت که اگر مثلا 50% دارایی های ما کاهش یافت، این بار باید 100% افزایش پیدا کند تا زیان قبلی جبران شود. بنابراین هرچقدر ضررهای قبلی بیشتر باشد، احتمال سودآوری نهایی کمتر می شود.
برای بیان این موضوع از مفهوم Max DrawDown یا حداکثر افت سرمایه استفاده می شود. حداکثر افت سرمایه عبارت است از بیشترین مقدار کاهش در ارزش دارایی در یک بازه زمانی مشخص.
در واقع این بدترین حالت ممکنی است که می توانید داشته باشید.
در پست های بعد، در خصوص نحوه محاسبه حداکثر افت سرمایه بیشتر صحبت خواهیم کرد.

#پایتون_مالی
#حداکثر_افت_سرمایه

#Max_DrawDown

پایتون برای مالی در تلگرام
https://t.iss.one/joinchat/AAAAAFGMkouqbsb86Vfzug