Skip to content
Snippets Groups Projects
README.md 34.71 KiB

A Kalman Filter based High Frequency Trading Strategy

Teammates

Norman Yeo - nyeo2@illinois.edu (Team Leader)

  • Norman is a graduating Bachelor's Student at the University of Illinois at Urbana-Champaign in the Engineering Department majoring in Computer Science. Norman is graduating in May 2023. Norman is interested in the areas of low latency computing and cybersecurity.

King Chak Ho - kch6@illinois.edu

  • King is a graduating Master Student at the University of Illinois at Urbana-Champaign in the Mathematics Department majoring in Applied Mathematics. King is graduating in Dec 2022. King received his B.S. in Mathematics with Specialization in Computing from University of California, Los Angeles. King has broad interest and exposure in the areas of both mathematics and computer science such as probability, machine learning, and algorithms.

  • Feel free to reach me at kch6@illinois.edu or my linkedin profile: https://www.linkedin.com/in/king-chak-ho/

Yipu Jin - Yipujin2@illinois.edu

  • Yipu is a graduating Master Student at the University of Illinois at Urbana-Champaign in the Industrial & Enterprise System Engineering Department majoring in Financial Engineering. Yipu is graduating Dec. 2022.

  • Yipu has experience in quantitative research and data analysis: https://www.linkedin.com/in/yipujin/

Yuhao Wang - yuhaow8@illinois.edu

  • Yuhao is a graduating Master Student at the University of Illinois at Urbana-Champaign in the Industrial & Enterprise System Engineering Department majoring in Financial Engineering. He will be graduating Dec. 2022.

  • He has experience in mortgage research and trading strategy design, feel free to reach at yuhaow8@illinois.edu.

Project Description:

This is the final report for semester long project for "FIN556 - Algorithmic Market Microstructure " Under Prof. David Lariviere.

Now, we further break down our project into four sections: market data, kalman filter research, strategy developement and analysis.

  1. Market Data:

    The intraday market data sources for this project are the IEX Historical Data.

  2. Kalman Filter Research:

    In the early phrase of the project, we learned and researched about different applications of Kalman Filter in Finance, and then we used Python and pykalman package to build Kalman Filter using the IEX intraday data. We then visualized the result of the Kalman Filter and tried to develop a trading strategy from those results. Once we developed the strategy logic, we then implemented the trading strategy in Strategy Studio.

  3. Strategy Development:

    We used Strategy Studio to develop and backtest trading strategy. Strategy Studio is a proprietary software from RCM-X used for trading strategy development and testing. We wrote our trading strategy by implementing the StrategyStudio's Strategy interface. Then, we backtested our strategy in Strategy Studio using IEX Historical DEEPS Data Feed. The backtest results which included a profit and loss csv file was used to evaluate the strategy's performance.

  4. Analysis:

    We wrote a python script to interpret the backtest csv file generated by Strategy Studio. We analyzed the strategy performance by generating visualizations and evaluating different metrics such as cummulative return percentage, sharpe ratio, sortino ratio and maximum drawdown.

Technologies:

Languages

Python

  • Python was used for strategy research before implementation in C++. It's convenient to deal with market data inputs and can provide visualizations to obviously show the backtest results.

C++

  • C++ was used in Strategy Studio for data parser and backtesting. It's a high performance language and is ideal for strategy implementation.