text exporter

This commit is contained in:
Dobromir Popov
2025-08-26 18:16:12 +03:00
parent c39b70f6fa
commit 9a76624904
9 changed files with 658 additions and 106 deletions

View File

@@ -28,6 +28,9 @@ import shutil
import torch
import torch.nn as nn
import torch.optim as optim
# Text export integration
from .text_export_integration import TextExportManager
import pandas as pd
from pathlib import Path
@@ -568,6 +571,7 @@ class TradingOrchestrator:
self._initialize_decision_fusion() # Initialize fusion system
self._initialize_transformer_model() # Initialize transformer model
self._initialize_enhanced_training_system() # Initialize real-time training
self._initialize_text_export_manager() # Initialize text data export
def _normalize_model_name(self, name: str) -> str:
"""Map various registry/UI names to canonical toggle keys."""
@@ -7023,6 +7027,66 @@ class TradingOrchestrator:
logger.error(f"Error stopping enhanced training: {e}")
return False
def _initialize_text_export_manager(self):
"""Initialize the text data export manager"""
try:
self.text_export_manager = TextExportManager(
data_provider=self.data_provider,
orchestrator=self
)
# Configure with current symbols
export_config = {
'main_symbol': self.symbol,
'ref1_symbol': self.ref_symbols[0] if self.ref_symbols else 'BTC/USDT',
'ref2_symbol': 'SPX', # Default to SPX for now
'export_dir': 'data/text_exports'
}
self.text_export_manager.export_config.update(export_config)
logger.info("Text export manager initialized")
logger.info(f" - Main symbol: {export_config['main_symbol']}")
logger.info(f" - Reference symbols: {export_config['ref1_symbol']}, {export_config['ref2_symbol']}")
logger.info(f" - Export directory: {export_config['export_dir']}")
except Exception as e:
logger.error(f"Error initializing text export manager: {e}")
self.text_export_manager = None
def start_text_export(self) -> bool:
"""Start text data export"""
try:
if not hasattr(self, 'text_export_manager') or not self.text_export_manager:
logger.warning("Text export manager not initialized")
return False
return self.text_export_manager.start_export()
except Exception as e:
logger.error(f"Error starting text export: {e}")
return False
def stop_text_export(self) -> bool:
"""Stop text data export"""
try:
if not hasattr(self, 'text_export_manager') or not self.text_export_manager:
return True
return self.text_export_manager.stop_export()
except Exception as e:
logger.error(f"Error stopping text export: {e}")
return False
def get_text_export_status(self) -> Dict[str, Any]:
"""Get text export status"""
try:
if not hasattr(self, 'text_export_manager') or not self.text_export_manager:
return {'enabled': False, 'initialized': False, 'error': 'Not initialized'}
return self.text_export_manager.get_export_status()
except Exception as e:
logger.error(f"Error getting text export status: {e}")
return {'enabled': False, 'initialized': False, 'error': str(e)}
def get_enhanced_training_stats(self) -> Dict[str, Any]:
"""Get enhanced training system statistics with orchestrator integration"""
try: