Yaojia Wang
e807af6395
chore: trigger drone build
continuous-integration/drone/push Build is passing
2026-03-10 00:06:20 +01:00
Yaojia Wang
4565edf432
chore: trigger drone build
continuous-integration/drone/push Build encountered an error
2026-03-10 00:05:14 +01:00
Yaojia Wang
79d9d5a012
chore: trigger drone build
2026-03-09 23:56:47 +01:00
Yaojia Wang
64fb5fc43e
chore: test drone webhook
2026-03-09 23:55:45 +01:00
Yaojia Wang
faec132bbe
chore: trigger drone build
2026-03-09 23:48:14 +01:00
Yaojia Wang
e7c747d297
fix: add custom event trigger for Drone manual builds
2026-03-09 23:37:16 +01:00
Yaojia Wang
ec76e92f1e
fix: switch Drone pipeline from docker to kaniko for k8s runner
2026-03-09 23:30:58 +01:00
Yaojia Wang
d05cb55cb0
feat: add Docker, Drone CI, and k8s deployment manifests
...
- Dockerfile for Python 3.12 FastAPI app
- Drone CI pipeline to build and push to internal registry
- Kubernetes manifests (Deployment, Service, Secret, Namespace)
- ArgoCD Application for GitOps deployment
- Kustomize base configuration
2026-03-09 23:28:31 +01:00
Yaojia Wang
e3e9c1986c
docs: add route_utils and obb_utils to project structure in README
2026-03-09 14:50:54 +01:00
Yaojia Wang
003c1d6ffc
refactor: fix code review issues across routes and services
...
- Extract shared route_utils.py (validate_symbol, safe decorator)
removing duplication from 6 route files
- Extract shared obb_utils.py (to_list, extract_single, safe_last)
removing duplication from calendar_service and market_service
- Fix _to_list dict mutation during iteration (use comprehension)
- Fix double vars() call and live __dict__ mutation risk
- Fix route ordering: /etf/search and /crypto/search now registered
before /{symbol} path params to prevent shadowing
- Add date format validation (YYYY-MM-DD pattern) on calendar routes
- Use timezone-aware datetime.now(tz=timezone.utc) in all services
- Add explicit type annotation for asyncio.gather results
2026-03-09 10:56:21 +01:00
Yaojia Wang
507194397e
feat: integrate quantitative, calendar, market data endpoints
...
Add 3 new service layers and route modules:
- quantitative_service: Sharpe ratio, CAPM, normality tests, unit root tests
- calendar_service: earnings/dividends/IPO/splits calendars, estimates, SEC ownership
- market_service: ETF, index, crypto, forex, options, futures data
Total endpoints: 50. All use free providers (yfinance, SEC).
Update README with comprehensive endpoint documentation.
2026-03-09 10:28:33 +01:00
Yaojia Wang
00f2cb5e74
feat: integrate Alpha Vantage news sentiment + fix technical indicators
...
- Add alphavantage_service.py for per-article sentiment scores
- Add /stock/{symbol}/news-sentiment endpoint (Alpha Vantage)
- Merge Alpha Vantage data into /stock/{symbol}/sentiment
- Fix technical indicators: use close_ prefixed keys from OpenBB
- Increase historical data to 400 days for SMA_200 calculation
- Add .gitignore, handle Finnhub 403 on premium endpoints
- Add INVEST_API_ALPHAVANTAGE_API_KEY config
2026-03-09 00:37:32 +01:00
Yaojia Wang
ad45cb429c
feat: OpenBB Investment Analysis API
...
REST API wrapping OpenBB SDK for stock data, sentiment analysis,
technical indicators, macro data, and rule-based portfolio analysis.
- Stock data via yfinance (quote, profile, metrics, financials, historical, news)
- News sentiment via Alpha Vantage (per-article, per-ticker scores)
- Analyst data via Finnhub (recommendations, insider trades, upgrades)
- Macro data via FRED (Fed rate, CPI, GDP, unemployment, treasury yields)
- Technical indicators via openbb-technical (RSI, MACD, SMA, EMA, Bollinger)
- Rule-based portfolio analysis engine (BUY_MORE/HOLD/SELL)
- Stock discovery (gainers, losers, active, undervalued, growth)
- 102 tests, all passing
2026-03-09 00:20:10 +01:00