feat: pressure
This commit is contained in:
@@ -96,18 +96,33 @@ def _find_existing(conn, currency: str, meeting_date: str) -> Optional[dict]:
|
||||
def _upsert_analyses(conn, event_id: int, template_id: int, instruments: list[str], signal: float):
|
||||
"""
|
||||
Crée/recrée les causal_event_analyses pour que l'event apparaisse
|
||||
dans la Frise de chaque instrument concerné.
|
||||
dans la Frise et dans la theoretical-curve de chaque instrument.
|
||||
Calcule prediction_json via evaluate_graph pour alimenter le factor engine.
|
||||
"""
|
||||
conn.execute(
|
||||
"DELETE FROM causal_event_analyses WHERE market_event_id=?", (event_id,)
|
||||
)
|
||||
inputs = json.dumps({"guidance_signal": signal})
|
||||
inputs_dict = {"guidance_signal": signal}
|
||||
inputs_json = json.dumps(inputs_dict)
|
||||
|
||||
# Évalue le graphe pour obtenir les pips prédits par instrument
|
||||
node_values: dict = {}
|
||||
try:
|
||||
from services.causal_graphs import evaluate_graph, get_template
|
||||
tmpl = get_template(conn, template_id)
|
||||
if tmpl:
|
||||
node_values = evaluate_graph(tmpl["graph_json"], inputs_dict)
|
||||
except Exception as e:
|
||||
logger.warning(f"[guidance_sync] evaluate_graph failed: {e}")
|
||||
|
||||
prediction_json = json.dumps(node_values) if node_values else None
|
||||
|
||||
for inst in instruments:
|
||||
conn.execute("""
|
||||
INSERT INTO causal_event_analyses
|
||||
(market_event_id, template_id, instrument, inputs_json, analyzed_at)
|
||||
VALUES (?, ?, ?, ?, datetime('now'))
|
||||
""", (event_id, template_id, inst, inputs))
|
||||
(market_event_id, template_id, instrument, inputs_json, prediction_json, analyzed_at)
|
||||
VALUES (?, ?, ?, ?, ?, datetime('now'))
|
||||
""", (event_id, template_id, inst, inputs_json, prediction_json))
|
||||
|
||||
|
||||
def _build_title(currency: str, signal: float, meeting_date: str) -> str:
|
||||
|
||||
Reference in New Issue
Block a user