Intrinsic value is a fundamental concept in finance and investing that represents the true worth or value of an asset, security, or investment, independent of its current market price or prevailing market sentiment. It is a concept often associated with the value investing philosophy, made famous by legendary investors like Benjamin Graham and Warren Buffett. Understanding intrinsic value is crucial for investors looking to make informed decisions about where to allocate their capital.

This functionality uses DCF, or Discounted Cash Flow which is a widely used financial valuation method that allows investors and analysts to estimate the intrinsic value of an investment or business based on its expected future cash flows. It is a fundamental tool in finance and investment analysis, providing a systematic way to assess the present value of future cash flows while considering the time value of money.

The formula is as follows:

\[\text{Cash Flow Projection}_{t} = \text{Cash Flow}_{t-1} \cdot (1 + \text{Growth Rate})\] \[\text{Terminal Value} = \text{Last Cash Flow Projection} \cdot (1 + \text{Perpetual Growth Rate}) / (\text{Weighted Average Cost of Capital} - \text{Perpetual Growth Rate})\] \[\text{Enterprise Value} = \text{Sum of Present Value of Cash Flow Projections} + \text{Terminal Value}\] \[\text{Equity Value} = \text{Enterprise Value} - \text{Total Debt} + \text{Cash and Cash Equivalents}\] \[\text{Intrinsic Value} = \text{Equity Value} / \text{Total Shares Outstanding}\]

Also known as: DCF, discounted cash flow, fair value, intrinsic value.

No programming experience? With the Finance Toolkit MCP server, AI assistants such as Claude and ChatGPT can calculate the Intrinsic Valuation for you. Just ask in plain English.

Calculate the Intrinsic Valuation in Python

The Intrinsic Valuation is available in the Models module of the open-source Finance Toolkit. Install it with:

pip install financetoolkit -U

Then call get_intrinsic_valuation as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")

toolkit.models.get_intrinsic_valuation(0.05, 0.025, 0.094).loc["AAPL"]

Which returns:

  Periods = 5
Terminal Value 1.87255e+12
Cash Flow Projection 1.9986e+12
Enterprise Value 1.58232e+12
Equity Value 1.50588e+12
Intrinsic Value 100.36

Parameters

get_intrinsic_valuation accepts the following parameters:

  • growth_rate (float, list or dict): The growth rate to use for the cash flow projections. Can be one number to use for all tickers, or a list or dict that contains a growth rate for each ticker.
  • perpetual_growth_rate (float, list or dict): The perpetual growth rate to use for the terminal value. Can be one number to use for all tickers, or a list or dict that contains a perpetual growth rate for each ticker.
  • weighted_average_cost_of_capital (float, list or dict): The weighted average cost of capital to use for the terminal value. Can be one number to use for all tickers, or a list or dict that contains a weighted average cost of capital for each ticker.
  • periods (int, optional): The number of periods to use for the cash flow projections. Defaults to 5.
  • cash_flow_type (str, optional): The type of cash flow to use for the cash flow projections. Defaults to “Free Cash Flow”. Other options are “Operating Cash Flow”, “Change in Working Capital”, and “Capital Expenditure”.
  • trailing (int | None, optional): The number of trailing periods to sum for the base cash flow. When set, uses the sum of the last N periods instead of only the most recent period. Defaults to None.
  • rounding (int, optional): The number of decimals to round the results to. Defaults to 4.

The Models module page introduces the module, and the sidebar lists all of its functions.

Share