algorithmic_trading / docker-entrypoint.sh
Edwin Salguero
Add comprehensive Docker integration with multi-environment support, monitoring, and deployment tools
6cd35fc
#!/bin/bash
set -e
# Function to wait for dependencies
wait_for_dependencies() {
echo "Waiting for dependencies to be ready..."
sleep 5
}
# Function to initialize directories
init_directories() {
echo "Initializing directories..."
mkdir -p /app/data
mkdir -p /app/logs
mkdir -p /app/models
chmod 755 /app/data /app/logs /app/models
}
# Function to generate synthetic data if needed
generate_data_if_needed() {
if [ ! -f "/app/data/synthetic_market_data.csv" ]; then
echo "Generating synthetic market data..."
python -c "
from agentic_ai_system.synthetic_data_generator import SyntheticDataGenerator
import yaml
with open('/app/config.yaml', 'r') as f:
config = yaml.safe_load(f)
generator = SyntheticDataGenerator(config)
data = generator.generate_ohlcv_data(
symbol='AAPL',
start_date='2024-01-01',
end_date='2024-12-31',
frequency='1min'
)
data.to_csv('/app/data/synthetic_market_data.csv', index=True)
print('Synthetic data generated successfully')
"
else
echo "Synthetic data already exists"
fi
}
# Function to run health check
health_check() {
echo "Running health check..."
python -c "
import sys
from agentic_ai_system.logger_config import setup_logging
try:
setup_logging({})
print('Health check passed')
except Exception as e:
print(f'Health check failed: {e}')
sys.exit(1)
"
}
# Main execution
main() {
echo "Starting Algorithmic Trading System..."
# Initialize
init_directories
wait_for_dependencies
generate_data_if_needed
health_check
echo "System initialized successfully"
# Execute the main command
exec "$@"
}
# Run main function with all arguments
main "$@"