ONS Trading is a web-based portfolio management tool designed for investors and traders who want to optimize their investments using AI-powered allocation and real-time market data.
It allows users to:
- Add and manage assets from global stock markets and cryptocurrencies (using Yahoo Finance symbols).
- View live prices and historical performance.
- Automatically calculate and recommend optimal portfolio allocations using the Online Newton Step (ONS) algorithm.
- Effortlessly update prices and manage capital allocation.
Who is it for?
This project is for individual investors, finance enthusiasts, and anyone interested in smarter, data-driven portfolio management with a simple, user-friendly interface.
You can deploy your Django ONS Trading app on any Linux server, cloud platform, or PaaS that supports Python. Here’s a basic guide for common deployment options:
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
- Add, view, and delete assets with name and symbol.
- Fetch live prices using yfinance for stocks and crypto.
- Display portfolio with real-time prices.
- Run ONS (Online Newton Step) algorithm for optimal allocation.
- Show recommended allocations and capital distribution.
- Responsive, modern UI with Bootstrap.
- Symbol lookup helper or autocomplete (link to Yahoo Finance or suggest format).
- Asset edit functionality (change name/symbol).
- Asset detail/history view (show price chart for each asset).
- [x]Improved error messages for invalid symbols or price fetch failures.
- Support for multiple exchanges (NSE, BSE, NASDAQ, etc.) with dropdown.
- Import/export portfolio as CSV.
- User authentication and personal portfolios.
- Notifications for price changes or rebalancing suggestions.
- Portfolio performance chart over time.
- Asset allocation pie chart.
- Risk/return analytics and historical backtesting.
- Scheduled price updates (via Celery or cron).
- Integration with broker APIs for real trades (optional/advanced).
- Mobile-friendly PWA or native app.
- Complete user guide and FAQ.
- Contribution guidelines for open source.
- Demo video and deployment instructions.
Suggestions and contributions are welcome!
- Backend: Django (Python)
- Frontend: HTML5, CSS3, Bootstrap 5, JavaScript
- Database: SQLite (default, can be switched to PostgreSQL/MySQL)
- Live Price Data: yfinance (Yahoo Finance Python API)
- Numerical Computation: NumPy
- Deployment: Linux server (compatible with Heroku, Render, DigitalOcean, etc.)
- Version Control: Git & GitHub