1496 lines
51 KiB
HTML
1496 lines
51 KiB
HTML
<!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 | 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>
|