Files
vf_react/public/htmls/电力产业链.html
2025-10-11 16:16:02 +08:00

521 lines
23 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, shrink-to-fit=no">
<title>电力产业链行业洞察报告</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/daisyui@5/dist/full.min.css" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://kit.fontawesome.com/1d2b6c4f81.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/tsparticles@3/tsparticles.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vanta/0.5.24/vanta.waves.min.js"></script>
<style>
body {
font-family: 'Inter', sans-serif;
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
min-height: 100vh;
}
.glass-effect {
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.energy-gradient {
background: linear-gradient(135deg, #3b82f6 0%, #10b981 100%);
}
.card-hover {
transition: all 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.timeline-dot {
width: 16px;
height: 16px;
border-radius: 50%;
background: #3b82f6;
position: absolute;
left: -8px;
top: 6px;
}
.timeline-line {
position: absolute;
left: 0;
top: 22px;
bottom: -22px;
width: 2px;
background: rgba(59, 130, 246, 0.3);
}
.highlight-text {
background: linear-gradient(135deg, #3b82f6, #10b981);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
#vanta-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
@media (max-width: 768px) {
.container {
padding-left: 1rem;
padding-right: 1rem;
}
}
</style>
</head>
<body class="text-gray-100">
<div id="vanta-bg"></div>
<div class="container mx-auto px-4 py-8 max-w-7xl">
<!-- 标题区域 -->
<div class="text-center mb-12">
<h1 class="text-4xl md:text-5xl font-bold mb-4 highlight-text">电力产业链行业洞察</h1>
<p class="text-xl text-gray-300">市场化改革 + 能源转型双轮驱动</p>
</div>
<!-- 核心观点摘要 -->
<div class="glass-effect rounded-2xl p-6 mb-8 card-hover">
<h2 class="text-2xl font-bold mb-4 text-blue-400">核心观点摘要</h2>
<div class="grid md:grid-cols-3 gap-4">
<div class="bg-gradient-to-br from-blue-900/30 to-blue-800/20 rounded-xl p-4">
<h3 class="font-semibold text-blue-300 mb-2">阶段判断</h3>
<p class="text-sm">电力产业链正从"政策驱动"转向<span class="text-green-400 font-semibold">"盈利驱动"</span></p>
</div>
<div class="bg-gradient-to-br from-green-900/30 to-green-800/20 rounded-xl p-4">
<h3 class="font-semibold text-green-300 mb-2">核心驱动力</h3>
<p class="text-sm">煤价中枢下移 + 容量电价机制 + 绿电溢价</p>
</div>
<div class="bg-gradient-to-br from-purple-900/30 to-purple-800/20 rounded-xl p-4">
<h3 class="font-semibold text-purple-300 mb-2">未来潜力</h3>
<p class="text-sm">电力资产"公用事业化"<span class="text-yellow-400 font-semibold">高股息+低估值</span>属性</p>
</div>
</div>
</div>
<!-- 概念事件 -->
<div class="glass-effect rounded-2xl p-6 mb-8">
<h2 class="text-2xl font-bold mb-6 text-blue-400">概念事件</h2>
<div class="relative pl-8">
<div class="timeline-line"></div>
<div class="mb-8 relative">
<div class="timeline-dot"></div>
<div class="bg-gray-800/50 rounded-xl p-4">
<h3 class="font-semibold text-lg mb-2 text-green-400">2025年7月</h3>
<p>南方区域电力市场转入连续结算试运行22万市场主体、日交易38亿度</p>
</div>
</div>
<div class="mb-8 relative">
<div class="timeline-dot"></div>
<div class="bg-gray-800/50 rounded-xl p-4">
<h3 class="font-semibold text-lg mb-2 text-blue-400">2025年5月</h3>
<p>海兴电力设立8亿元产业基金投向新能源、能源算法等前沿领域</p>
</div>
</div>
<div class="relative">
<div class="timeline-dot"></div>
<div class="bg-gray-800/50 rounded-xl p-4">
<h3 class="font-semibold text-lg mb-2 text-yellow-400">2025年4月</h3>
<p>华银电力因Q1净利润同比增<span class="text-red-400 font-bold">894%</span>连续涨停</p>
</div>
</div>
</div>
</div>
<!-- 核心驱动力与市场认知 -->
<div class="grid md:grid-cols-2 gap-8 mb-8">
<div class="glass-effect rounded-2xl p-6 card-hover">
<h2 class="text-2xl font-bold mb-4 text-blue-400">核心驱动力</h2>
<div class="space-y-4">
<div class="bg-blue-900/20 rounded-lg p-4">
<h3 class="font-semibold text-blue-300 mb-2">火电盈利反转</h3>
<p class="text-sm">江苏火电度电净利润约1分钱煤价每下跌100元/吨盈利弹性约0.03元/度</p>
</div>
<div class="bg-green-900/20 rounded-lg p-4">
<h3 class="font-semibold text-green-300 mb-2">绿电价值重估</h3>
<p class="text-sm">南方电网绿电交易规模2025Q1达1289亿千瓦时绿证价格约0.03-0.05元/度</p>
</div>
<div class="bg-purple-900/20 rounded-lg p-4">
<h3 class="font-semibold text-purple-300 mb-2">储能爆发前夜</h3>
<p class="text-sm">国内储能装机2025Q1新增5.03GW,户储逆变器因对美敞口小被机构看好</p>
</div>
</div>
</div>
<div class="glass-effect rounded-2xl p-6 card-hover">
<h2 class="text-2xl font-bold mb-4 text-green-400">市场热度与情绪</h2>
<div class="space-y-4">
<div class="bg-orange-900/20 rounded-lg p-4">
<h3 class="font-semibold text-orange-300 mb-2">新闻热度</h3>
<p class="text-sm">2025年4-7月电力板块涨停潮频发乐山电力4连板、华银电力3连板</p>
</div>
<div class="bg-yellow-900/20 rounded-lg p-4">
<h3 class="font-semibold text-yellow-300 mb-2">研报共识</h3>
<p class="text-sm">民生证券、东吴证券等12家机构密集发布看多报告</p>
</div>
<div class="bg-red-900/20 rounded-lg p-4">
<h3 class="font-semibold text-red-300 mb-2">预期差分析</h3>
<p class="text-sm">火电盈利稳定性被低估,绿电交易溢价未充分定价</p>
</div>
</div>
</div>
</div>
<!-- 催化剂与发展路径 -->
<div class="glass-effect rounded-2xl p-6 mb-8">
<h2 class="text-2xl font-bold mb-6 text-blue-400">催化剂与发展路径</h2>
<div class="grid md:grid-cols-2 gap-6">
<div>
<h3 class="text-xl font-semibold mb-4 text-green-400">近期催化剂3-6个月</h3>
<ul class="space-y-3">
<li class="flex items-start">
<i class="fas fa-bolt text-yellow-400 mt-1 mr-3"></i>
<div>
<p class="font-medium">全国容量电价细则出台</p>
<p class="text-sm text-gray-400">2025年8月火电调峰价值将明确量化</p>
</div>
</li>
<li class="flex items-start">
<i class="fas fa-chart-line text-green-400 mt-1 mr-3"></i>
<div>
<p class="font-medium">业绩验证</p>
<p class="text-sm text-gray-400">2025年中报火电龙头盈利或超预期</p>
</div>
</li>
<li class="flex items-start">
<i class="fas fa-leaf text-blue-400 mt-1 mr-3"></i>
<div>
<p class="font-medium">绿电交易扩容</p>
<p class="text-sm text-gray-400">南方电网或宣布绿电交易品种</p>
</div>
</li>
</ul>
</div>
<div>
<h3 class="text-xl font-semibold mb-4 text-purple-400">长期路径2025-2027</h3>
<div class="space-y-3">
<div class="bg-gradient-to-r from-blue-900/30 to-blue-800/20 rounded-lg p-3">
<p class="font-medium">阶段12025</p>
<p class="text-sm">火电盈利修复完成PE从6倍修复至8-10倍</p>
</div>
<div class="bg-gradient-to-r from-green-900/30 to-green-800/20 rounded-lg p-3">
<p class="font-medium">阶段22026</p>
<p class="text-sm">储能/虚拟电厂商业模式跑通</p>
</div>
<div class="bg-gradient-to-r from-purple-900/30 to-purple-800/20 rounded-lg p-3">
<p class="font-medium">阶段32027</p>
<p class="text-sm">电力市场全面现货化,水电龙头享受估值溢价</p>
</div>
</div>
</div>
</div>
</div>
<!-- 核心玩家对比 -->
<div class="glass-effect rounded-2xl p-6 mb-8">
<h2 class="text-2xl font-bold mb-6 text-blue-400">核心玩家对比</h2>
<div class="overflow-x-auto">
<table class="w-full text-sm">
<thead>
<tr class="border-b border-gray-700">
<th class="text-left py-3 px-4">公司</th>
<th class="text-left py-3 px-4">逻辑</th>
<th class="text-left py-3 px-4">数据验证</th>
<th class="text-left py-3 px-4">风险</th>
</tr>
</thead>
<tbody>
<tr class="border-b border-gray-800">
<td class="py-3 px-4 font-semibold text-blue-400">华能国际</td>
<td class="py-3 px-4">火电龙头+容量电价受益</td>
<td class="py-3 px-4">2025Q1火电装机1284万千瓦PE仅6倍</td>
<td class="py-3 px-4 text-red-400">煤价反弹超预期</td>
</tr>
<tr class="border-b border-gray-800">
<td class="py-3 px-4 font-semibold text-green-400">长江电力</td>
<td class="py-3 px-4">水电永续现金流+六库联调</td>
<td class="py-3 px-4">2025年分红率≥70%股息率5.5%</td>
<td class="py-3 px-4 text-red-400">来水偏枯</td>
</tr>
<tr class="border-b border-gray-800">
<td class="py-3 px-4 font-semibold text-purple-400">阳光电源</td>
<td class="py-3 px-4">储能逆变器龙头</td>
<td class="py-3 px-4">2025Q1储能出货15GW同比+30%</td>
<td class="py-3 px-4 text-red-400">海外贸易壁垒</td>
</tr>
<tr>
<td class="py-3 px-4 font-semibold text-yellow-400">南网能源</td>
<td class="py-3 px-4">绿电交易主体</td>
<td class="py-3 px-4">南方电网绿电交易市占率30%+</td>
<td class="py-3 px-4 text-red-400">电价市场化不及预期</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 风险与挑战 -->
<div class="glass-effect rounded-2xl p-6 mb-8">
<h2 class="text-2xl font-bold mb-4 text-red-400">潜在风险与挑战</h2>
<div class="grid md:grid-cols-2 gap-4">
<div class="bg-red-900/20 rounded-lg p-4">
<h3 class="font-semibold text-red-300 mb-2">技术风险</h3>
<p class="text-sm">钠离子电池若量产不及预期,或延缓储能降本</p>
</div>
<div class="bg-orange-900/20 rounded-lg p-4">
<h3 class="font-semibold text-orange-300 mb-2">政策风险</h3>
<p class="text-sm">绿电补贴拖欠2024年国补缺口1200亿元</p>
</div>
<div class="bg-yellow-900/20 rounded-lg p-4">
<h3 class="font-semibold text-yellow-300 mb-2">竞争风险</h3>
<p class="text-sm">火电灵活性改造技术门槛较低,或加剧价格战</p>
</div>
<div class="bg-purple-900/20 rounded-lg p-4">
<h3 class="font-semibold text-purple-300 mb-2">信息矛盾</h3>
<p class="text-sm">皖能电力预计利用小时高于全国均值,需验证</p>
</div>
</div>
</div>
<!-- 投资启示 -->
<div class="glass-effect rounded-2xl p-6 mb-8">
<h2 class="text-2xl font-bold mb-4 text-green-400">综合结论与投资启示</h2>
<div class="bg-gradient-to-r from-green-900/30 to-blue-900/30 rounded-xl p-6 mb-6">
<p class="text-lg mb-4">电力产业链处于<span class="text-yellow-400 font-bold">"盈利驱动"初期</span>火电估值修复完成50%,绿电/储能仍有<span class="text-green-400 font-bold">30%+空间</span></p>
</div>
<div class="grid md:grid-cols-3 gap-4 mb-6">
<div class="bg-blue-900/20 rounded-lg p-4">
<h3 class="font-semibold text-blue-300 mb-2">高股息防御</h3>
<p class="text-sm">长江电力股息率5.5%+DCF估值修复</p>
</div>
<div class="bg-green-900/20 rounded-lg p-4">
<h3 class="font-semibold text-green-300 mb-2">盈利弹性</h3>
<p class="text-sm">浙能电力(煤价下行+容量电价PE仅10倍</p>
</div>
<div class="bg-purple-900/20 rounded-lg p-4">
<h3 class="font-semibold text-purple-300 mb-2">成长赛道</h3>
<p class="text-sm">阳光电源储能订单高增2025年PE 15倍</p>
</div>
</div>
<div>
<h3 class="font-semibold text-lg mb-3 text-yellow-400">跟踪指标</h3>
<div class="grid md:grid-cols-3 gap-4">
<div class="flex items-center">
<i class="fas fa-fire text-orange-400 mr-3"></i>
<div>
<p class="font-medium">煤价</p>
<p class="text-xs text-gray-400">秦皇岛Q5500现货价跌破800元/吨</p>
</div>
</div>
<div class="flex items-center">
<i class="fas fa-leaf text-green-400 mr-3"></i>
<div>
<p class="font-medium">绿电溢价</p>
<p class="text-xs text-gray-400">广东/江苏绿电交易溢价突破0.05元/度</p>
</div>
</div>
<div class="flex items-center">
<i class="fas fa-battery-full text-blue-400 mr-3"></i>
<div>
<p class="font-medium">储能装机</p>
<p class="text-xs text-gray-400">2025年国内新增达60GW</p>
</div>
</div>
</div>
</div>
</div>
<!-- 关联股票数据 -->
<div class="glass-effect rounded-2xl p-6">
<h2 class="text-2xl font-bold mb-6 text-blue-400">关联股票数据</h2>
<div class="overflow-x-auto">
<table class="w-full text-sm">
<thead>
<tr class="border-b border-gray-700">
<th class="text-left py-3 px-4">股票名称</th>
<th class="text-left py-3 px-4">项目</th>
<th class="text-left py-3 px-4">分类</th>
<th class="text-left py-3 px-4">原因</th>
</tr>
</thead>
<tbody>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">华能国际</td>
<td class="py-3 px-4">火电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于火电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">华电国际</td>
<td class="py-3 px-4">火电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于火电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">大唐发电</td>
<td class="py-3 px-4">火电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于火电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">浙能电力</td>
<td class="py-3 px-4">火电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于火电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">国电电力</td>
<td class="py-3 px-4">火电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于火电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">长江电力</td>
<td class="py-3 px-4">水电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于水电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">川投能源</td>
<td class="py-3 px-4">水电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于水电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">华能水电</td>
<td class="py-3 px-4">水电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于水电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">桂冠电力</td>
<td class="py-3 px-4">水电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于水电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">三峡能源</td>
<td class="py-3 px-4">风电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于风电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">三峡能源</td>
<td class="py-3 px-4">光伏</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于光伏装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">金风科技</td>
<td class="py-3 px-4">风电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于风电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">新天绿能</td>
<td class="py-3 px-4">风电</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于风电装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">正泰电器</td>
<td class="py-3 px-4">光伏</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于光伏装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">太阳能</td>
<td class="py-3 px-4">光伏</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于光伏装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">吉电股份</td>
<td class="py-3 px-4">光伏</td>
<td class="py-3 px-4">装机量前五</td>
<td class="py-3 px-4 text-gray-400">属于光伏装机量前五</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">中国广核</td>
<td class="py-3 px-4">核电</td>
<td class="py-3 px-4">运营</td>
<td class="py-3 px-4 text-gray-400">属于核电运营</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">中国核电</td>
<td class="py-3 px-4">核电</td>
<td class="py-3 px-4">运营</td>
<td class="py-3 px-4 text-gray-400">属于核电运营</td>
</tr>
<tr class="border-b border-gray-800 hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">阳光电源</td>
<td class="py-3 px-4">储能</td>
<td class="py-3 px-4">设备</td>
<td class="py-3 px-4 text-gray-400">储能逆变器龙头</td>
</tr>
<tr class="hover:bg-gray-800/30">
<td class="py-3 px-4 font-medium">宁德时代</td>
<td class="py-3 px-4">储能</td>
<td class="py-3 px-4">电池</td>
<td class="py-3 px-4 text-gray-400">储能电池龙头</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<script>
// 初始化Vanta.js背景效果
VANTA.WAVES({
el: "#vanta-bg",
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
color: 0x1e3a8a,
shininess: 30.00,
waveHeight: 10.00,
waveSpeed: 0.75,
zoom: 0.75
});
// 添加滚动动画效果
const observerOptions = {
threshold: 0.1,
rootMargin: '0px 0px -100px 0px'
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
}, observerOptions);
document.querySelectorAll('.glass-effect').forEach(el => {
el.style.opacity = '0';
el.style.transform = 'translateY(20px)';
el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
observer.observe(el);
});
</script>
</body>
</html>
```