I'm trying to find a way to compute an optimized basket of n currency pairs based on 2 properties.
Let's say i have 50 pairs * 2 (long/short) = 100 possible items. A basket has 2 properties to optimize: correlation and property X. I want to have an optimized basket with configurable: - maximum correlation between all items - minimum X - minimum basket size (like 10 or 20)
Computing every combination results in much too many combinations so I need some other strategy to go about this.
So far I've come up with this:
- Start with a basket which includes all 60 items.
- Then iterate over all items and for each item compute the basket with that item excluded.
- Then keep the "best" basket which meets requirements.
- repeat until minimum basket size reached.
How to determine which is best? maybe use a value which includes correlation and X somehow? I would then want to be able to configure the importance/weight of correlation and X.
Maybe you know better ways?