# src/strategies/base_strategy.py
from abc import ABC, abstractmethod

class BaseStrategy(ABC):
    def __init__(self, stock_code):
        self.stock_code = stock_code

    def execute(self):
        self.fetch_data()
        self.analyze_data()
        self.generate_report()

    @abstractmethod
    def fetch_data(self):
        pass

    @abstractmethod
    def analyze_data(self):
        pass

    @abstractmethod
    def generate_report(self):
        pass
