StockTechnicalAnalyzer

Glen Anderson
May 2, 2014

Overview

    My project is a program that downloads a .csv file of any given stock symbol from Yahoo Finance using the net/url library, 
    parses the file, organizes the data into lists, manipulates the data using different technical analysis formulas, 
    then graphs the results using the plot library.

Screenshot

Two of the five different windows produced by my program

Concepts Demonstrated

  • Lists of numbers, cons cells, lists, and vectors are used to hold the stock data.
  • Lists are manipulated through custom Recursive Procedures and recursive iterative procedures that produce lists in a different form with
    manipulated data.
  • Racket List Procedures like list-ref, map, and flatten are used to reconstruct lists.

External Technology

My project uses the net/url library to access a file from yahoofinance.com and a csv reader from the (planet neil/csv:2:0) library to parse csv data into lists of usable data. It also uses the racket plot library to present graphs of the stock price and technical indcators.

Innovation

Although my program isn't doing anything that hasn't already been done before, my program produces graphs that show the data 100% accurately, unlike most financial websites that use smoothing algorithms(which alter the data) to make graphs appear less choppy.

Technology Used Block Diagram

Create a simple block diagram of your software system that illustrates the major technical components and how they interact; e.g.:

Additional Remarks

Some of the graphs may be hard to read at first depending on the amount of data for a given company, but this can easily be fixed by stretching the graph window and zooming in on the area of interest.

For the formulas used for the indicators and information about how these technical indicators can be interpreted, visit:

    http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:stochastic_oscillator
    http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:moving_averages
    http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:moving_average_conve