Today, we create a Stock Trading System Benchmark Indicator using the SPDR S&P 500 Exchange Traded Fund (ETF) (Symbol: SPY).
In finance, the benchmark performs the function of an external reference parameter for the valuation of a particular and specific market segment.
ETF SPY | Buy & Hold Stock Trading System Strategy Benchmark
Before comparing the stock trading system, let’s see how to build a buy and hold indicator.
Our stock trading system benchmark is the classic buy and holds strategy.
First, I determine the amount of Capital, and I continue to buy the ETF SPY for the same amount and keep it for the entire duration of my strategy.
Here is what our chart of SPDR S&P 500 ETF SPY looks like with the buy and hold display:
For example, if I had purchased $ 10,000 of SPY stocks at the beginning of 2007 and sold it at the end of 2017, I would have earned $ 8,718.
This is classic and dated investment mode. Today we have to stay less time in the market, firstly to avoid an event like a flash crash.
Many times the buy and hold strategy works better, but often leads to bigger drawdowns. For example, in 2008, we had a huge drawdown.
We created a Stock Trading System Benchmark Indicator that shows two trend lines.
The Benchmark Indicator
To test it, we’re using a stock trading system strategy with a capital of $ 10,000. As you can see with risk control, I would have earned almost $ 6,000 with only 80 transactions and therefore using less capital and certainly stay less time fully invested in the market.
Visually, the strategy in question, despite having gained just over half of the time, significantly beat the benchmark in both the drawdown and the capital employed.
This is the Stock Trading System Benchmark Indicator‘s code in EasyLanguage and PowerLanguage for TradeStation and Multicharts:
Input: Money(10000); vars: First_Close(0), color(white), BenchMark(0), N_contracts(0), C_contracts(0); If First_Close = 0 then Begin First_Close = Close; C_contracts = (Money/Close); N_contracts = round(C_contracts,0); End; BenchMark = N_contracts*(Close - First_Close); Plot1( BenchMark, "BenchMark",color,0,3 );
This is the Equity Line Indicator’s code in EasyLanguage and PowerLanguage for TradeStation and Multicharts:
Vars: Equity(0), Color(Red); Equity = (I_ClosedEquity); If Equity > 0 then Color = Green; If Equity < 0 then Color = Red; Plot1( Equity,”Equity”,Color ) ;