You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FinOptima is an AI-driven financial analytics platform built for **OSC AI Build 1.0**, a global hackathon organized by Open Source Connect (OSC). The project combines live market data, machine learning, clustering, and portfolio optimization to help users analyze stocks and generate smart investment insights in an interactive dashboard.
@@ -24,6 +41,8 @@ FinOptima is an AI-driven financial analytics platform built for **OSC AI Build
24
41
25
42
FinOptima is designed to showcase how open-source AI can be applied to financial decision-making. Users enter stock symbols and investment preferences, and the system fetches market data, engineers financial features, predicts short-term returns using machine learning, groups similar assets through clustering, and computes optimized portfolio allocations. The results are displayed in a clean, responsive dashboard with live prices, prediction signals, risk metrics, and allocation charts.
26
43
44
+
> **📘 Comprehensive technical documentation including ML model details, training methodology, feature engineering, evaluation metrics, benchmarks, and sample outputs is available at [`docs/TECHNICAL_DETAILS.md`](docs/TECHNICAL_DETAILS.md).**
45
+
27
46
## Why This Project
28
47
29
48
This hackathon project focuses on building a practical AI system that is:
@@ -53,10 +72,20 @@ This hackathon project focuses on building a practical AI system that is:
| Full pipeline (5 symbols, no LSTM) |~3–5 s |~20–30 s |
80
+
| Full pipeline (10 symbols, no LSTM) |~5–8 s |~40–60 s |
81
+
| LSTM training (8 epochs, 5 symbols) |~8–12 s | Disabled (OOM risk) |
82
+
| Memory usage (5 symbols) |~200 MB |~350 MB |
83
+
| Data freshness | Real-time | Up to 2 min delay (yfinance cache + rate limits) |
57
84
58
-
***Local Workspace (Recommended for Evaluators)**: Executes instantly (~5 to 10 seconds). It leverages your local computer's unthrottled CPU cores and high-speed memory to train model weight matrices in eager memory space rapidly.
59
-
***Live Web Instance (https://finoptima-gts9.onrender.com)**: Processes requests within ~20- 30 seconds. Powered by an optimized, non-persistent, 100% in-memory RAM vector data pool to comply with cloud free-tier memory resource limits.
85
+
**Key differences:**
86
+
-**Local execution** uses unthrottled CPU and full RAM for fast model training.
87
+
-**Render free tier** runs on shared CPU with 512 MB RAM ceiling. All operations are optimized for in-memory execution — no disk I/O, no SQLite, no CSV writes.
88
+
- LSTM is disabled on Render (`ENABLE_LSTM=false`) because TensorFlow allocates 300–400 MB at load time, exceeding the free tier limit during concurrent requests.
60
89
61
90
---
62
91
@@ -147,6 +176,37 @@ ai-portfolio-optimizer/
147
176
| POST |`/api/full-analysis`| Complete pipeline (dashboard) |
All data processing is 100% in-memory. No disk I/O occurs during request handling (CSV generation is a separate dev-only utility).
21
23
24
+
### Sample Data
25
+
26
+
Pre-fetched daily and intraday CSV files for 28 major US equities and ETFs are available in the [`live_data/`](../live_data) directory at the project root:
27
+
28
+
The datasets were fetched on 12 June.
29
+
| Folder | Contents |
30
+
|---|---|
31
+
|`live_data/daily/`| 28 CSV files, each with 1 year of daily OHLCV data (AAPL, MSFT, GOOGL, AMZN, TSLA, META, NVDA, JPM, NFLX, AMD, AVGO, COST, KO, PEP, WMT, PG, V, BAC, JNJ, UNH, XOM, CAT, GE, LIN, SPY, QQQ, IWM, GLD) |
These can be used with the `sample` data provider for testing without yfinance calls. The generator script is at `backend/app/utils/sample_data_generator.py`.
35
+
22
36
---
23
37
24
38
## Data Pipeline
@@ -37,8 +51,8 @@ All data processing is 100% in-memory. No disk I/O occurs during request handlin
0 commit comments