Skip to content

Commit 75a7e8b

Browse files
committed
Fix 1m quote duplicated issue
1 parent 39c5d82 commit 75a7e8b

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

src/zvt/broker/qmt/qmt_quote.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,8 @@ def on_data(datas, stock_df=entity_df):
295295

296296
# 1分钟分时
297297
df["id"] = df[["entity_id", "timestamp"]].apply(
298-
lambda se: "{}_{}".format(se["entity_id"], to_date_time_str(se["timestamp"], TIME_FORMAT_MINUTE)), axis=1
298+
lambda se: "{}_{}".format(se["entity_id"], to_date_time_str(se["timestamp"], fmt=TIME_FORMAT_MINUTE)),
299+
axis=1,
299300
)
300301
df_to_db(df, data_schema=Stock1mQuote, provider="qmt", force_update=True, drop_duplicates=False)
301302

src/zvt/recorders/exchange/api/cn_index_stock_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def get_cn_index_stock(code, timestamp, name=None):
2323
entity_type = "index"
2424
exchange = "sz"
2525
entity_id = f"{entity_type}_{exchange}_{code}"
26-
data_str = to_date_time_str(timestamp, TIME_FORMAT_MON)
26+
data_str = to_date_time_str(timestamp, fmt=TIME_FORMAT_MON)
2727
resp = requests.get(url.format(code, data_str), headers=DEFAULT_HEADER)
2828
data = _get_resp_data(resp)
2929
if not data:

src/zvt/trading/trading_service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ def query_quote_stats():
204204
columns=["timestamp", "entity_id", "time", "change_pct", "turnover", "is_limit_up", "is_limit_down"],
205205
)
206206

207+
pre_df = pre_df.drop_duplicates(subset=["entity_id"], keep="first")
208+
207209
if pd_is_not_null(pre_df):
208210
pre_stats = cal_quote_stats(pre_df)
209211
current_stats["pre_turnover"] = pre_stats["turnover"]

src/zvt/utils/time_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def tomorrow_date(tz=None):
8282
return to_pd_timestamp(date_time_by_interval(now_pd_timestamp(tz=tz), 1).date())
8383

8484

85-
def to_date_time_str(date_time, tz=None, fmt=TIME_FORMAT_DAY):
85+
def to_date_time_str(date_time, fmt=TIME_FORMAT_DAY, tz=None):
8686
try:
8787
return arrow.get(to_pd_timestamp(date_time, tz=tz)).format(fmt)
8888
except Exception as e:

0 commit comments

Comments
 (0)