Trend-Following Trading System, Quantitative Trading in Python

In a previous post, we demonstrated the mean-reverting and trending properties of SP500. We subsequently developed a trading system based on the mean-reverting behavior of the index. In this installment, we will develop a trend-following trading strategy.

Trend following or trend trading is a trading strategy according to which one should buy an asset when its price trend goes up, and sell when its trend goes down, expecting price movements to continue.

There are a number of different techniques, calculations and time-frames that may be used to determine the general direction of the market to generate a trade signal (forex signals), including the current market price calculation, moving averages and channel breakouts. Traders who employ this strategy do not aim to forecast or predict specific price levels; they simply jump on the trend and ride it. Due to the different techniques and time frames employed by trend followers to identify trends, trend followers as a group are not always strongly correlated to one another. Read more

We continue to use simple moving averages as noise filters in order to generate buy and sell signals. Recall that the SP500 index is trending in the long term, therefore we will use a long-term moving average along with a shorter one.

The trading rules are as follows,

If 3-day simple moving average > 200-day simple moving average, buy $10000 worth of stock

Exit if 3-day simple moving average < 200-day simple moving average

We downloaded SPY data from Yahoo Finance and implemented the above trading rules in a Python program. The picture below shows the equity line of the strategy. We note that using the 3-  and 200-day simple moving averages the strategy is overall profitable.

Quantitative Trading in Python

Next, we proceed to test the robustness of this system. To do so, we vary the length of the second moving averages (200 days in the above example).  The graph below shows the total PnL as a function of the length of the second moving average. We observe that the overall profit remains positive when we change the length of the second moving average. This would indicate that the strategy performance is stable in this parameter regime.

Quantitative Trading in Python

In summary, we developed a simple trading strategy based on the trending property of the SP500 index. The strategy appears to be profitable and stable.

Further questions

What's your question? Ask it in the discussion forum

Have an answer to the questions below? Post it here or in the forum

LATEST NEWSEU struggles to agree Russian oil product price cap, seeks Friday deal
EU struggles to agree Russian oil product price cap, seeks Friday deal

BRUSSELS — EU countries will seek a deal on Friday on a European Commission proposal to set price caps on Russian oil products, after postponing a decision on Wednesday amid divisions between member states, diplomats said. The European Commission proposed last week that from Feb.…

Stay up-to-date with the latest news - click here
LATEST NEWSBiden moves to slash U.S. credit card fees, app charges
Biden moves to slash U.S. credit card fees, app charges

WASHINGTON, Feb 1 (Reuters) – President Joe Biden on Wednesday unveiled fresh efforts to slash credit card late fees and drive down the prices that Apple Inc and Google parent Alphabet Inc charge on mobile app stores. The move is part of a larger policy…

Stay up-to-date with the latest news - click here
LATEST NEWSLate Subway co-founder’s stake donated in potential tax shield
Late Subway co-founder’s stake donated in potential tax shield

NEW YORK — Subway’s late co-founder has left his 50% stake in the sandwich chain to his philanthropic foundation, protecting billions of dollars in proceeds from the company’s potential sale from the reach of the U.S. tax authorities. The Peter and Carmen Lucia Buck Foundation…

Stay up-to-date with the latest news - click here
LATEST NEWSFed raises rates a quarter point, expects 'ongoing' increases
Fed raises rates a quarter point, expects 'ongoing' increases

The Federal Reserve on Wednesday released its decision on interest rates following its two-day meeting.

Stay up-to-date with the latest news - click here
LATEST NEWSTrump starts 3rd White House bid lagging in campaign cash
Trump starts 3rd White House bid lagging in campaign cash

NEW YORK (AP) — Former President Donald Trump’s political operation started the year with about $25 million socked away for his recently launched 2024 presidential campaign, a sum that is substantially less than what he had on hand just one year ago, new campaign finance…

Stay up-to-date with the latest news - click here

Leave a Reply