fa
Feedback
On Becoming A Quant

On Becoming A Quant

رفتن به کانال در Telegram

اینجا از هر مطلبی که مربوط به دنیای مالی کمّی و موضوعات مرتبط باشه، می نویسم. مسعود قهرمانی p.masoud.ghahremani@gmail.com

نمایش بیشتر
إيران286 274دسته بندی مشخص نشده است
638
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
🅾 ردیس (Redis) یک ابزار دوست داشتنی! ✅ رم (RAM)، دستگاهی در کامپیوتره که برای نوشتن/خواندن اطلاعات آنی ازش استفاده میشه. معمولا وقتی صحبت از حافظه اصلی (Main memory) یا به اختصار Memory می کنیم منظورمان RAM است. ✅ ردیس (REmote DIctionary Server) یک ابزار متن باز هستش که معمولا به عنوان یک دیتابیس که دیتا رو به صورت key-value تو مموری ذخیره میکنه شناخته میشه و همچنین برای کار هایی مثه Cache و Message broker هم ازش استفاده میشه. جدای از کاربردهای زیاد و فراوان ردیس در اکثر برنامه های سمت سرور؛ ردیس ابزار خیلی خوبی برای سیستم های رخداد محور (Event driven system) یا سیستم های Real-time می تونه باشه. ✅ مثلا فرض کنید شما یک الگوریتم معاملاتی دارید که قراره روی بیت کوین فلان صرافی کار کنه و لازم داره که به صورت لحظه ای، دیتای معاملات و Limit order book اون صرافی رو داشته باشه تا یه سری تصمیم گیری ها کنه و ... . تو چنین شرایطی مشخصه که اولا سرویسی که قراره این دیتا رو برای شما فراهم کنه باید مستقل از الگوریتم شما و منطقش باشه و دوما این سرویس هم باید داده ها رو سریع ذخیره کنه (چون سریع تغییر میکنن) هم باید دسترسی به داده ها راحت باشه( مثلا نیاز به کوئری Sql نباشه). این مهم رو ردیس برای شما انجام میده به این صورت که شما دیتا رو با یک کلید مثه Live_Data در ردیس ذخیره می کنید و تو هر لحظه الگوریتم شما میتونه با استفاده از همین کلید، به آخرین اطلاعاتی که لازم داره به سرعت دسترسی پیدا کنه. ✅ از این گذشته ردیس یک قابلیت خیلی جالب دیگه به اسم pub/sub داره که مثلا شما یک Channel میسازی و بقیه سرویس ها تو این Channel سابسکرایب میکنن و در صورت وقوع یک رخداد یک Message توش Publish میکنی که همزمان همه ی سرویس هایی که Subscribe کردن از رخداد به وقوع پیوسته به سرعت مطلع میشن و میتونن واکنش نشون بدن بهش. ✅ در کل شاید ابزارهای دیگه ای هم وجود داشته باشند که همچین ویژگی هایی رو در اختیار توسعه دهنده ها قرار بدن؛ اما ردیس در عین سادگی و دست و دل بازی این کار رو انجام میده و این دوست داشتنیش میکنه :) @Quant_Fin

خیلی وقته دوست دارم بنویسم و صحبت کنم از موضوعات فنی و تخصصی و عادت خوب نشر دانش، که معتقدم باعث انباشت و افزایشش میشه اما ... امثال ما همیشه تو لحظه فکر می کنیم که مفید ترین کار برای انجام دادن چیه که همون رو انجام بدیم اما انگار انجام دادن مفید ترین کار برای لحظه های روتین و روزمره زندگی هست که حس خوب به آدم میده وگرنه به جز اون، حس می کنی داری بیخودی خودتو سرگرم میکنی و یه جای کار داره بد میلنگه! رک بگم، دل و دماغ انجام هیچ کار جدی نیست؛ وقتی داریم هر روز "لحظه به لحظه با اخبار می میریم". این متن رو هم فقط به خاطر ادای احترام به #جادی نوشتم که کلی چیز ازش یاد گرفتم و الان تو جایی هست که قطعا حقش نیست و من به عنوان یک آدم تو این جامعه تنها و بزرگترین کاری که می تونم براش انجام بدم نوشتن و به خوبی یاد کردن ازش، تو همینجاست. به امید زوال ناپاکی و مسبب هاش. بیست و سوم آبان یک #جادی #حسین_رونقی

یکی از معضلاتی که ما در ترکیب AI و فاینانس داریم، تبدیل کردن تئوری ها به محصول هست، در پرزنت دوشنبه ۷ شهریور، درباره یکی از ق
یکی از معضلاتی که ما در ترکیب AI و فاینانس داریم، تبدیل کردن تئوری ها به محصول هست، در پرزنت دوشنبه ۷ شهریور، درباره یکی از قوی ترین اپروچ های اردر گذاری به کمک reinforcement learning بحث خواهیم کرد، در مقایسه شرکت های بزرگ دنیا، شرکت eveince.com جزو اولین شرکت‌های جهان در مدلسازی این مساله در بازار کریپتو هست و پرزنت یک state of art جهانی خواهد بود. بهنام ثابتی یکی از متخصصین پایونر این حوزه هست و بصورت عملی در مورد استفاده از RL در بازار #کریپتو از ایده تا پیاده سازی رو بحث خواهد کرد، این جلسه رو به همه دوستداران یادگیری #تقویتی ، #فاینانس و #ماشین_لرنینگ توصیه میکنم، 🌺 لینک پرزنت در زوم زمان: دوشنبه ۷ شهریور ساعت ۸ شب Meeting ID: 865 9229 9802 Passcode: 123456 بزودی چند تا پرزنت دیگه از تیم eveince در گروه خواهیم داشت، 🌺

سایت Sololearn یه پلتفرم خوبیه که هم به صورت تحت وب و هم با گوشی (لینک زیر) می تونید به صورت تعاملی و رایگان انواع زبان های ب
سایت Sololearn یه پلتفرم خوبیه که هم به صورت تحت وب و هم با گوشی (لینک زیر) می تونید به صورت تعاملی و رایگان انواع زبان های برنامه نویسی و ... رو ازش یاد بگیرید. آخرش هم گویا مدرک می ده. همچنین چلنج های کدینگ هم می تونید با بقیه داشته باشید که به نظرم برای به روزموندن و تمرین چیز خوبیه. https://play.google.com/store/apps/details?id=com.sololearn @Quant_Fin

@Quant_Fin_Sebastien_Donadio,_Sourav_Ghosh,_John_Rizzo,_Romain_Rossier.pdf8.43 MB

📘 Developing High-Frequency Trading Systems. (Learn how to implement high-frequency trading from scratch with C++ or Java basics) 📝 Sebastien Donadio Sourav Ghosh Romain Rossier @Quant_Fin

https://castbox.fm/vb/497540107 👆👆👆 در شصت‌و‌پنجمین قسمت از میهن پادکست با توجه به اتفاقی که برای استیبل کوین UST، کوین لونا و به‌طور کلی اکوسیستم ترا رخ داد، تصمیم گرفتیم علاوه‌بر بررسی این موضوع نمونه‌های مشابه دیگری که پیش‌تر وجود داشتند را بازگو کنیم. کارشناسان حوزه ارزهای دیجیتال در بازه‌های زمانی مختلف نسبت به عملکرد استیبل کوین‌های الگوریتمی هشدار داده‌اند. آن‌ها بر این باور هستند که این نوع از رمزارزها و ارزهای دیجیتال با ثبات بسیار نقص دارند و سازوکار آن‌ها باید بسیار دقیق طراحی شده باشند. برای اینکه بهتر بدانیم استیبل کوین‌ها چند نوع هستند، در ابتدا به توضیح هرکدام پرداخته‌ایم. بعد از آن درباره اتفاقی که برای UST و لونا رخ داد، توضیح مختصری می‌دهیم. در ادامه نمونه‌های شکست خورده قبلی را بازگو می‌کنیم و در دو بخش آخر به وقایع‌نگاری مارپیچ مرگ ترا و بررسی ابعاد فنی آن با کوشیار حیدری و علی شعبانی، دو نفر از اعضای تیم میهن بلاکچین می‌پردازیم.

خیلی از دوستان از من راجع به نقشه راه برای ورود به دنیای معاملات الگوریتمی می پرسن؛ جدای از اینکه این حوزه دارای وسعت زیادی هست و هرکس می تونه هدفی رو دنبال کنه اما برای اون دسته از کارهایی که نهایتا قراره منجر به "خودکار معامله کردن" یا "اجرای سفارشات" (Order execution) بشن لازمه که شما درک درستی از اینکه بازار چطور داره کار می کنه؟ سفارشات تو چه بستری اجرا می شوند و اصلا انواع سفارشات چیا هستند؟ داده های مربوط به معاملات چه شکلی و با چه فرکانسی هستند و چطوری میشه تحلیلشون کرد؟ و ... داشته باشید. معمولا همه ی این موارد تو ادبیات علمی زیر پرچم چیزی به اسم ریزساختار بازار (Market microstructure) جمع می شوند و راجعشون صحبت می شه. کتاب فوق به نظرم می تونه منبع خوبی برای مطالعه و آشنایی و حتی تعریف موضوعات تحقیقاتی باشه. سر فرصت مناسب سعی می کنم تو این حوزه محتوای بیشتری قرار بدم. @Quant_Fin

Jean_Philippe_Bouchaud,_Julius_Bonart,_Jonathan_Donier,_Martin_Gould.pdf5.36 MB

📘 عنوان کتاب: معاملات، مظنه ها و قیمت ها (بازارهای مالی زیر ذره بین) 📝نویسندگان: jean-philippe bouchaud and others زبان: انگلیسی

عنوان کتاب: معاملات، مظنه ها و قیمت ها (بازارهای مالی زیر ذره بین) نویسندگان: jean-philippe bouchaud and others زبان: انگلیسی

⭕️ مروری بر ریزساختارهای بازار (۲): عدم توازن دفتر سفارشات ✅ یکی دیگر از کمیت های جالب که برای دفتر ثبت سفارشات (Limit order book) می توان در نظر گرفت، کمیت عدم توازن در دفتر سفارشات (Order Book Imbalance) است. این کمیت با استفاده از حجم های موجود در سمت خرید و فروش دفتر ثبت سفارشات، نسبت مجموع حجم عرضه و مجموع حجم تقاضا را بررسی می کند. ✅ وابسته به اینکه سفارشاتِ تا چه سطح از دفتر ثبت سفارشات را بخواهیم در نظر بگیریم، این کمیت می تواند مقادیر مختلفی در بازه منفی ۱ تا ۱ داشته باشد. مثلا اگر بخواهیم آن را برای پنج سطح اول دفتر ثبت سفارشات محاسبه کنیم و مجموع حجم خرید و فروش پنج سطح اول به ترتیب ۲۵۰۰ و ۷۵۰۰ باشد، داریم: (2500 - 7500) / (2500 + 7500) = -0.5 (نکته ی مهم این که در صورت کسر، حجم فروش از حجم خرید تفریق می شود.) ✅ همانطور که از فرمول محاسبه این کمیت مشخصه مقدار اون همیشه عددی شامل و بین منفی ۱ تا ۱ خواهد بود. این کمیت هنگام حجم تقاضای شدید (صف خرید خودمون!) برابر با ۱، هنگام حجم عرضه شدید (صف فروش خودمون!) برابر با منفی ۱ و هنگام برابری حجم عرضه و تقاضا برابر با صفر است. ✅ کاربرد این کمیت با توجه به همان اصل ساده اقتصادی عرضه و تقاضا است؛ یعنی مثلا اگر مقدار این کمیت به منفی ۱ نزدیک باشد (حجم عرضه زیاد) انتظار داریم که تو لحظه بعدی قیمت کاهش پیدا کند و برعکس. البته قطعا میدونیم که از این کمیت به تنهایی نباید انتظار معجزه داشت و معمولا ساده ترین استراتژی های درون روزی یا همون Hello world ها رو با توجه به این کمیت پیاده سازی می کنند؛ اما به طور کلی میشه گفت که از عدم توازن دفتر سفارشات به عنوان یک ویژگی مهم تو تحلیل رفتار لحظه ای دفتر ثبت سفارشات میشه استفاده کرد. 🔹 در انتها خوندن این مقاله جالب که راجع به بررسی این کمیت تو بازار رمزارزهاست رو توصیه می کنم 👇👇 https://towardsdatascience.com/price-impact-of-order-book-imbalance-in-cryptocurrency-markets-bf39695246f6 مسعو قهرمانی بیست و هفتم اردیبهشت صفر و یک @Quant_Fin

مروری بر ریزساختارهای بازار (۲): Order Book Imbalance @Quant_Fin
مروری بر ریزساختارهای بازار (۲): Order Book Imbalance @Quant_Fin

تو این کد، این احتمال در نظر گرفته شده که ممکنه عدد تصادفی صفر بشه و با خطا یا همون Exception "تقسیم بر صفر" روبرو بشیم. به ه
تو این کد، این احتمال در نظر گرفته شده که ممکنه عدد تصادفی صفر بشه و با خطا یا همون Exception "تقسیم بر صفر" روبرو بشیم. به همین خاطر با ساختار Try/Except هندل شده تا برنامه متوقف نشه و به ارور نخوره. اجرای تعاملی و آنلاین این قطعه کد 👇👇 https://www.online-python.com/C8TUBcQbxK لیست Exception های معروف پایتون و علت به وجود اومدنشون 👇👇 https://www.tutorialspoint.com/python/standard_exceptions.htm @Quant_Fin

⭕️ مدیریت خطا در پایتون ✅ وجود خطا (Error) همواره جزیی از برنامه‌نویسی است. به طور کلی خطاهای برنامه‌نویسی رو می شه به دو نوع کلی دسته بندی کرد: 1⃣ «خطاهای زمان کامپایل» (Compile-time errors) که مانع از ترجمه کدهای برنامه به زبان ماشین و در نهایت اجرای اون می شوند. این نوع خطاها از عدم رعایت درست قواعد زبان برنامه‌نویسی مانند سینتکس نشات می‌گیرند. مثلا اینکه شما تو کد پایتونت یه پرانتز اضافه یا کم بذاری؛ همون اول کار موقع اجرا SyntaxError میگیری و کدت اصلا اجرا نمیشه! 2⃣ «خطاهای زمان اجرا» (Runtime errors) که ممکنه بعد از اجرای برنامه هم خودشون رو نشون ندن و تحت حالت های خاصی پیش آمده و باعث توقف برنامه بشن. مثلا وقتی تو قسمتی از کد شما برنامه قراره از یک سرور اطلاعات بگیره، اگر سرور به درخواست شما پاسخ نده یا پاسخی غیر از اون چیزی که همیشه براتون میفرستاده، بده شما با خطایی مواجه می شید که پیش بینی نشده و غالبا باعث توقف و از کارافتادن برنامه میشه (که این بده!). ✅ برای مواجهه با خطاها و همچین اینکه باعث توقف برنامه ما نشوند، باید اون هارو در کدمون طوری در نظر داشته باشیم که در صورت بوجود اومدن، نه تنها باعث اتمام برنامه نشوند بلکه برنامه بتونه در مسیر درست به اجراش ادامه بده. (بهشون هم دیگه خطا نمی گیم و Exception صداشون می کنیم.) تو پایتون برای پیش بینی و مواجهه با خطاها از ساختار Try/Exception استفاده می شه. تو این ساختار، قطعه کدی که محتمل بروز Exception می‌باشد، داخل بدنه try و قطعه کدی که می‌بایست پس از وقوع Exception به اجرا درآید (بخش handler)، داخل بدنه except قرار می‌گیره. تو عکس زیر می تونید نمونه ای از این ساختار رو ببینید. 👇👇👇 @Quant_Fin

ساختار Try/Exception در پایتون برای مواجهه با خطاها. @Quant_fin
ساختار Try/Exception در پایتون برای مواجهه با خطاها. @Quant_fin

آنچه در فینپای خواهید دید: ▫️مستند و کتب تخصصی بازارهای مالی ▫️فیلم های آموزنده از بزرگان بازارهای مالی ▫️دریافت و پردازش اطل
آنچه در فینپای خواهید دید: ▫️مستند و کتب تخصصی بازارهای مالی ▫️فیلم های آموزنده از بزرگان بازارهای مالی ▫️دریافت و پردازش اطلاعات مالی با پایتون ▫️معاملات الگوریتمی و علم داده مالی با پایتون فینپای، توسعه دهنده ماژول پایتونی finpy-tse برای دسترسی به داده های بورس تهران @FinPy

پایتون نوشتن در HTML شُدنی شد! @Quant_Fin
پایتون نوشتن در HTML شُدنی شد! @Quant_Fin

⭕️ مروری بر ریزساختارهای بازار (۱): شکاف قیمتی ✅ هنگامی قصد ایجاد استراتژی های درون روزی مانند اجرای سفارشات، بازارگردانی، نوسانگیری و ... داشته باشیم؛ کمیت هایی در سطح ریزساختار بازار و دفتر ثبت سفارش وجود دارند که شناخت و مدلسازی درست آنها به ایجاد یک استراتژی مناسب کمک می کند. شکاف قیمتی (Spread) یعنی اختلاف بین بهترین مظنه خرید (best bid price) و بهترین مظنه فروش (best ask price). ✅ به بیان ساده این کمیت نشان دهنده میزان عدم توافق خریداران و فروشندگان بر سر قیمت سهم است. بدیهی است که هرچه این عدم توافق بیشتر باشد، انتظار انجام معامله کمتر یا به عبارتی نقدینگی کمتر را برای سهم متصور هستیم. می توان گفت مقدار شکاف قیمتی در واقع نمایانگر نقدینگی یک سهم است که هرچقدر کمتر باشد انتظار داریم نرخ انجام معاملات بالاتر و هرچه بیشتر باشد انتظار داریم نرخ انجام معاملات کمتر باشد. ✅ شکاف قیمتی همچنین می تواند بیانگر هزینه معاملاتی (Transaction cost) یک سهم نیز باشد. سهامی که دارای شکاف قیمتی بالا در طول دوره معاملاتی هستند، دارای ریسک عدم اجرای بالا برای سفارشات محدود (limit order) و از طرفی نیز دارای هزینه بالا برای سفارشات بازار (market order) هستند. به همین جهت انجام معامله در سهامی که غالبا دارای شکاف قیمتی زیاد هستند با هزینه معاملاتی بالا همراه است. ✅ اگر به دفتر سفارشات سهام بزرگ بورس تهران که دارای ارزش معاملات روزانه بالایی هستند دقت کنید، معمولا در طول روز دارای شکاف قیمتی باریکی هستند. منظور از باریکی، مثلا فاصله یک تیک سایز یا حداکثر دو تا سه تیک سایز بین بهترین مظنه خرید و فروش است که باعث می شود معامله گران با سرعت بالایی بتوانند معامله انجام دهند. (تیک ساز (Tick size) حداقل میزان مجاز برای تغییر قیمت سفارش است. مثلا در بورس تهران تیک سایز سهام ۱ یا ۱۰ یا نهایتا ۵۰ ریال است.) مسعود قهرمانی نهم اردیبهشت صفر و یک @Quant_Fin