Momentum investing with daily portfolio updates based on statistical analysis
This work models and exploits stock's next day performance based on 5 prior days' behavior. The second order derivative is investigated, and a concave behavior is sought, as in the upper figure. Within a small range of next day performance's absolute magnitude, the second order derivative and next day's performance exhibits a linear relationship as in the lower figure. ~10 Stocks within the linear range with maximal performance parameters are chosen and covariance-minimized. Such portfolio undergoes a daily update. Please refer to Slim timeframe momentum investing paper.pdf
for further details.
Run momentumAnalysis.py
for particular market and timeframe of interest and collect raw data (~260000 data for 5 months). Analyze the correlation between stock's past behavior and next day's perfomance using a separate tool (matlab version to be updated). Based on such analysis, set desired parameters slopeLowThresh
, slopeHighThresh
, devLowThresh
, devHighThresh
on momentumInvesting.py
and run code.
Based on stock's behavioral data mining for 5 months between 2022/1/1 ~ 2022/6/1 for KOSPI and KOSDAQ stocks, an oustanding performance has been achieved between 2022/1/1 ~ 2022/7/1 as shown below.
V1.0.1
- Analyze daily portfolio switching amount
- Apply methodology to more timeframes and develop a market-specific mechanism
- Analyze more features
- Apply machine learning technique to quantifying correlation
Any contributions or suggestions are greatly appreciated.
Distributed under the MIT License. See LICENSE.txt
for more information.
Jaewoo Jeong - [email protected]
This project has been initiated during the KAIST-UNIST AI for Finance course in 2022 spring semester, ranking 1st out of 40 teams with +11.38% for the course's quantitative investment competition which lasted for one month.