Let's say that we have a composite of 10 fixed income portfolios, each with the same benchmark, the US Aggregate. Additionally, let's say that each portfolio has a position in Corporation ABC. The position can be defined in terms of its absolute weight, such as 1% in ABC, or in terms of its benchmark relative weight, benchmark+0.50%.
The issue I have is that this position in ABC is spread across different maturities. At the extreme, I could have 1% in a 3 year ABC bond or 1% in a 10 year ABC bond. My goal is to minimize the ABC position dispersion within my composite.
To solve this, I have defined maturity buckets: 0-3 year, 3-7, 7-10, 10+. I next want to define a minimization problem, defined as follows:
"Allocate to minimize composite maturity bucket dispersion in ABC such that the composite position is benchmark+x"
I'm working with python and sklearn, and am looking for a framework or model which I can apply to this sort of problem. Basic supervision and reinforcement machine learning models don't seem well suited to this problem