@@ -59,6 +59,20 @@ def contract_index(request: Request, db: Session = Depends(get_db)):
|
||||
if bar.contract not in contract_bars:
|
||||
contract_bars[bar.contract] = bar
|
||||
|
||||
# Next-day amplitude: mean of latest 5 diffs per contract
|
||||
contract_next_amp = {}
|
||||
for code in all_codes:
|
||||
diffs = [
|
||||
r[0] for r in
|
||||
db.query(DailyBar.high - DailyBar.low)
|
||||
.filter(DailyBar.contract == code)
|
||||
.order_by(DailyBar.date.desc())
|
||||
.limit(5)
|
||||
.all()
|
||||
]
|
||||
if len(diffs) >= 5:
|
||||
contract_next_amp[code] = round(sum(diffs) / 5)
|
||||
|
||||
template = request.app.state.templates.get_template("index.html")
|
||||
return HTMLResponse(
|
||||
template.render(
|
||||
@@ -66,6 +80,7 @@ def contract_index(request: Request, db: Session = Depends(get_db)):
|
||||
active_nav="contracts",
|
||||
product_groups=product_groups,
|
||||
contract_bars=contract_bars,
|
||||
contract_next_amp=contract_next_amp,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user