# rugved0014/alpha-titans-algorithm-trading-strategy architecture

> Architecture diagram of the GitHub repository rugved0014/alpha-titans-algorithm-trading-strategy, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rugved0014/alpha-titans-algorithm-trading-strategy
- Repository: https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy

## Overview

Alpha Titans is a distributed algorithmic-trading platform. Users authenticate in the React console, inspect market data, register strategies, and request historical backtests. The backtest controller obtains strategy metadata and prices, triggers strategy execution, simulates trades, requests analytics, and publishes completion events. Separate event consumers support notifications and AI explanations; the console also offers a Python research comparison. The README documents several quantitative metrics and event capabilities whose implementation was not sampled, so those connections are shown only at the documented service level.

Main entry points: [`frontend/src/App.jsx`](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/frontend/src/App.jsx) (React Console), [`backtesting-service/src/main/java/com/algotitans/backtestingservice/controller/BacktestController.java`](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/backtesting-service/src/main/java/com/algotitans/backtestingservice/controller/BacktestController.java) (Backtest Engine), [`strategy-service/src/main/java/com/algotitans/strategyservice/controller/StrategyController.java`](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/controller/StrategyController.java) (Strategy API), [`market-data-service/src/main/java/com/algotitans/marketdataservice/controller/MarketDataController.java`](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/controller/MarketDataController.java) (Market Data API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["User Console"]
  node_frontend["React Console<br/>[App.jsx]"]
end

subgraph group_identity_market["Identity And Market"]
  node_auth["Authentication"]
  node_user_store[("User And Roles")]
  node_market_api["Market Data API"]
  node_market_store[("Prices And Stocks")]
  node_market_loader["Price Simulation"]
end

subgraph group_trading["Strategy And Backtesting"]
  node_strategy_api["Strategy API"]
  node_strategy_factory["Strategy Algorithms"]
  node_strategy_store[("Strategies And Signals")]
  node_backtest_api["Backtest Engine"]
  node_backtest_store[("Backtests And Trades")]
end

subgraph group_insights["Analytics And Events"]
  node_analytics["Risk Analytics"]
  node_analytics_store[("Analytics Reports")]
  node_broker["RabbitMQ"]
  node_notification["Notification Service"]
  node_notification_store[("Notifications")]
  node_ai_consumer["AI Event Consumer"]
  node_ai_api["AI Explanations<br/>[AiController.java]"]
  node_ai_store[("Saved Insights")]
end

subgraph group_research["Research Service"]
  node_research["Python Backtest<br/>[main.py]"]
end

node_user(("Trader"))
node_ollama["Ollama LLM"]

node_user -->|"uses"| node_frontend
node_frontend -->|"authenticates"| node_auth
node_auth -->|"reads and writes"| node_user_store
node_frontend -->|"requests prices"| node_market_api
node_market_api -->|"reads"| node_market_store
node_market_loader -->|"writes prices"| node_market_store
node_frontend -->|"manages strategies"| node_strategy_api
node_strategy_api -->|"reads and writes"| node_strategy_store
node_strategy_api -->|"fetches prices"| node_market_api
node_strategy_api -->|"resolves algorithm"| node_strategy_factory
node_strategy_api -->|"publishes events"| node_broker
node_frontend -->|"starts backtest"| node_backtest_api
node_backtest_api -->|"loads and runs strategy"| node_strategy_api
node_backtest_api -->|"loads history"| node_market_api
node_backtest_api -->|"saves results"| node_backtest_store
node_backtest_api -->|"publishes trade and completion events"| node_broker
node_backtest_api -->|"requests metrics"| node_analytics
node_analytics -->|"persists reports"| node_analytics_store
node_analytics -.->|"publishes completion event"| node_broker
node_broker -->|"delivers events"| node_notification
node_notification -->|"persists alerts"| node_notification_store
node_broker -->|"delivers events"| node_ai_consumer
node_ai_consumer -->|"requests generation"| node_ollama
node_ai_consumer -->|"stores insights"| node_ai_store
node_ai_api -->|"requests explanations"| node_ollama
node_ai_api -->|"reads insights"| node_ai_store
node_frontend -->|"loads alerts"| node_notification
node_frontend -.->|"requests insight"| node_ai_api
node_frontend -.->|"compares results"| node_research

click node_frontend "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/frontend/src/App.jsx"
click node_auth "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/user-service/src/main/java/com/algotitans/userservice/controller/AuthController.java"
click node_user_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/user-service/src/main/java/com/algotitans/userservice/repository/UserRepository.java"
click node_market_api "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/controller/MarketDataController.java"
click node_market_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/repository/HistoricalPriceRepository.java"
click node_market_loader "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/loader/MarketDataLoader.java"
click node_strategy_api "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/controller/StrategyController.java"
click node_strategy_factory "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/strategy/StrategyFactory.java"
click node_strategy_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/repository/StrategyRepository.java"
click node_backtest_api "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/backtesting-service/src/main/java/com/algotitans/backtestingservice/controller/BacktestController.java"
click node_backtest_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/backtesting-service/src/main/java/com/algotitans/backtestingservice/repository/BacktestRepository.java"
click node_analytics "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/analytics-service/src/main/java/com/algotitans/analyticsservice/controller/AnalyticsController.java"
click node_analytics_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/analytics-service/src/main/java/com/algotitans/analyticsservice/repository/AnalyticsReportRepository.java"
click node_notification "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/notification-service/src/main/java/com/algotitans/notificationservice/consumer/NotificationConsumer.java"
click node_notification_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/notification-service/src/main/java/com/algotitans/notificationservice/repository/NotificationRepository.java"
click node_ai_consumer "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/consumer/AiEventConsumer.java"
click node_ai_api "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/controller/AiController.java"
click node_ai_store "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/repository/AiInsightRepository.java"
click node_research "https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/research-service/main.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_frontend toneBlue
class node_auth,node_user_store,node_market_api,node_market_store,node_market_loader toneAmber
class node_strategy_api,node_strategy_factory,node_strategy_store,node_backtest_api,node_backtest_store toneMint
class node_analytics,node_analytics_store,node_broker,node_notification,node_notification_store,node_ai_consumer,node_ai_api,node_ai_store toneRose
class node_research,node_user,node_ollama toneIndigo
```

## Components

### User Console

- [React Console](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`

### Identity And Market

- [Authentication](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/user-service/src/main/java/com/algotitans/userservice/controller/AuthController.java): `user-service/src/main/java/com/algotitans/userservice/controller/AuthController.java`
- [User And Roles](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/user-service/src/main/java/com/algotitans/userservice/repository/UserRepository.java): `user-service/src/main/java/com/algotitans/userservice/repository/UserRepository.java`
- [Market Data API](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/controller/MarketDataController.java): `market-data-service/src/main/java/com/algotitans/marketdataservice/controller/MarketDataController.java`
- [Prices And Stocks](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/repository/HistoricalPriceRepository.java): `market-data-service/src/main/java/com/algotitans/marketdataservice/repository/HistoricalPriceRepository.java`
- [Price Simulation](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/market-data-service/src/main/java/com/algotitans/marketdataservice/loader/MarketDataLoader.java): `market-data-service/src/main/java/com/algotitans/marketdataservice/loader/MarketDataLoader.java`

### Strategy And Backtesting

- [Strategy API](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/controller/StrategyController.java): `strategy-service/src/main/java/com/algotitans/strategyservice/controller/StrategyController.java`
- [Strategy Algorithms](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/strategy/StrategyFactory.java): `strategy-service/src/main/java/com/algotitans/strategyservice/strategy/StrategyFactory.java`
- [Strategies And Signals](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/strategy-service/src/main/java/com/algotitans/strategyservice/repository/StrategyRepository.java): `strategy-service/src/main/java/com/algotitans/strategyservice/repository/StrategyRepository.java`
- [Backtest Engine](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/backtesting-service/src/main/java/com/algotitans/backtestingservice/controller/BacktestController.java): `backtesting-service/src/main/java/com/algotitans/backtestingservice/controller/BacktestController.java`
- [Backtests And Trades](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/backtesting-service/src/main/java/com/algotitans/backtestingservice/repository/BacktestRepository.java): `backtesting-service/src/main/java/com/algotitans/backtestingservice/repository/BacktestRepository.java`

### Analytics And Events

- [Risk Analytics](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/analytics-service/src/main/java/com/algotitans/analyticsservice/controller/AnalyticsController.java): `analytics-service/src/main/java/com/algotitans/analyticsservice/controller/AnalyticsController.java`
- [Analytics Reports](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/analytics-service/src/main/java/com/algotitans/analyticsservice/repository/AnalyticsReportRepository.java): `analytics-service/src/main/java/com/algotitans/analyticsservice/repository/AnalyticsReportRepository.java`
- **RabbitMQ**
- [Notification Service](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/notification-service/src/main/java/com/algotitans/notificationservice/consumer/NotificationConsumer.java): `notification-service/src/main/java/com/algotitans/notificationservice/consumer/NotificationConsumer.java`
- [Notifications](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/notification-service/src/main/java/com/algotitans/notificationservice/repository/NotificationRepository.java): `notification-service/src/main/java/com/algotitans/notificationservice/repository/NotificationRepository.java`
- [AI Event Consumer](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/consumer/AiEventConsumer.java): `ai-service/src/main/java/com/algotitans/aiservice/consumer/AiEventConsumer.java`
- [AI Explanations](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/controller/AiController.java): `ai-service/src/main/java/com/algotitans/aiservice/controller/AiController.java`
- [Saved Insights](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/ai-service/src/main/java/com/algotitans/aiservice/repository/AiInsightRepository.java): `ai-service/src/main/java/com/algotitans/aiservice/repository/AiInsightRepository.java`

### Research Service

- [Python Backtest](https://github.com/rugved0014/alpha-titans-algorithm-trading-strategy/blob/main/research-service/main.py): `research-service/main.py`

### Other components

- **Trader**
- **Ollama LLM**

## Connections

- Trader → React Console: uses
- React Console → Authentication: authenticates
- Authentication → User And Roles: reads and writes
- React Console → Market Data API: requests prices
- Market Data API → Prices And Stocks: reads
- Price Simulation → Prices And Stocks: writes prices
- React Console → Strategy API: manages strategies
- Strategy API → Strategies And Signals: reads and writes
- Strategy API → Market Data API: fetches prices
- Strategy API → Strategy Algorithms: resolves algorithm
- Strategy API → RabbitMQ: publishes events
- React Console → Backtest Engine: starts backtest
- Backtest Engine → Strategy API: loads and runs strategy
- Backtest Engine → Market Data API: loads history
- Backtest Engine → Backtests And Trades: saves results
- Backtest Engine → RabbitMQ: publishes trade and completion events
- Backtest Engine → Risk Analytics: requests metrics
- Risk Analytics → Analytics Reports: persists reports
- Risk Analytics → RabbitMQ: publishes completion event
- RabbitMQ → Notification Service: delivers events
- Notification Service → Notifications: persists alerts
- RabbitMQ → AI Event Consumer: delivers events
- AI Event Consumer → Ollama LLM: requests generation
- AI Event Consumer → Saved Insights: stores insights
- AI Explanations → Ollama LLM: requests explanations
- AI Explanations → Saved Insights: reads insights
- React Console → Notification Service: loads alerts
- React Console → AI Explanations: requests insight
- React Console → Python Backtest: compares results
