Skip to content

Commit 2dad4ad

Browse files
committed
eliminated backtest... for now
1 parent 38b6cf2 commit 2dad4ad

2 files changed

Lines changed: 46 additions & 1 deletion

File tree

scripts/database.py

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,4 +418,42 @@ def create_portfolio_tables():
418418
logger.error(f"Errore nella creazione indici portfolio: {e}")
419419
raise
420420

421-
logger.info("Setup completo tabelle portfolio completato con successo")
421+
logger.info("Setup completo tabelle portfolio completato con successo")
422+
423+
424+
def reset_entire_db(confirm: bool = False):
425+
"""
426+
Elimina TUTTE le tabelle gestite dal modulo, inclusa universe.
427+
ATTENZIONE: cancella tutti i dati!
428+
429+
Parameters
430+
----------
431+
confirm : bool
432+
Deve essere True per eseguire realmente la cancellazione.
433+
"""
434+
if not confirm:
435+
logger.warning("Reset DB non eseguito. Imposta confirm=True per confermare.")
436+
return
437+
438+
tables = [
439+
"portfolio_trades",
440+
"portfolio_positions",
441+
"portfolio_snapshots",
442+
"portfolio_trades_backtest",
443+
"portfolio_positions_backtest",
444+
"portfolio_snapshots_backtest",
445+
#"universe"
446+
]
447+
448+
with _get_connection_context() as conn:
449+
with conn.cursor() as cursor:
450+
for table in tables:
451+
try:
452+
cursor.execute(f"DROP TABLE IF EXISTS {table} CASCADE;")
453+
logger.info(f"Tabella {table} eliminata con successo")
454+
except Exception as e:
455+
logger.error(f"Errore eliminando tabella {table}: {e}")
456+
raise
457+
conn.commit()
458+
459+
logger.info("Reset completo del database (tabelle universe e portfolio/backtest eliminate)")

test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@
33
from datetime import datetime
44
from scripts.risk_manager import get_signals
55
from scripts.strategies import rsi_strategy, moving_average_crossover, breakout_strategy
6+
from scripts.database import *
7+
from scripts.portfolio import Portfolio
68

79
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s")
810

911
start_date = "2025-09-01"
1012

1113
def main():
14+
15+
reset_entire_db(True)
16+
create_portfolio_tables()
17+
p = Portfolio.create("demo", start_date)
18+
1219
dict_result = get_signals(rsi_strategy, datetime.strptime(start_date, '%Y-%m-%d'), "demo")
1320
print("\n=== Signals Result ===")
1421
print(json.dumps(dict_result, indent=4, sort_keys=False, default=str))

0 commit comments

Comments
 (0)