It sounds to me like you could use a running average of say 5 days initially, trying to find a "significant" trend (>5% increase in value over x days?). Assuming you start from some initial time, moving forward, once you find a trend, you then hold your first point, and expand your ending point until the trend ends. Then store your starting and ending points of that trend and move on to find more.

Now you have a list of stocks and periods they trend.

Now rerun a new method over those trends, looking repeats every 52weeks +- 3weeks maybe? Flag those data points for manual review.

Now you have a list of stocks and periods they trend.

Now rerun a new method over those trends, looking repeats every 52weeks +- 3weeks maybe? Flag those data points for manual review.