Back

The Options Trading Strategy based on MACD indicator

Hi all,

I want to share with you my options strategy using MACD. In this algorithm, When the MACD line crosses the slower signal line in the bullish direction, buy signal triggered.  When the MACD line crosses the signal line in the bearish direction, a covered call is written to reduced the downside risk. Usually, the covered call strategies will work well in steadily falling markets and not work in rapidly rising markets and range bound markets, depending upon the level of volatility.

Update Backtest






The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.



Jing this is a great example! Do you have an example using cyrpto and MACD? by any chance? or could you reference me to an algorithm example using cyrpto and one of the technical indicators? 

0

After getting the symbols list from OptionChainProvider, how do we get the bid/ask/last price of the options, the greeks and IV? I know we can get all these using SetFilter, but are they also available through OptionChainProvider? Thanks.

0

Hi Shawn, the manual filter OptionChainProvider will be limited to the information included in the Symbol(strike, expiration, type, style) without Greeks and IV. For underlying price, you can use self.Securities[underlying_symbol].Price.

0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Thanks Jing. Because of the wide bid/ask spread, it is almost always unfavorable to use market orders for options. That basically means the manual filter OptionChainProvider will not be useful in real trades. Are there any plans to at least add bid/ask/last option prices?

0

HI Shawn, yes we do need a way to easily get those prices for any symbol in OptionChainProvider without the overhead of a subscription and we are thinking about a solution for this very common request.

0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Okay, I have a pretty good understanding about call option from this site, but I want to know the code that you are using.

I am not an expert coder and I am familiar with a few of the basic languages and was wondering if someone could explain this code to me. I am just trying to learn a little bit here and there.

I want to know what are the parameters that need to be considered like the strike price and how does the algorithm factor in the risk involved with trading. Further, is it possible to set different strike prices for the same market in case the client requests to wait for a better price or something?

Kindly explain all of this to me!

0

Hi Jing Wu, I was trying to replicate your extremely good results above but I couldn’t. Then I realized your option bid prices were way too high (~5-7x more than expected: e.g. selling calls at $15 premium vs. more realist $2.2).

I added the following line in the ‘Initialize’ function (after “equity = “):

       equity.SetDataNormalizationMode(DataNormalizationMode.Raw)

And everything started to make sense again. Unfortunately, but as expected, returns are much worse now.

Hope this may help anybody wondering about the above ‘too good to be true’ backtesting.

0

Update Backtest





0

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed