Skip to content

jasonmatthewsuhari/first-visions-danta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

J^2 - Agents for Trades

Project Logo

J^2 is a multi-agent trading and compliance system where autonomous agents represent different investment personas, debate on assets using diverse datasets, and automatically execute trades while ensuring compliance with organizational SOPs. It merges the ideas of agentic AI debate, quantitative backtesting, and compliance automation into a single pipeline.

Key Features

  • Multi-Agent Architecture: Specialized agents for data ingestion, processing, analysis, evaluation, and execution
  • Comprehensive Data Processing: Advanced PDF extraction with OCR, semantic search, and RAG capabilities
  • Financial Intelligence: Real-time market data, SEC filings, news analysis, and financial calculations
  • Shared Tools Library: 80+ production-ready functions across 13+ tool categories
  • Enterprise Security: Sandboxed code execution, encryption, and comprehensive logging

[πŸ“‹] Table of Contents

Section Description
Contributors Meet the team behind this project
Tech Stack Technologies, frameworks, APIs used in development
Project Structure Organization of the codebase and purposes of different directories
Getting Started Local setup instructions and prerequisites

[πŸ§‘β€πŸ’»] Contributors

Name Role GitHub
Jason Matthew Suhari Full Stack, AI/ML, Agent Architecture @jasonsuhari
Neo Jing Yi Co-Developer, Data Engineering @neojingyi

[βš™οΈ] Tech Stack

Frontend

Next.js React TypeScript TailwindCSS ESLint PNPM

Backend

FastAPI Python Uvicorn Pydantic Pytest

Databases & Storage

Supabase ChromaDB

AI/LLM & Machine Learning

OpenAI Sentence Transformers Scikit Learn

Data Processing & Analysis

Pandas NumPy SciPy PyMuPDF Beautiful Soup

Visualization & Reporting

Matplotlib Seaborn Plotly ReportLab Jinja2

Search & Information Retrieval

SerpAPI NewsAPI Alpha Vantage SEC Edgar

Communication & Notifications

Discord Gmail

Development & Utilities

Docker Git Tesseract OCR Schedule Requests

[πŸ“] Project Structure

first-visions-danta/
β”œβ”€β”€  frontend/                    # Next.js frontend application
β”‚   β”œβ”€β”€ app/                       # App Router pages & layouts
β”‚   β”œβ”€β”€ components/                # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ threads.tsx           # Thread management UI
β”‚   β”‚   └── rotating-text.tsx     # Dynamic text animations
β”‚   β”œβ”€β”€ lib/                      # Frontend utilities
β”‚   └── public/                   # Static assets
β”‚
β”œβ”€β”€  agents/                     # Multi-Agent System
β”‚   β”œβ”€β”€ shared_tools/             # Comprehensive shared tools library (80+ functions)
β”‚   β”‚   β”œβ”€β”€ web_search.py         # SerpAPI, NewsAPI, SEC Edgar search
β”‚   β”‚   β”œβ”€β”€ vector_search.py      # ChromaDB, embeddings, semantic search
β”‚   β”‚   β”œβ”€β”€ document_rag.py       # PyMuPDF β†’ OCR PDF processing + RAG
β”‚   β”‚   β”œβ”€β”€ email_service.py      # SMTP, SendGrid, templates
β”‚   β”‚   β”œβ”€β”€ notification_service.py # Slack, Teams, Telegram, SMS
β”‚   β”‚   β”œβ”€β”€ chat_interface.py     # OpenAI/Anthropic chat with context
β”‚   β”‚   β”œβ”€β”€ code_executor.py      # Sandboxed Python/R/SQL execution
β”‚   β”‚   β”œβ”€β”€ math_calculator.py    # Financial calculations & statistics
β”‚   β”‚   β”œβ”€β”€ data_processor.py     # CSV/JSON/XML processing
β”‚   β”‚   β”œβ”€β”€ chart_generator.py    # Matplotlib/Plotly visualizations
β”‚   β”‚   β”œβ”€β”€ report_builder.py     # PDF/HTML report generation
β”‚   β”‚   β”œβ”€β”€ table_formatter.py    # Financial table styling
β”‚   β”‚   β”œβ”€β”€ file_manager.py       # Local & cloud storage management
β”‚   β”‚   β”œβ”€β”€ test_all_tools.py     # Comprehensive test suite
β”‚   β”‚   └── requirements.txt      # All dependencies
β”‚   β”‚
β”‚   β”œβ”€β”€ 01_data_ingestion_agents/  # Data collection & processing
β”‚   β”‚   └── macro_data/           # Economic data ingestion
β”‚   β”œβ”€β”€ 02_data_processing_agents/ # Data transformation & analysis
β”‚   β”‚   └── nl_normalizer/        # Natural language data normalizer
β”‚   β”œβ”€β”€ 03_analysis_agents/       # Financial analysis & insights
β”‚   β”œβ”€β”€ 04_execution_agents/      # Trade execution & automation
β”‚   └── 05_evaluation_agents/     # Performance evaluation
β”‚       └── performance_evaluator/ # Trading performance analysis
β”‚
β”œβ”€β”€  backend/                   # FastAPI backend services
β”‚   β”œβ”€β”€ apps/                     # Application modules
β”‚   β”‚   β”œβ”€β”€ shared_utils/         # Backend utilities & connectors
β”‚   β”‚   └── main.py              # FastAPI entry point
β”‚   └── tests/                    # Backend test suite
β”‚
β”œβ”€β”€  data/                      # Data storage & processing
β”œβ”€β”€  scripts/                   # Utility scripts
└──  docs/                      # Documentation & guides

[πŸ”°] Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/jasonsuhari/first-visions-danta.git
    cd first-visions-danta
  2. Setup Shared Tools (Core agent capabilities)

    cd agents/shared_tools
    pip install -r requirements.txt
    
    # Copy environment template and add your API keys
    cp env_template.txt .env
    # Edit .env with your API keys (OpenAI, SerpAPI, etc.)
    
    # Test the installation
    python test_all_tools.py
  3. Setup Frontend

    cd frontend
    npm install
    npm run dev
  4. Setup Backend (in a separate terminal)

    cd backend
    bash setup.bash  # Creates conda environment and installs dependencies
    conda activate first-visions-danta-env
    python main.py

Required API Keys

For full functionality, add these to your .env file:

  • Search: SERP_API_KEY, NEWS_API_KEY
  • AI/LLM: OPENAI_API_KEY
  • Email: GMAIL_EMAIL, GMAIL_APP_PASSWORD
  • Notifications: DISCORD_WEBHOOK_URL
  • Database: SUPABASE_URL, SUPABASE_KEY

What You Get

After setup, you'll have access to:

  • 80+ Production-Ready Functions across 13 tool categories
  • Advanced PDF Processing with PyMuPDF β†’ OCR fallback
  • Multi-Agent System for financial analysis and trading
  • Real-time Data Processing with market data integration
  • Beautiful UI with interactive charts and dashboards

Built with ❀️ by the J^2 Team.

About

A code repository to store contributions by Jason Matthew Suhari and Neo Jing Yi of the National University of Singapore in the First Visions: Danta hackathon.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors