- 英雄区:知识库简介与标签 - 统计卡片:11模块/18+指标/8策略/30+论文 - 知识体系总览:11个模块卡片 - 指标体系可视化:饼图 + 权重柱状图 - 多指标共振信号演示:实时交互滑块 - 量化策略对比矩阵:8种策略详细对比 - 可交易品种矩阵:加密货币/黄金/代币化美股 - 信号评分分布图 + 大周期偏向雷达图 - MVRV历史区间图 + 资金费率套利收益图 - arXiv核心论文列表(6篇)
968 行
34 KiB
HTML
968 行
34 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>量化交易知识库 | QuantKnowledge</title>
|
||
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
|
||
<style>
|
||
:root {
|
||
--bg: #0d1117;
|
||
--surface: #161b22;
|
||
--surface2: #1e2530;
|
||
--border: #30363d;
|
||
--accent: #58a6ff;
|
||
--accent2: #3fb950;
|
||
--accent3: #f78166;
|
||
--accent4: #d2a8ff;
|
||
--accent5: #ffa657;
|
||
--text: #e6edf3;
|
||
--text2: #8b949e;
|
||
--text3: #c9d1d9;
|
||
--buy: #3fb950;
|
||
--sell: #f85149;
|
||
--neutral: #8b949e;
|
||
}
|
||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||
body {
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
/* ── 顶部导航 ── */
|
||
header {
|
||
background: var(--surface);
|
||
border-bottom: 1px solid var(--border);
|
||
padding: 0 2rem;
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 100;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 60px;
|
||
}
|
||
.logo { font-size: 1.1rem; font-weight: 700; color: var(--accent); letter-spacing: 0.5px; }
|
||
.logo span { color: var(--text2); font-weight: 400; font-size: 0.85rem; margin-left: 8px; }
|
||
nav { display: flex; gap: 1.5rem; }
|
||
nav a {
|
||
color: var(--text2); text-decoration: none; font-size: 0.9rem;
|
||
transition: color 0.2s;
|
||
}
|
||
nav a:hover { color: var(--accent); }
|
||
|
||
/* ── 英雄区 ── */
|
||
.hero {
|
||
background: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #1a2332 100%);
|
||
padding: 5rem 2rem 4rem;
|
||
text-align: center;
|
||
border-bottom: 1px solid var(--border);
|
||
}
|
||
.hero h1 { font-size: 2.8rem; font-weight: 800; margin-bottom: 1rem; }
|
||
.hero h1 .hl { color: var(--accent); }
|
||
.hero p { color: var(--text2); font-size: 1.1rem; max-width: 640px; margin: 0 auto 2rem; }
|
||
.tag-row { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; }
|
||
.tag {
|
||
background: var(--surface2); border: 1px solid var(--border);
|
||
border-radius: 20px; padding: 0.3rem 0.9rem; font-size: 0.8rem; color: var(--text2);
|
||
}
|
||
.tag.green { border-color: var(--accent2); color: var(--accent2); }
|
||
.tag.blue { border-color: var(--accent); color: var(--accent); }
|
||
.tag.purple{ border-color: var(--accent4); color: var(--accent4); }
|
||
.tag.orange{ border-color: var(--accent5); color: var(--accent5); }
|
||
|
||
/* ── 统计卡片 ── */
|
||
.stats-row {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
||
gap: 1rem;
|
||
max-width: 1200px;
|
||
margin: 2rem auto;
|
||
padding: 0 2rem;
|
||
}
|
||
.stat-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
padding: 1.2rem;
|
||
text-align: center;
|
||
transition: border-color 0.2s, transform 0.2s;
|
||
}
|
||
.stat-card:hover { border-color: var(--accent); transform: translateY(-2px); }
|
||
.stat-card .num { font-size: 2rem; font-weight: 700; color: var(--accent); }
|
||
.stat-card .label { color: var(--text2); font-size: 0.85rem; margin-top: 0.3rem; }
|
||
|
||
/* ── 主体布局 ── */
|
||
.container { max-width: 1200px; margin: 0 auto; padding: 2rem; }
|
||
section { margin-bottom: 3rem; }
|
||
.section-title {
|
||
font-size: 1.4rem; font-weight: 700; margin-bottom: 1.5rem;
|
||
display: flex; align-items: center; gap: 0.6rem;
|
||
}
|
||
.section-title::before {
|
||
content: ''; display: inline-block;
|
||
width: 4px; height: 1.4rem; background: var(--accent); border-radius: 2px;
|
||
}
|
||
|
||
/* ── 知识库目录卡片 ── */
|
||
.kb-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
||
gap: 1rem;
|
||
}
|
||
.kb-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
padding: 1.4rem;
|
||
cursor: pointer;
|
||
transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
|
||
text-decoration: none;
|
||
color: inherit;
|
||
display: block;
|
||
}
|
||
.kb-card:hover {
|
||
border-color: var(--accent);
|
||
transform: translateY(-3px);
|
||
box-shadow: 0 8px 24px rgba(88,166,255,0.12);
|
||
}
|
||
.kb-card .icon { font-size: 2rem; margin-bottom: 0.8rem; }
|
||
.kb-card h3 { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; }
|
||
.kb-card p { color: var(--text2); font-size: 0.85rem; line-height: 1.5; }
|
||
.kb-card .badge {
|
||
display: inline-block; margin-top: 0.8rem;
|
||
background: var(--surface2); border: 1px solid var(--border);
|
||
border-radius: 4px; padding: 0.2rem 0.5rem; font-size: 0.75rem; color: var(--text2);
|
||
}
|
||
|
||
/* ── 指标雷达图区 ── */
|
||
.chart-row {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: 1.5rem;
|
||
}
|
||
@media (max-width: 768px) { .chart-row { grid-template-columns: 1fr; } }
|
||
.chart-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
padding: 1.5rem;
|
||
}
|
||
.chart-card h3 { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; color: var(--text3); }
|
||
.chart-wrap { position: relative; height: 280px; }
|
||
|
||
/* ── 信号系统演示 ── */
|
||
.signal-demo {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
padding: 1.5rem;
|
||
}
|
||
.signal-controls {
|
||
display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; align-items: center;
|
||
}
|
||
.signal-controls label { color: var(--text2); font-size: 0.9rem; }
|
||
.signal-controls input[type=range] { width: 120px; accent-color: var(--accent); }
|
||
.signal-controls input[type=checkbox] { accent-color: var(--accent); }
|
||
.signal-result {
|
||
display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center;
|
||
}
|
||
.signal-badge {
|
||
padding: 0.6rem 1.5rem; border-radius: 8px; font-size: 1.2rem; font-weight: 700;
|
||
letter-spacing: 1px;
|
||
}
|
||
.signal-badge.buy { background: rgba(63,185,80,0.15); color: var(--buy); border: 1px solid var(--buy); }
|
||
.signal-badge.sell { background: rgba(248,81,73,0.15); color: var(--sell); border: 1px solid var(--sell); }
|
||
.signal-badge.neutral { background: rgba(139,148,158,0.15); color: var(--neutral); border: 1px solid var(--neutral); }
|
||
.score-bars { flex: 1; min-width: 200px; }
|
||
.score-bar-row { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.6rem; }
|
||
.score-bar-label { width: 60px; font-size: 0.85rem; color: var(--text2); }
|
||
.score-bar-track { flex: 1; height: 8px; background: var(--surface2); border-radius: 4px; overflow: hidden; }
|
||
.score-bar-fill { height: 100%; border-radius: 4px; transition: width 0.4s ease; }
|
||
.score-bar-fill.bull { background: var(--buy); }
|
||
.score-bar-fill.bear { background: var(--sell); }
|
||
.score-bar-num { width: 24px; font-size: 0.85rem; color: var(--text3); text-align: right; }
|
||
|
||
/* ── 策略对比表 ── */
|
||
.strategy-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
|
||
.strategy-table th {
|
||
background: var(--surface2); color: var(--text2);
|
||
padding: 0.8rem 1rem; text-align: left; border-bottom: 1px solid var(--border);
|
||
}
|
||
.strategy-table td {
|
||
padding: 0.8rem 1rem; border-bottom: 1px solid var(--border); color: var(--text3);
|
||
}
|
||
.strategy-table tr:hover td { background: var(--surface2); }
|
||
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
|
||
.dot.green { background: var(--buy); }
|
||
.dot.red { background: var(--sell); }
|
||
.dot.yellow { background: var(--accent5); }
|
||
|
||
/* ── arXiv 论文卡片 ── */
|
||
.paper-list { display: flex; flex-direction: column; gap: 0.8rem; }
|
||
.paper-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 10px;
|
||
padding: 1rem 1.2rem;
|
||
display: flex; gap: 1rem; align-items: flex-start;
|
||
transition: border-color 0.2s;
|
||
}
|
||
.paper-card:hover { border-color: var(--accent4); }
|
||
.paper-id {
|
||
background: var(--surface2); border: 1px solid var(--border);
|
||
border-radius: 6px; padding: 0.3rem 0.6rem; font-size: 0.75rem;
|
||
color: var(--accent4); white-space: nowrap; font-family: monospace;
|
||
}
|
||
.paper-info h4 { font-size: 0.95rem; font-weight: 600; margin-bottom: 0.3rem; }
|
||
.paper-info p { color: var(--text2); font-size: 0.82rem; }
|
||
.paper-info a { color: var(--accent); text-decoration: none; font-size: 0.8rem; }
|
||
.paper-info a:hover { text-decoration: underline; }
|
||
|
||
/* ── 品种矩阵 ── */
|
||
.market-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||
gap: 0.8rem;
|
||
}
|
||
.market-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 10px;
|
||
padding: 1rem;
|
||
transition: border-color 0.2s;
|
||
}
|
||
.market-card:hover { border-color: var(--accent5); }
|
||
.market-card .symbol { font-size: 1.1rem; font-weight: 700; color: var(--accent5); }
|
||
.market-card .name { color: var(--text2); font-size: 0.82rem; margin: 0.3rem 0; }
|
||
.market-card .vol { font-size: 0.8rem; color: var(--text2); }
|
||
.market-card .type-badge {
|
||
display: inline-block; margin-top: 0.5rem;
|
||
border-radius: 4px; padding: 0.15rem 0.5rem; font-size: 0.72rem;
|
||
}
|
||
.type-badge.crypto { background: rgba(88,166,255,0.15); color: var(--accent); }
|
||
.type-badge.gold { background: rgba(255,166,87,0.15); color: var(--accent5); }
|
||
.type-badge.stock { background: rgba(210,168,255,0.15); color: var(--accent4); }
|
||
|
||
/* ── 页脚 ── */
|
||
footer {
|
||
background: var(--surface);
|
||
border-top: 1px solid var(--border);
|
||
padding: 2rem;
|
||
text-align: center;
|
||
color: var(--text2);
|
||
font-size: 0.85rem;
|
||
}
|
||
footer a { color: var(--accent); text-decoration: none; }
|
||
|
||
/* ── 响应式 ── */
|
||
@media (max-width: 600px) {
|
||
.hero h1 { font-size: 1.8rem; }
|
||
nav { display: none; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- 导航 -->
|
||
<header>
|
||
<div class="logo">QuantKnowledge <span>量化交易知识库</span></div>
|
||
<nav>
|
||
<a href="#knowledge">知识体系</a>
|
||
<a href="#indicators">指标体系</a>
|
||
<a href="#signal">信号演示</a>
|
||
<a href="#strategies">策略对比</a>
|
||
<a href="#markets">品种矩阵</a>
|
||
<a href="#papers">arXiv 论文</a>
|
||
</nav>
|
||
</header>
|
||
|
||
<!-- 英雄区 -->
|
||
<div class="hero">
|
||
<h1>量化交易 <span class="hl">知识库</span></h1>
|
||
<p>面向加密货币(CEX/DEX)、黄金代币(XAUT)、代币化美股的全栈量化交易知识体系,全部中文化,本地化存储。</p>
|
||
<div class="tag-row">
|
||
<span class="tag green">加密货币 CEX/DEX</span>
|
||
<span class="tag orange">XAUT 黄金代币</span>
|
||
<span class="tag purple">代币化美股</span>
|
||
<span class="tag blue">多指标共振信号</span>
|
||
<span class="tag">arXiv 论文</span>
|
||
<span class="tag">Python 回测</span>
|
||
<span class="tag">链上数据</span>
|
||
<span class="tag">AI/ML 策略</span>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 统计卡片 -->
|
||
<div class="stats-row">
|
||
<div class="stat-card">
|
||
<div class="num">11</div>
|
||
<div class="label">知识模块</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="num">18+</div>
|
||
<div class="label">技术指标</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="num">8</div>
|
||
<div class="label">交易策略</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="num">30+</div>
|
||
<div class="label">arXiv 论文</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="num">3</div>
|
||
<div class="label">市场类型</div>
|
||
</div>
|
||
<div class="stat-card">
|
||
<div class="num">2</div>
|
||
<div class="label">Python 样本</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container">
|
||
|
||
<!-- 知识体系 -->
|
||
<section id="knowledge">
|
||
<div class="section-title">知识体系总览</div>
|
||
<div class="kb-grid">
|
||
<div class="kb-card">
|
||
<div class="icon">📚</div>
|
||
<h3>01 基础理论</h3>
|
||
<p>量化交易核心概念、市场微观结构、价格形成机制、加密货币市场特殊性分析</p>
|
||
<span class="badge">基础必读</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">📊</div>
|
||
<h3>02 技术指标全集</h3>
|
||
<p>MA/EMA/MACD/RSI/KDJ/布林带/SuperTrend/DMI/ATR/OBV/MFI 等 18+ 指标原理与公式</p>
|
||
<span class="badge">tradehk 参考</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🎯</div>
|
||
<h3>03 交易策略</h3>
|
||
<p>趋势跟踪、均值回归、套利(现货期货/配对)、动量、高频做市策略详解</p>
|
||
<span class="badge">8 种策略</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">⚡</div>
|
||
<h3>04 交易信号系统</h3>
|
||
<p>多指标共振评分引擎:核心信号(MACD/AO/MA)+ 可选信号 + 大周期过滤</p>
|
||
<span class="badge">核心模块</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🌐</div>
|
||
<h3>05 市场品种</h3>
|
||
<p>BTC/ETH 主流币、XAUT 黄金代币、AAPL/TSLA 代币化美股、DEX 流动性品种</p>
|
||
<span class="badge">CEX + DEX</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🔄</div>
|
||
<h3>06 数据流程</h3>
|
||
<p>Binance API 数据采集、K 线清洗、Parquet 存储、WebSocket 实时流处理</p>
|
||
<span class="badge">Python 代码</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🧪</div>
|
||
<h3>07 回测框架</h3>
|
||
<p>回测方法论、过拟合/幸存者偏差规避、夏普/卡尔玛比率、前向测试</p>
|
||
<span class="badge">样本代码</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🛡️</div>
|
||
<h3>08 风险管理</h3>
|
||
<p>固定比例法、Kelly 公式、ATR 动态止损、杠杆管理、多策略相关性分散</p>
|
||
<span class="badge">必读</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">🤖</div>
|
||
<h3>09 AI 与机器学习</h3>
|
||
<p>LSTM 价格预测、强化学习交易、LLM 情绪分析、多模态 K 线分析</p>
|
||
<span class="badge">arXiv 2025</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">⛓️</div>
|
||
<h3>10 链上数据分析</h3>
|
||
<p>SOPR/MVRV/交易所净流入、巨鲸监控、资金费率套利、DeFi TVL 分析</p>
|
||
<span class="badge">独家优势</span>
|
||
</div>
|
||
<div class="kb-card">
|
||
<div class="icon">📄</div>
|
||
<h3>11 参考文献</h3>
|
||
<p>30+ arXiv 论文摘要、开源框架(Freqtrade/FinRL)、数据平台(Glassnode/Coinglass)</p>
|
||
<span class="badge">持续更新</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 指标体系雷达图 -->
|
||
<section id="indicators">
|
||
<div class="section-title">指标体系可视化</div>
|
||
<div class="chart-row">
|
||
<div class="chart-card">
|
||
<h3>指标类别分布</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="indicatorPieChart"></canvas>
|
||
</div>
|
||
</div>
|
||
<div class="chart-card">
|
||
<h3>各指标在信号系统中的权重</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="weightBarChart"></canvas>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 信号系统演示 -->
|
||
<section id="signal">
|
||
<div class="section-title">多指标共振信号演示</div>
|
||
<div class="signal-demo">
|
||
<p style="color:var(--text2);font-size:0.9rem;margin-bottom:1rem;">
|
||
拖动滑块模拟各指标数值,实时查看信号评分与强度判定(基于 tradehk 信号引擎)
|
||
</p>
|
||
<div class="signal-controls">
|
||
<label>RSI: <span id="rsiVal">45</span> <input type="range" id="rsiSlider" min="0" max="100" value="45" /></label>
|
||
<label>MACD状态:
|
||
<select id="macdSelect" style="background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:0.3rem 0.6rem;font-size:0.85rem;">
|
||
<option value="cross_up">金叉</option>
|
||
<option value="cross_down">死叉</option>
|
||
<option value="hist_pos">柱状图正增大</option>
|
||
<option value="hist_neg">柱状图负增大</option>
|
||
<option value="neutral">中性</option>
|
||
</select>
|
||
</label>
|
||
<label>EWO: <span id="ewoVal">0.5</span> <input type="range" id="ewoSlider" min="-3" max="3" step="0.1" value="0.5" /></label>
|
||
<label><input type="checkbox" id="kdjCheck" checked /> KDJ 低位金叉</label>
|
||
<label><input type="checkbox" id="stCheck" /> SuperTrend 反转看多</label>
|
||
<label><input type="checkbox" id="bbCheck" /> 布林带触下轨</label>
|
||
</div>
|
||
<div class="signal-result" id="signalResult">
|
||
<!-- 动态渲染 -->
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 策略对比 -->
|
||
<section id="strategies">
|
||
<div class="section-title">量化策略对比矩阵</div>
|
||
<div style="overflow-x:auto;">
|
||
<table class="strategy-table">
|
||
<thead>
|
||
<tr>
|
||
<th>策略类型</th>
|
||
<th>适用市场状态</th>
|
||
<th>核心指标</th>
|
||
<th>典型胜率</th>
|
||
<th>盈亏比</th>
|
||
<th>适用品种</th>
|
||
<th>风险等级</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><span class="dot green"></span>趋势跟踪</td>
|
||
<td>ADX > 25,单边行情</td>
|
||
<td>EWO + MACD + SuperTrend</td>
|
||
<td>45-55%</td>
|
||
<td>2:1 ~ 4:1</td>
|
||
<td>BTC、ETH</td>
|
||
<td><span style="color:var(--accent5)">中</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot yellow"></span>均值回归</td>
|
||
<td>ADX < 20,横盘震荡</td>
|
||
<td>布林带 + RSI + Stoch</td>
|
||
<td>60-70%</td>
|
||
<td>1:1 ~ 1.5:1</td>
|
||
<td>XAUT、稳定币对</td>
|
||
<td><span style="color:var(--accent2)">低</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot green"></span>配对套利</td>
|
||
<td>任意市场</td>
|
||
<td>协整检验 + Z-Score</td>
|
||
<td>65-75%</td>
|
||
<td>1:1</td>
|
||
<td>XAUT/PAXG</td>
|
||
<td><span style="color:var(--accent2)">低</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot green"></span>资金费率套利</td>
|
||
<td>费率持续为正/负</td>
|
||
<td>资金费率监控</td>
|
||
<td>85%+</td>
|
||
<td>固定收益</td>
|
||
<td>BTC/ETH 永续</td>
|
||
<td><span style="color:var(--accent2)">低</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot yellow"></span>动量策略</td>
|
||
<td>趋势延续期</td>
|
||
<td>RSI + MACD + AO</td>
|
||
<td>50-60%</td>
|
||
<td>1.5:1 ~ 2:1</td>
|
||
<td>主流山寨币</td>
|
||
<td><span style="color:var(--accent5)">中</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot red"></span>CME 缺口策略</td>
|
||
<td>周末 BTC 市场</td>
|
||
<td>CME 价差监控</td>
|
||
<td>70-80%</td>
|
||
<td>1:1 ~ 1.5:1</td>
|
||
<td>BTC</td>
|
||
<td><span style="color:var(--accent5)">中</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot red"></span>强化学习</td>
|
||
<td>任意市场</td>
|
||
<td>PPO/DQN Agent</td>
|
||
<td>55-65%</td>
|
||
<td>1.5:1 ~ 3:1</td>
|
||
<td>BTC、ETH</td>
|
||
<td><span style="color:var(--sell)">高</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="dot yellow"></span>板块轮动</td>
|
||
<td>牛市中期</td>
|
||
<td>相对强弱 RS</td>
|
||
<td>55-65%</td>
|
||
<td>2:1 ~ 3:1</td>
|
||
<td>加密货币板块</td>
|
||
<td><span style="color:var(--accent5)">中</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 品种矩阵 -->
|
||
<section id="markets">
|
||
<div class="section-title">可交易品种矩阵</div>
|
||
<div class="market-grid" id="marketGrid">
|
||
<!-- 动态渲染 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 信号评分图 -->
|
||
<section>
|
||
<div class="section-title">信号评分系统可视化</div>
|
||
<div class="chart-row">
|
||
<div class="chart-card">
|
||
<h3>多头 vs 空头评分分布(模拟 100 根 K 线)</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="scoreDistChart"></canvas>
|
||
</div>
|
||
</div>
|
||
<div class="chart-card">
|
||
<h3>大周期偏向判断(EWO + MACD + AO 权重)</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="biasChart"></canvas>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- arXiv 论文 -->
|
||
<section id="papers">
|
||
<div class="section-title">核心 arXiv 论文</div>
|
||
<div class="paper-list" id="paperList">
|
||
<!-- 动态渲染 -->
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 链上数据指标 -->
|
||
<section>
|
||
<div class="section-title">链上数据关键指标</div>
|
||
<div class="chart-row">
|
||
<div class="chart-card">
|
||
<h3>MVRV 历史区间与市场状态</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="mvrvChart"></canvas>
|
||
</div>
|
||
</div>
|
||
<div class="chart-card">
|
||
<h3>资金费率套利年化收益估算</h3>
|
||
<div class="chart-wrap">
|
||
<canvas id="fundingChart"></canvas>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
</div>
|
||
|
||
<!-- 页脚 -->
|
||
<footer>
|
||
<p>量化交易知识库 v1.0 | 构建于 2026-03-05 | 参考项目:<a href="ssh://git@git.hk.hao.work:2222/hao/tradehk.git">tradehk</a></p>
|
||
<p style="margin-top:0.5rem;">⚠️ 本知识库仅供学习研究,不构成投资建议。量化交易存在亏损风险。</p>
|
||
</footer>
|
||
|
||
<script>
|
||
// ============================================================
|
||
// 数据定义
|
||
// ============================================================
|
||
|
||
const MARKETS = [
|
||
{ symbol: 'BTC', name: '比特币', vol: '年化波动率 60-80%', type: 'crypto' },
|
||
{ symbol: 'ETH', name: '以太坊', vol: '年化波动率 70-90%', type: 'crypto' },
|
||
{ symbol: 'SOL', name: 'Solana', vol: '年化波动率 80-120%', type: 'crypto' },
|
||
{ symbol: 'BNB', name: 'Binance Coin', vol: '年化波动率 60-90%', type: 'crypto' },
|
||
{ symbol: 'DOGE', name: '狗狗币', vol: '年化波动率 100-200%', type: 'crypto' },
|
||
{ symbol: 'AVAX', name: 'Avalanche', vol: '年化波动率 80-130%', type: 'crypto' },
|
||
{ symbol: 'XAUT', name: 'Tether Gold', vol: '年化波动率 12-18%', type: 'gold' },
|
||
{ symbol: 'PAXG', name: 'Paxos Gold', vol: '年化波动率 12-18%', type: 'gold' },
|
||
{ symbol: 'xAAPL', name: '苹果(代币化)', vol: '年化波动率 25-35%', type: 'stock' },
|
||
{ symbol: 'xTSLA', name: '特斯拉(代币化)', vol: '年化波动率 50-80%', type: 'stock' },
|
||
{ symbol: 'xNVDA', name: '英伟达(代币化)', vol: '年化波动率 40-70%', type: 'stock' },
|
||
{ symbol: 'xMSFT', name: '微软(代币化)', vol: '年化波动率 20-30%', type: 'stock' },
|
||
];
|
||
|
||
const PAPERS = [
|
||
{
|
||
id: '2503.21422',
|
||
title: 'From Deep Learning to LLMs: A survey of AI in Quantitative Investment',
|
||
desc: '系统综述 AI 在量化投资全流程的应用,从传统统计到 LLM Agent,2025年最新综述。',
|
||
url: 'https://arxiv.org/abs/2503.21422',
|
||
year: '2025-03'
|
||
},
|
||
{
|
||
id: '2411.07585',
|
||
title: 'Reinforcement Learning Framework for Quantitative Trading',
|
||
desc: '量化交易强化学习框架,在加密货币 30 分钟窗口内测试 PPO 算法表现。',
|
||
url: 'https://arxiv.org/abs/2411.07585',
|
||
year: '2024-11'
|
||
},
|
||
{
|
||
id: '2412.18202',
|
||
title: 'Developing Cryptocurrency Trading Strategy Based on Autoencoder',
|
||
desc: '去噪自编码器提取价格序列低维特征,结合 LSTM 预测加密货币价格。',
|
||
url: 'https://arxiv.org/abs/2412.18202',
|
||
year: '2024-12'
|
||
},
|
||
{
|
||
id: '2511.00665',
|
||
title: 'Technical Analysis Meets Machine Learning: Bitcoin Evidence',
|
||
desc: '对比 LightGBM 和 LSTM 在 BTC 技术分析信号预测中的表现,验证 ML 整合多指标的有效性。',
|
||
url: 'https://arxiv.org/abs/2511.00665',
|
||
year: '2025-11'
|
||
},
|
||
{
|
||
id: '2509.09751',
|
||
title: 'Meta-Learning Reinforcement Learning for Crypto-Return Prediction',
|
||
desc: 'Meta-RL-Crypto 框架,结合元学习解决加密货币市场非平稳性问题。',
|
||
url: 'https://arxiv.org/abs/2509.09751',
|
||
year: '2025-09'
|
||
},
|
||
{
|
||
id: '2504.02281',
|
||
title: 'FinRL Contest 2024: Cryptocurrency Trading with Ensemble Learning',
|
||
desc: '集成学习方法训练 BTC 交易智能体,FinRL 竞赛冠军方案。',
|
||
url: 'https://arxiv.org/abs/2504.02281',
|
||
year: '2025-04'
|
||
},
|
||
];
|
||
|
||
// ============================================================
|
||
// 渲染品种矩阵
|
||
// ============================================================
|
||
|
||
const marketGrid = document.getElementById('marketGrid');
|
||
MARKETS.forEach(m => {
|
||
const card = document.createElement('div');
|
||
card.className = 'market-card';
|
||
card.innerHTML = `
|
||
<div class="symbol">${m.symbol}</div>
|
||
<div class="name">${m.name}</div>
|
||
<div class="vol">${m.vol}</div>
|
||
<span class="type-badge ${m.type}">${m.type === 'crypto' ? '加密货币' : m.type === 'gold' ? '黄金代币' : '代币化美股'}</span>
|
||
`;
|
||
marketGrid.appendChild(card);
|
||
});
|
||
|
||
// ============================================================
|
||
// 渲染论文列表
|
||
// ============================================================
|
||
|
||
const paperList = document.getElementById('paperList');
|
||
PAPERS.forEach(p => {
|
||
const card = document.createElement('div');
|
||
card.className = 'paper-card';
|
||
card.innerHTML = `
|
||
<div class="paper-id">${p.id}</div>
|
||
<div class="paper-info">
|
||
<h4>${p.title}</h4>
|
||
<p>${p.desc}</p>
|
||
<a href="${p.url}" target="_blank">→ 查看论文 (${p.year})</a>
|
||
</div>
|
||
`;
|
||
paperList.appendChild(card);
|
||
});
|
||
|
||
// ============================================================
|
||
// 信号演示
|
||
// ============================================================
|
||
|
||
function calcSignal() {
|
||
const rsi = parseInt(document.getElementById('rsiSlider').value);
|
||
const macd = document.getElementById('macdSelect').value;
|
||
const ewo = parseFloat(document.getElementById('ewoSlider').value);
|
||
const kdj = document.getElementById('kdjCheck').checked;
|
||
const st = document.getElementById('stCheck').checked;
|
||
const bb = document.getElementById('bbCheck').checked;
|
||
|
||
document.getElementById('rsiVal').textContent = rsi;
|
||
document.getElementById('ewoVal').textContent = ewo.toFixed(1);
|
||
|
||
let bull = 0, bear = 0;
|
||
|
||
// MACD
|
||
if (macd === 'cross_up') bull += 2;
|
||
else if (macd === 'cross_down') bear += 2;
|
||
else if (macd === 'hist_pos') bull += 1;
|
||
else if (macd === 'hist_neg') bear += 1;
|
||
|
||
// AO / EWO 方向
|
||
if (ewo > 0) bull += 1; else if (ewo < 0) bear += 1;
|
||
|
||
// MA 排列(用 EWO 代替)
|
||
if (ewo > 0.5) bull += 1; else if (ewo < -0.5) bear += 1;
|
||
|
||
// RSI
|
||
if (rsi < 30) bull += 1; else if (rsi > 70) bear += 1;
|
||
|
||
// KDJ
|
||
if (kdj) bull += 2;
|
||
|
||
// SuperTrend
|
||
if (st) bull += 2;
|
||
|
||
// 布林带
|
||
if (bb) bull += 1;
|
||
|
||
const total = Math.max(bull, bear);
|
||
let type = bull > bear ? 'BUY' : bear > bull ? 'SELL' : 'NEUTRAL';
|
||
let strength = total >= 7 ? 'STRONG' : total >= 4 ? 'MODERATE' : 'WEAK';
|
||
if (type === 'NEUTRAL') strength = 'WEAK';
|
||
|
||
const maxScore = 12;
|
||
const bullPct = Math.min(100, (bull / maxScore) * 100);
|
||
const bearPct = Math.min(100, (bear / maxScore) * 100);
|
||
|
||
const strengthLabel = { STRONG: '强', MODERATE: '中', WEAK: '弱' }[strength];
|
||
const typeLabel = { BUY: '买入', SELL: '卖出', NEUTRAL: '中性' }[type];
|
||
|
||
document.getElementById('signalResult').innerHTML = `
|
||
<div class="signal-badge ${type.toLowerCase()}">${typeLabel} · ${strengthLabel}</div>
|
||
<div class="score-bars">
|
||
<div class="score-bar-row">
|
||
<span class="score-bar-label">多头评分</span>
|
||
<div class="score-bar-track"><div class="score-bar-fill bull" style="width:${bullPct}%"></div></div>
|
||
<span class="score-bar-num">${bull}</span>
|
||
</div>
|
||
<div class="score-bar-row">
|
||
<span class="score-bar-label">空头评分</span>
|
||
<div class="score-bar-track"><div class="score-bar-fill bear" style="width:${bearPct}%"></div></div>
|
||
<span class="score-bar-num">${bear}</span>
|
||
</div>
|
||
</div>
|
||
<div style="color:var(--text2);font-size:0.82rem;line-height:1.8;">
|
||
MACD: ${macd === 'cross_up' ? '金叉(+2)' : macd === 'cross_down' ? '死叉(+2)' : macd === 'hist_pos' ? '柱正增大(+1)' : macd === 'hist_neg' ? '柱负增大(+1)' : '中性'}<br>
|
||
EWO: ${ewo > 0 ? '看多(+1)' : ewo < 0 ? '看空(+1)' : '中性'} | RSI ${rsi}: ${rsi < 30 ? '超卖(+1)' : rsi > 70 ? '超买(+1)' : '中性'}<br>
|
||
KDJ: ${kdj ? '低位金叉(+2)' : '未触发'} | ST: ${st ? '反转看多(+2)' : '未触发'} | BB: ${bb ? '触下轨(+1)' : '未触发'}
|
||
</div>
|
||
`;
|
||
}
|
||
|
||
['rsiSlider','ewoSlider'].forEach(id => document.getElementById(id).addEventListener('input', calcSignal));
|
||
['macdSelect','kdjCheck','stCheck','bbCheck'].forEach(id => document.getElementById(id).addEventListener('change', calcSignal));
|
||
calcSignal();
|
||
|
||
// ============================================================
|
||
// Chart.js 图表
|
||
// ============================================================
|
||
|
||
const CHART_DEFAULTS = {
|
||
color: '#8b949e',
|
||
borderColor: '#30363d',
|
||
};
|
||
Chart.defaults.color = CHART_DEFAULTS.color;
|
||
Chart.defaults.borderColor = CHART_DEFAULTS.borderColor;
|
||
|
||
// 1. 指标类别饼图
|
||
new Chart(document.getElementById('indicatorPieChart'), {
|
||
type: 'doughnut',
|
||
data: {
|
||
labels: ['趋势类', '动量类', '波动率类', '成交量类', '趋势强度类'],
|
||
datasets: [{
|
||
data: [3, 6, 3, 3, 1],
|
||
backgroundColor: ['#58a6ff','#3fb950','#ffa657','#d2a8ff','#f78166'],
|
||
borderWidth: 2,
|
||
borderColor: '#161b22',
|
||
}]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
plugins: {
|
||
legend: { position: 'right', labels: { padding: 16, font: { size: 12 } } }
|
||
}
|
||
}
|
||
});
|
||
|
||
// 2. 指标权重柱状图
|
||
new Chart(document.getElementById('weightBarChart'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: ['MACD金叉', 'KDJ低位金叉', 'ST反转', 'DMI金叉', 'MACD柱扩大', 'AO穿零', 'MA排列', 'RSI超卖', '布林带触轨'],
|
||
datasets: [{
|
||
label: '最大权重分',
|
||
data: [2, 2, 2, 2, 1, 1, 1, 1, 1],
|
||
backgroundColor: '#58a6ff88',
|
||
borderColor: '#58a6ff',
|
||
borderWidth: 1,
|
||
}]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
indexAxis: 'y',
|
||
plugins: { legend: { display: false } },
|
||
scales: {
|
||
x: { grid: { color: '#30363d' }, ticks: { stepSize: 1 } },
|
||
y: { grid: { color: '#30363d' } }
|
||
}
|
||
}
|
||
});
|
||
|
||
// 3. 评分分布图(模拟数据)
|
||
const bullScores = Array.from({length: 50}, () => Math.floor(Math.random() * 8));
|
||
const bearScores = Array.from({length: 50}, () => Math.floor(Math.random() * 8));
|
||
new Chart(document.getElementById('scoreDistChart'), {
|
||
type: 'scatter',
|
||
data: {
|
||
datasets: [
|
||
{
|
||
label: '多头评分',
|
||
data: bullScores.map((v, i) => ({ x: i, y: v })),
|
||
backgroundColor: '#3fb95066',
|
||
borderColor: '#3fb950',
|
||
pointRadius: 4,
|
||
},
|
||
{
|
||
label: '空头评分',
|
||
data: bearScores.map((v, i) => ({ x: i, y: v })),
|
||
backgroundColor: '#f8514966',
|
||
borderColor: '#f85149',
|
||
pointRadius: 4,
|
||
}
|
||
]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
plugins: { legend: { position: 'top' } },
|
||
scales: {
|
||
x: { title: { display: true, text: 'K 线序号' }, grid: { color: '#30363d' } },
|
||
y: { title: { display: true, text: '评分' }, min: 0, max: 10, grid: { color: '#30363d' } }
|
||
}
|
||
}
|
||
});
|
||
|
||
// 4. 大周期偏向雷达图
|
||
new Chart(document.getElementById('biasChart'), {
|
||
type: 'radar',
|
||
data: {
|
||
labels: ['EWO(权重2)', 'MACD方向(权重1)', 'MACD柱(权重1)', 'AO方向(权重1)'],
|
||
datasets: [
|
||
{
|
||
label: '多头场景',
|
||
data: [2, 1, 1, 1],
|
||
backgroundColor: '#3fb95033',
|
||
borderColor: '#3fb950',
|
||
pointBackgroundColor: '#3fb950',
|
||
},
|
||
{
|
||
label: '空头场景',
|
||
data: [2, 1, 1, 1],
|
||
backgroundColor: '#f8514933',
|
||
borderColor: '#f85149',
|
||
pointBackgroundColor: '#f85149',
|
||
}
|
||
]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
plugins: { legend: { position: 'top' } },
|
||
scales: {
|
||
r: {
|
||
grid: { color: '#30363d' },
|
||
pointLabels: { font: { size: 11 } },
|
||
min: 0, max: 2, ticks: { stepSize: 1, backdropColor: 'transparent' }
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
// 5. MVRV 历史区间
|
||
new Chart(document.getElementById('mvrvChart'), {
|
||
type: 'bar',
|
||
data: {
|
||
labels: ['< 1\n(极度低估)', '1-2\n(合理)', '2-3\n(偏高)', '3-3.5\n(高估)', '> 3.5\n(极度高估)'],
|
||
datasets: [{
|
||
label: '历史出现频率 %',
|
||
data: [8, 35, 32, 15, 10],
|
||
backgroundColor: ['#3fb950','#58a6ff','#ffa657','#f78166','#f85149'],
|
||
borderWidth: 0,
|
||
}]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
plugins: {
|
||
legend: { display: false },
|
||
tooltip: {
|
||
callbacks: {
|
||
afterLabel: (ctx) => {
|
||
const labels = ['历史底部区域,买入机会', '正常持仓区间', '谨慎持仓', '注意风险', '历史牛市顶部,减仓'];
|
||
return labels[ctx.dataIndex];
|
||
}
|
||
}
|
||
}
|
||
},
|
||
scales: {
|
||
x: { grid: { color: '#30363d' } },
|
||
y: { grid: { color: '#30363d' }, title: { display: true, text: '频率 (%)' } }
|
||
}
|
||
}
|
||
});
|
||
|
||
// 6. 资金费率套利收益
|
||
new Chart(document.getElementById('fundingChart'), {
|
||
type: 'line',
|
||
data: {
|
||
labels: ['0.01%', '0.02%', '0.03%', '0.05%', '0.08%', '0.10%', '0.15%', '0.20%'],
|
||
datasets: [{
|
||
label: '年化收益率 (%)',
|
||
data: [10.95, 21.9, 32.85, 54.75, 87.6, 109.5, 164.25, 219],
|
||
borderColor: '#ffa657',
|
||
backgroundColor: '#ffa65733',
|
||
fill: true,
|
||
tension: 0.4,
|
||
pointRadius: 5,
|
||
pointBackgroundColor: '#ffa657',
|
||
}]
|
||
},
|
||
options: {
|
||
responsive: true, maintainAspectRatio: false,
|
||
plugins: { legend: { position: 'top' } },
|
||
scales: {
|
||
x: { title: { display: true, text: '每8小时资金费率' }, grid: { color: '#30363d' } },
|
||
y: { title: { display: true, text: '年化收益率 (%)' }, grid: { color: '#30363d' } }
|
||
}
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|