agentson
273a3c182a
refactor: simplify timestamp normalization after non-null validation ( #329 )
Gitea CI / test (push) Failing after 3s
Gitea CI / test (pull_request) Failing after 4s
2026-03-01 09:50:45 +09:00
agentson
701350fb65
feat: switch backtest triple barrier to calendar-minute horizon ( #329 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Failing after 3s
2026-03-01 09:44:24 +09:00
agentson
0ceb2dfdc9
feat: revalidate blackout recovery orders by price/session context ( #328 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Failing after 3s
2026-03-01 09:33:28 +09:00
agentson
5facd22ef9
feat: reload session risk profile on session transitions ( #327 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Failing after 4s
2026-02-28 21:04:06 +09:00
agentson
62cd8a81a4
feat: feed staged-exit with ATR/RSI runtime features ( #325 )
Gitea CI / test (push) Failing after 3s
Gitea CI / test (pull_request) Failing after 3s
2026-02-28 20:58:23 +09:00
agentson
8bba85da1e
feat: add KR ATR-based dynamic hard-stop threshold ( #318 )
Gitea CI / test (push) Failing after 4s
Gitea CI / test (pull_request) Failing after 3s
2026-02-28 18:30:52 +09:00
agentson
82808a8493
feat: enforce stop-loss reentry cooldown window ( #319 )
2026-02-28 18:24:28 +09:00
9456d66de4
Merge pull request 'feat: US minimum price entry filter ( #320 )' ( #340 ) from feature/issue-320-us-min-price-filter into feature/v3-session-policy-stream
...
Gitea CI / test (push) Has been cancelled
Reviewed-on: #340
2026-02-28 18:22:28 +09:00
33b97f21ac
Merge pull request 'fix: log blackout recovery executions to DB ( #324 )' ( #339 ) from feature/issue-324-blackout-recovery-trade-log into feature/v3-session-policy-stream
...
Gitea CI / test (push) Has been cancelled
Reviewed-on: #339
2026-02-28 18:22:11 +09:00
3b135c3080
Merge pull request 'fix: SELL outcome PnL uses sell quantity ( #322 )' ( #337 ) from feature/issue-322-sell-pnl-sell-qty into feature/v3-session-policy-stream
...
Gitea CI / test (push) Has been cancelled
Reviewed-on: #337
2026-02-28 18:21:34 +09:00
agentson
92261da414
fix: include exchange_code in latest BUY matching key ( #323 )
Gitea CI / test (pull_request) Has been cancelled
Gitea CI / test (push) Has been cancelled
2026-02-28 17:17:21 +09:00
agentson
fd0246769a
test: add sell qty fallback guard and quantity-basis coverage ( #322 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 17:13:56 +09:00
ea7260d574
Merge pull request 'feat: explicit session_id propagation in logs ( #326 )' ( #336 ) from feature/issue-326-session-id-explicit-propagation into feature/v3-session-policy-stream
...
Gitea CI / test (push) Has been cancelled
Reviewed-on: #336
2026-02-28 17:07:34 +09:00
a2855e286e
Merge pull request 'feat: minute-based triple barrier horizon ( #329 )' ( #334 ) from feature/issue-329-triple-barrier-minutes into feature/v3-session-policy-stream
...
Gitea CI / test (push) Has been cancelled
Reviewed-on: #334
2026-02-28 17:06:31 +09:00
agentson
08607eaa56
feat: block US BUY entries below minimum price threshold ( #320 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:40:19 +09:00
agentson
5c107d2435
fix: persist blackout recovery executions to trades log ( #324 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:39:30 +09:00
agentson
6d7e6557d2
fix: compute SELL decision outcome using sell quantity ( #322 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:38:10 +09:00
agentson
11b9ad126f
feat: propagate runtime session_id across decision and trade logs ( #326 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:37:32 +09:00
agentson
c641097fe7
feat: support minute-based triple barrier horizon ( #329 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:35:55 +09:00
agentson
2f3b2149d5
fix: add syntax guard for evolved strategy generation ( #321 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-28 14:35:35 +09:00
agentson
c00525eb4d
feat: integrate v2 backtest pipeline for triple barrier and walk-forward ( #305 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-27 23:58:52 +09:00
agentson
98dab2e06e
fix: apply staged exit semantics in runtime paths ( #304 )
Gitea CI / test (push) Has been cancelled
Gitea CI / test (pull_request) Has been cancelled
2026-02-27 23:48:52 +09:00
agentson
4a404875a9
fix: include extended KR/US sessions in realtime market scheduling ( #301 )
2026-02-27 22:30:13 +09:00
agentson
2742628b78
feat: prioritize kill-switch over overnight exception policy (TASK-CODE-012)
2026-02-27 08:55:24 +09:00
agentson
694d73b212
fix: lazy session resolver and one-time session_id backfill
2026-02-27 08:51:00 +09:00
agentson
b2b02b6f57
feat: enforce session_id persistence in trade ledger (TASK-CODE-007)
2026-02-27 08:49:04 +09:00
agentson
34cf081c96
fix: backfill split pnl migration and harden partial pnl inputs
2026-02-27 08:46:22 +09:00
agentson
7bc4e88335
feat: separate strategy and fx pnl fields in trade logs (TASK-CODE-011)
2026-02-27 08:44:05 +09:00
agentson
13ba9e8081
fix: validate execution assumption ranges in backtest model
2026-02-27 08:41:56 +09:00
agentson
5b52f593a8
feat: add conservative backtest execution simulator (TASK-CODE-010)
2026-02-27 08:40:23 +09:00
agentson
2331d80915
fix: reject non-finite backtest cost assumptions
2026-02-27 08:36:38 +09:00
agentson
7d72669cb8
feat: enforce mandatory backtest cost assumptions (TASK-CODE-006)
2026-02-27 08:34:44 +09:00
agentson
dc70311aed
fix: keep embargo tied to accepted folds and enforce PR-comment decision logs
2026-02-27 08:32:09 +09:00
agentson
e56819e9e2
feat: add walk-forward splitter with purge and embargo controls (TASK-CODE-005)
2026-02-27 08:28:11 +09:00
agentson
b206c23fc9
fix: scope USD buffer guard to US markets and add boundary tests
2026-02-27 00:52:44 +09:00
agentson
4d9f3e2cfc
feat: enforce overseas buy guard with USD buffer threshold (TASK-V3-014)
2026-02-27 00:50:12 +09:00
agentson
9f64c9944a
fix: correct short-side tie-break semantics in triple barrier
2026-02-27 00:47:09 +09:00
agentson
bb391d502c
feat: add triple barrier labeler with first-touch logic (TASK-CODE-004)
2026-02-27 00:45:18 +09:00
agentson
0a4e69d40c
fix: record kill switch cancel failures and add failure-path tests
2026-02-27 00:41:13 +09:00
agentson
25401ac132
feat: enforce operational kill switch callbacks in runtime flow (TASK-CODE-003)
2026-02-27 00:38:26 +09:00
agentson
356d085ab0
feat: implement blackout queue and recovery revalidation (TASK-CODE-008)
2026-02-27 00:31:29 +09:00
agentson
df6baee7f1
feat: add session-aware order policy guard for low-liquidity market-order rejection ( #279 )
2026-02-27 00:13:47 +09:00
agentson
5050a4cf84
fix: address reviewer feedback for kill-switch enforcement and observability ( #275 )
CI / test (pull_request) Has been cancelled
2026-02-26 23:46:02 +09:00
agentson
4987b6393a
feat: implement phase1 state machine, composite exits, and kill-switch orchestration ( #275 )
CI / test (pull_request) Has been cancelled
2026-02-26 23:22:58 +09:00
agentson
6ff887c047
fix: 해외 매수가능금액 ord_psbl_frcr_amt → ovrs_ord_psbl_amt 교체 ( #269 )
...
CI / test (pull_request) Has been cancelled
외화 예수금만 반영하는 ord_psbl_frcr_amt 대신
미결제 매도 대금(sll_ruse_psbl_amt)을 포함하는
ovrs_ord_psbl_amt (앱 '외화' 기준 통합 주문가능금액)를 사용하도록 수정.
실제 API 응답 확인:
ord_psbl_frcr_amt = $139.25 (외화 예수금만)
sll_ruse_psbl_amt = $7292.70 (미결제 매도 대금)
ovrs_ord_psbl_amt = $7391.30 (합산, 원화 미포함)
원화 환산(frcr_ord_psbl_amt1)은 요구사항에 따라 사용하지 않음.
출처: KIS 공식문서(20260221) '해외주식 매수가능금액조회' 시트.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 02:01:13 +09:00
agentson
9d7ca12275
fix: 홀딩 종목 volume_ratio를 price API high/low 실데이터로 계산 ( #267 )
...
CI / test (pull_request) Has been cancelled
candidate 없는 해외 홀딩 종목(NVDA 등)에 대해 이미 호출된
get_overseas_price 응답의 high/low를 활용하여 scanner와 동일한 방식으로
volume_ratio 계산:
intraday_range_pct = (high - low) / price * 100
volume_ratio = max(1.0, volatility_pct / 2.0)
high/low 미제공 시(국내 종목, API 미응답) 기존 기본값 1.0 유지.
implied_rsi는 이미 실API price_change_pct(rate 필드) 기반.
tests/test_main.py: 해외 홀딩 종목 volume_ratio 계산 검증 테스트 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 01:45:22 +09:00
agentson
ccb00ee77d
fix: 로그 WARNING 2종 수정 - scanner 오해 메시지 및 홀딩 종목 rsi 누락 ( #267 )
...
CI / test (pull_request) Has been cancelled
1. WARNING → DEBUG: fallback_stocks 없어도 overseas ranking API로 scanner
정상 동작하므로 오해를 주는 WARNING 레벨을 DEBUG로 낮춤 (2곳)
2. 홀딩 종목 market_data 보강: scanner를 통하지 않은 종목(NVDA 등)에
price_change_pct 기반 implied_rsi와 volume_ratio=1.0 기본값 설정,
scenario_engine 조건 평가 완전화
3. test_main.py: 새로운 동작에 맞게 관련 테스트 2개 업데이트
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 01:39:45 +09:00
agentson
df12be1305
fix: 해외 cash=0.00 및 get_open_position HOLD 필터링 수정 ( #264 , #265 )
...
CI / test (pull_request) Has been cancelled
## 변경사항
### #264 — 해외 매수가능금액 조회 API 교체 (frcr_dncl_amt_2 → inquire-psamount)
- TTTS3012R (해외주식 잔고) output2에 frcr_dncl_amt_2 필드가 존재하지 않아
총 가용 현금이 항상 0.00으로 산출되는 문제 수정
- OverseasBroker에 get_overseas_buying_power() 메서드 추가
(TR_ID: 실전 TTTS3007R / 모의 VTTS3007R, ord_psbl_frcr_amt 반환)
- main.py trading_cycle() 및 daily cycle 모두 수정
- 출처: 한국투자증권 오픈API 전체문서 (20260221) — 해외주식 매수가능금액조회 시트
### #265 — get_open_position() HOLD 레코드 필터링 추가
- HOLD 결정도 trades 테이블에 저장되어 BUY 이후 HOLD 기록 시
최신 레코드가 HOLD → get_open_position이 None 반환하는 문제 수정
- 쿼리에 AND action IN ('BUY', 'SELL') 필터 추가
- HOLD 레코드를 제외하고 마지막 BUY/SELL 기록만 확인
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 01:29:46 +09:00
agentson
7aa5fedc12
fix: market_data에 unrealized_pnl_pct/holding_days 추가하여 SELL 시나리오 정상화 ( #259 )
...
CI / test (pull_request) Has been cancelled
trading_cycle()의 market_data에 보유 포지션 정보가 없어
Condition requires 'unrealized_pnl_pct' but key missing from market_data 경고 발생.
보유 종목(NVDA 등)의 take-profit/stop-loss 시나리오가 평가 불가하여 HOLD(confidence=0) 고착.
- get_open_position()에 timestamp 컬럼 추가
- market_data 구성 시 open_position 조회 후 아래 키 추가:
- unrealized_pnl_pct: (current_price - entry_price) / entry_price * 100
- holding_days: 매수일로부터 경과 일수
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 00:23:28 +09:00
agentson
8af5f564c3
fix: ranking API 필수 파라미터 KEYB 추가 및 GUBN 값 수정 ( #258 )
...
CI / test (pull_request) Has been cancelled
KIS 공식 문서(20260221) 기준 KEYB(NEXT KEY BUFF)는 Required=Y이나
누락되어 있어 항상 rt_cd=2 오류 발생, fallback 경로로만 실행됨.
- fluctuation/volume 양쪽 params에 KEYB: '' 추가
- GUBN 주석 수정: 0=하락율, 1=상승율 (문서 기준)
- GUBN 값 0→1 수정: 상승율 기준으로 변동성 급등 종목 스캔
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-26 00:19:55 +09:00