Repository navigation
바스켓 평가·종가 기록 오류 수정, 시장 자료 수집과 모의운용 검증 추가 - #473
Merged
Merged
Conversation
두 바스켓에 오전 스냅샷이 각각 84건, 62건 쌓였지만 종가 평가 기록은 한 건도 없었습니다. 매수가 낙폭 한도에 걸려 거절돼도 평가 화면에는 통과로 표시됐고, 장전 모의 체결이 그날의 정규장 매매를 막는 경우도 있었습니다. 이런 실행·기록 오류를 고치고, 시장 자료 수집부터 체결비용 기록, 장기 모의운용 검증까지 이어지도록 연결했습니다. ## 바뀐 동작 - **바스켓 상태 표시:** 현재 매수 차단 사유와 과거 주문 거절을 구분합니다. 보유 비중은 평가 시점의 시장가격으로 계산하고, 주식·CD금리 ETF·현금을 나눠 목표와 비교합니다. 1주 단위 제약과 월별 적립 부족도 표시합니다. - **매매 시간과 종가 기록:** 모의 바스켓 주문도 정규장 안에서만 체결합니다. 종가는 장마감 후 실제 매매·입출금 원장과 대조해 별도로 저장하며, 같은 날 다시 실행해도 중복으로 쌓이지 않습니다. - **시장 자료 수집:** 구성 종목과 업종 ETF의 상대 강도·거래량·변동성을 비교하고, DART 공시와 NAVER 종목별 수급을 수집합니다. 자료가 없는 경우와 수집에 실패한 경우를 구분하고, 원문 출처와 실제 확인 시각을 남깁니다. - **체결비용과 모의운용 검증:** 계획가격 대비 체결가격 차이, 수수료·세금, 부분 체결과 거절을 기록합니다. 모의운용 성과는 기준을 등록한 뒤 새로 쌓이는 종가로 계산하고, 같은 날짜의 비교지수와 상승·하락일 성과, 결측을 함께 확인합니다. - **연구 결과 검증:** 과거 재무 분석에 현재 값을 섞던 경로와 부채비율 계산을 수정했습니다. 새 전략 승인에는 후보·코드·설정·검증 구간이 일치하는 근거를 요구합니다. 출처와 반증 조건을 갖춘 투자 가설도 화면에서 확인할 수 있습니다. - **일일 점검:** `tools/daily_observation.py`가 종가 기록, 자료 수집, 모의운용 검증을 순서대로 실행합니다. 오전 수집이 오후 작업을 막지 않도록 실행 구간을 나누고, 휴장일 판정·중복 실행·시간 초과 처리도 보완했습니다. ## 확인한 결과 - 관련 Python 회귀 검사 919개를 통과했고, 이후 일일 운영 경로 수정에 대해 296개를 다시 검사했습니다. 화면 JavaScript 검사는 38개 모두 통과했습니다. 새 화면 검사도 GitHub Actions에 포함했습니다. - 운영 DB 사본에서 실제 계획→실행 경로를 확인했습니다. 장외 주문과 낙폭 한도 초과 주문은 차단됐고, 종가 2행 저장 후 재실행에서는 0행이 추가됐습니다. 저장한 종가는 원장 대조 검사도 통과했습니다. - 실제 수집에서는 9종목의 수급 36행과 두 비교지수의 정확한 날짜 자료를 확인했습니다. 장중 점검에서 빠진 종가를 정상으로 처리하지 않았고, 실행 전후 운영 DB 해시도 같았습니다. - 데스크톱 1440px과 모바일 390px에서 자료 표시와 화면 넘침을 확인했습니다. 자세한 재현 조건은 아래 보고서에 정리했습니다. ## 운영 시 확인할 점 DART는 현재 설정된 키가 `010(미등록 키)`로 거절돼 유효한 키 등록이 남아 있습니다. 새 모의운용 검증의 실제 종가 관측은 아직 0건이며, 장기 수익성이 입증된 상태는 아닙니다. 과거 장중 기록을 새 검증 성과로 채우지 않습니다. 운영 PC에는 매일 08:30·16:30·18:30 점검을 등록했습니다. 이 일정은 PC와 Codex 앱이 켜져 있어야 실행되는 로컬 설정입니다. 저장소를 내려받는 것만으로 일정이 등록되지는 않습니다. - [바스켓 점검과 수정 결과](docs/BASKET_SNAPSHOT_REVIEW_20261013.md) - [전문 운용 조사와 연구 검증 변경](docs/INVESTMENT_RESEARCH_20261013.md) - [자동 수집·체결비용·모의운용 검증 안내](docs/RESEARCH_OPERATIONS_20261013.md)
GitHub 전체 회귀 검사에서 23건이 실패했다. 일일 관측과 연구 수집이 Git에서 제외한 settings.yaml을 직접 읽고 있었으므로, 기본값과 환경변수를 처리하는 공통 설정 로더를 사용하도록 바꿨다. 주문 상태의 시각은 서버의 datetime.now()로 기록되는데 체결비용 분석에서 이를 무조건 한국 시간으로 해석했다. UTC 서버에서는 주문 전송 지연이 음수로 계산돼 미확인으로 남았다. 서버 시간대를 반영해 한국 시간으로 변환하고 UTC·한국 시간 환경의 실제 모의 체결 검사도 추가했다. 설계 적용일 이후 종가끼리 비교하는 기준과 자료 미확인 표시에 맞춰 기존 보고서 검사를 수정했다. 관련 검사 69개 통과. Windows에서 프로세스 시간대를 바꾸는 두 경우는 건너뛰며 GitHub Linux 검사에서 확인한다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
두 바스켓에 오전 스냅샷이 각각 84건, 62건 쌓였지만 종가 평가 기록은 한 건도 없었습니다. 매수가 낙폭 한도에 걸려 거절돼도 평가 화면에는 통과로 표시됐고, 장전 모의 체결이 그날의 정규장 매매를 막는 경우도 있었습니다.
이런 실행·기록 오류를 고치고, 시장 자료 수집부터 체결비용 기록, 장기 모의운용 검증까지 이어지도록 연결했습니다.
바뀐 동작
tools/daily_observation.py가 종가 기록, 자료 수집, 모의운용 검증을 순서대로 실행합니다. 오전 수집이 오후 작업을 막지 않도록 실행 구간을 나누고, 휴장일 판정·중복 실행·시간 초과 처리도 보완했습니다.확인한 결과
운영 시 확인할 점
DART는 현재 설정된 키가
010(미등록 키)로 거절돼 유효한 키 등록이 남아 있습니다. 새 모의운용 검증의 실제 종가 관측은 아직 0건이며, 장기 수익성이 입증된 상태는 아닙니다. 과거 장중 기록을 새 검증 성과로 채우지 않습니다.운영 PC에는 매일 08:30·16:30·18:30 점검을 등록했습니다. 이 일정은 PC와 Codex 앱이 켜져 있어야 실행되는 로컬 설정입니다. 저장소를 내려받는 것만으로 일정이 등록되지는 않습니다.