Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 3.08 KB

README.md

File metadata and controls

50 lines (40 loc) · 3.08 KB

Fincent

Welcome to the repository for Fincent! This project is designed to demonstrate the integration of API data fetching, storage, backtesting modules, machine learning predictions, and deployment in a Django-based environment. The repository showcases advanced skills in Django development, database management, and deployment.

🚀 Overview

This project covers the complete development lifecycle of a financial data management system, from fetching and storing data to implementing backtesting strategies and integrating machine learning predictions. It is tailored for experienced developers proficient in Django and API integration.

Key Sections

  • Data Fetching – A Django view or background task that fetches financial data from Alpha Vantage and stores it in a PostgreSQL database.
  • Backtesting Module – A Django API endpoint for executing backtesting strategies with user-input parameters and generating financial performance summaries.
  • ML Integration – Use of a pre-trained model for predicting stock prices, integrated as a Django API endpoint.
  • Reporting – A comprehensive reporting tool to visualize and compare predicted and actual stock prices.
  • Deployment – Production-ready deployment on AWS with Docker and CI/CD pipeline automation.

🔧 Technologies Used

  • Django – Python-based web framework for developing the backend.
  • PostgreSQL – Relational database for storing financial data.
  • Alpha Vantage API – External API for fetching historical stock price data.
  • Docker – Containerization for scalable and consistent deployment.
  • AWS – Cloud platform for hosting the application and database.
  • Matplotlib/Plotly – Visualization libraries for report generation.
  • GitHub Actions – CI/CD tool for deployment automation.

✨ Features

  • API Integration: Seamless fetching of stock data with error handling for rate limits and network issues.
  • Backtesting Strategy: User-customizable backtesting with detailed financial metrics.
  • ML Predictions: Integrated pre-trained model to predict stock prices for the next 30 days.
  • Report Generation: Visual comparison and performance reports, available as PDF downloads or JSON API responses.
  • Deployment Ready: Dockerized and deployed on AWS, featuring CI/CD pipeline automation for robust development practices.

📁 Project Structure

├── app/
│   ├── views.py           # Django views for data fetching and backtesting
│   ├── models.py          # Django ORM models for financial data
│   ├── urls.py            # API routing
│   └── tasks.py           # Background tasks for data fetching
├── templates/
│   ├── report.html        # Template for generating PDF reports
├── static/
│   └── assets/            # Static files for visualizations
├── Dockerfile             # Container setup for Docker
├── docker-compose.yml     # Configuration for Docker Compose
├── .github/
│   └── workflows/         # CI/CD pipeline setup
└── README.md              # This file