38835-vm/02_ratios_and_models.py

78 lines
2.4 KiB
Python

"""
=== FinanceToolkit - Lesson 2: Financial Ratios & Models ===
This script shows you how to:
1. Calculate profitability, liquidity, and valuation ratios
2. Run financial models (DuPont Analysis, WACC, etc.)
Run this file: python 02_ratios_and_models.py
"""
from financetoolkit import Toolkit
API_KEY = "wybWEsp1oB9abHfz3yPpQYwffxaN21B7"
companies = Toolkit(
tickers=["AAPL", "MSFT", "GOOGL"],
api_key=API_KEY,
start_date="2020-01-01",
)
# ── 1. Profitability Ratios ──────────────────────────────────────────
print("=" * 60)
print("PROFITABILITY RATIOS")
print("=" * 60)
profitability = companies.ratios.collect_profitability_ratios()
print(profitability)
print()
# ── 2. Liquidity Ratios ──────────────────────────────────────────────
print("=" * 60)
print("LIQUIDITY RATIOS")
print("=" * 60)
liquidity = companies.ratios.collect_liquidity_ratios()
print(liquidity)
print()
# ── 3. Valuation Ratios ──────────────────────────────────────────────
print("=" * 60)
print("VALUATION RATIOS (e.g. P/E, P/B, EV/EBITDA)")
print("=" * 60)
valuation = companies.ratios.collect_valuation_ratios()
print(valuation)
print()
# ── 4. Individual Ratio ──────────────────────────────────────────────
# Use get_ functions for a single ratio
print("=" * 60)
print("RETURN ON EQUITY (single ratio)")
print("=" * 60)
roe = companies.ratios.get_return_on_equity()
print(roe)
print()
# ── 5. DuPont Analysis ───────────────────────────────────────────────
print("=" * 60)
print("EXTENDED DUPONT ANALYSIS")
print("=" * 60)
dupont = companies.models.get_extended_dupont_analysis()
print(dupont)
print()
# ── 6. Weighted Average Cost of Capital (WACC) ───────────────────────
print("=" * 60)
print("WEIGHTED AVERAGE COST OF CAPITAL (WACC)")
print("=" * 60)
wacc = companies.models.get_weighted_average_cost_of_capital()
print(wacc)
print()
print("[DONE] You now know how to compute 50+ financial ratios")
print(" and run valuation models on any public company.")