Stock portfolio manager

Stock portfolio manager

In this assignment you will build a stock portfolio manager. The manager program will consist of 3 dictionaries.

The first dictionary, called Names, maps the stock symbol to the company name (example: "GM" maps to "General Motors").

The second dictionary, called Prices, maps the stock symbol to a list of 2 floating point numbers corresponding to the buy price (the price the user paid for the stock) and the current market price (the price the user could sell the stock for today).


The third dictionary, called Exposure, maps the stock symbol to a list of 2 floating point numbers, corresponding to the number of shares purchased, and the risk associated with holding onto the stock (i.e. How likely the stock is to gain value in the future). 

Your program should consist of the following functions:

AddName - Asks the user for a Stock Symbol and Name pairing then adds it to the Names dictionary.

AddPrices - Takes a Stock Symbol as an input parameter, then asks the user for the Buy price and the Current price of the corresponding stock, adding them to the Prices dictionary.

AddExposure - Takes a Stock Symbol as an input parameter, then asks the user for the Risk and Shares of the corresponding stock, adding them to the Exposure dictionary.

AddStock - Calls AddName, AddPrices, and AddExposure to add a new stock to the portfolio.

GetSale - Finds the maximum expected value of selling a stock. The expected sale value of a stock is the current profit minus the future value of the stock:
Expected Sale value = ( ( Current Price - Buy Price ) - Risk * CurrentPrice ) * Shares

The GetSale function should calculate this value for each stock in the portfolio, and return the stock symbol with the highest expected sale value.

Main - Should take no arguments, but present a menu item consisting of "1. Add Stock", "2. Recommend Sale" and "3. Exit". If the user selects '1,' the Add Stock function is called, and when it is complete, the menu is presented again. If the user selects '2,' the Symbol of the stock corresponding to the highest expected value (returned by GetSale) should be displayed, and the menu presented after completion. If the user selects '3', the program should end.

 
Powered by