Difference between revisions of "My projects portfolio"

From Sinfronteras
Jump to: navigation, search
(Assignment - Stock Market Simulator)
(Tag: Replaced)
Line 1: Line 1:
==Assignment - Stock Market Simulator==
+
==Java Stock Market Simulator==
 
 
<br />
 
===Assignment Introduction===
 
You have been asked to design and implement a simulator of a simplified ''model of a stock market''.
 
 
 
The program is going  to simulate both companies  and investors, following the specific requirements described below.
 
 
 
When  the  simulation has been completed,  you  must  present  the  user a  menu  with a  list  of  possible reports for them to see the result.
 
 
 
<br />
 
===Specific Requirements===
 
* '''The system must create dynamically 100 companies. All of them must have:'''
 
:* A unique ID
 
:* A random number of shares (between 500 and 1000)
 
:* A random share price (between 10 and 100)
 
:* Any other attribute that you consider relevant to the context
 
 
 
 
 
* '''The system must create dynamically 100 investors. All of them must have:'''
 
:* A unique ID
 
:* Arandom budget between 1000 and 10000
 
:* Any other attribute that you consider relevant to the context
 
 
 
 
 
* '''Once all the companies have been created, the simulator should run a "trading day". This will run transactions were investors buy shares in the companies that exist, following the rules below:'''
 
:* If a company sells 10 shares, the share price should double up.
 
 
 
:* If any 10 shares are sold (from any company), and a company hasn't sold any, the price must reduce in half.
 
 
 
:* Investors can do as many transactions as they like, but must buy only one share per transaction. Investors must try to buy shares in as many possible companies to guarantee the safety of their investment.
 
 
 
:* The simulator should stop when all shares have been sold, or all investors have spent all their money.
 
 
 
 
 
* '''You are required to present the user with a menu to display the result of the simulation, with the following options:'''
 
:* Company with the highest capital(number of shares times share price).
 
:* Company with the lowest capital (number of shares times share price).
 
:* If there are more than one company at the top or bottom position, they all should be displayed in the result.
 
:* Investor with the highest number of shares.
 
:* Investor that has invested in the most companies.
 
:* Investor with the lowest number of shares.
 
:* Investor that has invested in the least number of companies.
 
:* It there is more than one investor in any of the positions, they all should be displayed in the result.
 
 
 
 
 
* '''At least three design patterns must be implemented in your project.'''
 
 
 
<br />
 
===Extra marks===
 
If you would like to achieve a distinction consider adding some extra layers of functionality, such as, but not limited to:
 
* Implementing data persistency through a file or external database, or any other aspect that might be relevant to the context.
 
 
 
* Implementation of a multi threaded environment to simulate several investors trading at the same time.
 
 
 
* Other reports such as total number of transactions.
 

Revision as of 11:31, 14 June 2019

Java Stock Market Simulator