合约详情加入次日预测振幅,取最近5日波幅均值

This commit is contained in:
2026-07-24 22:26:33 +08:00
parent 58e3e98031
commit dce017fbf2
2 changed files with 12 additions and 5 deletions
+6
View File
@@ -79,6 +79,11 @@ def contract_detail(request: Request, contract: str, db: Session = Depends(get_d
latest = bars[0] if bars else None latest = bars[0] if bars else None
# Predict next trading day amplitude: mean of latest 5 diffs
next_amp = None
if len(bars) >= 5:
next_amp = round(sum(b.diff for b in bars[:5]) / 5)
template = request.app.state.templates.get_template("contract.html") template = request.app.state.templates.get_template("contract.html")
return HTMLResponse( return HTMLResponse(
template.render( template.render(
@@ -88,6 +93,7 @@ def contract_detail(request: Request, contract: str, db: Session = Depends(get_d
contracts=active_contracts, contracts=active_contracts,
rows=rows, rows=rows,
latest=latest, latest=latest,
next_amp=next_amp,
row_count=len(rows), row_count=len(rows),
) )
) )
+6 -5
View File
@@ -12,13 +12,14 @@
<div class="trend">日期 {{ latest.date }}</div> <div class="trend">日期 {{ latest.date }}</div>
</div> </div>
<div class="stat-card"> <div class="stat-card">
<div class="label">当日振幅</div> <div class="label">次日预测振幅</div>
<div class="value">{{ latest.amp_5d|int if latest.amp_5d else '—' }}</div> <div class="value" style="color:var(--accent);">{{ next_amp if next_amp else '—' }}</div>
<div class="trend">日波幅 {{ latest.diff|int }} 点</div> <div class="trend">近5日均波幅</div>
</div> </div>
<div class="stat-card"> <div class="stat-card">
<div class="label">数据条数</div> <div class="label">最新波幅</div>
<div class="value">{{ row_count }}</div> <div class="value">{{ latest.diff|int }}</div>
<div class="trend">{{ latest.date }}</div>
</div> </div>
</div> </div>
{% endif %} {% endif %}