feat: instrument model
This commit is contained in:
@@ -44,6 +44,27 @@ def list_instrument_models():
|
||||
conn.close()
|
||||
|
||||
|
||||
@router.get("/{instrument}/regime")
|
||||
def get_instrument_regime(
|
||||
instrument: str,
|
||||
at_date: Optional[str] = Query(None),
|
||||
) -> Dict[str, Any]:
|
||||
"""Régime de marché courant pour cet instrument (détecté depuis events actifs)."""
|
||||
from services.database import get_conn
|
||||
from services.instrument_models import _compute_event_by_category, detect_regime
|
||||
from datetime import datetime, date as date_type
|
||||
conn = get_conn()
|
||||
try:
|
||||
try:
|
||||
ref_date = date_type.fromisoformat(at_date) if at_date else datetime.utcnow().date()
|
||||
except ValueError:
|
||||
ref_date = datetime.utcnow().date()
|
||||
ev_by_cat = _compute_event_by_category(conn, instrument.upper(), ref_date)
|
||||
return detect_regime(ev_by_cat)
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
@router.get("/{instrument}/timeline")
|
||||
def get_instrument_timeline(
|
||||
instrument: str,
|
||||
|
||||
Reference in New Issue
Block a user