Skip to content

ACoullard/Stocks-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Stocks-Market-Sim

Code available upon request

Stock Market Sim is a Java-based application designed to help users learn and experiment with stock investments in a virtual environment. It provides tools to analyze stocks, create portfolios, and simulate investment strategies without using real money. The program follows a Model-View-Controller (MVC) architecture, ensuring a clear separation of concerns between data management, user interface, and application logic.

Features

  • Recording of Stock Transactions:
    • Create and manage multiple portfolios containing various stocks.
    • Track over 100 different stock symbols over many years.
    • Stock transactions may be recorded, and the history of the portfolio may be queried to find its value, or its composition at any given time.
    • The program will automatically take into account what days the stock exchange was open, as well as any holidays, and will provide helpful suggestions to assist in correcting invalid dates.
  • Stock Analysis:
    • Calculate the gain or loss of a stock over a specified period.
    • Compute the x-day moving average for a stock on a specific date.
    • Identify x-day crossovers for a stock within a specified date range.
  • Rebalancing Portfolios:
    • Rebalance a portfolio based on specified target weights for stocks on a specific date.
  • File saving:
    • Portfolio files may be saved and retrieved from a XML file, as well as imported from previos sessions.
  • Performance Over Time:
    • Visualize the performance of a portfolio over a specified time range using a bar chart. The chart will display portfolio value at regular intervals (day, month, or year) within the specified range.
    • Scale of the chart will reflect the range of portfolio values, ensuring readability and clarity.

Details

  • User Interface:
    • GUI interface (see below)
    • Text-based cli.
  • Data Source:
    • Retrieves historical stock data from Alpha Vantage API.
    • Supports a wide range of stock ticker symbols and historical dates.
    • If API calls run out, there is historical data of 3 stocks (AAPL, AMZN, GOOG) that come with bundled the project and may be used locally instead.
Home page

The home page of the program

portfolio screen

The options available for a portfolio

error message

Helpful error messages. The 22nd is suggested since the 24th and the 23rd are weekends

portfolio file selection

The menu to import a new porfolio XML file

graph making function

The graphing function for Tesla stock over one year

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors