Price Index 6 months

Price Index 6 months

I wrote this strategy hoping to start some discussion on value trading vs. day trading and also to give a different option to people with little time available.

I adapted a buy-and-hold strategy based on the price index 6 months with an long-only-entry. When the close of the day crosses above 144% to the price registered 6 months ago we go long and we hold the stock for 1 year (apron 254 bars).

As I said it’s an adaptation made for automatic trading!! With Italian stocks the results are very good but might be MUCH better if you used Price to book (P/B) and  Earning yields (EY) to confirm the entry. Running this strategy manually with the use of P/B and EY12 months, and using a portfolio, returned an average of 55% a year in the last 10 years (Only one year I didn’t beat the market).

Blue sky!!!

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Nicolas • 07/07/2017 #

    Very interesting but why 144%? What about the drawdown of the portfolio? The one from this single stock is already huge! 😉 

  2. Kenneth Kvistad • 07/07/2017 #

    I have never been wondering about long trades or made any due to overnight costs, butdo you think it still can.be affordable for such long trades as months/years?
     

  3. gabri • 07/07/2017 #

    Nicolas,
    144% was just an adaptation to make the automatic trading. Any number between 140% and 150% is fine. You should take the 20-40 stocks with the highest 6 months Price Index and search their fundamentals to pick the right one. Drawdown are not really a factor when you buy and hold value stocks.
    This was actually a real trade I made but I bought only in September 2004 since P/B was 1.4 (expensive but not too bad for the market of that moment) and the other fundamentals were promising. What I wanted to prove is that there are bizilions of trend indicators on the various trading platforms but the real big wave worth surfing is the one started by the institutional investors and they buy GOOD companies for CHEAP. Price index (for momentum) and fundamentals are the only data they use. 
    Having a portfolio made with stocks selected with fundamentals leads to really high performances (they almost always beat the market), even better the one of this single stock.
    G

  4. gabri • 07/07/2017 #

    Kenneth,
    I buy stocks, hence a part of a business. For stocks there are not overnight fees. You find overnight fees for CFD and derivatives. On top of that I go LONG only. With my bank I pay approx 3.5 Euros everytime I buy and the same amount when I sell. It’s totally worth for me.
    G

  5. Kenneth Kvistad • 07/07/2017 #

    Ah okay. You can make automated trading with stocks as well 🙂 ?
    I dident know that

  6. gabri • 07/07/2017 #

    Kenneth,
    I manually trade only but I decided to code this strategy to show that there is more than intraday trading and this “more” might lead to substantial gains with less work and stress (on the stress I am not so sure 🙂 )
    G

  7. luxrun • 07/07/2017 #

    Hi Gabri,
    I realized screener with the specifications of your trading system. Do you give me feedback on its reliability? This is the code:
    // Price Index 6 months
    thr=44 // entry thresholdref=close[130]*(1+thr/100) // price entry levelcond1=(close CROSSES OVER ref)
    SCREENER[cond1] (Variation AS “% Var barra prec”)
     

  8. gabri • 07/07/2017 #

    Luxrum,
    I would personally  just make it like this:
    thr=44 // entry threshold
    ref=close[130]*(1+thr/100) // price entry level
    cond1=(close > ref)

    SCREENER [cond1] (ref AS \"Price index\")
    so you can see ONLY the stocks that meet the condition and they will be ordered by the amount of gain in the last 6 months. You want to pick the top 20-30 stocks in the list so the amount of gain is important. Like I already mentioned 44 is not a fixed umber. If you’d rather use a yearly return you can lower the threshold to 30-ish. The setting are very personal.
    G

  9. gabri • 07/07/2017 #

    Also, don’t forget to make sure you are buying stocks with low Price to Book ratio.
    G

  10. gabri • 07/07/2017 #

    Luxrun,
    I wrote the previous answer in a rush. Try this code:
    thr=44 // entry threshold
    ref=close[130]*(1+thr/100) // price entry level
    cond1=(close > ref)
    pi6m=100*(close-close[130])/close[130]
    SCREENER [cond1] (pi6m AS \"Price index\")
    Now you will see the stocks that meet the requirement and they will be ordered based on their gains. Sorry for the wrong code of before.
    G

  11. luxrun • 07/07/2017 #

    Thanks Gabri for your screener rework. I\'m working on producing the indicator to get the graphic signal on the chart. It seems to me important to understand when it signals in the six months considered by the trading system. Luxrun

  12. gabri • 07/07/2017 #

    Luxrun,
    non ho o capito di cosa hai bisogno?
     

    • luxrun • 07/07/2017 #

      Nulla di particolare! Scusa il mio inglese tradotto da google. Dicevo solo che sto provando a costruire l’indicatore che mi mostra a video quando scatta il segnale long, nei sei mesi che il trading system, prende in considerazione. Non serve a molto, ma forse aiuta visivamente. Grazie Luxrun

  13. gabri • 07/07/2017 #

    Luxrun,
    no problem per l’inglese. Ti posso fornire due soluzioni. La prima disegna la linea del 44% e quella del prezzo:
    a=close[130]

    linea1=(1+44/100)*a

    return linea1 style (dottedline,1) as \"44%\",close coloured (205,0,0) as \"Close\"
    La seconda ti disegna il ritorno degli ultimi 6 mesi e quando passa il 44% ti segnala la zona positiva:
    a=100*(close-close[130])/close[130]

    return a,44
     

  14. luxrun • 07/07/2017 #

    Benissimo, grazie, molto gentile e disponibile! Lo provo subito.  Io avevo scritto questo codice (ma programmo poco e male…), per l’indicatore:
    // Price Index 6 months indicator
    thr=44 // entry thresholdref=close[130]*(1+thr/100) // price entry level
    // conditions to verify entry longc1 = (close CROSSES OVER ref) IF c1 THEN
    cross = 1
    ENDIF
    return cross as “CROSS”

    • gabri • 07/07/2017 #

      Il tuo codice va benissimo, continua cosi’!! dovresti solo aggiungere una linea per fare in modo che cross non rimanga sempre uguale a uno:
      c1 = (close CROSSES OVER ref)

      IF c1 THEN
      cross = 1
      else
      cross=0
      ENDIF

      return cross as “CROSS”
      in questo modo ti da dei picchi quando avviene il cross over (e solo quel giorno). Oppure puoi fare cosi’:
       

  15. gabri • 07/07/2017 #

    c1 = (close CROSSES OVER ref)
    c2 = (close CROSSES under ref)
    IF c1 THEN
    cross = 1
    ENDIF
    IF c2 THEN
    cross = 0
    ENDIF

    return cross as “CROSS”
    In modo che cross rimanga uno fino a che il valore di gain e’ superiore alla soglia.
     

  16. luxrun • 07/07/2017 #

    Grazie, Gabri, per il tuo supporto e aiuto. Ti sono veramente grato! Continuerò a seguire il tuo lavoro! L 

  17. Alain Federmann • 07/07/2017 #

    Hi Garbri,

    Thanks for your share. This is a very interesting strategy.
    Does anybody know an indicator using P/B ratio to get sharpest results ?

    • gabri • 07/07/2017 #

      Alain,
      there is no way to get p/b data on PRT. Unfortunately you have to get this values from the balance sheet of the company you are planning to buy. What I do is just running a screener based on price index and check the P/B of the first 20-30 companies on internet.

  18. Alain Federmann • 07/07/2017 #

    Ok, thanks.
    That is what I thought.
    Pretty weird and such a shame a powerfull tool as PRT can not use few fundamental analysis statistics.

  19. gabri • 07/07/2017 #

    Ho knows, maybe in the future they will 🙂

  20. Miguel1980 • 07/07/2017 #

    Hello gabri ,

    well, with the results you mention, even with half those results, it does seem a very promising strategy. I totally agree on the fact that fundamentals can make or break strategies in the long run. In my opinion, using only TA or Price Action concepts is, to some extent, like playing casino: you can win, but is very hard to beat the market clearly and consistently.

    You say you use the P/B and EY metrics. No problem with the first but I have some doubts about the second, just, if I’m not wrong, the inverse of the overused P/E ratio, which in my mind doesn’t seem to be the finest of the tools when we think of forecasting the future price evolution of a stock. Looking forward to know your opinion/experience about it.

    As a guide on how your strategy works, could you run a screening for us interested, preferibly on an US market (Italy would be OK too, if you prefer so), and then explain which stock/stocks you would choose and why? When you have the time and just the once, don’t worry!

    Thanks for now.

  21. gabri • 07/07/2017 #

    Hello Miguel,
    The reason why I switched from trading to investing because I didn’t like to play casino anymore 🙂 You are right, EY is pretty much the inverse of P/E ratio and for many P/E is not a valid reference number but used properly raises awareness on what is going on. I suggest you to read the work of Shiller (a nobel price) and his use of a 10-year-PE to predict markets. I do not use only P/B and EY but I personally check all the balance sheet of a company and, if good, I try to buy at a low PE or PB. Unfortunately I cannot run any backtest because I cannot make a code to find cheap and good companies on PRT and also because you need to backtest a portfolio. Every single stock will lose at some point. Using this system will allow the portfolio to win.

  22. Miguel1980 • 07/07/2017 #

    Hi gabri,
    I was not asking you to run any backtest but a PRT screener on any market to find 20/30 stocks currently with the best (best according to your strategy) PI 6m index, and then to share some thoughts about which one to pick up, based on their P/B, EY or whatever. Simply following the thread of the post.
    But personal strategies are just that, personal, aren’t they?, so I won’t insist :- )
    Thanks for your time.

  23. gabri • 07/07/2017 #

    Miguel, copy. I just came back from vacation, I will pass you some data soon.

  24. gabri • 07/07/2017 #

    Miguel,
    I will give you some stocks. I would buy (I probably will) Serneke group AB. I will wait for the following to have a good PI 6m: gelek group, awilco drilling, arteria sa.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
JanWd Thank you for the coding, it seems promising. FTSE gives for the short term (5 min) promis...
Jan Wind 21.04.2019: I retested the strategy for the DAX 5 minutes , it works fine for 10.000 bars, b...
bertrandpinoy hello Francesco, are you still working on this strategy?
Francesco78 Many thanks JR1976 for your improvement,  although results with your filter looks better th...
JR1976 HI Francesco, in  effect  3 consecutive lose  in May and today .... doesn't work well ,  ne...
Francesco78 Hi JR, yes indeed quite disappointing in may and today, but still within the max drawdown sh...
Wilko And not only readable.... makes it much easier to iterate different entry/exit-conditions, d...
IGOSNELL Hi Interesting strategy, when I used $ M-R Dif EURUSD M15 Long if does not enter any positi...
ilvillans HI, I modified the system, from good results but from this error: Replace the variables wit...
avatar
bjoern With the same parameters? For me the results are negative
avatar
bjoern Oh ok, with the initial posted parameters it is positive
victormork yes! It's not like you want to put it on live but when I for example take the version I have...
victormork Hi, I would just like to share my own take on this strategy. I'm using 30 min on EURUSD but ...
mckubik Thanks. I will run a Test. 
poonsl2828 Hi! bjoern May i know what timing should i change for time zone (Singapore (GMT +8:00) ...
Samitha Prasanna Hi ALE, would you be able to provide the values for the below part of the code (time >=1...
Player Bonjour, J'ai testé cette stratégie sur EurUSD en 1 heures sur 10000 unités et le résultat ...
Player Vue du rapport du Backtest https://ibb.co/8BMrBz6
Nacho Molto bene, ho voluto parlare di una cosa che sto trovando con questa strategia, ho girato s...
Francesco78 Ciao Nacho, grazie per il commento, onestamente  a me non e' mai capitato, ma ho fatto solo ...
Pietro Ranzato ciao francesco grazie mille. pietro ranzato non riesco a contattarti sono interessato al tuo...
Nicolas Restart your platform in order to be sure to use the last version, there was a version rollb...
bertrandpinoy bonjour voud pouvez m envoyer le code modifier par vous?
Nicolas Désolé , je ne comprends pas votre question.
rama LOWEST[15(close[0]) also gives the same
TempusFugit Ok, but you are missing the 120 lookback period
Globalmarkets79 Hello, I tried to run the code but i had an syntax error that "This variable is not used in ...
DEIO Hi sublime06, I tank you for the compliments, but first of all I STRONGLY want to warn yo...
bertrandpinoy Bonjour Deio excusez moi je ne comprend pas le principe du SL et du TP sur votre strategie.....
bertrandpinoy bonjour avez vous un TP et SL pour cette strategie? merci
Derek Nice strategy. Have you tried adding a stop loss since there are a few sharp drawdowns? I ...
Piston_Broke Non so .... da qui la mia domanda iniziale :-)
Piston_Broke Hi Derek. I have tried many different ways to apply SL's to this and similar versions of th...
Nicolas Indeed, if you are not willing to loose, you will always win. Averaging down losers can carr...
David You're always safer going Long especially with averaging down on an index as the probability...
Oskar Bergvall  I noted Davids and Nicolas remarks. Could it be possible to make an indicator for contraria...
Nicolas si il n'y a pas de stoploss définit dans le code, alors c'est normal :)
bertrandpinoy bonjour merci pour la réponse. Oui b sur ... est il possible que le SL soit coder sous une a...
Nicolas ok mais pourquoi poser la question ici ? Pour des questions non spécifique à cette article, ...
David Somogyi Hello, This is merely a filter indicator for measuring high fractality, which helps to av...
bertrandpinoy bonjour ce code fonctionne toujours?
Nicolas Faites un backtest, vous aurez des réponses.
Jessar Hi friends, is there any way to program the system to close the position when you have a lon...
Pring00 Hello @Nicolas, thanks for this code! Just what i was looking for. I'm fairly new to this...
Nicolas Needs custom coding, ask for a mod in a dedicated topic, in the appropriate forum please.
Lotar
8 years ago
Nicolas You can send it to contact@prorealcode.com and I'll attach it here. Thanks for your sharing!
Francesco78 Hi Lotar, which variables would you choose to recalibrate it to the present market condition...
Degardin Arnaud unfortunatly in today's market it's not working at all...
Derek Clarification: Automatic rollover will be into the nearest forward but I prefer the farthes...
gatowman Hallo Derek, ich bin neu hier, wo finde ich die beiden Indikatoren? kansst du sie als itf p...
bertrandpinoy BONSOIR j ai tenté votre modification mais PRT ne l accepte pas "erreur de syntax" pouvez vo...
Nicolas it is based on seasonality of DAX.
Luciano Santiago Juárez Hello I am new here I am trying to understand this code IF monthlyMultiplierLong > 0 ...
Luciano Santiago Juárez Sorry the code copied bad the line I dont understand is: ELSIF monthlyMultiplierLong 0 THEN
GabrielVP Hola. ¿Has probado a incorporar compras en el mismo sistema? o ¿sería posible? disculpa mi i...
Iber0 Asi quedaria con el spread de IG [IMG]http://i65.tinypic.com/2418ism.jpg[/IMG]
avatar
bjoern Seems to work nice on BUND - M15 with SL 70 and TP 120
hvluthy@sunrise.ch I tried to backtest this code but don't get any restults. Can any body help me?

Top