feat: 새로운 안전 규칙 및 최적화 적용을 통한 트레이딩 시스템 개선
변경 사항 (Changes): 구문 오류(Syntax error) 및 토큰 낭비를 방지하기 위해 에이전트 쉘(Agent shell)과 파이썬 코드 스니펫에 다수의 신규 안전 규칙(Safety rules)을 추가함. 스키마 검증 및 적절한 SQL 포맷팅을 보장하기 위해 임시(Ad-hoc) 데이터베이스 쿼리 작성 가이드라인을 도입함. 코드 수정 후 UI 기능이 정상 작동하는지 확인하기 위해, 백테스트 웹 서비스 재시작 및 브라우저 검증에 대한 새로운 규칙을 구현함. 시스템 전반의 무결성(Integrity)을 유지하기 위해 실전 매매(Live trading), 웹 백테스팅, 파라미터 탐색(Parameter searches) 간의 일관성 검사(Consistency checks) 체계를 확립함. 기대 효과 (Impact): 이러한 개선 사항들은 트레이딩 시스템의 견고성(Robustness)과 신뢰성을 향상시키며, 에러 발생을 최소화하고 다양한 시스템 컴포넌트 간의 원활한 상호작용을 보장함.
This commit is contained in:
@@ -43,6 +43,7 @@ from kis_trader.backtest import scalping_backtest_common as sbc # noqa: E402
|
||||
from kis_trader.backtest.backtest_portfolio_common import ( # noqa: E402
|
||||
attach_scalp_trade_pnl,
|
||||
backtest_slip_pct,
|
||||
load_portfolio_env_row,
|
||||
min_invest_ratio_of_slot,
|
||||
portfolio_exposure_krw,
|
||||
target_qty_and_cost,
|
||||
@@ -260,7 +261,9 @@ def run_portfolio(
|
||||
|
||||
if rng is None:
|
||||
eval_params = dict(params)
|
||||
eval_params.setdefault("skip_hts_scan_dupes", universe_by_slot is not None)
|
||||
if "skip_hts_scan_dupes" not in eval_params:
|
||||
from kis_trader.engine.momentum_hts_logic import resolve_momentum_skip_hts_scan_dupes
|
||||
eval_params["skip_hts_scan_dupes"] = resolve_momentum_skip_hts_scan_dupes()
|
||||
state = {
|
||||
"daily_cnt": ctx["daily_cnt"].get(day, 0),
|
||||
"last_exit_dt": ctx["last_exit_dt"].get(day),
|
||||
@@ -434,12 +437,7 @@ def _run_benchmark(args: argparse.Namespace) -> int:
|
||||
fixed = _mom_fixed_defaults()
|
||||
rsi_period = int(fixed.get("rsi_period", 3))
|
||||
|
||||
db = TradeDB()
|
||||
try:
|
||||
row = db.conn.execute("SELECT * FROM env_config ORDER BY id DESC LIMIT 1").fetchone()
|
||||
env_row = dict(row) if row else {}
|
||||
finally:
|
||||
db.close()
|
||||
env_row = load_portfolio_env_row()
|
||||
|
||||
fee_rate, sell_tax, slot_from_env = sbc.fee_and_slot_from_env(env_row, strategy="MOMENTUM")
|
||||
portfolio = sbc.resolve_scalp_portfolio_params(
|
||||
|
||||
Reference in New Issue
Block a user