what am i doing wrong with my simulation?

please help. my simulation is too goo to be true what am i doing wrong here?


Your annual turnover of 4000% means you are trading almost every position on a weekly basis. I would check what your slippage parameters are enabled. Real world slippage will eat away at those gains. Usually people target turnover less than 400-500% to try to reduce the effects of slippage (less trading leads to less slippage and more realistic strategies and sims).

Esp. when you are trading penny stocks (price < $1) your slippage will be high and your trading costs - with most brokers - as well. Excluding those stocks will make your sim much more realistic.

Matthias

You are using the ‘No OTC Exchange’ universe. The universe has no liquidity rules, so there are stock in there that which seldom trade and cannot be traded without experiencing huge slippage costs due to large ask/bid spreads. Do you have a liquidity rule in your Buy rules? The settings for your liquidity rule depend on how much you plan to invest in each stock, how much time you want to spend watching/adjusting the orders and how much slippage you are willing to accept. For example, say you are going to buy $5000 of each stock. And you think buying 10% or less of the average day’s trading volume (in dollars traded) is acceptable. Then you could use a Buy rule like AvgDailyTot(50) > 50000. MedianDailyTot() could also be used and the number of bars in the rule can be changed to whatever you feel is best.

What do you have ‘Price for Transactions’ set to? Mainly, make sure it is not ‘Previous Close’ since it was not possible for you to buy the stock the day before your system recommended it. Choose one of the other 3 options depending on what time of day you plan to make the trades.

thanks guys. i thought the “no OTC exchange” would help rid the sim of the penny stocks. i’ve added only stock above $1 and that seems to help. the amount of tunrover is part of the strategy so i’m not sure i’m ready to give that up. my price for transaction is next average hi and low thinking this option would help rid some slippage. what is a good slippage to be using?


The slippage setting is a judgement call and depends on what liquidity rules you have in place. Try testing it with Variable Slippage selected. Then it will adjust the slippage setting based on the liquidity of the stock.


slippage.png

well variable slippage really took those gains away. I guess it’s back to the drawing board.


Extremely high turnover systems with low liquidity stocks are going to fail in real life. Try adding the liquidity rule I mentioned earlier. That will eliminate the stocks that would have the high slippage cost if you use liquidity rules that are reasonable given the amount you plan to invest in each stock. Also, lowering that turnover% would help as others have said. If the system really requires turnover that high, then you need to increase the liquidity rules even more to reduce the trading costs.

and by adding the liquidity rule you provided earlier we are back up…you can picture how confused i am at this point ha ha ha


Very nice except for that astronomical turnover. Your Avg Return must be very low - say 1% or less. That would be worth working on.

Walter

When your system has turnover that high, even a very small change in trading costs can make the system go from a loser to a big winner or the other way around. Commission costs are known, but it is difficult to know exactly what the slippage costs will be. That makes the simulations for a high turnover system risky and likely to be inaccurate. As Walter mentioned, you profit per trade is probably low. Say it is 1%. If the slippage ends up being a little higher than your rules are set at, you could easily lose that entire 1% to slippage.

Think of the liquidity rule this way - without the liquidity rule there were stocks being bought in the simulation that you could never have actually bought because the supply was not there at that price. If a stock only trades $10,000 total (shares traded * price) per day, then if you were to buy $5,000 worth, you are usually not going to find sellers at the same price the stock traded at back then. The extra demand you are introducing would have pushed the stock price up more.

first off, thanks for all the responses. After playing with increasing the liquidity, there doesn’t seem to be much change to the performance of the simulation, even by 4x as seen below. As for the high turnover, it has more of an impact as the parameters of the ranking system are based upon time. so by decreasing the time to rebalance it really just throws the ranking system out the window. I understand that slippage is important and can/will have a big impact i’m just trying to figure out ways of minimizing it. Liquidity, if i understand it will only get me so far. is there anything else i should try? although it seems the consensus will be…no. It seems that anything with a high turnover just won’t work.


I just ran a quick aggregate series looking at average daily pct change in stock price - open vs close. For the Russell 2K it’s about 2%, most recently. Seeking average weekly returns less than daily price volatility seems risky to me.

I wouldn’t say that high TO can’t work. Study the realized returns to see if they’re doable. Or just trade a bit of mad money for awhile.

Best of luck.

You can reduce turnover by increasing the holding period for a position.
Add nodays>25 or >50 to each sell rule.

Also check Statistics > Trading:
Total Trading Cost / Ending Market Value
That will give you a feel for how much you lose to slippage.

On the Rebalance tab, do you have ‘Allow Immediate Buyback’ set to No? If you do, then try setting that to Yes.

I am not saying that high turnover systems can’t work. The problem is that it is very hard to accurately run simulations for them and a lot of work to trade them. 78% annualized is not realistic, so something is off. You always have the option of trading very small amounts for a while to see how it does and to see how much time you have to commit. With turnover that high, you will have a lot of samples in your experiment in a few months. If it is profitable, then you could gradually increase the trade sizes to see if your slippage increases.

walter,

that’s really interesting. however, if you could buy at the open and sell at the close and get 2% everyday…wouldn’t you own the world in short order? wouldn’t that kind of a strategy attract some serious attention?

what would a realistic annualized return be?

If it isn’t obvious i’m new to this stuff but find it all very fascinating. thanks again.

Yuval’s microcap model has done about 40% annualized since March’2018, out-of-sample.

As for 2% per day. I didn’t sim that, but 10% average return per day looks like this.

EDIT: my own personal, idiosyncratic targets are;
Winner trades x2 losing trades
Avg winning trade return x2 avg losing trade return
and avg return > 5%


Walter,

so…why doesn’t everyone use this model? where are the downsides to this particular model? I’m just asking for my own education, not trying to be rude just trying to figure things out.

Which model?

the one you posted? sorry if I’m super naive, but the ranking system you posted a screenshot of, or is that of your own creation? it looks to rebalance daily? what makes that not an insane amount amount of turnover?