import sigtech.framework as sig
def generate_datetime_range(start_date: dtm.date, end_date: dtm.date, freq: int = 1):
for day in pd.bdate_range(start_date, end_date, freq="B", closed='left'):
for t in pd.date_range("00:00", "23:59", freq="1min"):
yield pytz.UTC.localize(dtm.datetime.combine(day, t.time()))
class CustomIntradayStrategy(sig.Strategy):
def strategy_initialization(self):
self.strategy_extension(self.start_date, self.end_date)
def strategy_extension(self, from_dt, to_dt):
for dt in generate_datetime_range(from_dt, to_dt):
self.add_method(dt, custom_trading_method)
def custom_trading_method(self):