I had some general questions/observations and ideas related to the plans for options support. While I am a rusty developer, I have been tinkering with Quantconnect and learning the basics to backtest options strategies. All-in-all, the platform looks very promising for the type of trading that I like to do and the type of backtesting that I would like to accomplish. I was wondering if there were some plans for the following, as it moves out of beta testing:

- I have noticed that Greeks and Implied Vol is not currently supported in back testing. Obviously, there is a large need for this type of support for options backtesting. What are the plans to add this support?

- I trade multi-leg strategies. Are there thoughts on adding helper classes or support for them. One example is as follows:

I have been able to add multiple positions to at the same time, which is exactly what we need. However, after they are initiated, it is not clear how to easily or natively track the open positions. In my simple testing/development, I have put in the following code to individually find open contracts and then close them. This was purely for my tinkering, to learn the platform:

foreach (var security in Portfolio.Securities)


if (security.Value.Invested == true)





The code above does work properly. However, it has led to some additional features or help class(es) that would be helpful if it was native. The helper classes would do the following:

- Enable the developer to look up positions, and pass back a list of the open positions and closed positions. We would be able to search for the open and closed positions

- Support a custom field that would help manage multi-leg positons. This field would be set by the developer when a position is opened, and allow the developer to easily determine which piece of the spread each option is associated with

For example, a butterfly is made up of three legs. The developer would execute the trade(s), and then be able to denote which strike is the upper, mid and lower contracts (or whatever label). When managing the trade, the developer would be able to evaluate and manage each leg separately. So if the developer wanted to roll down the upper strike (say from 2400 to 2390) we could look up the open, "upper" strike and then have the symbol in which to act on.

- Provide multi-leg (aggregated position) greeks. For example the combined delta for all open positions, including any stock and options. This could be recorded at the time of the trade opening and then a separate set of fields for the current greeks.

- Provide greeks for each individual position. Also, recorded at the time of the trading opening and then the current values. We would want both so we can compare the current greeks to the current values for rolling/adjustments.

- Record the price at which each leg was traded and the combined position.