/Stock_Valuation_Bot

This helps to calculate fair value of a stock based on Discounted Cash flow analysis by accessing their financial statements stored as a .txt file

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Stock_Valuation_Bot

This project is developed to create an efficient and conservative "Stock Valuation Bot" which uses the financial data in the form of .txt (typically copy pasted from yahoo finance) to derive a fair value of the stock.

In this example Apple(AAPL) stock is valuated

Further Optimisation in collecting financial data are tried to be accessed using yfinancial module

Base.py

Base.py is the base class which reads the financial statements as .txt files and formats the data to create a data frame which can be used for further analysis

Base.Py class has a method "variablefunction" where the variables are assigned with financial data. New variables must be defined here to use them later in the code

LiquidityRatio.py

This Subclass helps to calculate the Liquidity ratios such as

  • Current Ratio
  • Cash Ratio
  • Operating Cashflow Ratio, with the data which are now available as a dataframe from Base class method 'listformatter' LiquidityRatio Graph

SolvencyRatio.py

This Subclass helps to calculate the Solvency ratios such as

  • Debt to Equity Ratio
  • Interest Coverage Ratio SolvencyRatio Graph

ProfitabilityRatio.py

This Subclass helps to calculate the Profitability ratios such as

  • Return on Assets (ROA)
  • Return on Equity (ROE)
  • EBITDA Margin
  • Net profit Margin
  • Operating Income Margin ProfitabilityRatio Graph

DCF.py

This Subclass performs Discounted Cashflow valuation analysis by accessing the yahoo finance stock related data using yfinance module. To Valuate a different stock the Variable "self.stock_ticker" must be adjusted.

Result.py

Result.py is a class to write the valuations into a pdf file

Plotter.py

A Class which is to plot the results from calculations and the data

logfile.log

Log file