All Projects → Glyphack → Pytse Client

Glyphack / Pytse Client

Licence: gpl-3.0
work with Tehran stock exchange data in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pytse Client

Ta Rs
Technical analysis library for Rust language
Stars: ✭ 248 (+90.77%)
Mutual labels:  stock-market, stocks, market-data
Iex Api
The IEX API provides any individual or academic, public or private institution looking to develop applications that require stock market data to access near real-time quote and trade data for all stocks trading on IEX.
Stars: ✭ 683 (+425.38%)
Mutual labels:  stock-market, stocks, market-data
Sec Edgar Downloader
Download SEC filings from the EDGAR database using Python
Stars: ✭ 146 (+12.31%)
Mutual labels:  stock-market, stocks, financial-data
Simplestockanalysispython
Stock Analysis Tutorial in Python
Stars: ✭ 126 (-3.08%)
Mutual labels:  stock-market, stocks, financial-data
yliveticker
Get market data from Yahoo Finance websocket in near-real time.
Stars: ✭ 90 (-30.77%)
Mutual labels:  stock-market, market-data, financial-data
short-fork
Stock market helper: financial data, multipliers (PE, PS, PEG etc), insider selling, debt and short volume charts from various sources. All in one place!
Stars: ✭ 41 (-68.46%)
Mutual labels:  stock-market, stocks, financial-data
intrinio-realtime-java-sdk
Intrinio Java SDK for Real-Time Stock Prices
Stars: ✭ 22 (-83.08%)
Mutual labels:  stock-market, market-data, stocks
Algobot
A C++ stock market algorithmic trading bot
Stars: ✭ 78 (-40%)
Mutual labels:  stock-market, stocks, financial-data
dados-financeiros
Repositório de Fontes de Dados Financeiros do Brasil
Stars: ✭ 119 (-8.46%)
Mutual labels:  stock-market, market-data, financial-data
intrinio-realtime-python-sdk
Intrinio Python SDK for Real-Time Stock Prices
Stars: ✭ 79 (-39.23%)
Mutual labels:  stock-market, market-data, stocks
robinhood.tools
📈🤑💰 Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-79.23%)
Mutual labels:  stock-market, market-data, stocks
Sumzerotrading
A Java API for Developing Automated Trading Applications for the Equity, Futures, and Currency Markets
Stars: ✭ 128 (-1.54%)
Mutual labels:  stock-market, stocks, market-data
Robinhood
Unofficial Documentation of Robinhood Trade's Private API
Stars: ✭ 1,569 (+1106.92%)
Mutual labels:  stock-market, stocks
Ticker
Terminal stock ticker with live updates and position tracking
Stars: ✭ 3,986 (+2966.15%)
Mutual labels:  stock-market, stocks
Mop
Stock market tracker for hackers.
Stars: ✭ 1,534 (+1080%)
Mutual labels:  stock-market, stocks
Pyex
Python interface to IEX and IEX cloud APIs
Stars: ✭ 311 (+139.23%)
Mutual labels:  stock-market, stocks
Finance Go
📊 Financial markets data library implemented in go.
Stars: ✭ 392 (+201.54%)
Mutual labels:  stock-market, financial-data
Stonks
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.
Stars: ✭ 405 (+211.54%)
Mutual labels:  stock-market, stocks
Yahooquery
Python wrapper for an unofficial Yahoo Finance API
Stars: ✭ 288 (+121.54%)
Mutual labels:  stock-market, market-data
Ystockquote
Fetch stock quote data from Yahoo Finance
Stars: ✭ 502 (+286.15%)
Mutual labels:  stock-market, market-data

دریافت اطلاعات بازار بورس تهران

Python application Language grade: Python Discord Chat

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

محتویات

قابلیت ها

  • دریافت اطلاعات روز های معاملاتی هر سهم و قابلیت ذخیره سازی
  • قابلیت گرفتن اطلاعات یک سهام مانند گروه سهام و اطلاعات معاملات حقیقی و حقوقی
  • دریافت اطلاعات فاندامنتال یک نماد شامل(eps, p/e ,حجم مبنا)

نصب

pip install pytse-client

نحوه استفاده

دانلود سابقه سهم‌ها

با استفاده از این تابع میتوان سابقه سهام هارو دریافت کرد و هم اون رو ذخیره و هم توی کد استفاده کرد

import pytse_client as tse
tickers = tse.download(symbols="all", write_to_csv=True)
tickers["ولملت"] # history

            date     open     high  ...     volume  count    close
0     2009-02-18   1050.0   1050.0  ...  330851245    800   1050.0
1     2009-02-21   1051.0   1076.0  ...  335334212   6457   1057.0
2     2009-02-22   1065.0   1074.0  ...    8435464    603   1055.0
3     2009-02-23   1066.0   1067.0  ...    8570222    937   1060.0
4     2009-02-25   1061.0   1064.0  ...    7434309    616   1060.0
...          ...      ...      ...  ...        ...    ...      ...
2323  2020-04-14   9322.0   9551.0  ...  105551315  13536   9400.0
2324  2020-04-15   9410.0   9815.0  ...  201457026  11322   9815.0
2325  2020-04-18  10283.0  10283.0  ...  142377245   8929  10283.0
2326  2020-04-19  10797.0  10797.0  ...  292985635  22208  10380.0
2327  2020-04-20  10600.0  11268.0  ...  295590437  16313  11268.0

برای دانلود سابقه یک یا چند سهم کافی هست اسم اون ها به تابع داده بشه:

همچنین با گذاشتن write_to_csv=True سابقه سهم توی فایلی با اسم سهم نوشته میشه

سابقه سهم در قالب Dataframe است

درصورتی که می خواهید تاریخ شمسی به خروجی اضافه شود می توانید با گذاشتن include_jdate=True این امکان را فراهم کنید

import pytse_client as tse
tse.download(symbols="وبملت", write_to_csv=True)
tse.download(symbols="وبملت", write_to_csv=True, include_jdate=True)
tse.download(symbols=["وبملت", "ولملت"], write_to_csv=True)

دانلود سابقه معاملات حقیقی و حقوقی به صورت مجزا

برای دانلود سابقه معاملات حقیقی و حقوقی برای تمامی نمادها میتوان از تابع زیر استفاده کرد

from pytse_client import download_client_types_records

if __name__ == '__main__':

  records_dict = download_client_types_records("all")
  print(records_dict["فولاد"])
  #Output
date         individual_buy_count  ... individual_ownership_change

2020-09-01                36298  ...                   -691857.0
2020-08-31                58185  ...                  83789408.0
2020-08-26                  461  ...                  21647730.0
2020-08-25                 1248  ...                  14716846.0
2020-08-24                38291  ...                -238454702.0
...                         ...  ...                         ...
2008-12-02                    7  ...                    -10000.0
2008-12-01                    8  ...                         0.0
2008-11-30                   10  ...                    -12781.0
2008-11-29                  116  ...                   4596856.0
2008-11-26                   14  ...                    -20000.0

[2518 rows x 17 columns]

مشابه تابع قبلی میتوان نتایج را ذخیره کرد

from pytse_client import download_client_types_records
if __name__ == '__main__':

  #Records are saved as a .csv file with the same name of ticer's
  records = download_client_types_records("فولاد", write_to_csv=True)

ماژول Ticker

این ماژول برای کار با دیتای یک سهم خاص هست و با گرفتن نماد اطلاعات موجود رو میده

برای مثال:

import pytse_client as tse

tse.download(symbols="وبملت", write_to_csv=True)  # optional
ticker = tse.Ticker("وبملت")
print(ticker.history)  # سابقه قیمت سهم
print(ticker.client_types)  # حقیقی حقوقی
print(ticker.title)  # نام شرکت
بانك ملت (وبملت)
print(ticker.url)  # آدرس صفحه سهم
http://tsetmc.com/Loader.aspx?ParTree=151311&i=778253364357513
print(ticker.group_name)  # نام گروه
بانكها و موسسات اعتباري
print(ticker.eps)  # eps
2725.0
print(ticker.p_e_ratio)  # P/E
6.1478899082568805
print(ticker.group_p_e_ratio)  # group P/E
18.0
print(ticker.base_volume)  # حجم مبنا
7322431.0
print(ticker.last_price)  # آخرین معامله
17316
print(ticker.adj_close)  # قیمت پایانی
16753
print(ticker.best_supply_price)  # قیمت بهترین تقاضا
26700
print(ticker.best_supply_vol)  # حجم بهترین تقاضا
357062
print(ticker.best_demand_price)  # قیمت بهترین عرضه
26700
print(ticker.best_demand_vol)  # حجم بهترین عرضه
576608
print(ticker.shareholders)  # اطلاعات سهام داران عمده

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

۱نکته

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

نکته۲

بعضی از ویژگی‌ها برای همه‌ی سهم ها در دسترس نیست. برای مثال بعضی از سهم ها دارای آخرین قیمت یا پی به ای یا ای پی اس نیستند. مقدار این ویژگی‌ها در صورت نبودن برابر با None خواهد بود. پس باید در برنامه خود اینکه این مقادیر وجود دارند را بررسی کنید.

اطلاعات حقیقی و حقوقی

اطلاعات خرید و فروش حقیقی و حقوقی سهام رو میشه از طریق ticker.client_types گرفت این اطلاعات یه DataFrame شامل اطلاعات موجود در تب حقیقی حقوقی(تب بنفشی که در این صفحه هست) سهم هست:

date : تاریخ
individual_buy_count : تعداد معاملات خرید حقیقی
corporate_buy_count : تعداد معلاملات خرید حقوقی
individual_sell_count : تعداد معاملات فروش حقیقی
corporate_sell_count : تعداد معلاملات فروش حقوقی
individual_buy_vol : حجم خرید حقیقی
corporate_buy_vol : حجم خرید حقوقی
individual_sell_vol : حجم فروش حقیقی
corporate_sell_value : حجم فروش حقوقی
individual_buy_mean_price : قیمت میانگین خرید حقیقی
individual_sell_mean_price : قیمت میانگین فروش حقیقی
corporate_buy_mean_price : قیمت میانگین خرید حقوقی
corporate_sell_mean_price : قیمت میانگین فروش حقوقی
individual_ownership_change : تغییر مالکیت حقوقی به حقیقی

سهامداران عمده

سهام داران عمده اطلاعات داخل این صفحه هست. این اطلاعات رو میشه با shareholders گرفت که یک DataFrame هست.

ticker = Ticker("وبملت")
print(ticker.shareholders) # اطلاعات سهام داران عمده

 change   percentage       share                                 shareholder  
0   دولت جمهوري اسلامي ايران                    23,114,768,760  11.160     0     
1   صندوق تامين آتيه كاركنان بانك ملت           13,353,035,330  6.440      0      
2   صندوق سرمايه گذاري واسطه گري مالي يكم       11,748,764,647  5.670      0      
3   شركت پتروشيمي فن آوران-سهامي عام-           9,253,327,080   4.460      0      
4   شركت گروه مالي ملت-سهام عام-                8,933,698,834   4.310      0      
5   صندوق سرمايه گذاري.ا.بازارگرداني ملت     8,395,500,914   4.050      0   
6   شركت سرمايه گذاري صباتامين-سهامي عام-       7,659,597,269   3.690      0      
7   شركت تعاوني معين آتيه خواهان                4,561,801,327   2.200      0      
8   شركت س اتهران س.خ-م ك م ف ع-                4,278,903,677   2.060      0      
9   شركت گروه توسعه مالي مهرآيندگان-سهامي عام-  4,161,561,525   2.000      0      
10  شركت س اخراسان رضوي س.خ-م ك م ف ع-          3,442,236,423   1.660      0      
11  شركت س افارس س.خ-م ك م ف ع-                 2,593,956,288   1.250      0      
12  شركت س اخوزستان س.خ-م ك م ف ع-              2,526,080,803   1.220      0      
13  شركت شيرين عسل-سهامي خاص-                   2,496,936,881   1.200      0      
14  شركت سرمايه گذاري ملي ايران-سهامي عام-      2,423,674,676   1.170      0      
15  شركت س ااصفهان س.خ-م ك م ف ع-               2,274,221,331   1.090      0      
شناور سهم

برای مثال میشه با استفاده از سهامداران عمده شناور سهم رو حساب کرد:

ticker.shareholders.percentage.sum() # جمع سهام داران
53.63

100 - ticker.shareholders.percentage.sum() # شناور سهم 
46.37

کامیونیتی

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

https://discord.gg/ampPDKHpVv

پکیج های مورد نیاز:

الهام گرفته از:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].