feat: Add DART strategy and related configurations

ㅇ
Changes:
- Introduced the DART strategy to the trading system, including its configuration and integration into the existing framework.
- Updated the database schema to include DART-specific tables for disclosures and watchlists.
- Enhanced the backtesting and parameter search functionalities to support the DART strategy.
- Implemented new rules for browser verification and API interactions to ensure compliance with the updated DART strategy.

Impact:
- These additions expand the trading capabilities of the system, allowing for more comprehensive analysis and execution of DART-related strategies, while maintaining system integrity and performance.
This commit is contained in:
Your Name
2026-07-21 07:50:24 +09:00
parent 74db49149f
commit 61bec4bd1d
86 changed files with 4811 additions and 297 deletions

View File

@@ -1276,15 +1276,12 @@ def run_search(
end_ymd = end.replace("-", "") if end else ""
if not use_fallback_universe and start_ymd and end_ymd:
try:
from kis_trader.database.db_manager import get_db as _get_ext_db # type: ignore
_ext = _get_ext_db()
history = _ext.get_universe_by_candle_time(
strategy_id="BREAKOUT",
start_ymd=start_ymd, end_ymd=end_ymd,
from kis_trader.backtest.breakout_backtest_common import resolve_breakout_universe
history, _src, n_bins, _scan_iv = resolve_breakout_universe(
start_ymd, end_ymd, use_saved_history=True,
)
if history:
universe_by_slot = history
n_bins = len(history)
avg = sum(len(v) for v in history.values()) / max(1, n_bins)
print(f"✅ 유니버스: 신봇 BREAKOUT 이력 사용 | {n_bins:,}분봉 · 평균 {avg:.1f}종목")
else: