دریافت داده های بورس تهران در پایتون — راهنمای گام به گام
پیشتر در آموزش «کار با داده های مالی در پایتون — راهنمای مقدماتی» به موضوعاتی همچون دریافت و پردازش دادههای مربوط به بورس خارج از کشور، رمزارزها و قیمت جهانی فلزات گرانبها پرداختیم. در این مطلب قصد داریم تا داده های بورس تهران را دریافت و آنها را پردازش کنیم. بدین منظور از ماژول (Module) Finpy-TSE استفاده خواهیم کرد که برای این کار توسعه داده شده است و امکانات خوبی فراهم آورده است. برای آشنایی بیشتر با این کتابخانه، میتوانید به صفحه PyPi مربوط به آن (+) مراجعه کنید.
فراخوانی کتابخانهها
برای شروع کار دریافت داده های بورس تهران در بورس، پس از نصب کتابخانه مورد نظر، وارد محیط برنامهنویسی پایتون شده و کتابخانههای مورد نیاز را فراخوانی میکنیم:
این کتابخانهها به ترتیب برای موارد زیر استفاده خواهند شد:
- محاسبات برداری
- کار با دیتافریمها
- دریافت داده از API مربوط به بورس تهران
- رسم نمودارهای تکنیکال
- محاسبه ضریب همبستگی پیرسون (Pearson Correlation Coefficient)
- رسم نمودار
حال تنظیمات نمودارها را به شکل زیر تعیین میکنیم:
دریافت فهرست تمامی سهامها
حال میتوانیم در اولین قدم، فهرست تمامی سهمها را دریافت کنیم:
ورودیهای تعریف شده برای این تابع، به ترتیب برای این موارد کاربرد دارند:
- دریافت سهام مربوط به بازار بورس
- دریافت سهام مربوط به بازار فرابورس
- دریافت سهام مربوط به بازار پایه
- اضافه کردن اطلاعات سربرگ سهام به دیتافریم خروجی
- نمایش روند دریافت داده
- ذخیره دیتافریم در فایل اکسل (Excel)
- ذخیره دیتافریم در فایل CSV
حال ۵ سطر ابتدایی دیتافریم دریافتشده را نشان میدهیم:
Market | Name | Ticker |
بورس | تولید نیروی برق آبادان | آبادا |
بورس | آسان پرداخت پرشین | آپ |
بورس | بیمه آسیا | آسیا |
بورس | کنتورسازی ایران | آکنتور |
بورس | فرآورده معدنی اپال کانی پارس | اپال |
توجه داشته باشید که میتوان با تغییر detailed_list به True میتوان فهرستی با جزئیات بیشتر دریافت کرد.
حال میتوانیم برای دریافت فهرستی از تمامی نمادها، به شکل زیر نوشت:
به این ترتیب، فهرستی به طول ۷۰۵ ایجاد میشود که شامل کل نمادهای بورس، فرابورس و بازار پایه است.
برای یادگیری برنامهنویسی با زبان پایتون، پیشنهاد میکنیم به مجموعه آموزشهای مقدماتی تا پیشرفته پایتون فرادرس مراجعه کنید که لینک آن در ادامه آورده شده است.
- برای مشاهده مجموعه آموزشهای برنامه نویسی پایتون (Python) — مقدماتی تا پیشرفته+ اینجا کلیک کنید.
دریافت تاریخچه شاخص کل
در اغلب بازارها، یک شاخص کل وجود دارد که برگرفته از کل بازار است و بر رفتار اغلب نمادها اثرگذار است. برای دریافت تاریخچه شاخص کل، میتوان به شکل زیر عمل کرد:
برای این تابع، ورودیهای تعریفشده اعمال زیر را تنظیم میکنند:
- تاریخ اولین داده
- تاریخ آخرین داده
- این ورودی در صورت True بودن، کل تاریخچه را برمیگرداند و دو ورودی قبلی را Ignore میکند.
- این ورودی در صورت True بودن، تنها مقدار تعدیل شده Close را برمیگرداند.
- اضافه کردن روز هفته به دیتافریم خروجی
- اضافه کردن تاریخ میلادی به دیتافریم خروجی
پس از اجرای کد فوق، دیتافریم به شکل زیر دریافت استفاده از داده های عمق بازار میشود:
به این ترتیب، مشاهده میکنیم که مجموعه داده به صورت تعیینشده دریافت میشود.
حال میتوانیم یک نمودار شمعی (Candle Stick Plot) برای قیمت رسم کنیم. برای این کار ابتدا Index دیتافریم را به تاریخ میلادی تغییر میدهیم:
سپس برای رسم نمودار مینویسیم:
که نمودار زیر حاصل میشود.
به این ترتیب، نمودار مورد نظر رسم میشود.
میتوان نمودار OHLC را نیز به شکل زیر رسم کرد:
که در این صورت، شکل زیر را خواهیم داشت.
به این ترتیب، نمودار OHLC نیز رسم میشود. علاوه بر این دو نمودار، نمودارهای Line و Renko و PNF نیز قابل رسم هستند.
به جز شاخص کل، میتوان از توابع زیر استفاده کرد:
- Get_EWI_History: این تابع برای دریافت تاریخچه شاخص کل هم وزن کاربرد دارد.
- Get_INDI_History: این تابع برای دریافت تاریخچه شاخص صنعت کاربرد دارد.
- Get_ACT50_History: این تابع برای دریافت تاریخچه ۵۰ شرکت فعالتر کاربرد دارد.
- Get_LCI30_History: این تابع برای دریافت تاریخچه ۳۰ شرکت بزرگ کاربرد دارد.
علاوه بر موارد گفتهشده، توابع دیگری نیز وجود دارد.
برای مقایسه، میتوان اطلاعات دو شاخص کل و شاخص کل هموزن را در DF2 و DF3 دریافت کرد:
حال میتوانیم ستون Close را در کنار هم رسم کنیم:
که شکل زیر را خواهیم داشت.
همچنین، میتوانیم همبستگی بین این دو شاخص را نیز به شکل زیر در قالب یک نمودار نشان دهیم:
که نتیجه آن، شکل زیر است.
به این ترتیب، مشاهده میکنیم که شاخص کل با شاخص کل هموزن ٪۹۸ همبستگی دارد که عدد بزرگی است. از طرفی، در بخش ابتدایی نمودار مشاهده میکنیم که این رابطه در مقدارهای کمتر از ۱۰۰٬۰۰۰ شاخص کل، ضعیفتر است.
علاوه بر قیمت، میتوان نمودار بالا را برای لگاریتم قیمت نیز رسم کرد:
که در این صورت، نمودار زیر حاصل میشود.
به این ترتیب، مشاهده میکنیم که در حالت لگاریتمی، جزئیات بهتر دیده میشوند، از طرفی نیز مقدار ضریب همبستگی پیرسون به عدد استفاده از داده های عمق بازار ٪۹۷ کاهش مییابد. با توجه به رفتار نمایی بازار، همبستگی بین لگاریتم قیمتها، قابلاستنادتر است.
همین نمودار را میتوانیم برای تغییرات لگاریتم قیمت رسم کنیم:
که در این صورت، شکل زیر را خواهیم داشت.
به این ترتیب، مشاهده میکنیم که همبستگی ٪۹۷ که برای لگاریتم قیمت مشاهده شده بود، در تغییرات استفاده از داده های عمق بازار استفاده از داده های عمق بازار لگاریتم قیمت به ٪۸۰ کاهش یافته است. دلیل این اتفاق در انباشت تغییرات نهفته است. اگر یک بازه ۳۰ روز را در نظر بگیریم، اگر تغییرات هر دو شاخص با یکدیگر ٪۸۰ همبستگی داشته باشند، به دلیل انباشت این تغییرات روی هم، مقدار قیمت در طول این بازه همبستگی بیشتری از خود نشان خواهد داد. به همین دلیل، معیار مهمتر و قابل اعتمادتر، همبستگی بین تغییرات لگاریتم قیمت است. میتوان تغییرات نسبی را نیز به جای این معیار استفاده کرد.
دریافت تاریخچه قیمت سهام
برای دریافت تاریخچه قیمت سهام، از تابع Get_Price_History به شکل زیر استفاده میکنیم:
در این تابع ۲ ورودی جدید وجود دارد که اولی Stock بوده و نماد مورد بررسی را نشان میدهد. دومین مورد نیز مربوط به Adjust Price است که تعیین میکند قیمتهای تعدیلشده نیز در دیتافریم نهایی افزوده شوند یا خیر.
پس از اجرا، یک دیتا فریم با ۱۸ ستون ایجاد خواهد شد. میتوانیم دیتافریم را به شکل زیر تمیز و اصلاح کنیم:
به این ترتیب، دیتافریم تمیزتر شده و به شکل زیر در میآید:
دریافت اطلاعات لحظهای بازار
علاوه بر تاریخچه شاخص و سهام، اطلاعات لحظهای نمادها نیز میتواند سودمند باشد که آنها را نیز میتوان به شکل زیر دریافت کرد:
در این دیتافریم، ستونهای متعددی از جمله قیمتها، درصد تغییرات، حد بالا و پایین قیمت مجاز روزانه، ارزش معاملات و صفها، میانگین ارزش سرانه صفها، حجم خرید حقیقی و حقوقی و… وجود دارد. برای آشنایی بیشتر با این تابع، میتوان دیتافریم حاصل را بررسی کرد و از اطلاعات موجود در آن، برای استخراج شرایط خاص استفاده کرد. یکی از کاربردهای این دیتافریم، فیلترنویسی است و به این طریق میتوان سهامی که از شرایط خاصی برخوردار هستند را شناسایی کرد.
در کتابخانه Finpy-TSE، علاوه به موارد ذکرشده، توابع و امکانات دیگری نیز برای دانلود دسته جمعی دیتا، ساخت پنل قیمت، دریافت ارزش صفها، دریافت دیتای عمق بازار، دریافت سابقه حقیقی-حقوقی وجود دارد که هرکدام بسته به نیاز میتوانند مورد استفاده قرار گیرند.
معرفی فیلم آموزش پیاده سازی اندیکاتورهای تکنیکال با پایتون Python
اندیکاتورهای مالی از ابزارهای مهم تحلیل معاملات هستند که با کمک زبانهای برنامهنویسی میتوان محاسبات مربوط به آنها را انجام داد. در آموزش پیاده سازی اندیکاتورهای تکنیکال با پایتون Python که در ۲ ساعت و ۱۶ دقیقه تهیه و تدوین شده است، ضمن آشنایی کوتاه با ۱۰ اندیکاتور پرکاربرد، پیادهسازی گام به گام آنها در محیط زبان برنامهنویسی پایتون (Python) ارائه شده است.
- برای مشاهده آموزش پیاده سازی اندیکاتورهای تکنیکال با پایتون Python+ اینجا کلیک کنید.
جمعبندی دریافت داده های بورس تهران
در این مطلب، دریافت داده های بورس تهران در بورس و پردازش آنها را بررسی و برخی از امکانات کتابخانه Finpy-TSE را معرفی کردیم. برای مطالعه بیشتر این کتابخانه میتوانید Documentation آن را مطالعه کنید.
اگر این مطلب برای شما مفید بوده است، آموزشها و مطالب زیر نیز به شما پیشنهاد میشوند:
نقش عوامل ریسکی اخلال (نویز) و عمق بازار در تبیین بازده آتی سهام
هدف این تحقیق بررسی نقش عوامل ریسکی اخلال (نویز) و عمق بازار در تبیین بازده آتی سهام در شرکتهای پذیرفتهشده در بورس اوراق بهادار تهران است. قلمرو مکانی، شرکتهای پذیرفتهشده در بورس اوراق بهادار و قلمرو زمانی، بین 1392 تا 1396 میباشد. عوامل ریسکی اخلال و عمق بازار متغیرهای مستقل و بازده آتی سهام متغیر وابسته در نظر گرفته شد. تحقیق حاضر توصیفی (همبستگی) و از نوع کاربردی میباشد. جمعآوری دادهها، از روش کتابخانهای و با مراجعه به صورتهای مالی، یادداشتهای توضیحی و ماهنامه بورس اوراق بهادار شرکتهای نمونه انجام پذیرفت. تحلیل دادههای توصیفی و استفاده از داده های عمق بازار استنباطی (آزمونهای ناهمسانی واریانس، F لیمر، هاسمن و جارک – برا و آزمون رگرسیون چند متغیره) با استفاده از نرمافزار ایویوز انجام شد. نتایج نشان داد تغییرات عامل ریسکی اخلال بهصورت یک صرف ریسک خود را در بازده آتی و عاملهای ریسکی تغییرات عمق بازار مشتمل بر میانگین تغییرات موزون حجم سفارشات و تغییرات توازن بین سفارشات خرید و فروش بهصورت یک صرف ریسک خود را در بازده آتی نشان میدهد. نتایج بهدستآمده در این پژوهش با تئوری بازار دارای اخلال مطابقت دارد.
کلیدواژهها
20.1001.1.22519165.1399.11.43.13.6
عنوان مقاله [English]
The Role of Noisy Risk Factors and Market Depth in Explaining Future Stock Returns
نویسندگان [English]
- Sepideh Arab 1
- Hassan zanjirdar 2
- Hassan Zarei 3
1 Department of Accounting, College of Managemement, Arak Branch, Islamic Azad University, Arak, Iran
2 Department of Financial Management, College of Management, Arak Branch, Islamic Azad University, Arak, Iran
3 Department of Financial Engineering, College of Managemement, Arak Branch, Islamic Azad University, Arak, Iran
چکیده [English]
The purpose of this study is to investigate the role of noise risk factors and market depth in explaining future stock returns in listed companies in Tehran Stock Exchange. The locative domain, the companies listed in the Stock Exchange and the time period, is between 2013 and 2017. noisy risk factors and the depth of the market are independent variables and future stock return is dependent variable. The research is descriptive (correlation) and applied. Data collection was done by library method and by referring to financial statements, explanatory notes and stock exchange monthly of sample companies. Descriptive and inferential data analysis (pre-test variance analysis, F Limer, Hassman & Jark-Bra test and multivariate regression test) were performed using Eviews software. The results showed that the changes of noisy risk factor indicate itself as a risk premium in future returns and risky factors of market depth changes, including the average variation in the volume of orders and the balancing changes between sales orders indicate itself as a risk premium in the future returns. The results obtained in this استفاده از داده های عمق بازار study are consistent with the Market theory of Noise.
عمق بازار به چه معنا است؟
عمق بازار نشان دهنده میزان خریداران و فروشندگان در یک بازار می باشد. اگر میزان خریدار و فروشنده همواره در حدی باشد که بدون صف خرید و فروش ، هر موقع شما مایل بودید بتوانید سهامی را بخرید یا بفروشید، اصلاحا می گوییم عمق بازار زیاد هست. پس عملا بازارهای عمیق دارای قابلیت نقد شوندگی بالایی هستند و سرعت انجام معاملات در آنها بالا می باشد.
جهت اضافه کردن به علاقه مندی لطفا وارد و یا عضو شوید.
مطالب پیشنهادی
اعتبار یا اهرم معاملاتی (Leverage) چیست؟
تحلیل تکنیکال چیست؟
سهام شناور به چه معنا است؟
P/E چیست و 3 استفاده ای که از آن می شود
حد ضرر یا سود در بازار بورس به چه معنا است؟
بازار بورس به چه معنا است؟
EPS چیست؟ DPS چیست و چه فرقی با هم دارند؟
انواع بازار بورس کدام اند؟
نمادها در بورس چه چیزی را نشان می دهند؟
مفهوم ریسک در بازار بورس چیست؟
معاملات بورس چقدر کارمزد دارد؟
قیمت سر به سر یا قیمت تمام شده هر سهم خود را چگونه محاسبه کنید؟
انجمن خبرگان بورس تهران
برای کسب حداکثر سود در بازار بورس تهران به چه چیزهایی نیاز داریم؟ شما برای موفقیت در این بازار چقدر آماده و مسلط هستید؟
در انجمن خبرگان بورس تهران ما پرتفوی از سهام ها به همراه زمان خرید و فروش را به شما خواهیم داد و همچنین اخبار مهم پیش روی بازار سرمایه توسط اساتید بررسی و سهامهای روبه رشد آینده مورد تحلیل قرار می گیرد. در آخر تمام تحلیل های و اشکالات شما توسط اساتید برطرف شده یا در تالار گفتگو پاسخ داده می شود.
با تلبورس مثل حرفهایها
با تلبورس به عمق بازار پی ببرید و فراتر از اعداد خام به تحلیل دادههای مربوط به بازار و شبکههای اجتماعی دسترسی دارید.
شرکت ویتانا در ۹ ماهه منتهی به شهریور ۹۹ برای هر سهم ۱۱۷۴ ریال سود محقق کرد که نسبت به مدت مشابه قبل رشد ۳۱۵ درصدی داشته است. قیمت سهام این شرکت در یه ماهه گذشته رشد ۹۹ درصدی داشته است.
تحلیلهای خود را هوشمندانهتر کنید
با استفاده از تحلیل داده، هوشمصنوعی و تکنولوژیهای جدید سرعت و دقت تحلیلهای خود را بیشتر کنید.
تحلیل احساسی پیامها با هوش مصنوعی
با یک نگاه به تحلیل هزاران پیامی که در شبکههای اجتماعی در رابطه با بورس و سهام شرکتها تولید میشوند دسترسی داشته باشید.
تحلیل دادههای بازار و معاملات
تحلیل اطلاعات مربوط به نوع معاملات افراد حقیقی و حقوقی در بازار نشانگر دیدگاه آنهانسبت به آینده بازار است. با استفاده از تحلیل معاملات درک بهتری نسبت به آینده بازار داشته باشید.
اطلاعات را یکپارچه و با ظاهری زیبا ببینید
لحظه به لحظه با بازار همراه باشید و بجای بررسی منابع مختلف، اطلاعات را در داشبورد خود دنبال کنید قبل از اینکه بازار از شما جلو بیفتد و غافلگیر شوید.
نمودارها و اطلاعات حرفهای برای تابلوخوانی حرفهای
اطلاعات لحظهای بازار به شما دید مناسبی از عملکرد تمامی فعالین بازار میدهد. همچنین با استفاده از تابلوی حرفهای تحلیلی عمیق نسبت به معاملات سهامداران داشته باشید.
اطلاعات بازار در کنار اطلاعات و تحلیل شبکههای اجتماعی
دسترسی یکپارچه به ابزارهای تحلیلی و اطلاعات بازار در کنار اخبار و تحلیلهایی که در شبکههای اجتماعی تولید میشوند به شما کمک میکند که دید جامعی نسبت به بازار داشته باشید.
«نمودار عمق بازار» ابزار جدید ایزی تریدر مفید برای معاملهگران بورس
«نمودار عمق بازار» امکان جدید استفاده از داده های عمق بازار و خاص ایزی تریدر کارگزاری مفید است که تمامی مظنههای خرید و فروش سهم را در یک نمای تحلیلی برای معاملهگران به نمایش میگذارد.
طبق بخشنامه سازمان بورس و اوراق بهادار از 15 فروردین 1401 تمامی مظنههای قیمتی سهمها به نمایش درآمد. نمایش تمامی مظنهها، امکانی است که از طریق آن معاملهگران میتوانند از حجم و قیمت همه سفارشهای ثبت شده یک سهم مطلع شوند.
کارگزاری مفید از روز 15 فروردین 1401 در سامانه ایزی تریدر در کنار نمایش تمامی مظنهها که طبق بخشنامه سازمان بورس انجام شد، «نمودار عمق بازار» را نیز به عنوان یک خدمت و ابزار اختصاصی برای تحلیل سادهتر مظنهها در اختیار کاربران قرار داد.
«نمودار عمق بازار» به بیان ساده همه مظنهها و نمای کلی از تمامی سفارشات مرتبط با یک سهم را با طراحی جذابی به نمایش در میآورد که نسبت به نمایش مظنهها به صورت جدولی اطلاعات تحلیلی بیشتری را به نمایش میگذارد.
در «نمودار عمق بازار»، محور افقی نشانگر قیمت و محور عمودی نمایشگر حجم تجمعی سفارشها است. نمودار عمق بازار مزیتهایی از جمله، شناسایی حمایت و مقاومت، نقد شوندگی اوراق بهادار، عرضه و تقاضای کل، تفاوت خرید و فروش در قیمت مچینگ و… را در اختیار معاملهگران قرار میدهد.
همچنین «نمودار عمق بازار» تشخیص حمایت و مقاومت نمادها را تسهیل میکند، این نمودار امکان تشخیص سفارش ترس(فروش کاذب) و سفارش حمایت (خرید کاذب) برای معامله گران را فراهم میکند.
با استفاده از «نمودار عمق بازار» میتوان تفاوت خرید و فروش در قیمت مچینگ را مشاهده کرد و میزان نقدشوندگی، عرضه و تقاضای کل در نماد مورد نظر را بهتر تشخیص داد.
جهت کسب اطلاعات و آشنایی بیشتر با این دو خدمت جدید ميتوانید به مطلب آموزشی مرتبط از طریق این لینک مراجعه کنید.
دیدگاه شما