diff --git a/spread_backtest.py b/spread_backtest.py index 3b700c1..86aaaa4 100644 --- a/spread_backtest.py +++ b/spread_backtest.py @@ -20,6 +20,8 @@ class Spread_Backtest(): start: str, end: str ): + # 更新可回测时间 + self.trader.update_avaliable_date() # 确定回测的开始和结束时间 if len(self.trader.account_history) > 0: bkt_start = max(start, self.trader.avaliable_date.index.min(), self.trader.account_history['date'].max()) diff --git a/trader.py b/trader.py index 7c88c6b..8f580cf 100644 --- a/trader.py +++ b/trader.py @@ -190,6 +190,13 @@ class Trader(Account): else: self.today_data['close'] = DataLoader(self.today_data['basic'].data[['close_post']].rename(columns={'close_post':'price'})) + def update_avaliable_date(self): + """ + 更新可执行日期 + """ + # 可执行日期 + self.avaliable_date = pd.Series(index=[f.split('.')[0] for f in os.listdir(self.data_root['basic'])]).sort_index() + def get_weight(self, date, total_weight, next_position): """ 计算个股仓位