From fba6dbf1fd37b3baf5f60f4142f0ecf6db5d095e Mon Sep 17 00:00:00 2001 From: gahusb Date: Sun, 31 May 2026 21:48:52 +0900 Subject: [PATCH] =?UTF-8?q?feat(stock):=20decide=5Faction=20=EB=A7=A4?= =?UTF-8?q?=ED=8A=B8=EB=A6=AD=EC=8A=A4=20(sell>trim>add>hold)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- stock/app/holdings_intel.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stock/app/holdings_intel.py b/stock/app/holdings_intel.py index c79745d..faa24e1 100644 --- a/stock/app/holdings_intel.py +++ b/stock/app/holdings_intel.py @@ -117,7 +117,11 @@ ADD_SCORE = 70.0 # 이 이상이면 추가매수 후보 def decide_action(tech_score: float, exit_flags: dict, pnl: float | None) -> tuple[str, str]: - """우선순위: sell > trim > add > hold. 근거 텍스트 동봉.""" + """액션 결정 매트릭스: sell > trim > add > hold (우선순위 순). + + Returns: + (action, reasons_text) action ∈ {"sell","trim","add","hold"} + """ reasons = [] # 청산 (최우선) if exit_flags.get("stop_loss"):