aboutsummaryrefslogtreecommitdiff

cs0320 Term Project 2021

Team Members: Michael, Clark, Reagan, Julia

Team Strengths and Weaknesses:
Julia
Strengths: debugging, structural design, dsa, individual time management
Weaknesses: css, test cases, group time management

Clark
Strengths: Front end design, whiteboarding/planning before coding, helping others with debugging, incrementally testing
Weaknesses: Missing small bugs or problem specification, busy, procrastination

Reagan
Strengths: Visual design, technical writing, commenting/readmes, pair programming, project planning
Weaknesses: Little experience with languages other than java, busy schedule, not very much knowledge about stock market

Michael
Strengths: Front end development (html/css/js), testing, adapting algorithms, making something work fast, java quirks, working with vms and frameworks, working with git.
Weaknesses: Making code readable/extensible, time management, procrastination, working with APIs.

Project Idea(s): Fill this in with three unique ideas! (Due by March 1)

Idea 1 - Stock Market Algorithms/Insider Trading Watchdog

We have one well fleshed out idea that has a couple different paths to explore.


Problems:
Mythbusting Misinformation:
There is potential misinformation about ‘get rich quick’ schemes that involve copying CEOs/senators.
Insider Trading:
Are certain CEOs/senators linked to a certain stock? Is it a predictor of success?


How does our idea solve this problem?
Problem 1: Misinformation Problem
- We plan to access (whether that be through an API or a web-scraper) public SEC data on the trades of senators and CEO. - With that, we plan to do some basic analysis on whether those choices were profitable for them or possibly for those who claim they make money from the same data. - Show 3 metrics 1) How much you would have made if you invested when they did 2) How much you would make if you followed their trades when info was out 3) How much you would have made from buying S&P 500

Problem 2: Insider Trading Problem - We plan to access (whether that be through an API or a web-scraper) public SEC data on the trades of senators and CEO. - With that, we plan to do some basic analysis on whether those choices were profitable for them or possibly for those who claim they make money from the same data.

Implementation of Solutions


Problem 1: Misinformation
- To calculate the above metrics, we will calculate the mean and standard deviation on each of the CEOs/senator’s stock picks for the statistical significance tests of the differences between them. - We will store all the metrics in a KdTree to make querying them more efficient.


Problem 2: Insider Trading
- We want to use some sort of weighted graph algorithm to detect suspicious trades by CEOs and Senators and flag them for potential insider trading. The algorithm should flag however many most suspicious people to investigate. - We want to develop an algorithm inspired by PageRank to determine ‘hubs’ of suspicion - Create a search of trades using both profitability (from the metrics of problem 1) and ‘suspiciousness’ (using PageRank) as metrics, with customizable weights for each metric.

While these problems are different, they’re connected. So their challenges are similar. Accessing and organizing the data How do we define authority for PageRank? Interconnectedness and what? Amount of money? Time frame?

Critical Features - Queries for CEOs/Senator profitability (features from problem 1) - On home, users will see the most and least profitable person and an average and standard deviation of total money made. - There will be input forms for them to query: - Choose a time period (ex. Last two weeks, year, ect.) - A certain senator/CEOs metrics (ex. Give metrics of Mitch McConnell or Nancy Pelosi) - Query CEOs/senators based on the metrics (ex. made less or more than $10,000... ) - Hub Suspicion Search (features from problem 2) - At home, users will see the most connected/suspicious groups along with how much they have made collectively. - Input forms to query - Time period of calculation - Name(s) to see the hubs (ordered by greatest) those name(s) are connected to. - Users can also query by the suspicion/connection score. - Users can also query by hub profitability or hub suspicion score. - (subpage for all CEOs/senators) Stock information - Can click on a certain CEO/senator or hub to see their stock picks: - How much they made from each individual pick - Other CEOs/hubs that picked that stock around that time. - When they bought/sold the stock. When that info was released. - Hubs they are connected to.

User Feedback
Sources Survey: https://forms.gle/Ck7wNf4M9uDTYqop6

Interview with Don Foiani - a stock analyst (linkedin: https://www.linkedin.com/in/donald-foiani)

Users were really receptive to the hub idea - more than an individual person’s gains or losses. In terms of the metrics, percent gain/loss was more favorable than the amount of money made. Some users wanted to include international world leaders as well (with the senators and CEOs). Users were more concerned with looking at stocks through the peoples’ trades than finding people from stocks.

HTA Approval (dpark20): Idea approved

Good idea - interesting how you'll build it. Make sure to narrow your scope if needed!

Mentor TA: Put your mentor TA's name and email here once you're assigned one!

Meetings

On your first meeting with your mentor TA, you should plan dates for at least the following meetings:

Specs, Mockup, and Design Meeting: (Schedule for on or before March 15)

4-Way Checkpoint: (Schedule for on or before April 5)

Adversary Checkpoint: (Schedule for on or before April 12 once you are assigned an adversary TA)

How to Build and Run

In the main project folder, run mvn package, then ./run --gui. In a second terminal, cd into react-fronend, then run npm i, then npm start.