def earnings_before_interest_and_taxes( stock: str, date: datetime = datetime.now(), lookback_period: timedelta = timedelta(days=0), period: str = ''): return earnings_before_taxes(stock=stock, date=date, lookback_period=lookback_period, period=period) \ + fi.income_tax_expense(stock=stock, date=date, lookback_period=lookback_period, period=period)
def earnings_before_taxes(stock: str, date: datetime = datetime.now(), lookback_period: timedelta = timedelta(days=0), period: str = ''): directly_from_statement = fi.read_financial_statement_entry(financial_statement='Income Statement', stock=stock, entry_name=[ 'Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest', ' '], date=date, lookback_period=lookback_period, period=period) if not np.isnan(directly_from_statement): return directly_from_statement else: return fi.net_income(stock=stock, date=date, lookback_period=lookback_period, period=period) \ + fi.income_tax_expense(stock=stock, date=date, lookback_period=lookback_period, period=period)
def cost_of_debt(stock, date=datetime.now(), lookback_period=timedelta(days=0), period: str = 'FY'): interest_rate = fi.interest_expense( stock=stock, date=date, lookback_period=lookback_period, period=period ) / fi.total_long_term_debt( stock=stock, date=date, lookback_period=lookback_period, period=period) tax_rate = fi.income_tax_expense( stock=stock, date=date, lookback_period=lookback_period, period=period ) / me.earnings_before_taxes( stock=stock, date=date, lookback_period=lookback_period, period=period) return abs(interest_rate * (1 - tax_rate))
def effective_tax_rate(stock: str, date: datetime = datetime.now(), lookback_period: timedelta = timedelta(days=0), period: str = ''): return fi.income_tax_expense(stock=stock, date=date, lookback_period=lookback_period, period=period) \ / earnings_before_taxes(stock=stock, date=date, lookback_period=lookback_period, period=period)