Hi, So, finally after trading futures for few years, I have decided to start some testing on stocks. I have decided to start from NASDAQ 100 stocks. The reason well they sound cool! LOL. I guess 100 stocks would be enough for me for the time being. I would be trading through IB. My plan for first few months is to do executions using 100 shares per trade. Before I start trading them, I would like to run some historical tests on these stocks. So for modelling purposes, I ask for your recommendations on following: 1) What is the bid-ask spread I should assume? In first 30 minutes post-opening, so between 930 and 1000. Between 1000 and 1530. 1530 to 1600. All EST times. 2) I plan to buy at ask and sell at bid. So, I plan to give up the spread. On top of it, I might experience some slippage. So, What kind of slippage I should assume? 3) My historical data source is going to be IB historical data. 4) If displayed size is 100, will I get filled for 100 shares in one trade on all NASDAQ stocks or will I get partial fills like 20 shares, 35 shares etc.? 5) Does the inside bid-ask size always at least 100 in these stocks? Or if the visible inside ask size is say just 20 shares, is it possible that there are a lot more hidden shares at ask? And given 20 visible shares on ASK, if I click for 100 shares at ask, would I get filled? 6) Trading through IB, what execution venue should be used? SMART or some other specific exchanges? Thanks for helping me starting out in the world of stocks.
IB internalizes a lot of their order flow when you use SMART.. (from what I understand)... as to spread, it depends on how liquid the issue is... the more liquidity the tighter the spread... now, why focus on NASDAQ100 only? why not get a scanner like trade-ideas or madscan and let it find the issues with activity for you rather than monitor 100 of them and keep an eye trying to figure out what is going on?... just a thought...
good suggestion in 2nd para. Maybe within 2 months, I will go down your suggested path once I have tested waters. So, for example, for following stocks, what kind of spread and slippage will i get during morning, afternoon and towards close? High Volume: AMZN, AAPL, VOD, GOOG, CA, ADSK etc. Low Volume (less than 1 million per day): WYNN, EQIX, SIAL, SBAC, CERN, FISV, FOSL etc.
Slippage tends to be horrific in the first 5 minutes, then gets much better 30 minutes after the open - NASDAQ is better in this respect. Slippage is lowest during the low volatility times, that is midday. End of day doesn't have much slippage either since there's a lot of volume trading. Testing NASDAQ 100 properly means using the proper component list, removing and adding components as necessary.
Thanks d08. Can you also address specially points 3, 4 and 5 in my original post. The horrific slippage in first 5 minutes that you mentioned - does it happen rarely or is it very prevalent? What is the most usual value for slippage in first 5 minutes on high and low volume stocks? Thanks.
Good point. I plan to use information in this link to construct stocks present in NASDAQ over the years. http://en.wikipedia.org/wiki/NASDAQ-100#Changes_in_2008
I would not use a market order in the first 10 minutes of trading, too risky on what your fill will be at. Placing a market order before the open is ok, you can get the opening price. 4. you are always subject to partial fills. 5. sizes less than 100 are not part of the NBBO.
Placing an OPG MKT order before 9:28 means you definitely will get the opening price. Market orders are fine for extremely liquid stocks 5-6 minutes into trading - stuff like INTC or MSFT.
The slippage is related to liquidity, it varies a lot so I couldn't give you any concrete slippage values - just don't use market orders in this period. I've never trusted IB historical data before, my limited experience says it's not great. Only at minimum a 1 lot (100) gets shown. But let's say there's 20 on offer (which you can't see), you send a limit at price, you'd be lucky to have 20 filled, very unlikely of there being any hidden orders - hidden orders go to the end of the FIFO queue, so they're not too popular. You have to realize that HFT guys play a lot of games so price might move away from you when you want to hit it. Sometimes you get filled just 1 share and sometimes easily all you need - I haven't found any consistent guidelines. When needing to exit a position quickly manually, I split the order into smaller parts and execute each leg with a Market-to-Limit. If you use the API for automated trading then you should use SMART if you don't want to pay the higher commissions. I generally go by SMART even when manually exiting a position.
Thanks a lot for your suggestions and tips What data source do you consider good for stocks historical data? I had read somewhere on ET couple years back that IQ feed has wrong intraday high and lows values in historical data.