Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Problem Statement: You work for a prestigious investment firm that manages a large number of clients portfolios. Your task is to develop a program that

Problem Statement: You work for a prestigious investment firm that manages a large number of clients portfolios. Your task is to develop a program that determines the optimal allocation of assets in a given investment portfolio. The portfolio consists of N different assets, each with an associated expected return and risk level. Your program should take as input the expected return and risk of each asset, along with the total investment amount available. The goal is to find the allocation of assets that maximizes the portfolios expected return while keeping the risk within a specified tolerance level. Your program should solve this problem using Dynamic Programming.
: Dynamic Programming Approach: Design and implement a dynamic programming algorithm that efficiently computes the optimal allocation of assets. Your algorithm should make use of the principle of optimality to break down the problem into smaller sub-problems and avoid redundant computations. Your program should output the optimal allocation of assets, along with the corresponding expected return and risk. Additionally, you should compare the runtime and efficiency of the two implemented algorithms for different portfolio sizes and investment amounts. Note: You are not allowed to use existing optimization libraries or functions readily available online. The purpose of this project is to develop a deep understanding of the algorithmic paradigms and their application in solving real-world problems.
Deliverables :
1-The source code for the implementation of the algorithms ( Dynamic programming) in JAVA.
2-write the pseudocode of the algorithm that finds the composition of an optimal allocation of assets.
3 For the dynamic programming approach, the composition should be obtained from the table generated during the algorithms execution.
4 For the dynamic programming approach, write the recurrence function.
5 provide the best and worst time complexity of your solutions. Present the complexities on a table and argue with examples to demonstrate the cases.
6 Experimental results demonstrating the performance of the algorithm for various portfolio sizes and investment amounts.
7 Screenshots of the complete code and sample run.
8 Source code (in Courier New with font size:8) with comments.
9- Describe challenges faced and how you tackled them
10- Use meaningful variable names in your code
Sample run:
Input will be in the form of a text file your program should read. The input has the following format:
ID-of-asset : Expected-return : Risk-level : Quantity(units)
Example 1:
AAPL : 0.05 : 0.02 : 1000
GOOGL : 0.08 : 0.03 : 500
MSFT : 0.04 : 0.015 : 800
Total investment is 1000 units
Risk tolerance level is 0.024
Example 2:
AMZN : 0.07 : 0.04 : 600
TSLA : 0.1 : 0.05 : 400
FB : 0.06 : 0.025 : 700
Total Investment is 900 units
Risk Tolerance Level is 0.038
Output Sample:
Example 1:
Optimal Allocation:
AAPL: 200 units
GOOGL: 300 units
MSFT: 500 units
Expected Portfolio Return: 0.064
Portfolio Risk Level: 0.024
Example 2:
Optimal Allocation:
AMZN: 100 units
TSLA: 300 units
FB: 500 units
Expected Portfolio Return: 0.079
Portfolio Risk Level: 0.038

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David M. Kroenke

1st Edition

0130086509, 978-0130086501

More Books

Students also viewed these Databases questions

Question

Why is the System Build Process an iterative process?

Answered: 1 week ago