Replies: 2 comments 10 replies
-
I guess you should use Once you drop that, you can avoid passing volumes and prices to the market data; use For the min/max weights you can use the min/max benchmark deviation constraints, which do the same thing. If you have small numerical errors and are concerned about them, you can increase the target accuracy of the numerical solver CVXPY calls, they are listed in the "advanced" page of cvxpy.org; for example passing I suspect the main issue was the transaction cost term adding a dependence on volume. If these don't solve it, post a minimal script to reproduce 👍 |
Beta Was this translation helpful? Give feedback.
-
I'll try to build a simple reproducible script and post it... |
Beta Was this translation helpful? Give feedback.
-
I'm setting up a fairly constrained optimization problem using SinglePeriodOptimization() and I'm getting back weights that aren't quite what I expected.
In particular, for an 11 asset universe:
[Note that I have a worry that using prices at 1. is a bad idea as it may force some odd trade size behavior...haven't dug into before asking here]
I can provide a lot more detail on the setup (both inputs and outputs, including example data), but if that's sufficient, here's what I'm concerned about.
When I look at the optimal weights, I get, for some of the very small markets (i.e. those with small benchmark weights and hence relatively small ranges) have very small negative values...which would be below the minimum weight constraint. Further, those assets with wide ranges (i.e. max-min) tend to hug the benchmark while those with tight ranges (i.e. small markets) tend to swing quite a bit.
I suspect I'm missing something...
Beta Was this translation helpful? Give feedback.
All reactions