Hi. I'm a programmer from Russia with strong skills in C++ and Python. You can see the full list of my skills on my profile page. I plan to solve your task with machine learning methods and Python. For example, a neural network can be trained and it will decompose the data into several harmonics: long-term harmonic, medium-term harmonic, short-term harmonics etc. That's the outline.
If you're interested, feel free to contact me.
All the best,
Sergey.