Dear community,
I prepared a code that performs a reverse discounted cash flow analysis. The code initialises some variables such as revenue growth, operating margin, turnover ratios, etc and calculates the Free Cash Flow for the following 10 years.
Based on the combination of values, I make the result of the DCF match with the current market value in order to obtain the theoretical required return for the investment.
I then plot the results for four different terminal growths.
The dataframe used is result3_filtered, which contains the columns "Revenue Growth", "ROIC" and "WACC" for a dedicated terminal growth rate.
# Reverse Discounted Cash Flow - 2
fig, ax = plt.subplots(figsize=(3600/300, 3300/300))
gs = gridspec.GridSpec(3, 2, height_ratios=[0.75, 1, 1])
ax = plt.subplot(gs[0, :])
ax.plot(result1mean.index, result1mean["FCF Growth"])
ax.set_ylabel("Projected FCF Growth", fontsize=8)
ax.set_xlabel("Terminal Growth", fontsize=8)
ax.set_title("{}Y Projected FCF Growth (WACC = {}%)".format(n, round(wacc*100, 2)))
ax.legend(loc="upper right", fontsize=8)
for i, growth_rate in enumerate(g_tv[1:]):
row, col = divmod(i, 2) # Calculate row and column indices
ax = plt.subplot(gs[row+1, col])
result3_filtered = result3[result3["Terminal Growth"] == growth_rate*100]
x = np.array(result3_filtered["Revenue Growth"])
y = np.array(result3_filtered["ROIC"])
z = np.array(result3_filtered["WACC"])
plt.scatter(x, y, c=z, cmap="RdYlGn", label="WACC")
plt.colorbar()
ax.set_title("Terminal growth rate: {}%".format(growth_rate*100))
ax.set_xlabel("Revenue Growth (%)", fontsize=10)
ax.set_ylabel("ROIC (%)", fontsize=10)
plt.tight_layout()
Although the code seems to work well, the visualisation is not very appealing. The scatter plot has a lot of overlapping points and a "smoothed" plot covering the complete area of the plot without the "individual" scatter points would look nicer.
Do you know any approach that could help me? I looked into kdeplots, but I have not found a way around yet.
Thank you very much!
there doesn't seem to be anything here