Skip to content

05kashyap/mcfinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcfinance

Developed by 05kashyap and ragha1992

PyPI stats:

Downloads Downloads

Description:

Extract financial data from the money control website using the company name, BSE or NSE number. Export any selected data into either pandas dataframe or excel sheet with ease!

.

Disclaimer: We are in no way affiliated with moneycontrol.com

Usage:

pip install mcfinance

Initialise company details:

Create an Extractor instance with company name/ BSE/ NSE ID (required) and/or number of years(default), required documents(default), and filepath to write documents(default current directory).

from mcfinance import Extractor
Company = Extractor(user_input= "Company_name")
#years and docs are default
Company = Extractor(user_input= "Company_name",years = 10, docs = ["balance sheet", "profit loss"], filepath = "/files")

any of the inputs can be changed later on as per user convenience

Company.set_inputs(years = 6)

Export company details as excel file (default)

The get_info() function can be used to extract and store company data in an excel file. The file will be stored in the current filepath or the user defined filepath as per object initialisation

Company.get_info()

or

Company.get_info(option = 1)

Export company details into pandas data frame

DataFrame1, DataFrame2, DataFrame3 = Company.get_info(option = 0)

Plot certain attribute over selected years using matplotlib

The plotter() function can be used to show the companies attribute from a certain document over the selected period of time using a line graph from the matplotlib library. The function accepts a single required arguement for the attribute selection.

company.plotter("certain file attribute of the document")

Usage example:

cmp = Extractor("TCS", years = 10, docs = ["ratios"])
cmp.plotter("EV/EBITDA (X)")

output:

image

We can also plot the data of multiple companies on the same graph for comparison purposes

company1 = Extractor("TCS", years = 10, docs = ["ratios"])
company2 = Extractor("Infosys", years = 10, docs = ["ratios"])
Extractor.cmp_plot(comp = [company1, company2], attributes = "EV/EBITDA (X)")

output:

image