---
# System prepended metadata

title: FIN 556 Homework 4

---

# FIN 556 Homework 4

Ruipeng Han, Yihong Jian, Tomoyoshi Kimura, Kaiyuan Luo

## Setup

### Programming Languages & Pipeline Frameworks

#### Bash

- A scripting language that allow users to chain series of commands and feed into computer.
- We could write bash scripts for automation works.


#### C/C++

- Strategy Studio provides the interface entirely in C++ and allow us to implement various strategies in C++.


#### Python 

- We could Python for several tasks dealing with data. We could use Python to conduct various quant analysis and visualization to provide feedback to the strategy group. 

#### Gitlab

- We use Gitlab for version control and managing and tracking the changes to the project.

### Resources

#### Virtual Box/Vagrant

- Virtualbox is a software that is used to create virtual machines.
- Vagrant can use virtualbox to launch standardrized VMs to keep consistency in each run of our project.
- We used vagrant and virtualbox to set up the environment that runs our project.
- Our vagrant box contained Software Studio and necessary enviroment. It derived from Prof's Fin566 box.


## Team Member & Work Distribution

A description of what each individual team member will be doing as part of the project. 

### Ruipeng Han

Quant / Analysis: Implement analytic programs that perform analysis and evaluation of our programs

Later on help on the startagies: deploying the ML model to use/backtest on Strategy Studio; working together to tune parametets and fit out strategy/model to produce more desirable results.

### Yihong Jian

Act as our C++ expert/strategy writer. Focus writing Kalman filter strategy in C++. This should include writing Kalman filter code in C++, adapt it in the Strategy Studio Strategy, and executing code base on Kalman Filter predictions.

### Tomoyoshi Kimura

Works on analysis for the results generated by the Strategy Studio. Mostly creating analytic model to evaluate on the performance of strategies created by Yihong and Kaiyuan. Help them to implement if needed. 

### Kaiyuan Luo

ML/AI Strategies: Focusing on building a neural network that can predict future price (range) and create order based on prediciton.


## Timeline of critical milestone

A timeline of critical milestones (PER PERSON) of your project with detailed descriptions of each milestone.

### Ruipeng Han

#### Milestones

- Figure out features/metrics for analysis (1 week)
- Starts from simple strategy and conduct simple analysis (2 week)
- Implement the data analysis program for our stratgies (<= 2 weeks)
- Allow two week for debugging, improving, and sync-ing with current strategies. (1 week)
- Collaborate with Kaiyuan on ML, working on making the RNN model compatible with StrategyStudio, working on back-up strategies (which are more ML models like RL) if necessary (3 weeks)

### Yihong Jian

#### Milestones
- Understand Kalman filter + find lib/implement it in C++. Oct 3rd. (2.5 Weeks)
- Combine the filter result with strategy. October 17. (2 Weeks)
    - Early checkpoint on if it might work
- Sync with Quant guys for backtesting + understand performance. October 31th. (2 Weeks)
- Finetune parameters + analysize results. November 14th. (2 Weeks).
- Slack weeks/Extra weeks for failures. (~3 Weeks).

### Tomoyoshi Kimura

#### Milestone

- Study and evaluate possible features/metrics for quant analysis. (1 week)
- Compute model and functions for analysis focused on Kalman/ML parameters. (2 weeks)
- Analyze the strategies' results from Kalman/ML and provide improvements and feedbacks to the strategy group and then repeat (1 - 3 weeks)
- Possible risk management and conduct final analysis and report (1 week)


### Kaiyuan Luo

#### Milestones

- Research several different ML models for stock trading. (2 weeks)
- Implement the chosen model to predict on the future price and make decisions. (2 Weeks)
- Train model and test model to reach over 50% accuracy in prediciton (2 Weeks)
- Test with different parameters based on the feedback from the Quant side and repeat (3 Weeks)

## Others/Goals

- Understand micromarket structure and some strategies
- Successfully implement the chosen strategies
- Make reasonable profits based on the quant analysis

## Risks

### Kalman Filter

#### Uncertainties

- Coding availability
    - C++ since Kalman Filter is mostly implemented in Python
- Possible failure of the strategy

#### Backup Strategy

- Hidden markov model 

### ML/AI

#### Uncertaintities

- It might be hard for the model to pick up the correct features 
- ML/AI model often easier to implement in Python vs. C++

#### Backup

- We could try out other ML/AI models to implement such as Reinforcement Learning Model.

