Answered step by step
Verified Expert Solution
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 subproblems 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 realworld problems.
Deliverables :
The source code for the implementation of the algorithms Dynamic programming in JAVA.
write the pseudocode of the algorithm that finds the composition of an optimal allocation of assets.
For the dynamic programming approach, the composition should be obtained from the table generated during the algorithms execution.
For the dynamic programming approach, write the recurrence function.
provide the best and worst time complexity of your solutions. Present the complexities on a table and argue with examples to demonstrate the cases.
Experimental results demonstrating the performance of the algorithm for various portfolio sizes and investment amounts.
Screenshots of the complete code and sample run.
Source code in Courier New with font size: with comments.
Describe challenges faced and how you tackled them
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:
IDofasset : Expectedreturn : Risklevel : Quantityunits
Example :
AAPL : : :
GOOGL : : :
MSFT : : :
Total investment is units
Risk tolerance level is
Example :
AMZN : : :
TSLA : : :
FB : : :
Total Investment is units
Risk Tolerance Level is
Output Sample:
Example :
Optimal Allocation:
AAPL: units
GOOGL: units
MSFT: units
Expected Portfolio Return:
Portfolio Risk Level:
Example :
Optimal Allocation:
AMZN: units
TSLA: units
FB: units
Expected Portfolio Return:
Portfolio Risk Level:
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started