Back

New Indicator: Ease of Movement Value

 

Hi everyone, 

Here is an implementation of the Ease of Movement Value indicator/oscillator by Richard W. Arms Jr in a classic algorithm. It attempts to "ease" the price movement of an underlier by mixing momentum and volume information into one value. The output is mainly used by traders to assess the strength of a trend or to mitigate stop run risks (aka stop loss hunting). 

Here is the math behind EMV:

TH=Today's High, TL=Today's Low, YH=Yesterday's High, YL=Yesterday's Low, TVOL=Today's Volume

main-qimg-2a9e227747709b43ab8f26a3c8608b98

main-qimg-d8c2e86b4592e02efc0d77f7490fddaf

main-qimg-83895b9603e15cec3e690cf644afc1b2

EMV reflects the change in volume when prices change. It is best used for mid to long term trends and performs poorly when used for short term trends. 

To finish, the creator of EMV believes that once an upward trend is formed, less volume can push prices up (EMV > 0). However, once a downward trend is formed, prices can experience a small or infinite decline (EMV < 0). During volatile markets where large swings in price are accompanied by large volume, EMV will be close to 0.

If you would like more information on Ease of Movement Value, here is a link to Investopedia: 

https://www.investopedia.com/terms/e/easeofmovement.asp#:~:text=How%20the%20Ease%20Of%20Movement,%22ease%22%20of%20price%20movement.

 

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.


Here is the pull request for the indicator. It still needs to be tested. Would really appreciate it if someone would review my code :)

Thanks

0

Hi Jovad,

Great start!

In regards to the algorithm attached above, there are a few things we can improve:
(1) The algorithm subscribes to hourly data, but only updates the indicator value and positions on a daily basis. It's more efficient if we just subscribe the algorithm to daily data. Either way, the algorithm will fill orders at the same open price.

(2) The algorithm makes a History call every day. This should be avoided whenever possible. Instead, we recommend setting up some daily consolidators and updating the indicator values with each newly consolidated bar built by the algorithm.

(3) The indicator ratio uses a hard-coded 10,000 value in it's calculation, but the Investopedia article linked above suggests that it should be

1,000 to 1,000,000,000 depending on the average daily volume of the stock

Perhaps the algorithm could be improved by replacing this hard-coded value with a simple moving average of the daily volume.

I've attached an algorithm below which address the first two issues explained above. I leave the replacement of the hard-coded 10,000 value to be implemented. See the attached files for reference.

In regards to the PR linked above, we will have one of our team members review it shortly. However, after a quick look, I see the following issues:

  1. The build currently fails
  2. The feature branch doesn't reference the related GitHub Issue.

I recommend reviewing our contributor guidelines to have the latter resolved.

Best,
Derek Melchin

2

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.


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