From 57615ef5cd40ec99f697ea1ad6175ef58f2ef2df Mon Sep 17 00:00:00 2001 From: cfdaily Date: Sat, 2 May 2026 21:32:40 +0800 Subject: [PATCH] auto-sync: 2026-05-02 21:32:40 --- data_platform/download_minute.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/data_platform/download_minute.py b/data_platform/download_minute.py index 78dad2dc..26bc61fd 100644 --- a/data_platform/download_minute.py +++ b/data_platform/download_minute.py @@ -98,7 +98,7 @@ def try_mkline(symbol: str, count: int = 800) -> Optional[pd.DataFrame]: "low": float(parts[3]), "close": float(parts[4]), "volume": str(int(float(parts[5]))), - "amount": str(0.0), # mkline不返回amount + "amount": str(round(float(parts[4]) * int(float(parts[5])), 2)), # close*volume估算 }) if not rows: @@ -147,14 +147,15 @@ def try_minute_query_aggregate(symbol: str, date: str) -> Optional[pd.DataFrame] return _aggregate_1m_to_15m(df) except Exception as e: logger.debug("minute_query failed for %s: %s", symbol, e) - None + return None def _aggregate_1m_to_15m(df: pd.DataFrame) -> pd.DataFrame: """将1分钟线聚合为15分钟线""" df["time"] = pd.to_datetime(df["time"]) # 15分钟分组:按时间段切分(9:30-9:45, 9:45-10:00, ...) - df["group"] = df["time"].dt.floor("15min") + # end-of-bar对齐:已有84只数据用K线结束时间(09:45, 10:00...) + df["group"] = df["time"].dt.floor("15min") + pd.Timedelta(minutes=15) agg = df.groupby("group").agg( open=("price", "first"),