Hello, would you be able to code the following?
Context: MORL is an ETN that pays 25% dividends, which is extremely high. That's great, but the problem is that MORL also risks extreme volatility. I'd like to create an algorithm that buys and holds MORL long, but then combines MORL with up to 4 other ETFs (not individual stocks) to hedge away MORL's volatility as much as possible. So here are the details:
1) Start with a universe of all ETFs, ETNs and CEFs (I'll just call them "ETFs") traded on USA exchanges.
2) Start with the assumption that you're going to buy and hold MORL indefinitely.
3) Each 2 weeks the algorithm scans the entire universe of ETFs and finds the best combination of up to 4 ETFs (MORL + up to 4 other ETFs), where the combination solves for the lowest overall volatility of the portfolio.
The hedging ETFs added to MORL can be long or short.
Since this strategy is all about capturing dividends, not the movement of the security, I'm not sure how well Quantopian can handle this. Ideally the algo would solve for not just low volatility, but also highest net dividend (in the event that you short another ETF to hedge, its dividend must be subtracted from MORL's dividend because you pay dividends when you short).
But even if Quantopian doesn't output dividends in its return figures, I'd still like to use Quantopian to create an algo that minimizes MORL volatility over time, adjusting and rebalancing to changing correlations. I'm guessing there are all sorts of Python ready-made codes you could use to do this math.
Example: Using my own manual experimentation, it seems that the combination of MORL + REK + XHB + WYDE, all in equal proportions, is the lowest volatility combination I could find. How would an algo arrive at this conclusion? Or could an algo find an even better solution? Possibly with different securities and/or proportions?
I'm measuring volatility here in terms of how much % the combined portfolio moves up and down over the past 1 month...I'm not interested in comparing its beta against the SP500.
Please let me know what you think. If you need to do some research, I'm find paying your hourly rate to do up to 10 hours of research, with no guarantee of a working algo at the end.
So maybe this project could be three phases:
2) After research is complete, you tell me what's possible, and we agree on the best algo for you to build next.
3) Build the algo