gotti_signal_gen / src /db /get_event_from_db.py
Papaflessas's picture
Deploy Signal Generator app
3fe0726
from datetime import datetime, timedelta
from db.local_database import LocalDatabase, DatabaseEntry, DataType
from db.adapters import (
CalendarAdapter,
FundamentalAdapter,
NewsAdapter,
TechnicalAnalysisAdapter
)
def get_events(type:str, date_str:str):
"""Retrieve event data from the local database for a given type, ticker, and date"""
db = LocalDatabase()
entries = db.query(date_from=date_str, data_type=type)
for entry in entries:
if entry:
return entry.data ## RETURN FIRST MATCHING ENTRY ONLY
return None
def get_event_ticker(type:str, ticker:str, date_str:str):
"""Retrieve event data from the local database for a given type, ticker, and date"""
db = LocalDatabase()
entry = db.get(date_str=date_str, data_type=type,ticker=ticker)
if entry:
return entry.data
return None
if __name__ == "__main__":
# Example usage
date_str = datetime.now().strftime("%Y-%m-%d")
ticker = "ABNB"
event_types = [
DataType.DIVIDENDS.value,
DataType.STOCK_SPLIT.value,
DataType.IPO.value,
DataType.EARNINGS.value,
DataType.ECONOMIC_EVENTS.value,
DataType.FUNDAMENTAL.value,
DataType.NEWS.value,
DataType.TECHNICAL_ANALYSIS.value
]
for event_type in event_types:
print(event_type)
event_data = get_events(event_type, date_str)
print(f"Event Type: {event_type}, Date: {date_str}")
print(f"Data: {event_data}\n")