7 Commits

Author SHA1 Message Date
머니페니
072b6059d4 fix: KRX data collection + TIGER 200 ticker fix + trade history seed
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
- Upgrade pykrx 1.2.3 → 1.2.6 (KRX login session support)
- Add KRX_ID/KRX_PW env vars for KRX authentication
- Enhance error handling in all pykrx-dependent collectors
  - ETFCollector: raise KRXDataError with login hint
  - ValuationCollector: raise RuntimeError with login hint
  - StockCollector/PriceCollector/ETFPriceCollector: JSONDecodeError handling
- Fix TIGER 200 ticker: 069500 → 102110 in seed data
- Rebuild seed_data.py from actual 33 trade records
- Add trade_history_raw.csv as source data
- Fix pension_allocation recommendation: KODEX 200 → TIGER 200
- Add ticker dropdown to transaction add modal (frontend)
- Update .env.example with KRX credentials
- All 276 tests passing
2026-04-15 22:16:42 +09:00
머니페니
862c1637bd fix: add resilience to ETFCollector and ValuationCollector
Some checks failed
Deploy to Production / deploy (push) Has been cancelled
- ETFCollector: retry once on JSONDecodeError/ConnectionError with 3s delay
- ValuationCollector: fallback to previous 3 business days on KeyError/empty data
- Both: graceful skip on persistent failure, never delete existing DB data
- Add test_collector_resilience.py (9 tests)
2026-03-29 22:45:20 +09:00
머니페니
12d235a1f1 feat: add 9 new modules - notification alerts, trading journal, position sizing, pension allocation, drawdown monitoring, benchmark dashboard, tax simulation, correlation analysis, parameter optimizer
Phase 1:
- Real-time signal alerts (Discord/Telegram webhook)
- Trading journal with entry/exit tracking
- Position sizing calculator (Fixed/Kelly/ATR)

Phase 2:
- Pension asset allocation (DC/IRP 70% risk limit)
- Drawdown monitoring with SVG gauge
- Benchmark dashboard (portfolio vs KOSPI vs deposit)

Phase 3:
- Tax benefit simulation (Korean pension tax rules)
- Correlation matrix heatmap
- Parameter optimizer with grid search + overfit detection
2026-03-29 10:03:08 +09:00
머니페니
f818bd3290 feat: add walk-forward analysis for backtests
- Add WalkForwardResult model with train/test window metrics
- Create WalkForwardEngine that reuses existing BacktestEngine
  with rolling train/test window splits
- Add POST/GET /api/backtest/{id}/walkforward endpoints
- Add Walk-forward tab to backtest detail page with parameter
  controls, cumulative return chart, and window results table
- Add Alembic migration for walkforward_results table
- Add 8 unit tests for window generation logic (100 total passed)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 22:33:41 +09:00
932b46c5fe feat: add KJBSignalGenerator for daily buy/sell signal detection
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:10:53 +09:00
0aac70886f feat: add TradingPortfolio for signal-based position management
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:08:36 +09:00
5422383fd8 feat: add FinancialCollector for FnGuide financial statement scraping
All checks were successful
Deploy to Production / deploy (push) Successful in 1m8s
Port make-quant-py's FnGuide scraping logic into galaxy-po's
BaseCollector pattern. Collects annual and quarterly financial
statements (revenue, net income, total assets, etc.) and maps
Korean account names to English keys for FactorCalculator.
Scheduled weekly on Monday 19:00 KST since data updates quarterly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 22:38:05 +09:00