###
My Books

##

This blog is free. There is no premium content for subscribers only. It has no ads. I don't sell software, trading courses, newsletters, or do coaching. Hopefully that means the material in it should be free of bias of all kinds (Except for my own stubborn opinions). To be crystal clear: I make no money whatsoever from it!

**I DO NOT OFFER PAID FOR TRADING COURSES OR ANY OTHER SIMILAR PRODUCT. IF YOU GET AN EMAIL ALLEGEDLY FROM ME OFFERING TO SIGN YOU UP FOR ANY OF THESE IT IS FROM A FAKE ACCOUNT. PLEASE DELETE AND REPORT.**
So if you appreciate this blog and want to say 'thanks'; then you might consider buying one or all of these books (which will have the added advantage of hopefully significantly improving your trading or investing).

Hi Rob, in your book "systematic trading" you show that it takes an unexpectedly long period of backtesting data to support a significant positive Sharpe ratio. I would have thought that the significance of backtesting Sharpe ratio would be related to the number of trades rather than the duration of the backtest. Hence, a backtest of strategy with thousands of trades in say two years may be more signifncant that 20 years of backtesting of a strategy with only 100 trades.... Could you please elaborate? Thank you.

ReplyDeleteYou could look at the distribution of trades rather than of time history, but it won't usually give you more statistical significance unless by trading more often you also get higher annualised performance. I haven't got time or space to explain the maths here, but this would be a good choice for a future blog post.

DeleteI'd love to see a blog post on this!

Deleteby annualised performance do you mean sharpe ratio for that year or straight returns?

supposing it is only returns for that year, I guess you'd also gain statistical significance if trading more often also gave you lower variance?

DeleteAnnualised performance is just performance for the year.

DeleteUpdate: in my newest book "Leveraged Trading" I look at testing the significance of profits on a trade by trade basis

DeleteHi Rob, while we're on the topic of Sharpe, could you elaborate on how you generate the standard of deviation of Sharpe (in the part where you talk about significant length of data)?

ReplyDeleteYou mention "random variables," does this mean your randomly change the optimizeable parameters for that year, and use the standard deviation?

What do you run your t-test again? The rolling period?

Thanks! Kayley

Standard deviation of SR estimate can be generated using bootstrapping or closed form:

Deletesqrt[(1+.5SR^2)/N]

for N data points.

For the rest of your query I'm confused as to what article you're talking about so maybe post on that article as the answer could be different depending on the context.

hi Rob. one question to your "Smart Portfolios" book. in the "Bonds" section you recommend exposure of around 25% risk weighting to Emerging Market bonds? I've tracked two good ETFs for that in which I can invest in Germany. One is investing in US-Dollar-bonds issued by Emerging market countries. The other one is investing in Bonds issued in their local currency of the EM countries. Would you have a preference for any of them (2nd one has 0.25% more cost per annum) ?

ReplyDeletecheers!

Difficult. I'd probably go for the cheapest

Deletehi rob, a bit of a random question, but I bought your first and second book and am considering to buy the third one, but I realised it does not include option, what is your thought on options trading on retail level ?

ReplyDeleteVolatility selling has been one of the "good" factors like momentum, is it not ?

Yes this is a source of risk premium, but riskier and trickier than trading 'delta 1' instruments like futures.

DeleteHi Rob. I have read your books and yes I do understand Systematic Trading much better after reading Leveraged Trading.

ReplyDeleteI have built and backtested a long only strategy using multiple MAC's and Breakouts as you describe in Leveraged Trading. To your credit I used your forecast weighting values and this comes out quite solid. By solid I mean that when backtesting the strategy I get the best performance with an opening rule of 0 on the combined weighted forecast. It also nicely demonstrates improvements in sharpe ratios as new rules are added. I am now working on the short side version, however, and I find that I get better backtested performance opening a short on a forecast of say -4 to -2. I have an itch to test each rule separately on the short side to find this best entry forecast. Then I would add this fudge factor into each of the forecast calculations to take it back to a 0 opening. Then reweight and rerun all the rules together that should open with an ideal 0 forecast. Am I overfitting here?

I find the short strategies difficult. I am not ready to do continuous trading as you advocate. Not enough capital and I find it difficult to hang around in sideways markets. For now I prefer the security of a few different strategies with forecast weightings to select the best opportunities.

I dont' really understand what you are saying, for example what does "an opening rule of 0 on the combined weighted forecast" mean? But it does sound massively like overfitting.

DeleteSo I have 4 Breakout rules and 4 MA Crossover rules. Each have a -20 to 20 forecast using your published scaling factors. I then weight them to come up with a combined forecast. I open a short position when this combined weighted forecast turns negative. I close it on a calculated Trailing Stop adjustment factor again based on rule weightings.

ReplyDeleteI am just saying on the Short only side I get better backtested performance opening at say a -4 forecast on a -20 to 20 scale.

Ok I think I understand.

DeleteYes, definitely overfitting. It might make sense to ignore forecasts between -4 and +4 to use capital more efficiently (see this post https://qoppac.blogspot.com/2016/03/diversification-and-small-account-size.html) but assymetric filtering is definitely overfitting.

OK. As I suspected. Yes, in practice I do something similar to this in terms of selecting the best forecast and most diversifying of what my strategy is telling me to own. In practice I do not need to ignore much but I do like a systematic rule.

ReplyDeleteLove the book. I am a novice though and when I searched "what's a good sharpe ratio" google gave me this:

ReplyDelete"Usually, any Sharpe ratio greater than 1.0 is considered acceptable to good by investors. A ratio higher than 2.0 is rated as very good. A ratio of 3.0 or higher is considered excellent. A ratio under 1.0 is considered sub-optimal."

Is this mass delusion?

I really like the book. It is very clear, step by step. Now, I am at a step, that is not clear to me.

ReplyDeleteIn Table 27 on page 151, the instrument risk is 18.5%/y, it is 16.0%/y on the previous pages.

Where do the 18.5% come from?

I assume you mean 'Leveraged Trading' since there is also a table 27 on page 151 of 'Smart Portfolios'.

DeleteThe instrument risk will change over time and when we embark on a new trade we use the current risk. Hence it's higher than the risk on the original trade (16%)

Hi Rob,

ReplyDeleteI'm working through Systematic Trading & Leveraged Trading, UK based, looking at initial capital of £10-20k and scale up when I get more comfortable. So to trade multiple instruments, according to Table 4 Leveraged Trading, this points towards Spread Bets on Futures/Forwards.

From what I've researched so far, CMC Markets have got narrow spreads, but I'd need to look elsewhere for futures history, so I'm looking for cheap futures history.

Yahoo Finance has history of live contracts but not expired ones.

Barchart.com has quoted me at least $250/quarter, probably a lot more, although I don't know if this is down to email miscommunications, or if this is expected pricing - but 5-10% of my capital.

I'm wondering if it would be cheaper to use Interactive Brokers purely for market data, and not trade through them.

I'd appreciate your advice here.

I'm paying a *lot* less than that for barchart data. They are doing a deal that's about $180 a year if you sign up for 2 years.

DeleteDepending on what you want, you can probably get IB data for $10 a month. But I doubt they will allow your account to stay open without trading - you need to spend another $10 on commissions (maybe buy and sell a cash like ETF)? And there is also the minimum account value - you need to leave $10K in the account.

...ah ok, so after investigating barchart.com further you must have signed up for Barchart Premier.

ReplyDeleteI'd been looking to get their API access, which it seems is a lot more expensive. I'm hoping to automate as much as is practical with Spread Betting, but maybe I can automate downloads just throught their website - I'll need to investigate further.

I saw on the EliteTrader forum that your preference was to get data from InteractiveBrokers rather than Barchart, but maybe that's because you're automating so much through IB and trading Futures(?)

Yes I only get historic data from barchart when I'm setting up a market, so non api access through premier is sufficient for me.

Deleteok, thanks

DeleteHi Rob, I've read two of your books. I particularly enjoyed Leveraged Trading. I would like to invest part of my portfolio in a CTA strategy but I don't have enough quality time to build my own. Do you know any ETF or fund that follows this strategy available for a UK retail investors? Thanks Bernat

ReplyDeleteYes there's plenty. I can't really recommend anything in particular as that would be giving investment advice. But on a completely unrelated matter, I note that my old firm man.com/ahl offer several products to UK retail investors.

DeleteHello Rob,

ReplyDeleteCan you do a article about , how you handle your portfolio (gas) during the Ukraine war

Hi Rob,

ReplyDeleteI have read both books Systematic Trading (a long time ago, shortly after you published it) and Leveraged Trading. I have implemented my own systematic trading system following your book LT, word by word, in a handful of jupyter notebooks. At this point I have a very non-elevated, rather trivial question:

When updating the recommended notional exposure using a strategy forecast and instrument risk, do you use the "realised" capital (that is, incorporating P&L of only realised/completed transactions), or do you take into account the "non-realised" P&L based on current instrument price?

Thank you for your work!

Nice to meet such a hard core fan...

DeleteI use my broker current mark to market, so in your terms that would incorporate non realised p&l.

Hi Rob,

ReplyDeleteAfter some work I will start trading following your method as described in 'Leveraged Trading'. I have decided on a group of instruments based on costs and diversification. However, I currently get strong (negative/short-selling) forecast signals on many of them.

Is it a good time to enter the trade when the signals are already strong, or do you recommend to start trading once their respective forecasts get lower / closer to 0?

Thank you for sharing your knowledge!

Regards,

Fernando

"Is it a good time to enter the trade when the signals are already strong, or do you recommend to start trading once their respective forecasts get lower / closer to 0?"

DeleteFrom a theoretical point of view, you should just start trading now with whatever the positions are.

However I can understand your nervousness. And although theory is nice, it is better to build trust in the trading system, rather than getting panicked if you start with large positions.

A better way to handle this might be be to gradually introduce instruments into your system. Paper trade everything, but initially only open up one position. After some time (a few days? A week?... pick a time period and then stick to it) allow another position to open up, and so on. I suggest randomly selecting from your list of instruments to avoid any human bias creeping in, and sticking to a preset interval for opening positions up.

An alternative is to start with less capital but try and hold positions in everything, however this means you will probably have insufficient capital to trade everything. The method I propose above will use less capital as well, but focuses it on one instrument initially, then two, and so on.

Thanks Rob!

DeleteHi Rob,

ReplyDeleteI have a pretty dumb question, but that has been bothering me for some time.

I am updating my positions every day based on the instruments' closing prices of the day before. I have also added to my calculations the current instrument prices (retrieved from by broker) at the time I trade every day (in the morning, about an hour after the markets have opened). Sometimes new recommendations appear based on the current (spot) prices that were not there at the closing time the day before. And vice versa, i.e. recommendations to update the position have disappeared when adding the current price.

Shall I take into account only the closing time of the previous day? Or should also include the instrument *current* prices?

Thank you!

If you're trading slowly enough it won't matter. For a mean reversion type system, you should use the most up to date price you have. For trend following, again it doesn't matter so much.

DeleteHi Rob,

ReplyDeleteI have identified some dated CFDs which are cheap enough to trade using a broker you recommend in your book Leveraged Trading.

I am almost sure I do not have enough capital to trade futures with a diversified-enough portfolio (funds < 80 kEUR), so I have to stick with CFDs for the time being.

Will you coming book Advanced Futures Trading Strategies be of use for trading CFDs too, or will they mainly apply to futures trading?

Regards,

Fernando

Since dated CFDs are basically equivalent to futures, you can pretty much use the same strategies.

DeleteHi Rob,

ReplyDeleteBacktesting with pysystemtrade a portfolio of commodities with a combination of variations of the EWMA crossover strategy I get low SR (approx. 0.15) when testing from 2015 but much higher when starting from 2000 (approx. 0.8). Does it mean these strategies are probably not profitable any more? How can the SR drop so significantly?

Moreover, I get positive sharpe but gaintolossratio below 1. Does it mean it loses money even if SR is posive?

For reference, an output extract:

[[('min', '-1.087e+06'),

('max', '1.214e+06'),

('median', '6386'),

('mean', '1373'),

('std', '1.453e+05'),

('skew', '-0.2947'),

('ann_mean', '3.492e+05'),

('ann_std', '2.324e+06'),

('sharpe', '0.1502'),

('sortino', '0.181'),

('avg_drawdown', '-2.03e+06'),

('time_in_drawdown', '0.9735'),

('calmar', '0.06678'),

('avg_return_to_drawdown', '0.172'),

('avg_loss', '-1.027e+05'),

('avg_gain', '8.87e+04'),

('gaintolossratio', '0.8636'),

('profitfactor', '1.029'),

('hitrate', '0.5438'),

('t_stat', '0.4143'),

('p_value', '0.6787')],

('You can also plot / print:',

['rolling_ann_std', 'drawdown', 'curve', 'percent'])]

Thank you for your help :)

"How can the SR drop so significantly?"

DeleteNoise.

"Moreover, I get positive sharpe but gaintolossratio below 1. Does it mean it loses money even if SR is posive?"

No, it means it's likely to be a positive skew strategy.

Thank you Rob for your quick reply.

DeleteHow can we be sure it is noise? Would it be foolish to think that the more market participants that use systematic/algorithmic trading, the less profitable a strategy like EWMAC would be, and so the SR decreases gradually like it seems to do?

I had interpreted the 'skew' tuple to define the skew (in this case, negative as the extract above indicate). But the more traditional idea of a strategy making regular losses being positive skew prevails, I suppose.

We can't be sure, but we also can't be statistically sure that it isn't noise. If you plotted a rolling 7 year SR over the backtest, there would be plenty of periods when it is 0.15 or lower. With respect to the skew, you will probably find it looks more positive if you look at monthly figures.

DeleteThanks for all the great information Rob. Adjusting trend strategies for different risk regimes (strategy thirteen in your new book) seems to improve the performance of every trend strategy in your book and many other trend strategies (every one I've tested, actually). Given that, is there any reason not to use it? I suppose there is marginal diversification benefits from running some trend sub-systems with strategy thirteen and running others without it. However, given the robust way it seems to improve trend performance, perhaps it should always be used. How do you approach this for your real money trading? Thanks again.

ReplyDeleteI use it - no brainer for me.

DeleteHi Rob. Have you tinkered with your intraday mean reversion forecast since your most recent book to confirm robustness a bit more? Asking because that's the one I've been unable to replicate, just can't get rid of those nasty drawdowns seen in the 'unsafe' version. There's a lot of moving parts. Would love to hear more about these.

ReplyDeleteno

DeleteHah, okay, thank you.

DeleteHi Rob, I own all your books and have learned a lot from them, thank you very much.

ReplyDeleteI am currently trying to understand the trading system from your book "Leveraged Trading". Mathematically everything is clear to me. My problem is that I am calculating completely different values for the instrument risk of the SPY on page 130. I use your tables for the calculation and calculate the standard deviation (daily standard deviation of the last 24 days multiplied by 16) for June 19, 2018. You calculate 16%, I calculate under 9 %. Is there perhaps an error in your book?

Thank you!

Ralf

I've no way of reproducing that calculation now, 6 years later, and in any case the actual number is irrelevant - I could have just made something up, it wouldn't have mattered.

DeleteHello Robert,

ReplyDeleteI'm reading your book "Advanced Futures Trading Strategies" (it's very good, thanks), but I couldn't see how the 31.6% in Table 134 is computed as the average(?) performance for the Jumbo assets.

So I downloaded the code from https://gitfront.io/r/user-4000052/iTvUZwEUN2Ta/AFTS-CODE.git (unlike the other commentators, I easily found the correct password!). However, I see that chapter27.py assumes a version of the function calculate_position_series_given_variable_risk_for_dict which has an extra argument (current_prices) compared to the arguments in the function definition in chapter4.py.

Therefore Python produces an error:

TypeError: calculate_position_series_given_variable_risk_for_dict() got an unexpected keyword argument 'current_prices'

I wonder if you added an extra argument to this function, but forgot to update the definition in the repository.

Also, chapter27.py doesn't print any output, nor are the variables it sets imported anywhere else (as far as I can tell), so I wondered if some parts of the code are missing?

Thanks again for the great book!