I have been trying to find answer to this but it seems it's very hard to find:
I would like to create custom constraints for example:
- checking that the correlation of asset to any other asset in portfolio is within defined bounds for specified period
- maximum drawdown for the combined portfolio does not exceed X% in any point during the past Y days
I would also like to create custom objectives for example for something like:
- Optimize portfolio for maximum CAGR/DD
Is this something optimize can do or should I just use scipy.optimize and just do the actual portfolio ordering for precalculated weights with optimize API?