critical: 보유 종목이 SmartScanner 필터에 걸려 SELL 신호 미생성 → 무한 홀딩 #182
Closed
opened 2026-02-20 08:57:02 +09:00 by agentson
·
1 comment
No Branch/Tag Specified
main
feature/v3-session-policy-stream
feature/issue-tkt-p1-008-overnight-killswitch-priority
feature/issue-tkt-p1-007-session-id-ledger
feature/issue-tkt-p1-006-fx-pnl-separation
feature/issue-tkt-p1-005-conservative-fill-model
feature/issue-tkt-p1-002-backtest-cost-mandatory
feature/issue-tkt-p1-004-walkforward-purge-embargo
feature/issue-tkt-p1-001-fx-buffer-guard
feature/issue-tkt-p1-003-triple-barrier-labeler
feature/issue-tkt-p0-002-killswitch-ordering
feature/issue-tkt-p0-001-blackout-queue-revalidate
feature/issue-279-session-order-policy-guard
feature/issue-277-tpm-priority-main-ideation-no-merge-session
feature/issue-275-phase1-state-exit-killswitch
feature/issue-273-multi-agent-governance-docs
feature/issue-271-docs-routing-validation
feature/issue-269-overseas-cash-ovrs-ord-psbl-amt
feature/issue-267-fix-log-warnings
feature/issue-264-265-overseas-cash-and-open-position
feature/issue-259-market-data-pnl-holding-days
feature/issue-261-fix-mock-settings-mode
feature/issue-258-ranking-api-keyb-param
feature/issue-256-fix-overnight-live-mode
feature/issue-254-cleanup-paper-data
feature/issue-251-252-trading-cycle-guards
feature/issue-249-avg-price-sync
feature/issue-247-skip-parse-response-on-prompt-override
feature/issue-245-parse-response-preserve-raw
feature/issue-242-243-gemini-key-fix-overseas-scanner
feature/issue-240-kr-scanner-rank-param-fix
feature/issue-237-dashboard-mode-badge-fix
feature/issue-237-dashboard-mode-badge
feature/issue-235-overseas-balance-ord-psbl-qty
feature/issue-232-domestic-limit-order-pending
feature/issue-229-overseas-pending-order-handling
feature/issue-211-overseas-limit-price-policy
feature/issue-206-startup-position-sync
feature/issue-207-daily-cb-pnl
feature/issue-218-live-trading-docs
feature/issue-217-gemini-model-default
feature/issue-215-evolved-strategy-syntax
feature/issue-209-daily-connection-retry
feature/issue-204-test-coverage-80
feature/issue-212-trades-mode-column
feature/issue-201-202-203-broker-live-mode
feature/issue-210-213-216-db-wal-env-fix
feature/issue-195-overseas-double-buy-prevention
feature/issue-198-dashboard-api-frontend
feature/issue-196-cb-gauge
feature/issue-193-dashboard-positions
feature/issue-191-duplicate-buy-fix
feature/issue-189-overseas-sell-tr-id-fix
feature/issue-187-sell-fat-finger-fix
feature/issue-180-telegram-instance-lock
feature/issue-181-implied-rsi-saturation
feature/issue-178-dashboard-log-order
feature/issue-179-insufficient-balance-cooldown
feature/issue-173-market-outlook-threshold
feature/issue-172-playbook-allocation-sizing
feature/issue-171-position-aware-conditions
feature/issue-170-holdings-in-prompt
feature/issue-164-165-broker-api-holdings
feature/issue-165-holdings-in-trading-loop
feature/issue-164-sell-quantity-fix
feature/issue-163-take-profit-enforcement
feature/issue-161-telegram-notification-filters
feature/issue-159-dashboard-ui-improvement
feature/issue-157-fix-domestic-price-and-tick
feature/issue-155-fix-ranking-api
feature/issue-153-kr-fallback-stocks
feature/issue-151-overseas-order-fixes
feature/issue-149-overseas-limit-order-price
feature/issue-147-overseas-price-balance-fix
feature/issue-145-smart-fallback-playbook
feature/issue-143-fix-prompt-override
feature/issue-141-fix-overseas-ranking-api
fix/137-run-overnight-python-tmux
feat/overseas-ranking-current-state
feature/issue-131-docs-v2-status-sync
feature/issue-132-us-market-telegram-gaps
feature/issue-129-fix-daily-review-test-date
feature/issue-97-dashboard-integration
feature/issue-96-evolution-main-integration
feature/issue-95-evolution-loop
feature/issue-89-legacy-context-cleanup
feature/issue-94-planner-scorecard-injection
feat/v2-2-4-planner-context-crossmarket
feature/issue-93-daily-review-integration
feature/issue-91-daily-reviewer
feature/issue-92-decision-outcome
feature/issue-87-context-scheduler
feature/issue-90-scorecard-model
feature/issue-86-eod-market-filter
feature/issue-85-l7-context-write
feature/issue-114-review-plan-consistency
fix/test-failures
feature/issue-84-main-integration
feature/issue-83-pre-market-planner
feature/issue-81-telegram-playbook-notify
feature/issue-82-playbook-persistence
feature/issue-80-scenario-engine
feature/issue-105-branch-rebase
feature/issue-100-agent-constraints
feature/issue-79-strategy-models
feature/issue-78-config-watchlist-removal
feature/issue-76-smart-volatility-scanner
feature/issue-74-telegram-command-fix
fix/start-command-parsing
feature/issue-69-config-docs
feature/issue-67-status-commands
feature/issue-65-trading-control
feature/issue-63-basic-commands
feature/issue-61-command-handler
feature/issue-59-send-message
feature/issue-57-daily-trading-mode
feature/issue-49-valueerror-empty-string
feature/issue-52-aiohttp-cleanup
feature/issue-54-token-refresh-cooldown
feature/issue-51-api-rate-limiting
feature/issue-44-safe-float
feature/issue-43-reduce-rate-limit
feature/issue-42-token-refresh-lock
feature/issue-41-keyerror-balance
feature/issue-35-telegram-docs
feature/issue-34-main-integration
feature/issue-33-telegram-config
feature/issue-32-telegram-tests
feature/issue-31-telegram-client
feature/issue-23-sustainability
feature/issue-22-data-driven
feature/issue-24-token-efficiency
feature/issue-21-latency-control
feature/issue-19-evolution-engine
feature/issue-20-volatility-hunter
feature/issue-17-decision-logging
feature/issue-15-context-tree
feature/issue-13-docs-refactor
feature/issue-11-command-failures
feature/issue-9-agent-workflow
feature/issue-5-global-market-auto-selection
feature/issue-4-add-git-workflow-policy
feature/issue-2-add-claude-md
No results found.
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: jihoson/The-Ouroboros#182
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
문제 (Critical)
BUY 후 보유한 종목이 다음 사이클에서 SmartScanner의 변동성 필터에 걸려 평가 대상에서 제외됨.
결과적으로 SELL 신호가 생성되지 않아 포지션이 영구적으로 유지됨.
관찰된 현상
근본 원인
1. SmartScanner 변동성 필터
src/analysis/smart_scanner.py—volatility_pct < 0.8조건으로 저변동 종목 제외:2. active_stocks 갱신 방식
src/main.py:1949— Scanner 결과만 active_stocks에 저장:3. daily 세션에서 active_stocks={} (빈 딕셔너리)
src/main.py:819:영향
수정 방안
보유 종목은 변동성 필터를 우회하여 항상 평가 대상에 포함:
build_overseas_symbol_universe에서 가져온 holdings를 SmartScanner와 별도로 유지held_stocks를 scanning universe에 강제 추가ScanCandidate에signal="hold_check"로 표시하여 SELL 조건 평가관련 코드
src/main.py:244-283(build_overseas_symbol_universe)src/main.py:815-820(daily session,active_stocks={})src/main.py:1947-1956(realtime session, active_stocks 갱신)src/analysis/smart_scanner.py:278(변동성 필터)테스트 검증 포인트
이건 이미 구현된 항목이고, 구현 전의 로그일 것 같아.