diff options
| author | Tyler <tyler@tylerhoang.xyz> | 2026-03-30 23:04:42 -0700 |
|---|---|---|
| committer | Tyler <tyler@tylerhoang.xyz> | 2026-03-30 23:04:42 -0700 |
| commit | bb548068b16d049c6ffaed8902e2dff89b7f89d3 (patch) | |
| tree | de148dc4a5846c6e9a51a0d02272c3e771947a3f /readme | |
| parent | c2f2e21b6145f005421624c87484e0aa8cdd9aad (diff) | |
delete readme.html
Diffstat (limited to 'readme')
| -rw-r--r-- | readme | 87 |
1 files changed, 78 insertions, 9 deletions
@@ -3,13 +3,76 @@ <head> <meta charset="UTF-8"> <style> - body { font-family: sans-serif; max-width: 800px; line-height: 1.6; } - code, pre { font-family: monospace; background: #f4f4f4; padding: 0.2em 0.4em; border-radius: 3px; } - pre { padding: 0.75em 1em; overflow-x: auto; } - pre code { background: none; padding: 0; } - table { border-collapse: collapse; width: 100%; } - th, td { border: 1px solid #ccc; padding: 0.4em 0.75em; text-align: left; } - th { background: #f0f0f0; } + * { box-sizing: border-box; margin: 0; padding: 0; } + body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + max-width: 900px; + line-height: 1.7; + color: #333; + background: #fafafa; + padding: 2rem; + margin: 0 auto; + } + h1, h2, h3, h4 { color: #0f2346; margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 700; } + h1 { font-size: 2.2em; margin-top: 0; } + h2 { font-size: 1.6em; border-bottom: 2px solid #c9a84c; padding-bottom: 0.5em; } + h3 { font-size: 1.2em; color: #1a3560; } + p { margin-bottom: 1em; } + ul, ol { margin-left: 1.5em; margin-bottom: 1em; } + li { margin-bottom: 0.5em; } + hr { border: none; border-top: 1px solid #ddd; margin: 2em 0; } + a { color: #234a8a; text-decoration: none; font-weight: 500; } + a:hover { text-decoration: underline; } + blockquote { + border-left: 4px solid #c9a84c; + padding-left: 1em; + margin-left: 0; + color: #666; + font-style: italic; + background: #f5f5f5; + padding: 0.75em 1em; + } + code { + font-family: 'Courier New', Courier, monospace; + background: #f5f5f5; + padding: 0.2em 0.4em; + border-radius: 3px; + color: #d73a49; + font-size: 0.9em; + } + pre { + background: #1e1e1e; + color: #e0e0e0; + padding: 1em; + border-radius: 5px; + overflow-x: auto; + margin-bottom: 1em; + border-left: 4px solid #c9a84c; + } + pre code { + background: none; + padding: 0; + color: #e0e0e0; + font-size: 0.95em; + } + table { + border-collapse: collapse; + width: 100%; + margin-bottom: 1.5em; + border: 1px solid #ddd; + } + th, td { + border: 1px solid #ddd; + padding: 0.75em; + text-align: left; + } + th { + background: #0f2346; + color: #fff; + font-weight: 600; + } + tr:nth-child(even) { background: #f9f9f9; } + tr:hover { background: #f0f0f0; } </style> </head> <body> @@ -21,7 +84,7 @@ <li><strong>Market Bar</strong> — Live S&P 500, NASDAQ, DOW, and VIX at the top of every page</li> <li><strong>Overview</strong> — Price chart (1M / 3M / 6M / 1Y / 5Y), key stats (market cap, P/E, 52W range, beta)</li> <li><strong>Financials</strong> — Annual and quarterly Income Statement, Balance Sheet, and Cash Flow Statement with year-over-year % change columns</li> -<li><strong>Valuation</strong> — Key ratios grid (P/E, EV/EBITDA, margins, ROE, etc.), interactive DCF model with adjustable WACC and growth rate, comparable companies table</li> +<li><strong>Valuation</strong> — Key ratios grid (P/E, EV/EBITDA, margins, ROE, etc.), DCF model with adjustable WACC/growth/years, EV/EBITDA implied price, comparable companies table, analyst price targets, and earnings history (EPS actual vs. estimate)</li> <li><strong>News</strong> — Recent articles with heuristic Bullish / Bearish / Neutral tags and a 7-day sentiment summary</li> </ul> <hr /> @@ -105,9 +168,15 @@ streamlit run app.py <td>5</td> <td>3–10</td> </tr> +<tr> +<td>FCF Growth Rate</td> +<td>Historical median</td> +<td>-20–30%</td> +</tr> </tbody> </table> -<p>The model uses the <strong>Gordon Growth Model</strong> for terminal value. It first estimates <strong>enterprise value</strong>, then bridges to <strong>equity value</strong> using debt and cash before calculating value per share. Terminal growth must remain below WACC.</p> +<p>The model uses the <strong>Gordon Growth Model</strong> for terminal value. It first estimates <strong>enterprise value</strong>, then bridges to <strong>equity value</strong> using debt and cash before calculating value per share. Terminal growth must remain below WACC. The FCF growth slider defaults to the historical median but can be freely overridden.</p> +<p>The <strong>EV/EBITDA</strong> tab derives an implied price by applying a target multiple to trailing EBITDA, subtracting net debt, and dividing by shares outstanding. The slider defaults to the company's current market multiple.</p> <hr /> <h2>API Rate Limits</h2> <table> |
