diff --git a/reports/fixed_range.py b/reports/fixed_range.py
index f6cdfa6638e8ad368bf58bd89403471083d9a0ae..885c2320fa404526a6626c85a9067760fa2370fb 100644
--- a/reports/fixed_range.py
+++ b/reports/fixed_range.py
@@ -2,7 +2,7 @@ from datetime import datetime as dt
 from typing import List
 
 import pandas as pd
-from py_jftech import component, autowired, get_config, format_date
+from py_jftech import component, autowired, get_config, format_date, filter_weekend
 
 from api import RoboReportor
 
@@ -29,8 +29,10 @@ class FixedRangeReport(RoboReportor):
         if not datas.empty:
             result = pd.DataFrame(columns=datas.columns)
             for range in self.range_dates:
-                row_name = f"{format_date(range['start'])}~{format_date(range['end'])}"
-                result.loc[row_name] = datas[range['start']:range['end']].values[-1] / datas[range['start']:range['end']].values[0] - 1
+                start = filter_weekend(range['start'])
+                end = filter_weekend(range['end'])
+                row_name = f"{format_date(start)}~{format_date(end)}"
+                result.loc[row_name] = datas[start:end].values[-1] / datas[start:end].values[0] - 1
             result = round(result, 4) * 100
             result.reset_index(inplace=True)
             result.rename(columns={'index': 'range-date'}, inplace=True)
diff --git a/reports/relative_range.py b/reports/relative_range.py
index 5d49f18594eae408ff8d40c2c289dd393ccd3fbd..ba47a6c3df4f18bc66bda4781c7f69a27eced3ea 100644
--- a/reports/relative_range.py
+++ b/reports/relative_range.py
@@ -3,7 +3,7 @@ from typing import List
 
 import pandas as pd
 from dateutil.relativedelta import relativedelta
-from py_jftech import component, autowired, get_config, format_date
+from py_jftech import component, autowired, get_config, format_date, filter_weekend
 
 from api import RoboReportor
 
@@ -32,9 +32,10 @@ class RelativeRangeReport(RoboReportor):
             for range in self.range_dates:
                 kwargs = range.copy()
                 del kwargs['name']
-                start = max_date - relativedelta(**kwargs)
-                row_name = f"{range['name']}({format_date(start)}~{format_date(max_date)})"
-                result.loc[row_name] = datas[start:max_date].values[-1] / datas[start:max_date].values[0] - 1
+                start = filter_weekend(max_date - relativedelta(**kwargs))
+                end = filter_weekend(max_date)
+                row_name = f"{range['name']}({format_date(start)}~{format_date(end)})"
+                result.loc[row_name] = datas[start:end].values[-1] / datas[start:end].values[0] - 1
             result = round(result, 4) * 100
             result.reset_index(inplace=True)
             result.rename(columns={'index': 'range-date'}, inplace=True)