Assignment Day           Thursday, September 5, 2017
Due Date Tuesday, September 19, 2017 (2 weeks) includes an in-class demo.

 

*** there will be an extension on this due to the weather ***


Project 1: Towards a Market Simulator

This project introduces collaborative work with Georgia Tech where we are working on a financial simulator. Extensions (i.e., final project) of this work can leverage on this supporting framework (that you) developed here.

This project as three parts: (1) analyze: a module to evaluate an existing portfolio (part of this module is developed) using certain metrics, (2) marketsim: create a framework of a market simulator - that uses an order book as a driver, and (3) optimize: create an optimizer that determines allocations of stocks in a portfolio.

We will utilize the Georgia Tech definition of the project (or part of their defintions) and we will denote any differences/diversion of the defintion on the page here.

Do not distribute your solution to any part of this project in a public (or private) forum.

Before you start you will need to set up a supporting software platform including .csv of stock data.

  1. Supporting Framework:
    Differcences between UGA and Georgia Tech:
    --> you will set up your own environment.
    --> A data set (csv files) to test your work is provided as a zip file
    --> data/ directory in above may be updated between assignment date and due date.
    --> you are expected to use 'fresh' data from yahoo finance (in a separate data directory).
    --> passing grading tests is just one measure of our grading criteria.
    --> you will not have access to Georgia Tech machines or servers = you will develop your solution on your own platform, we will use a similar setup (anaconda, and data) to test your code.

    Zip file : here (the data directory content may later be updated)

  2. Analyze: G-Tech Definition ( here ) - work on some of this in class, and some you will finish on your own. -> modify the template: analysis.py
    --> you will use a zip file to set up your environment(see 0. above).
    --> computes: cumulative return, average daily return, standard deviation of daily return, and the Sharpe ratio.

    --> input: historical prices from csv files, allocation, sampling frequence, (rfr = 0).
  3. Market Simulator: G-Tech Definition ( here ) utilizes the analysis.py file that you developed in 1.
  4. Optimize Portfolio: G-Tech Definition ( here )


Some details:

Part 1: Directory Structure (magenta we/you will work on as part of this project):

Submission Guidelines

Submit code on nike

Grade Criteria

100 pts - 5 test cases Analyze: Each case (20 pts): Sharpe Ratio (10 pts), Daily Return (5 points), Cumulative Return (5 points).
100 pts - 5 test cases MarketSim Each case (20 pts): Sharpe Ratio (4 pts), Daily Return (2 points), correct #days (4 points), Portfolio Value (10 pts).
100 pts - 4 test case Optimize: Each case (25 pts)

Deductions:

-----