refactor: enhance Optuna backtesting framework, optimize orderbook filtering, and update database management utilities.
This commit is contained in:
35
scratch/revert_price_provider.py
Normal file
35
scratch/revert_price_provider.py
Normal file
@@ -0,0 +1,35 @@
|
||||
import sys
|
||||
sys.path.insert(0, "/home/hoon/kis_bot")
|
||||
from database import TradeDB
|
||||
from kis_trader.utils.env import invalidate_merged_env_cache
|
||||
|
||||
db = TradeDB()
|
||||
try:
|
||||
snap = dict(db.get_merged_env_snapshot() or {})
|
||||
changed = False
|
||||
|
||||
print("=== 시세 공급자를 다시 키움으로 복구 ===")
|
||||
|
||||
# 1. WS_PROVIDER: kis_with_validation 을 빈 값이나 kis_only 로 변경?
|
||||
# 기본은 KIS를 백그라운드용으로 쓰되 메인을 키움으로 하려면 WS_SUBSCRIBE_KIS_MINIMAL=True 로 둡니다.
|
||||
# 하지만 40개 한도 이슈가 있으므로, WS_PROVIDER="kis_only" (또는 "kiwoom" 등 기본값) 으로 돌립니다.
|
||||
# 실제로 KIS 시세를 끄려면 WS_SUBSCRIBE_KIS_MINIMAL=True 로 하면 후보 종목(20개)은 키움으로 구독합니다.
|
||||
if snap.get("WS_SUBSCRIBE_KIS_MINIMAL") is not True and str(snap.get("WS_SUBSCRIBE_KIS_MINIMAL")).lower() != 'true':
|
||||
print(f" WS_SUBSCRIBE_KIS_MINIMAL: {snap.get('WS_SUBSCRIBE_KIS_MINIMAL')} -> True (키움 메인 시세 사용)")
|
||||
snap["WS_SUBSCRIBE_KIS_MINIMAL"] = True
|
||||
changed = True
|
||||
|
||||
# WS_PROVIDER 는 굳이 안 건드려도 되지만 확실하게 검증기(validation) 부하를 빼려면 빈 문자열 처리
|
||||
if snap.get("WS_PROVIDER") == "kis_with_validation":
|
||||
print(f" WS_PROVIDER: {snap.get('WS_PROVIDER')} -> kis_only (키움 검증 로그 오프)")
|
||||
snap["WS_PROVIDER"] = "kis_only"
|
||||
changed = True
|
||||
|
||||
if changed:
|
||||
db.insert_env_snapshot(snap)
|
||||
invalidate_merged_env_cache()
|
||||
print("\n✅ DB 업데이트 및 캐시 무효화 완료!")
|
||||
else:
|
||||
print("\n✅ 이미 설정되어 있습니다.")
|
||||
finally:
|
||||
db.close()
|
||||
Reference in New Issue
Block a user