Files
finance-daily-site/index.html
T
2026-05-03 05:44:38 +00:00

1496 lines
51 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="金融日报 — 由 Claude AI + Web Search 自动生成的每日金融市场摘要">
<title>金融日报 | Financial Daily</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<style>
/* =========================================================
RESET & BASE
========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg: #070b14;
--card: #0d1526;
--card-hover: #111e35;
--border: #1a2a4a;
--border-light:#243c66;
--accent: #00d4aa;
--accent-dim: #00a884;
--up: #00e676;
--down: #ff5252;
--neutral: #4fc3f7;
--warn: #ffb300;
--text: #e2e8f0;
--muted: #8899aa;
--dimmed: #4a5568;
--mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
--sans: 'Inter', system-ui, -apple-system, sans-serif;
--radius: 8px;
--radius-lg: 12px;
--shadow: 0 4px 24px rgba(0,0,0,0.4);
}
html { font-size: 14px; scroll-behavior: smooth; }
body {
font-family: var(--sans);
background: var(--bg);
color: var(--text);
min-height: 100vh;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: #33e0be; text-decoration: underline; }
/* =========================================================
LAYOUT
========================================================= */
.container {
max-width: 1440px;
margin: 0 auto;
padding: 0 20px;
}
/* =========================================================
HEADER
========================================================= */
.site-header {
background: linear-gradient(180deg, #06091200 0%, var(--bg) 100%),
linear-gradient(135deg, #0a0f1e 0%, #0d1526 50%, #060b16 100%);
border-bottom: 1px solid var(--border);
padding: 20px 0 16px;
position: sticky;
top: 0;
z-index: 100;
backdrop-filter: blur(12px);
}
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}
.logo-block {
display: flex;
align-items: baseline;
gap: 12px;
}
.site-title {
font-size: 1.6rem;
font-weight: 700;
letter-spacing: -0.02em;
background: linear-gradient(135deg, var(--accent) 0%, #4fc3f7 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.site-subtitle {
font-size: 0.75rem;
color: var(--muted);
font-family: var(--mono);
letter-spacing: 0.05em;
}
.header-meta {
display: flex;
align-items: center;
gap: 20px;
font-size: 0.8rem;
}
.header-date {
color: var(--muted);
font-family: var(--mono);
font-size: 0.75rem;
}
.header-badge {
display: flex;
align-items: center;
gap: 6px;
background: rgba(0, 212, 170, 0.08);
border: 1px solid rgba(0, 212, 170, 0.2);
border-radius: 20px;
padding: 4px 12px;
font-size: 0.7rem;
color: var(--accent);
letter-spacing: 0.03em;
}
.pulse-dot {
width: 6px;
height: 6px;
background: var(--accent);
border-radius: 50%;
animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.4; transform: scale(0.8); }
}
.header-nav a {
color: var(--muted);
font-size: 0.75rem;
padding: 4px 10px;
border: 1px solid var(--border);
border-radius: var(--radius);
transition: all 0.2s;
}
.header-nav a:hover {
color: var(--accent);
border-color: var(--accent);
text-decoration: none;
background: rgba(0,212,170,0.05);
}
/* =========================================================
SECTION LABELS
========================================================= */
.section-label {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.65rem;
font-family: var(--mono);
font-weight: 600;
letter-spacing: 0.12em;
color: var(--muted);
text-transform: uppercase;
margin-bottom: 14px;
}
.section-label::before {
content: '';
display: block;
width: 3px;
height: 14px;
background: var(--accent);
border-radius: 2px;
}
.section-label::after {
content: '';
flex: 1;
height: 1px;
background: var(--border);
}
/* =========================================================
TICKER / INDICES STRIP
========================================================= */
.indices-section {
background: var(--card);
border-bottom: 1px solid var(--border);
padding: 16px 0;
overflow: hidden;
}
.indices-scroll-wrapper {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.indices-scroll-wrapper::-webkit-scrollbar { display: none; }
.indices-track {
display: flex;
gap: 8px;
padding: 0 20px;
min-width: max-content;
}
.ticker-card {
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 16px;
min-width: 130px;
cursor: default;
transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
position: relative;
overflow: hidden;
}
.ticker-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 2px;
border-radius: var(--radius) var(--radius) 0 0;
}
.ticker-card.up::before { background: var(--up); }
.ticker-card.down::before { background: var(--down); }
.ticker-card.neutral::before { background: var(--neutral); }
.ticker-card:hover {
transform: translateY(-2px);
border-color: var(--border-light);
box-shadow: var(--shadow);
}
.ticker-name {
font-size: 0.65rem;
color: var(--muted);
letter-spacing: 0.06em;
text-transform: uppercase;
margin-bottom: 4px;
}
.ticker-value {
font-family: var(--mono);
font-size: 1.05rem;
font-weight: 600;
color: var(--text);
letter-spacing: -0.01em;
margin-bottom: 4px;
}
.ticker-change {
display: inline-flex;
align-items: center;
gap: 3px;
font-family: var(--mono);
font-size: 0.72rem;
font-weight: 500;
padding: 2px 7px;
border-radius: 4px;
}
.ticker-change.up { color: var(--up); background: rgba(0,230,118,0.1); }
.ticker-change.down { color: var(--down); background: rgba(255,82,82,0.1); }
.ticker-change.neutral { color: var(--neutral); background: rgba(79,195,247,0.1); }
/* =========================================================
MAIN LAYOUT
========================================================= */
.main-content {
padding: 24px 0;
}
.two-col {
display: grid;
grid-template-columns: 60fr 40fr;
gap: 20px;
margin-bottom: 24px;
}
@media (max-width: 960px) {
.two-col { grid-template-columns: 1fr; }
}
/* =========================================================
CARDS
========================================================= */
.card {
background: var(--card);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 20px;
transition: border-color 0.2s;
}
.card:hover { border-color: var(--border-light); }
/* =========================================================
LEADER CARDS
========================================================= */
.leaders-section { margin-bottom: 20px; }
.leader-card {
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 16px;
margin-bottom: 12px;
transition: all 0.2s;
position: relative;
}
.leader-card:hover {
border-color: var(--border-light);
transform: translateX(2px);
box-shadow: -3px 0 0 var(--accent);
}
.leader-header {
display: flex;
align-items: flex-start;
gap: 12px;
margin-bottom: 10px;
}
.leader-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--mono);
font-size: 0.75rem;
font-weight: 700;
flex-shrink: 0;
border: 2px solid var(--border-light);
}
.leader-avatar.wb { background: rgba(255,179,0,0.12); color: var(--warn); border-color: rgba(255,179,0,0.3); }
.leader-avatar.rd { background: rgba(0,212,170,0.12); color: var(--accent); border-color: rgba(0,212,170,0.3); }
.leader-avatar.jd { background: rgba(79,195,247,0.12); color: var(--neutral); border-color: rgba(79,195,247,0.3); }
.leader-avatar.jp { background: rgba(255,82,82,0.12); color: var(--down); border-color: rgba(255,82,82,0.3); }
.leader-avatar.default { background: rgba(136,153,170,0.12); color: var(--muted); border-color: rgba(136,153,170,0.3); }
.leader-meta { flex: 1; }
.leader-name {
font-weight: 600;
font-size: 0.88rem;
color: var(--text);
}
.leader-role {
font-size: 0.7rem;
color: var(--muted);
margin-top: 1px;
}
.leader-date {
font-family: var(--mono);
font-size: 0.65rem;
color: var(--dimmed);
flex-shrink: 0;
}
.leader-quote {
font-style: italic;
font-size: 0.82rem;
color: var(--accent);
border-left: 2px solid var(--accent);
padding-left: 10px;
margin-bottom: 8px;
line-height: 1.5;
}
.leader-body {
font-size: 0.8rem;
color: var(--muted);
line-height: 1.65;
margin-bottom: 8px;
}
.tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.tag {
font-size: 0.62rem;
font-family: var(--mono);
color: var(--neutral);
background: rgba(79,195,247,0.08);
border: 1px solid rgba(79,195,247,0.2);
border-radius: 3px;
padding: 2px 7px;
letter-spacing: 0.03em;
}
/* =========================================================
CENTRAL BANKS
========================================================= */
.cb-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
@media (max-width: 600px) {
.cb-grid { grid-template-columns: 1fr; }
}
.cb-card {
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 14px;
transition: all 0.2s;
}
.cb-card:hover { border-color: var(--border-light); box-shadow: var(--shadow); }
.cb-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 8px;
}
.cb-name {
font-weight: 600;
font-size: 0.85rem;
}
.cb-name-en {
font-size: 0.65rem;
color: var(--muted);
margin-top: 1px;
}
.bias-badge {
font-size: 0.6rem;
font-family: var(--mono);
font-weight: 600;
padding: 2px 8px;
border-radius: 3px;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.bias-badge.hawkish { background: rgba(255,82,82,0.12); color: var(--down); border: 1px solid rgba(255,82,82,0.25); }
.bias-badge.dovish { background: rgba(0,230,118,0.12); color: var(--up); border: 1px solid rgba(0,230,118,0.25); }
.bias-badge.neutral { background: rgba(136,153,170,0.12); color: var(--muted); border: 1px solid rgba(136,153,170,0.25); }
.cb-rate {
font-family: var(--mono);
font-size: 1.3rem;
font-weight: 700;
color: var(--accent);
margin-bottom: 4px;
}
.cb-action {
font-size: 0.75rem;
color: var(--muted);
margin-bottom: 6px;
line-height: 1.4;
}
.cb-next {
font-family: var(--mono);
font-size: 0.65rem;
color: var(--dimmed);
}
.cb-note {
font-size: 0.72rem;
color: var(--muted);
margin-top: 6px;
line-height: 1.5;
border-top: 1px solid var(--border);
padding-top: 6px;
}
/* =========================================================
NEWS
========================================================= */
.news-section { margin-bottom: 20px; }
.news-item {
border-left: 3px solid var(--border);
padding: 12px 14px;
margin-bottom: 10px;
background: var(--bg);
border-radius: 0 var(--radius) var(--radius) 0;
transition: all 0.2s;
}
.news-item:hover { border-left-width: 4px; transform: translateX(2px); }
.news-item.breaking { border-left-color: var(--down); }
.news-item.major { border-left-color: var(--warn); }
.news-item.normal { border-left-color: var(--neutral); }
.news-title {
font-weight: 600;
font-size: 0.85rem;
color: var(--text);
margin-bottom: 5px;
line-height: 1.4;
}
.news-title a { color: var(--text); }
.news-title a:hover { color: var(--accent); text-decoration: none; }
.news-body {
font-size: 0.78rem;
color: var(--muted);
line-height: 1.6;
margin-bottom: 7px;
}
.news-footer {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 6px;
}
.importance-badge {
font-size: 0.58rem;
font-family: var(--mono);
font-weight: 600;
padding: 1px 7px;
border-radius: 3px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.importance-badge.breaking { background: rgba(255,82,82,0.15); color: var(--down); border: 1px solid rgba(255,82,82,0.3); }
.importance-badge.major { background: rgba(255,179,0,0.12); color: var(--warn); border: 1px solid rgba(255,179,0,0.25); }
.importance-badge.normal { background: rgba(79,195,247,0.08); color: var(--neutral); border: 1px solid rgba(79,195,247,0.2); }
/* =========================================================
MACRO
========================================================= */
.macro-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
@media (max-width: 480px) {
.macro-grid { grid-template-columns: 1fr; }
}
.macro-card {
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 14px;
transition: all 0.2s;
}
.macro-card:hover { border-color: var(--border-light); }
.macro-indicator {
font-size: 0.65rem;
font-family: var(--mono);
color: var(--muted);
letter-spacing: 0.06em;
margin-bottom: 4px;
text-transform: uppercase;
}
.macro-value {
font-family: var(--mono);
font-size: 1.45rem;
font-weight: 700;
color: var(--text);
line-height: 1.1;
margin-bottom: 4px;
}
.macro-prev {
display: flex;
align-items: center;
gap: 5px;
font-family: var(--mono);
font-size: 0.7rem;
color: var(--muted);
margin-bottom: 5px;
}
.macro-prev .arrow { font-size: 0.8rem; }
.macro-prev .arrow.up { color: var(--up); }
.macro-prev .arrow.down { color: var(--down); }
.macro-desc {
font-size: 0.72rem;
color: var(--dimmed);
line-height: 1.4;
}
/* =========================================================
EARNINGS
========================================================= */
.earnings-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
@media (max-width: 800px) { .earnings-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .earnings-grid { grid-template-columns: 1fr; } }
.earnings-card {
background: var(--card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 14px;
position: relative;
overflow: hidden;
transition: all 0.2s;
}
.earnings-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
}
.earnings-card.beat::before { background: linear-gradient(90deg, var(--up), transparent); }
.earnings-card.miss::before { background: linear-gradient(90deg, var(--down), transparent); }
.earnings-card.pending::before { background: linear-gradient(90deg, var(--muted), transparent); }
.earnings-card:hover { border-color: var(--border-light); transform: translateY(-2px); box-shadow: var(--shadow); }
.earnings-ticker {
font-family: var(--mono);
font-size: 1rem;
font-weight: 700;
color: var(--accent);
margin-bottom: 1px;
}
.earnings-company {
font-size: 0.75rem;
color: var(--muted);
margin-bottom: 10px;
}
.earnings-eps {
display: flex;
gap: 10px;
margin-bottom: 6px;
flex-wrap: wrap;
}
.eps-item {
flex: 1;
min-width: 60px;
}
.eps-label {
font-size: 0.6rem;
color: var(--dimmed);
font-family: var(--mono);
letter-spacing: 0.05em;
margin-bottom: 2px;
}
.eps-value {
font-family: var(--mono);
font-size: 0.9rem;
font-weight: 600;
}
.eps-value.actual.beat { color: var(--up); }
.eps-value.actual.miss { color: var(--down); }
.eps-value.est { color: var(--muted); }
.earnings-beat-badge {
display: inline-block;
font-size: 0.6rem;
font-family: var(--mono);
font-weight: 700;
padding: 1px 8px;
border-radius: 3px;
margin-bottom: 6px;
letter-spacing: 0.06em;
}
.earnings-beat-badge.beat { background: rgba(0,230,118,0.12); color: var(--up); border: 1px solid rgba(0,230,118,0.3); }
.earnings-beat-badge.miss { background: rgba(255,82,82,0.12); color: var(--down); border: 1px solid rgba(255,82,82,0.3); }
.earnings-beat-badge.pending { background: rgba(136,153,170,0.1); color: var(--muted); border: 1px solid rgba(136,153,170,0.2); }
.earnings-revenue {
font-size: 0.75rem;
color: var(--muted);
margin-bottom: 5px;
}
.earnings-revenue span { font-family: var(--mono); color: var(--text); font-size: 0.8rem; }
.earnings-highlight {
font-size: 0.72rem;
color: var(--dimmed);
line-height: 1.4;
border-top: 1px solid var(--border);
padding-top: 6px;
margin-top: 4px;
}
/* =========================================================
SECTORS
========================================================= */
.sectors-list { display: flex; flex-direction: column; gap: 8px; }
.sector-row {
display: grid;
grid-template-columns: 120px 50px 1fr 80px;
align-items: center;
gap: 12px;
padding: 10px 14px;
background: var(--bg);
border: 1px solid var(--border);
border-radius: var(--radius);
transition: all 0.2s;
}
.sector-row:hover { border-color: var(--border-light); }
@media (max-width: 560px) {
.sector-row { grid-template-columns: 1fr 60px; }
.sector-etf, .sector-bar-wrap { display: none; }
}
.sector-name { font-size: 0.82rem; font-weight: 500; }
.sector-name-en { font-size: 0.65rem; color: var(--muted); }
.sector-etf {
font-family: var(--mono);
font-size: 0.7rem;
color: var(--muted);
background: rgba(255,255,255,0.04);
border: 1px solid var(--border);
border-radius: 3px;
padding: 2px 6px;
text-align: center;
}
.sector-bar-wrap {
background: rgba(255,255,255,0.04);
border-radius: 3px;
height: 8px;
overflow: hidden;
}
.sector-bar {
height: 100%;
border-radius: 3px;
transition: width 0.8s ease;
}
.sector-bar.up { background: linear-gradient(90deg, var(--up), rgba(0,230,118,0.4)); }
.sector-bar.down { background: linear-gradient(90deg, var(--down), rgba(255,82,82,0.4)); }
.sector-pct {
font-family: var(--mono);
font-size: 0.82rem;
font-weight: 600;
text-align: right;
}
.sector-pct.up { color: var(--up); }
.sector-pct.down { color: var(--down); }
.sector-note {
font-size: 0.68rem;
color: var(--dimmed);
}
/* =========================================================
FOOTER
========================================================= */
.site-footer {
border-top: 1px solid var(--border);
padding: 20px 0;
margin-top: 20px;
}
.footer-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
font-size: 0.72rem;
color: var(--dimmed);
}
.footer-inner a { color: var(--dimmed); }
.footer-inner a:hover { color: var(--accent); }
/* =========================================================
SECTION SPACING
========================================================= */
.section-block { margin-bottom: 24px; }
/* =========================================================
SCROLLBAR
========================================================= */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-dim); }
/* =========================================================
LOADING SKELETON
========================================================= */
@keyframes shimmer {
0% { background-position: -1000px 0; }
100% { background-position: 1000px 0; }
}
.skeleton {
background: linear-gradient(90deg, var(--border) 25%, var(--border-light) 50%, var(--border) 75%);
background-size: 1000px 100%;
animation: shimmer 2s infinite;
border-radius: 4px;
}
/* =========================================================
UTILITIES
========================================================= */
.mt-0 { margin-top: 0; }
.mb-16 { margin-bottom: 16px; }
.text-up { color: var(--up); }
.text-down { color: var(--down); }
.text-muted { color: var(--muted); }
.font-mono { font-family: var(--mono); }
.text-sm { font-size: 0.75rem; }
</style>
</head>
<body>
<!-- =========================================================
HEADER
========================================================= -->
<header class="site-header">
<div class="container">
<div class="header-inner">
<div class="logo-block">
<span class="site-title">金融日报 | Financial Daily</span>
</div>
<div class="header-meta">
<span class="header-date" id="current-date">Loading...</span>
<div class="header-badge">
<span class="pulse-dot"></span>
由 Claude API + Web Search 自动生成
</div>
<nav class="header-nav">
<a href="archive/index.html">📁 Archive</a>
</nav>
</div>
</div>
</div>
</header>
<!-- =========================================================
INDICES SECTION
========================================================= -->
<section class="indices-section">
<div class="indices-scroll-wrapper">
<div class="indices-track">
<!-- INDICES:START -->
<div class="ticker-card up">
<div class="ticker-name">S&P 500</div>
<div class="ticker-value">7,230.12</div>
<div class="ticker-change up">▲ +0.29%</div>
</div>
<div class="ticker-card up">
<div class="ticker-name">Nasdaq Composite</div>
<div class="ticker-value">25,114.44</div>
<div class="ticker-change up">▲ +0.89%</div>
</div>
<div class="ticker-card down">
<div class="ticker-name">Dow Jones</div>
<div class="ticker-value">49,499.27</div>
<div class="ticker-change down">▼ -0.31%</div>
</div>
<div class="ticker-card up">
<div class="ticker-name">上证综指</div>
<div class="ticker-value">4,112.16</div>
<div class="ticker-change up">▲ +0.11%</div>
</div>
<div class="ticker-card down">
<div class="ticker-name">恒生指数</div>
<div class="ticker-value">25,776.53</div>
<div class="ticker-change down">▼ -1.28%</div>
</div>
<div class="ticker-card down">
<div class="ticker-name">日经225</div>
<div class="ticker-value">59,284.92</div>
<div class="ticker-change down">▼ -1.06%</div>
</div>
<div class="ticker-card down">
<div class="ticker-name">德国DAX</div>
<div class="ticker-value">23,877.72</div>
<div class="ticker-change down">▼ -0.32%</div>
</div>
<div class="ticker-card up">
<div class="ticker-name">黄金</div>
<div class="ticker-value">4,661.40</div>
<div class="ticker-change up">▲ +0.69%</div>
</div>
<div class="ticker-card down">
<div class="ticker-name">WTI原油</div>
<div class="ticker-value">105.14</div>
<div class="ticker-change down">▼ -1.98%</div>
</div>
<div class="ticker-card up">
<div class="ticker-name">比特币</div>
<div class="ticker-value">78,281</div>
<div class="ticker-change up">▲ +2.43%</div>
</div>
<!-- INDICES:END -->
</div>
</div>
</section>
<!-- =========================================================
MAIN CONTENT
========================================================= -->
<main class="main-content">
<div class="container">
<!-- TWO-COLUMN LAYOUT -->
<div class="two-col">
<!-- LEFT COLUMN (60%) -->
<div class="left-col">
<!-- LEADERS SECTION -->
<div class="section-block leaders-section">
<div class="card">
<div class="section-label">市场领袖观点 · Market Leaders</div>
<!-- LEADERS:START -->
<div class="leader-card">
<div class="leader-header">
<div class="leader-avatar jd">JD</div>
<div class="leader-meta">
<div class="leader-name">杰米·戴蒙 <span style="color:var(--muted);font-weight:400;font-size:0.78rem;">Jamie Dimon</span></div>
<div class="leader-role">摩根大通CEO</div>
</div>
<div class="leader-date">4月11日</div>
</div>
<div class="leader-quote">"利率就像所有资产价格的重力"</div>
<div class="leader-body">在2026年致股东信中,戴蒙呼应巴菲特26年前的警告,强调利率对资产估值的决定性影响。他警告通胀上升可能推高利率,对股市构成下行压力。戴蒙还指出下一个信贷周期中损失将超预期,可能冲击AI相关软件公司。</div>
<div class="tags"><span class="tag">#利率</span><span class="tag">#风险警示</span></div>
</div>
<div class="leader-card">
<div class="leader-header">
<div class="leader-avatar wb">WB</div>
<div class="leader-meta">
<div class="leader-name">沃伦·巴菲特 <span style="color:var(--muted);font-weight:400;font-size:0.78rem;">Warren Buffett</span></div>
<div class="leader-role">伯克希尔哈撒韦CEO</div>
</div>
<div class="leader-date">5月1日</div>
</div>
<div class="leader-quote">"利率是资产估值的重力法则"</div>
<div class="leader-body">巴菲特已卸任伯克希尔CEO职位,由Greg Abel接任。在5月1日奥马哈股东大会上,他继续强调利率对投资回报的长期影响,这一观点与戴蒙近期警告不谋而合。</div>
<div class="tags"><span class="tag">#价值投资</span><span class="tag">#利率</span></div>
</div>
<div class="leader-card">
<div class="leader-header">
<div class="leader-avatar jp">JP</div>
<div class="leader-meta">
<div class="leader-name">杰罗姆·鲍威尔 <span style="color:var(--muted);font-weight:400;font-size:0.78rem;">Jerome Powell</span></div>
<div class="leader-role">美联储主席</div>
</div>
<div class="leader-date">4月29日</div>
</div>
<div class="leader-quote">"我别无选择只能留任理事"</div>
<div class="leader-body">鲍威尔在4月29日最后一次主席会议后宣布,因特朗普政府法律攻击,他将在5月15日卸任主席后继续担任理事至2028年任期结束。他强调美联储独立性的重要性,并表示将为继任者Kevin Warsh提供平稳过渡。</div>
<div class="tags"><span class="tag">#美联储</span><span class="tag">#货币政策</span></div>
</div>
<div class="leader-card">
<div class="leader-header">
<div class="leader-avatar rd">RD</div>
<div class="leader-meta">
<div class="leader-name">雷·达利欧 <span style="color:var(--muted);font-weight:400;font-size:0.78rem;">Ray Dalio</span></div>
<div class="leader-role">桥水基金创始人</div>
</div>
<div class="leader-date">4月</div>
</div>
<div class="leader-quote">"多元化是降低风险的关键"</div>
<div class="leader-body">达利欧继续倡导其全天候投资策略,强调在当前高估值和地缘政治不确定性环境下,投资者需要通过配置不相关资产来降低投资组合风险。</div>
<div class="tags"><span class="tag">#对冲基金</span><span class="tag">#风险管理</span></div>
</div>
<!-- LEADERS:END -->
</div>
</div>
<!-- CENTRAL BANKS SECTION -->
<div class="section-block">
<div class="card">
<div class="section-label">央行动态 · Central Banks</div>
<!-- CENTRAL_BANKS:START -->
<div class="cb-grid">
<div class="cb-card">
<div class="cb-header">
<div>
<div class="cb-name">美联储</div>
<div class="cb-name-en">Federal Reserve</div>
</div>
<span class="bias-badge hawkish">Hawkish</span>
</div>
<div class="cb-rate">3.50-3.75%</div>
<div class="cb-action">维持利率3.50-3.75%不变</div>
<div class="cb-next">下次会议: <span class="font-mono" style="color:var(--neutral)">2026-06-18</span></div>
<div class="cb-note">鲍威尔最后一次会议出现4票反对,年内降息预期消失,Kevin Warsh将接任主席</div>
</div>
<div class="cb-card">
<div class="cb-header">
<div>
<div class="cb-name">欧洲央行</div>
<div class="cb-name-en">European Central Bank</div>
</div>
<span class="bias-badge hawkish">Hawkish</span>
</div>
<div class="cb-rate">2.15%</div>
<div class="cb-action">维持主要再融资利率2.15%不变</div>
<div class="cb-next">下次会议: <span class="font-mono" style="color:var(--neutral)">2026-06-11</span></div>
<div class="cb-note">伊朗战争推高通胀风险,市场预期6月首次加息,拉加德强调政策不确定性</div>
</div>
<div class="cb-card">
<div class="cb-header">
<div>
<div class="cb-name">中国人民银行</div>
<div class="cb-name-en">People's Bank of China</div>
</div>
<span class="bias-badge dovish">Dovish</span>
</div>
<div class="cb-rate">3.45%</div>
<div class="cb-action">预计20bp降息和100bp降准</div>
<div class="cb-next">下次会议: <span class="font-mono" style="color:var(--neutral)">2026-06-15</span></div>
<div class="cb-note">尽管经济韧性超预期,但仍需保持宽松支持稳定增长,银行净息差收窄限制降息空间</div>
</div>
<div class="cb-card">
<div class="cb-header">
<div>
<div class="cb-name">日本央行</div>
<div class="cb-name-en">Bank of Japan</div>
</div>
<span class="bias-badge hawkish">Hawkish</span>
</div>
<div class="cb-rate">0.50%</div>
<div class="cb-action">维持政策利率0.5%不变</div>
<div class="cb-next">下次会议: <span class="font-mono" style="color:var(--neutral)">2026-06-17</span></div>
<div class="cb-note">上调通胀预期至2.8%,下调增长预期至0.5%,基本情景预计年底加息至1.0%</div>
</div>
<div class="cb-card">
<div class="cb-header">
<div>
<div class="cb-name">英国央行</div>
<div class="cb-name-en">Bank of England</div>
</div>
<span class="bias-badge neutral">Neutral</span>
</div>
<div class="cb-rate">4.50%</div>
<div class="cb-action">预计维持利率不变</div>
<div class="cb-next">下次会议: <span class="font-mono" style="color:var(--neutral)">2026-05-07</span></div>
<div class="cb-note">油价飙升和英债收益率上升削弱降息预期,但通胀风险仍可控</div>
</div>
</div>
<!-- CENTRAL_BANKS:END -->
</div>
</div>
</div><!-- /left-col -->
<!-- RIGHT COLUMN (40%) -->
<div class="right-col">
<!-- NEWS SECTION -->
<div class="section-block news-section">
<div class="card">
<div class="section-label">市场要闻 · Market News</div>
<!-- NEWS:START -->
<div class="news-item breaking">
<div class="news-title">美联储维持利率不变 4票反对创1992年来最多</div>
<div class="news-body">美联储4月29日维持利率在3.50%-3.75%不变,但出现4票反对,为1992年以来最多分歧。鲍威尔在最后一次主席会议上表示将留任理事至2028年。市场预计年内不会降息,Kevin Warsh将于5月接任主席。</div>
<div class="news-footer">
<span class="importance-badge breaking">BREAKING</span>
<div class="tags"><span class="tag">#美联储</span><span class="tag">#货币政策</span></div>
</div>
</div>
<div class="news-item breaking">
<div class="news-title">伊朗战争推动油价飙升至105美元 通胀压力加剧</div>
<div class="news-body">受美国与伊朗冲突影响,WTI原油价格维持在105美元/桶附近,较战前上涨超25%。加州汽油价格突破6美元/加仑。市场担忧霍尔木兹海峡封锁持续,能源价格高企将加剧通胀压力,削弱美联储降息预期。</div>
<div class="news-footer">
<span class="importance-badge breaking">BREAKING</span>
<div class="tags"><span class="tag">#能源</span><span class="tag">#地缘政治</span></div>
</div>
</div>
<div class="news-item major">
<div class="news-title">苹果财报超预期 宣布1000亿美元回购计划</div>
<div class="news-body">苹果Q2财报营收1112亿美元,同比增长17%,iPhone 17成史上最畅销机型。服务业务增长16%至310亿美元,中国市场大涨28%。公司宣布1000亿美元股票回购,股价盘后涨3%,推动纳指创新高。</div>
<div class="news-footer">
<span class="importance-badge major">MAJOR</span>
<div class="tags"><span class="tag">#科技</span><span class="tag">#财报</span></div>
</div>
</div>
<div class="news-item major">
<div class="news-title">Meta上调资本开支至1250-1450亿美元 股价跌7%</div>
<div class="news-body">Meta Q1财报虽超预期,但将2026年资本开支上调至1250-1450亿美元,高于此前1150-1350亿美元预期。公司将裁员约10%(8000人),同时加大AI基建投资。分析师担忧高额支出能否转化为收入增长。</div>
<div class="news-footer">
<span class="importance-badge major">MAJOR</span>
<div class="tags"><span class="tag">#科技</span><span class="tag">#AI</span></div>
</div>
</div>
<div class="news-item major">
<div class="news-title">标普500和纳指创历史新高 4月涨幅创2020年来最强</div>
<div class="news-body">标普500和纳指在5月1日双双创收盘新高,4月分别上涨10%和15%,为2020年4月以来最强单月表现。AI芯片需求、企业财报强劲和伊朗和谈乐观情绪推动市场反弹,但估值已接近历史高位。</div>
<div class="news-footer">
<span class="importance-badge major">MAJOR</span>
<div class="tags"><span class="tag">#美股</span><span class="tag">#市场</span></div>
</div>
</div>
<div class="news-item normal">
<div class="news-title">欧央行维持利率不变 暗示6月可能加息</div>
<div class="news-body">欧央行4月30日维持主要再融资利率在2.15%不变,但行长拉加德表示因伊朗战争推高通胀风险,市场完全定价2026年将加息3次。欧元区3月通胀升至2.6%,为2024年7月来最高。</div>
<div class="news-footer">
<span class="importance-badge normal">NORMAL</span>
<div class="tags"><span class="tag">#欧央行</span><span class="tag">#通胀</span></div>
</div>
</div>
<div class="news-item normal">
<div class="news-title">日本央行维持利率不变 上调通胀预期至2.8%</div>
<div class="news-body">日本央行4月28日维持政策利率在0.5%不变,但将2026财年核心通胀预期从1.9%上调至2.8%,并将增长预期从1%下调至0.5%。日元兑美元跌至159,接近干预水平。</div>
<div class="news-footer">
<span class="importance-badge normal">NORMAL</span>
<div class="tags"><span class="tag">#日本央行</span><span class="tag">#日元</span></div>
</div>
</div>
<!-- NEWS:END -->
</div>
</div>
<!-- MACRO SECTION -->
<div class="section-block">
<div class="card">
<div class="section-label">宏观指标 · Macro Data</div>
<!-- MACRO:START -->
<div class="macro-grid">
<div class="macro-card">
<div class="macro-indicator">CPI YoY</div>
<div class="macro-value">3.3%</div>
<div class="macro-prev"><span class="arrow up"></span> 前值: 3.1%</div>
<div class="macro-desc">3月CPI同比上涨3.3%,受伊朗战争推动能源价格飙升影响,高于预期的3.2%</div>
</div>
<div class="macro-card">
<div class="macro-indicator">Core CPI YoY</div>
<div class="macro-value">2.6%</div>
<div class="macro-prev"><span class="arrow "></span> 前值: 2.6%</div>
<div class="macro-desc">核心CPI持平于2.6%,略低于去年同期,但仍高于美联储2%目标</div>
</div>
<div class="macro-card">
<div class="macro-indicator">PCE YoY</div>
<div class="macro-value">3.0%</div>
<div class="macro-prev"><span class="arrow down"></span> 前值: 3.1%</div>
<div class="macro-desc">2月PCE同比上涨3.0%,美联储首选通胀指标略有回落但仍远高于目标</div>
</div>
<div class="macro-card">
<div class="macro-indicator">Fed Inflation Forecast</div>
<div class="macro-value">2.7%</div>
<div class="macro-prev"><span class="arrow up"></span> 前值: 2.5%</div>
<div class="macro-desc">美联储将2026年通胀预期上调至2.7%,降息前景显著恶化</div>
</div>
<div class="macro-card">
<div class="macro-indicator">Q1 GDP</div>
<div class="macro-value">1.7%</div>
<div class="macro-prev"><span class="arrow down"></span> 前值: 2.3%</div>
<div class="macro-desc">2026年Q1 GDP增长放缓至1.7%,AI投资支撑但消费疲软</div>
</div>
<div class="macro-card">
<div class="macro-indicator">Manufacturing PMI</div>
<div class="macro-value">50.3</div>
<div class="macro-prev"><span class="arrow up"></span> 前值: 49.8</div>
<div class="macro-desc">4月制造业PMI升至50.3,重回扩张区间,受AI数据中心建设需求推动</div>
</div>
<div class="macro-card">
<div class="macro-indicator">China PMI</div>
<div class="macro-value">52.2</div>
<div class="macro-prev"><span class="arrow up"></span> 前值: 50.5</div>
<div class="macro-desc">中国4月制造业PMI升至52.2,为2020年12月来最高,显示经济韧性</div>
</div>
<div class="macro-card">
<div class="macro-indicator">Unemployment Rate</div>
<div class="macro-value">3.8%</div>
<div class="macro-prev"><span class="arrow up"></span> 前值: 3.7%</div>
<div class="macro-desc">失业率小幅上升至3.8%,就业市场降温但仍保持稳健</div>
</div>
</div>
<!-- MACRO:END -->
</div>
</div>
</div><!-- /right-col -->
</div><!-- /two-col -->
<!-- =========================================================
EARNINGS SECTION (FULL WIDTH)
========================================================= -->
<div class="section-block">
<div class="card">
<div class="section-label">财报追踪 · Earnings Tracker</div>
<!-- EARNINGS:START -->
<div class="earnings-grid">
<div class="earnings-card beat">
<div class="earnings-ticker">AAPL</div>
<div class="earnings-company">Apple</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$1.65</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$1.52</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$111.2B</span></div>
<div class="earnings-highlight">Q2营收增17%iPhone 17创历史纪录,宣布1000亿美元回购</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">META</div>
<div class="earnings-company">Meta</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$7.31</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$7.15</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$56.8B</span></div>
<div class="earnings-highlight">财报超预期但资本开支上调至1250-1450亿美元,股价跌7%</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">GOOGL</div>
<div class="earnings-company">Alphabet</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$2.18</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$2.05</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$88.5B</span></div>
<div class="earnings-highlight">营收增16%,AI驱动搜索和云业务强劲增长</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">CAT</div>
<div class="earnings-company">Caterpillar</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$6.85</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$5.92</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$18.2B</span></div>
<div class="earnings-highlight">AI数据中心推动电力设备需求激增,股价飙升10%</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">LLY</div>
<div class="earnings-company">Eli Lilly</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$4.22</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$3.85</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$12.8B</span></div>
<div class="earnings-highlight">减肥药销售强劲,上调全年指引至820-850亿美元</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">QCOM</div>
<div class="earnings-company">Qualcomm</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$3.45</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$3.22</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$11.5B</span></div>
<div class="earnings-highlight">Q2财报超预期,股价涨16%,但分析师观点分歧</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">MSFT</div>
<div class="earnings-company">Microsoft</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$3.52</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$3.48</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$68.2B</span></div>
<div class="earnings-highlight">云业务和AI服务增长强劲,但上调资本开支引发担忧</div>
</div>
<div class="earnings-card beat">
<div class="earnings-ticker">AMZN</div>
<div class="earnings-company">Amazon</div>
<span class="earnings-beat-badge beat">BEAT ✓</span>
<div class="earnings-eps">
<div class="eps-item">
<div class="eps-label">EPS ACTUAL</div>
<div class="eps-value actual beat">$1.82</div>
</div>
<div class="eps-item">
<div class="eps-label">EPS EST.</div>
<div class="eps-value est">$1.75</div>
</div>
</div>
<div class="earnings-revenue">收入: <span>$152.4B</span></div>
<div class="earnings-highlight">AWS云服务加速增长,零售业务在高油价环境下仍保持韧性</div>
</div>
</div>
<!-- EARNINGS:END -->
</div>
</div>
<!-- =========================================================
SECTORS SECTION (FULL WIDTH)
========================================================= -->
<div class="section-block">
<div class="card">
<div class="section-label">板块表现 · Sector Performance</div>
<!-- SECTORS:START -->
<div class="sectors-list">
<div class="sector-row">
<div><div class="sector-name">能源</div><div class="sector-name-en">Energy</div></div>
<div class="sector-etf">XLE</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:100%"></div></div>
<div class="sector-pct up">+18.5%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">科技</div><div class="sector-name-en">Information Technology</div></div>
<div class="sector-etf">XLK</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:18%"></div></div>
<div class="sector-pct up">+1.82%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">工业</div><div class="sector-name-en">Industrials</div></div>
<div class="sector-etf">XLI</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:14%"></div></div>
<div class="sector-pct up">+0.95%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">通讯服务</div><div class="sector-name-en">Communication Services</div></div>
<div class="sector-etf">XLC</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:13%"></div></div>
<div class="sector-pct up">+0.68%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">金融</div><div class="sector-name-en">Financials</div></div>
<div class="sector-etf">XLF</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:12%"></div></div>
<div class="sector-pct up">+0.45%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">医疗保健</div><div class="sector-name-en">Health Care</div></div>
<div class="sector-etf">XLV</div>
<div class="sector-bar-wrap"><div class="sector-bar up" style="width:11%"></div></div>
<div class="sector-pct up">+0.38%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">非必需消费</div><div class="sector-name-en">Consumer Discretionary</div></div>
<div class="sector-etf">XLY</div>
<div class="sector-bar-wrap"><div class="sector-bar down" style="width:10%"></div></div>
<div class="sector-pct down">-0.12%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">必需消费</div><div class="sector-name-en">Consumer Staples</div></div>
<div class="sector-etf">XLP</div>
<div class="sector-bar-wrap"><div class="sector-bar down" style="width:10%"></div></div>
<div class="sector-pct down">-0.18%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">材料</div><div class="sector-name-en">Materials</div></div>
<div class="sector-etf">XLB</div>
<div class="sector-bar-wrap"><div class="sector-bar down" style="width:11%"></div></div>
<div class="sector-pct down">-0.25%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">公用事业</div><div class="sector-name-en">Utilities</div></div>
<div class="sector-etf">XLU</div>
<div class="sector-bar-wrap"><div class="sector-bar down" style="width:11%"></div></div>
<div class="sector-pct down">-0.32%</div>
</div>
<div class="sector-row">
<div><div class="sector-name">房地产</div><div class="sector-name-en">Real Estate</div></div>
<div class="sector-etf">XLRE</div>
<div class="sector-bar-wrap"><div class="sector-bar down" style="width:12%"></div></div>
<div class="sector-pct down">-0.45%</div>
</div>
</div>
<!-- SECTORS:END -->
</div>
</div>
</div><!-- /container -->
</main>
<!-- =========================================================
FOOTER
========================================================= -->
<footer class="site-footer">
<div class="container">
<div class="footer-inner">
<span>© 2025 金融日报 · Financial Daily &nbsp;|&nbsp; Powered by <a href="https://www.anthropic.com" target="_blank">Claude AI</a></span>
<span>内容由AI自动生成,仅供参考,不构成投资建议</span>
<a href="feed.xml">RSS Feed</a>
</div>
</div>
</footer>
<script>
// Set current date
(function() {
const el = document.getElementById('current-date');
const now = new Date();
const opts = { year: 'numeric', month: 'long', day: 'numeric', weekday: 'short' };
el.textContent = now.toLocaleDateString('zh-CN', opts);
})();
// Highlight data age
(function() {
const metaEl = document.querySelector('meta[name="last-updated"]');
if (metaEl) {
const updated = new Date(metaEl.content);
const age = Math.round((Date.now() - updated) / 3600000);
if (age > 12) {
const badge = document.querySelector('.header-badge');
if (badge) badge.style.borderColor = 'rgba(255,179,0,0.4)';
}
}
})();
</script>
</body>
</html>