Skip to content

release: correct portfolio accounting and accelerate calculations - #76

Merged
kyj0503 merged 2 commits into
mainfrom
dev
Oct 25, 2026
Merged

kyj0503 merged 2 commits into
mainfrom
dev

Conversation

@kyj0503

@kyj0503 kyj0503 commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

휴장일에 DCA가 지연되면 이후 납입 요일도 이동하고, 체결되지 않은 예정 납입액까지 원금에 포함해 고정가에서도 -33.33% 손실이 발생했습니다. 예정 달력과 실제 납입을 분리하고, 전체 시뮬레이션의 USD 체결 원장으로 개별 수익률·평가액·거래 로그를 생성합니다.

  • 수수료·환율·리밸런싱 자금 이동을 반영하며 개별 최종 평가액 합계가 전체와 일치합니다.
  • 통화 정보 누락과 잘못된/미래 환율을 거부하고, 보합일 하락 연속 집계와 Sharpe 산식을 수정합니다.
  • 중복 Yahoo 메타데이터 조회·응답용 DCA 재실행·평가 곡선 iterrows를 제거하고 실제 실행 시간을 측정합니다.
  • 요청·라우트·Turnstile·DB 스키마·기존 기술 전략 수수료 모델을 유지합니다. 새 런타임 시크릿은 없습니다.

검증: Docker BE 단위 579개 + golden master 1개, 별도 런타임 HTTP의 6개 전략·휴장일 DCA·USD/KRW/현금·네 조회, 실제 로컬 웹 계산, 의존성 감사와 스키마 정합성 통과. 기존 반례는 수정 전에 8개 테스트로 실패를 확인했고 독립 회귀 테스트를 총 21개 추가했습니다.

동일 호스트/2 CPU/2GiB/합성 시세/3회 중앙값에서 20종목·10년 DCA+리밸런싱은 2.889→1.734초, SMA는 2.519→1.088초였습니다. DB·외부 API·HTTP 전송을 제외한 로컬 측정입니다. 최대 프로세스 RSS는 216→228MiB입니다. 자세한 근거는 docs/reviews/calculation-performance-2026-10-25.md에 있습니다.

운영 검증 완료 — 2026-10-25

  • main CI의 verify·publish·deploy 모두 성공: BE Actions, 콘솔 Actions.
  • 실제 운영 위젯을 통과한 브라우저 계산과 텍스트 다운로드에서 AAPL 일시불 $12,922.544, 월 적립 12회 $14,422.474, 삼성전자 USD 환산 $926.571을 확인했습니다. 실제 DB 시세로 별도 계산한 값과 출력 반올림 범위에서 일치합니다.
  • SMA 기본 파라미터(10/20)도 실웹에서 계산·조회 네 종류·다운로드를 확인했습니다(최종 $11,656.437).
  • 두 공개 origin에서 무토큰·위조·dummy 토큰 총 6건이 403이고 계산 작업이 시작되지 않았습니다. 네 무인증 GET은 200이며 운영 dummy 우회가 없습니다.
  • OCI 컨테이너의 digest 이미지와 main revision 일치, healthy, readiness를 확인했습니다. 자체 앱 origin의 콘솔 오류는 0건입니다.
  • 각 저장소의 main/dev를 동기화하고 이번 feature 브랜치를 삭제했습니다.

@kyj0503
kyj0503 merged commit 8e6d97b into main Oct 25, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant