CS 405 Assignment 9

Stock Analysis - Due April 22

The purpose of this assignment is to give you practice with objects, text processing, and downloading files.

General Functionality

The button labelled "Load Stock Tickers" should bring up a file dialog box that allows the user to select a file containing stock tickers. The file selected should contain 3 tab delimited columns. The first column should contain the stock's ticker symbol. The second column should contain the name of the company. The third column should contain the market capitalization of the stock in question.

Once you have loaded the file, you should use yahoo stocks to get the price of the stock in question beginning with 1/1/2013 ending with 12/31/2013, 1 year worth of price data. You should load this data into your program so you can process it, identifying interesting stocks. The first stock you should identify is the most expensive stock according to the open column. Note that my program also shows what date this occurred on, you do not have to do that if you do not wish to.

The next stock you should identify is the stock that went up the most. Note that the low price point must precede the high price point in time.

The last thing you need to do is implement one or two bonus features. You are required to implement one bonus feature, but implementing two bonus features will earn extra points. The bonus feature should look at the data you have downloaded and use it to identify a good stock to purchase. As you can see, my bonus feature is quite lame and therefore would receive no credit; your bonus feature must define some quantitative metric, calculate that metric for each stock, and identify the stock whose metric is the highest.

Program Design

You should create a class to represent a single price point for the stocks. At minimum, this class will need to contain the stock's open price, but you may elect to store more information than this. You should create a class to represent individual stocks. Each individual stock should contain the ticker symbol, the company name, and the market capitalization of the stock. These should also contain a list of price points for the stock.

Preliminary Testing

Like the last program, before you begin, you should do some basic testing to make sure your classes work correctly.

Data

I have included a few sample test data files.

I recommend not using the large file as it is, but rather copying a subset of that file into a new input file.

Evaluation

Submission Instructions

To submit this program, I would like all students to zip their project, and send it to me. I would like you to submit the entire project, which should be named Prog_9_lastname, where lastname is your last name. For me, this is Prog_9_Wilt. Students should email their completed projects to cs405@cs.unh.edu.

Late Policy

The assignment is due prior to midnight on the listed due date. For this assignment, that means you must turn in your solution before to April 23.

Unlike other classes you may have taken in the past, no late work is allowed for this class. This is worth repeating, because it is extremely important: no late work is allowed for this class. We will move quickly, and I do not want students straggling behind trying to catch up on work from previous weeks, which is what generally happens when late work is accepted.