diff --git a/datasource/universal_fetcher.py b/datasource/universal_fetcher.py index 2dae549..e64b7ab 100644 --- a/datasource/universal_fetcher.py +++ b/datasource/universal_fetcher.py @@ -247,7 +247,17 @@ class UniversalDataFetcher: """ # 对齐日期:净值用ffill填充(因为T+1公布) # 价格日期可能比净值日期多一天 - aligned_nav = nav_df['nav'].reindex(price_df.index, method='ffill') + # 先去除重复日期 + price_index = price_df.index + if price_index.has_duplicates: + price_df = price_df[~price_df.index.duplicated(keep='last')] + price_index = price_df.index + + nav_index = nav_df.index + if nav_index.has_duplicates: + nav_df = nav_df[~nav_df.index.duplicated(keep='last')] + + aligned_nav = nav_df['nav'].reindex(price_index, method='ffill') # 计算溢价率 close_prices = price_df['close']