File size: 3,306 Bytes
42472d8
f9ca914
42472d8
f9ca914
 
8eff5e9
f9ca914
 
42472d8
cc94bca
af8140d
a798b5f
af8140d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8c36b7b
af8140d
 
 
 
 
 
 
 
 
8238e7a
 
 
af8140d
8238e7a
 
 
 
dff09ad
8238e7a
dff09ad
 
 
560e15d
 
dff09ad
560e15d
dff09ad
560e15d
dff09ad
560e15d
dff09ad
560e15d
8238e7a
dff09ad
8238e7a
560e15d
dff09ad
560e15d
dff09ad
560e15d
dff09ad
560e15d
dff09ad
560e15d
8238e7a
af8140d
 
 
 
 
 
0790bd9
17c56fd
dbbaf6a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
title: CapiPort
emoji: 🤗
sdk: streamlit
sdk_version: 1.32.0
app_file: main.py
pinned: false
license: mit
---

# Portfolio Management for Indian Equity Markets
[![Build Status](https://github.com/bhanuprasanna527/CapiPort/actions/workflows/HF_sync_space.yml/badge.svg)](https://github.com/bhanuprasanna527/CapiPort/actions)


## Overview

Welcome to our project on portfolio management for Indian equity markets! This project aims to help individuals efficiently allocate their money between different equities, optimizing returns while managing risk.

## Features

- **Dynamic Allocation:** Our technique dynamically allocates funds among various equities based on a robust methodology.
- **Risk Management:** The project incorporates risk management strategies to enhance overall portfolio stability.
- **User-Friendly Interface:** Access the tool through our user-friendly web interface [here](https://capiport.streamlit.app/).

## Getting Started

Follow these steps to get started with the project:

1. Clone the repository:

   ```bash
   git clone https://github.com/bhanuprasanna527/CapiPort/

2. Install dependencies:
   ```bash
    pip install -r requirements.txt

3. Run the project:
   ```bash
    python main.py

## Technique used (Version 1) 
###  Mean-Variance Portfolio Optimization
Overview

Mean-Variance Portfolio Optimization is a widely used method in finance for constructing an investment portfolio that maximizes expected return for a given level of risk, or equivalently minimizes risk for a given level of expected return. This approach was pioneered by Harry Markowitz and forms the foundation of Modern Portfolio Theory (MPT).
Methodology
1. Basic Concepts

   Expected Return: The anticipated gain or loss from an investment, based on historical data or other factors.

   Risk (Variance): A measure of the dispersion of returns. In portfolio optimization, we seek to minimize the variance of the portfolio returns.

3. Optimization Algorithm
   
   Our implementation utilizes the following steps:

   Input Data: Historical returns for each asset in the portfolio.

   Objective Function: Construct an objective function that combines the expected return and variance.

   Optimization Algorithm: We employ a mean-variance optimization algorithm that iteratively adjusts the weights to find the optimal combination.

   Convergence Criteria: The algorithm iterates over a specified number of iterations (e.g., 5000) or until convergence is achieved.

4. Implementation

   In our project, we have implemented the Mean-Variance Portfolio Optimization method with 5000 iterations. The process involves:

   Input: Historical return data for each equity in the Indian market.

   Objective: Maximize expected return while minimizing portfolio variance.

   Optimization: Utilize an iterative approach, adjusting weights to find the optimal allocation.

   Output: The final set of weights that represent the optimal portfolio allocation.

#### Contributing
We welcome contributions! If you have any ideas for improvements, open an issue or submit a pull request.
License

This project is licensed under the MIT License.

## Links
1. **[Streamlit Deployment](https://capiport.streamlit.app/)**
2. **[HuggingFace Spaces](https://huggingface.co/spaces/sankhyikii/CapiPort)**