.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/asset_pricing/valuation/plot_02_modigliani_miller.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code or to run this example in your browser via JupyterLite. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_asset_pricing_valuation_plot_02_modigliani_miller.py: Modigliani-Miller ================= Franco Modigliani and Merton Miller (1958) showed that, without taxes or frictions, a firm's value does not depend on how it is financed (Proposition I). Debt is cheaper than equity, but borrowing makes the remaining equity riskier, and its required return rises exactly enough to keep the weighted average cost of capital constant (Proposition II): .. math:: r_E = r_A + (r_A - r_D)\,\frac{D}{E}. In 1963 they added corporate tax: interest is deductible, so each unit of permanent debt adds a tax shield worth :math:`t D`. .. GENERATED FROM PYTHON SOURCE LINES 20-40 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from financialkit.asset_pricing import levered_cost_of_equity, levered_firm_value, wacc rA, rD = 0.10, 0.05 L = np.linspace(0.0, 0.8, 100) # debt / value de = L / (1 - L) fig, axes = plt.subplots(1, 2, figsize=(10, 4)) for t, ls in [(0.0, "-"), (0.3, "--")]: rE = levered_cost_of_equity(rA, rD, de, t) axes[0].plot(L, rE, "C3", ls=ls, label=f"r_E, t = {t:.0%}") axes[0].plot(L, wacc(rE, rD, L, t), "C0", ls=ls, label=f"WACC, t = {t:.0%}") axes[0].axhline(rD, color="0.5", lw=1, label="r_D") axes[0].set_xlabel("D / V") axes[0].set_ylabel("required return") axes[0].set_title("Proposition II") axes[0].legend(fontsize=8) .. image-sg:: /api/gallery/asset_pricing/valuation/images/sphx_glr_plot_02_modigliani_miller_001.png :alt: Proposition II :srcset: /api/gallery/asset_pricing/valuation/images/sphx_glr_plot_02_modigliani_miller_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 41-43 Proposition I ------------- .. GENERATED FROM PYTHON SOURCE LINES 43-55 .. code-block:: Python VU = 100.0 D = np.linspace(0, 80, 50) for t in (0.0, 0.2, 0.35): axes[1].plot(D, levered_firm_value(VU, D, t), label=f"t = {t:.0%}") axes[1].set_xlabel("debt D") axes[1].set_ylabel("firm value V_L") axes[1].set_title("Proposition I: V_L = V_U + t D") axes[1].legend() fig.tight_layout() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.053 seconds) .. _sphx_glr_download_api_gallery_asset_pricing_valuation_plot_02_modigliani_miller.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../../../lite/lab/index.html?path=api/gallery/asset_pricing/valuation/plot_02_modigliani_miller.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_02_modigliani_miller.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_02_modigliani_miller.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_02_modigliani_miller.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_