DataDownloader for Tehran stock market
Project description
Tehran Stock Market
A python package that helps to access TCCIM stock price history, Using OOP Interface
Features
- Download All stocks prices
- Download prices from a group (i.e ETFs or cars, etc.)
- Download Price history of one specific Stock
- After first setup available offline.
- CommandLine Interface
- Export data to csv, excel or Stata(dta)
- Compatible with
sqlalchemy
- Compatible with
PANDAS
- Based on light
sqlite
0 - Install
pip install tehran_stocks
1- Initialization
For first use you need initialize the database
1-1 Command line
ts-get init # Set up to sqlite database
1-2 Python
import tehran_stocks
# On first import package initialize itself
During initialization you will prompt for downloading all prices. if you answer yes it will download all prices, otherwise you can download data
2- Download and Update prices
2-1 Command line
ts-get update # update all price , or download all if no price exist
ts-get group 34 ## 34 is the code for car's group.
ts-get get_groups ## get group name and group codes
2-2 Python
from tehran_stocks import get_all_price, Stocks, update_group
get_all_price() # download and(or) update all prices
update_group(34) #download and(or) update Stocks in groupCode = 34 (Cars)
Stocks.get_group() # to see list of group codes
3- Access Data
To access data you can use Stocks
which is an customized sqlalchemy
object, which helps you to find prices on an easy way.
3-1 Search Stocks
from tehran_stocks import Stocks, db
# You can use query to find stocks
stock = Stocks.query.filter_by(name='كگل').first() #find by symbol(نماد)
stock = Stocks.query.filter_by(code='35700344742885862').first() # find by code on tsetmc url
stock = Stocks.query.filter(Stocks.title.like('%گل گهر%')).first() # Search by title
stock_list = Stocks.query.filter_by(group_code =34).all() # find all Stocks in Khodro
stock_list = Stocks.query.filter(Stocks.group_code.in_([13,34])).all() # all stocks in khodro and felezat
## (Advanced)or run sql query using orm or raw sql
db.session.query(Stocks.group_code, Stocks.group_name).group_by(Stocks.group_code).all()
db.session.execute('select group_code , group_name from stocks group by group_name').fetchall()
Now easily access stock price and do whatever you want with pandas
dataframes:
# use data as a pandas dataframe
>>> stock.df #
id code ticker dtyyyymmdd first high low close value vol openint per open last date
0 22491 35700344742885862 Gol-E-Gohar. 20040829 12000.0 12021.0 12000.0 12000.0 18841605000 1570000 2708 D 12000.0 12000.0 2004-08-29
>>> stock.summary()
Start date: 20040829
End date: 20190714
Total days: 2987
>>> stock.update()
# update stock price history
# Export to your preferred format
>>> stock.df.to_csv('price.csv')
>>> stock.df.to_excel('price.xlsx')
>>> stock.df.to_stata('price.dta')
Todo
- Create Database
- Download Data
- CommandLine Support
- Jalali Support
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tehran-stocks-0.5.4.tar.gz
(4.0 kB
view details)
Built Distribution
File details
Details for the file tehran-stocks-0.5.4.tar.gz
.
File metadata
- Download URL: tehran-stocks-0.5.4.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bc32e7b87896cffd9cb8fbd324e5b3b5f93ce7f130076b45e9e3c1e3caa5605 |
|
MD5 | 6530b2f0699940dc77afe6dd813ee2ca |
|
BLAKE2b-256 | 17869a706c96599a8627dd6a0fb87932a615b83020caf42543a91c05f939fe85 |
File details
Details for the file tehran_stocks-0.5.4-py3-none-any.whl
.
File metadata
- Download URL: tehran_stocks-0.5.4-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e873dc7bc086f9f417109d8dd098ca6149571e769003f3b68501e844167f7fad |
|
MD5 | dc2b6073a71c1f2de39d4465b1ff16cf |
|
BLAKE2b-256 | bcad906f6a1730d2f6874decdd988defcf60f49faddf0067e19a0d77241f4eeb |