feat: saxo price
This commit is contained in:
@@ -3375,6 +3375,19 @@ def reorder_instruments_watchlist(tickers: List[str]) -> None:
|
||||
conn.close()
|
||||
|
||||
|
||||
def rename_instrument_watchlist(ticker: str, name: str) -> bool:
|
||||
"""Set a free-form display name — the ticker (primary key) no longer has to be a
|
||||
yfinance-recognized code now that an instrument can be entirely Saxo-sourced
|
||||
(saxo_option_symbol + saxo_quote_symbol), so the auto-derived yfinance long_name is
|
||||
just a starting point, not the only option."""
|
||||
conn = get_conn()
|
||||
conn.execute("UPDATE instruments_watchlist SET name=? WHERE ticker=?", (name.strip(), ticker.upper()))
|
||||
changed = conn.total_changes > 0
|
||||
conn.commit()
|
||||
conn.close()
|
||||
return changed
|
||||
|
||||
|
||||
# ── Wavelets — saved simulation/optimization runs ─────────────────────────────
|
||||
|
||||
def save_wavelet_simulation(name: str, form: Dict, results: Optional[List[Dict]] = None,
|
||||
|
||||
Reference in New Issue
Block a user