SignalCraft is a sophisticated, real-time algorithmic trading and market analysis platform. Built with a focus on speed, reliability, and precision, it empowers traders to automate strategies, monitor global markets, and perform deep historical analysis with ease.
- ⚡ Real-time Market Data: Direct integration with Dhan WebSocket for sub-second quote updates.
- 📊 Advanced Charting: Integrated TradingView Lightweight Charts for high-performance visualization.
- 🤖 Strategy Engine: Multi-threaded backend for deploying and monitoring algorithmic strategies.
- 🛡️ Risk Management: Built-in position management, P&L tracking, and safety protocols.
- 📈 Global Screeners: 12+ pre-configured screeners, including Minervini Trend Template and custom RSI indicators.
- 🗄️ Historical Data: Optimized Parquet-based storage for lightning-fast backtesting on years of stock data.
- 📱 Responsive Dashboard: Premium React-based UI for a seamless experience across desktop and mobile.
- Frontend: Next.js, React, Tailwind CSS
- Backend: FastAPI, Uvicorn
- Data Layer: Pandas, PyArrow (Parquet), Redis
- Infrastructure: Docker, PostgreSQL
- Data Providers: Dhan API, YFinance
- Docker and Docker Compose
- Dhan API Credentials (Client ID, Access Token)
-
Clone the repository:
git clone https://github.com/sanprat/Signalcraft.git cd Signalcraft -
Set up Environment Variables: Create a
.envfile in the root directory (refer to.env.local.examplein frontend/backend):DHAN_CLIENT_ID=your_id DHAN_ACCESS_TOKEN=your_token
-
Run with Docker:
docker-compose up --build
-
Access the Application:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000/docs
- Frontend:
├── backend/ # FastAPI application logic
│ ├── app/ # Core modules, routers, and models
│ └── strategies/ # Stored algorithmic strategies
├── frontend/ # Next.js application
│ ├── app/ # Pages and layouts
│ └── components/ # UI components
├── data-scripts/ # Utilities for data download and management
└── docker-compose.yml # Orchestration for the full stack
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
- Attribution: You must give appropriate credit.
- Non-Commercial: You may not use the material for commercial purposes without explicit permission.
See LICENSE for full details.
Contributions are welcome! Please feel free to submit a Pull Request.
Built with ❤️ by sanprat
