说明:本提交**不是本轮会话所做**,而是工作区里此前遗留的未提交改动。
为把历史分开,先单独提交它,再提交本轮会话的修改。
包含:
- Web 前端:web/index.html、web/app.js(统一 SPA,含回测/画像/Walk-forward 页面)
- 后端接口:web/server.py 路由、web/analysis.py(新增个股分析)
- 报告层:report/format.py(新增统一数字格式化 NumFmt)、
report/{backtest,profile,sensitivity,universe,walkforward}_report.py 接入 NumFmt、
report/renderer.py
- 股息率口径:factor/dividend_yield.py(毛刺消除 smooth_spikes)
- 筛选:universe/selector.py、universe/filters/dividend.py
- 绩效/敏感性:analysis/performance.py、analysis/sensitivity.py
- 部署:deploy/install-service.sh
- 测试:tests/test_format.py、tests/test_dividend_smoothing.py(新增)、
tests/test_web.py、tests/test_universe.py
提交时全量测试 403 项通过。
40 lines
1.1 KiB
HTML
40 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>高股息回测系统</title>
|
|
<link rel="stylesheet" href="app/app.css">
|
|
<script src="assets/echarts.min.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<header class="topbar">
|
|
<a class="brand" href="#/">高股息回测系统</a>
|
|
<nav class="nav">
|
|
<a href="#/" data-nav="home">概览</a>
|
|
<a href="#/universes" data-nav="universes">股票池筛选</a>
|
|
<a href="#/backtests" data-nav="backtests">回测</a>
|
|
<a href="#/walkforwards" data-nav="walkforwards">样本外</a>
|
|
<a href="#/archive" data-nav="archive">归档</a>
|
|
</nav>
|
|
<div class="topbar-right">
|
|
<span id="db-info" class="muted small"></span>
|
|
<span id="api-status" class="badge">连接中…</span>
|
|
</div>
|
|
</header>
|
|
|
|
<main id="view" class="wrap">
|
|
<div class="loading">加载中…</div>
|
|
</main>
|
|
|
|
<footer class="foot">
|
|
<span id="foot-note" class="muted small"></span>
|
|
</footer>
|
|
|
|
<div id="toast" class="toast"></div>
|
|
|
|
<script src="app/app.js"></script>
|
|
</body>
|
|
</html>
|