|
|
|
@ -311,7 +311,6 @@ def save_to_db(
|
|
|
|
existing_keys = _load_existing_dedup_keys(db, all_dates)
|
|
|
|
existing_keys = _load_existing_dedup_keys(db, all_dates)
|
|
|
|
|
|
|
|
|
|
|
|
records = []
|
|
|
|
records = []
|
|
|
|
new_keys_in_batch = set() # 防止本次导入文件内部重复
|
|
|
|
|
|
|
|
skipped_details = [] # 记录被跳过的重复记录详情
|
|
|
|
skipped_details = [] # 记录被跳过的重复记录详情
|
|
|
|
|
|
|
|
|
|
|
|
# 处理期货记录
|
|
|
|
# 处理期货记录
|
|
|
|
@ -331,7 +330,7 @@ def save_to_db(
|
|
|
|
price = safe_float(row.get('成交价'))
|
|
|
|
price = safe_float(row.get('成交价'))
|
|
|
|
|
|
|
|
|
|
|
|
dedup_key = _build_dedup_key(trade_date, variety, trade_time, price)
|
|
|
|
dedup_key = _build_dedup_key(trade_date, variety, trade_time, price)
|
|
|
|
if dedup_key in existing_keys or dedup_key in new_keys_in_batch:
|
|
|
|
if dedup_key in existing_keys:
|
|
|
|
futures_skipped += 1
|
|
|
|
futures_skipped += 1
|
|
|
|
skipped_details.append({
|
|
|
|
skipped_details.append({
|
|
|
|
'type': '期货',
|
|
|
|
'type': '期货',
|
|
|
|
@ -346,7 +345,6 @@ def save_to_db(
|
|
|
|
if futures_parsed <= 3:
|
|
|
|
if futures_parsed <= 3:
|
|
|
|
logger.info(f"[去重校验] 期货记录 #{futures_parsed}: raw_date={raw_date!r}, trade_date={trade_date!r}, variety={variety!r}, time={trade_time!r}, price={price!r} => key={dedup_key!r}")
|
|
|
|
logger.info(f"[去重校验] 期货记录 #{futures_parsed}: raw_date={raw_date!r}, trade_date={trade_date!r}, variety={variety!r}, time={trade_time!r}, price={price!r} => key={dedup_key!r}")
|
|
|
|
|
|
|
|
|
|
|
|
new_keys_in_batch.add(dedup_key)
|
|
|
|
|
|
|
|
rec = TradeRecord(
|
|
|
|
rec = TradeRecord(
|
|
|
|
trade_type='期货',
|
|
|
|
trade_type='期货',
|
|
|
|
symbol=contract,
|
|
|
|
symbol=contract,
|
|
|
|
@ -383,7 +381,7 @@ def save_to_db(
|
|
|
|
price = safe_float(row.get('权利金单价'))
|
|
|
|
price = safe_float(row.get('权利金单价'))
|
|
|
|
|
|
|
|
|
|
|
|
dedup_key = _build_dedup_key(trade_date, variety, trade_time, price)
|
|
|
|
dedup_key = _build_dedup_key(trade_date, variety, trade_time, price)
|
|
|
|
if dedup_key in existing_keys or dedup_key in new_keys_in_batch:
|
|
|
|
if dedup_key in existing_keys:
|
|
|
|
options_skipped += 1
|
|
|
|
options_skipped += 1
|
|
|
|
skipped_details.append({
|
|
|
|
skipped_details.append({
|
|
|
|
'type': '期权',
|
|
|
|
'type': '期权',
|
|
|
|
@ -394,7 +392,6 @@ def save_to_db(
|
|
|
|
})
|
|
|
|
})
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
new_keys_in_batch.add(dedup_key)
|
|
|
|
|
|
|
|
# 期权盈亏来自权利金(带正负号:卖为正,买为负)
|
|
|
|
# 期权盈亏来自权利金(带正负号:卖为正,买为负)
|
|
|
|
premium = safe_float(row.get('权利金'))
|
|
|
|
premium = safe_float(row.get('权利金'))
|
|
|
|
rec = TradeRecord(
|
|
|
|
rec = TradeRecord(
|
|
|
|
|