Technical Background

Technical indicators i use | Brief explanation

Every trading system based on technical analysis uses moving average or hi/lo passband filters. A huge amount of your profit rely on the goodness of your filters or moving averages. There are two key features needed for a good moving average, little lag and smoothness. Lag is the amount of time the moving average need to follow the price action while smoothness represent the lack of noise.
It is always a trade-off beetween lag and smoothness, you can’t have both.

As a moving average i use the “ALMA” moving average, copyright by Arnaud Legoux and Dimitris Kouzis-Loukas. For better info about this moving average download this PDF from the author website.

As a main oscillator i use “THE INVERSE FISHER TRANSFORM” By John Ehlers, more info in this PDF

Basically i like the ALMA moving average because of its kernel that doesnt give too much importance to what happened in the last bar of data, so it filters out very well noise remaining stick to the underlying trend and when it really matters it responds much better then any other know moving averages.

I like the RSI-based inverse Fisher Transform because it help clearly define trigger points. First, a specified length RSI is computed and adjusted so that the values are centered around zero. The inverse transform is then applied to these values that will range from -1 to +1; when the oscillator will cross above -0.5 it’s a buy signal, viceversa when it will cross below +0.5 it’s a sell signal, as confirmation tool the signals generated by the inverse fisher transform RSI could be filtered out looking the direction of the ALMA moving average.

For computing the daily range estimates i publish on twitter i use the Hodrick-Prescott filter.
The Hodrick–Prescott filter is a mathematical tool used in macroeconomics, especially in real business cycle theory to separate the cyclical component of a time series from raw data. It is used to obtain a smoothed non-linear representation of a time series, one that is more sensitive to long-term than to short-term fluctuations. Once i have the value of the filter (see it as a baricenter) from there i compute the top and low estimate with a quantitative approach.

Quantitative financial analysis | brief overview

One of the prevailing concepts in financial quantitative analysis is that equity prices exhibit “random walk”  characteristics.  There is a large mathematical infrastructure available for applications of fractal analysis to equity markets, there are interesting implications that can be exploited if equity prices exhibit fractal characteristics:

  1. It would be expected that an equity’s price would fluctuate, over time, and the range, of these fluctuations (ie., the maximum price minus the minimum price,) would increase with the square root of time.
  2. It would be expected that the number of equity price transitions in a time interval, (ie., the number of times an equity’s price reaches a local maximum, then reverse direction and decreases to a local minimum,) would increase with the square root of time.
  3. It would be expected that the zero-free voids in an equity’s price, (ie., the length of time an equity’s price is above average, or below average,) would have a cumulative distribution that decreases with the reciprocal of the square root of time.
  4. It would be expected that an equity’s price, over time, would be mean reverting, (ie., if an equity’s price is below its average, there would be a propensity for the equity’s price to increase, and vice versa.)
  5. It would be expected that some equity prices, over time, would exhibit persistence, ie., “price momentum”.

Point 3 is very important and use it extensively trying to understand where a particular swing might end up reversing its direction. While point 5 give us some indication about the probability that a current swing will persist. Point 2 tend to negate the possibility to achieve a good market timing strategy while point 5 may allow it to some extent.

To compute the probability of  price momentum you should follow these steps:

  1. compute natural logarithm of data increments
  2. compute the mean for all data increment computed in step 1
  3. compute rms (root mean square) of all data increments, squaring each data increment and sum all togheter
  4. Compute price momentum probability with the formula P = (((avg / rms) – (1 / sqrt (n))) + 1) / 2

where avg = data computed in step 2, rms = data computed in step 3, n = total samples of your dataset. If the resulting probability is above 0.5 then there is positive momentum, otherwise under 0.5 negative momentum. So for example you might compute the probability for the last fifty days and once this cross above the 0.50 thresold open a long position till it stays above 0.50

For further details and explanations of these formulas i recommend to deeply study the material present at  http://www.johncon.com/ntropix/
Leave a comment if you need more explanations about this topic

Advertisements

37 thoughts on “Technical Background

  1. geek88

    Enky, i studied carefully that website, i’ve done many tests with excel and i ended up computing the avg, rms and P with your formula.
    Using all the mtgox historical data i’ve:
    avg=0.019
    rms=0.1298
    with your formula i’ve for P the value of 0.552 and so above 0.50, i’ve to conclude that there is positive price momentum and the correct position is to buy and hold bitcoins. right?

  2. Guntars

    In probability calculation step 3, do you use the data from step 1 or just raw price data? I’m trying to implement this and it’s difficult since there’s no reference.

  3. There must be a way to automatic trade bitcoins, where indicators have been attached to a chart and some ‘expert advisor’ will do the work. Like forex trading. Is someone working on that, or do we have to begin from scratch…?

    1. Enky

      The fee is too high , it’s hard to do intraday trades with bitcoin, so you can trade for mid and long term and an automated system for long term is not much interesting in my view.

      1. Thanks,

        I disagree that an automated system for long term is not interesting, with the right indicators it could be pretty accurate. It would be alike normal trading, indices, forex, stocks. Bitcoin doesn’t have another pattern like these, in basic it’s the same. Already existing indicators can easily used for it. Charts where these indicators could be attached would be necessary, but first the indicators have to be made compatible with the charts before they can be attached. Some ideas?

      2. Enky

        I experimented with neural networks and daily data of mtgox, not much result.
        The only useful thing i’ve found is to work with money flow and volume, for long term.
        And i insist, for few trades a year you dont need an automated system, Expert Advisor are for short term, they can work 24/5 and do thousands of trades, almost impossible for a human, but for long term is different, if you trade daily or weekly data the frequency of your trading is so low, that is enough to have an alert and you can save your time and effort to develop an EA. So edwin, my hint is to work with netvolume mainly, good luck.

  4. Rishan

    Hi Enky, would like to discuss some further ideas/opportunities with you – what’s the best way to get in touch?

  5. Hi all, I’ve been having good results using basic MACD and EMA charts tuned by backtesting, but would like to automate trigger alert generation — are there any websites or tools which allow that to be set up for bitcoin? For example, I’d plug in my EMA values and get email or text alerts when there are cross up or down events… thanks for any info

  6. Harry

    Hi, I’m trying to apply the price momentum formula you have to Forex. In particular the EURUSD pair. My probabilities are coming out at 0.88819644 and the stick with a 0.88819 prefix. Is there anything I’m doing wrong? For example if my last 11 closing prices are as follows what results are you getting for the probability:

    1.33762
    1.33444
    1.33353
    1.33395
    1.3342
    1.33429
    1.33429
    1.33465
    1.33439
    1.33445
    1.33455

    I presume n = 10 as we have 10 data increments. My result for the probability indicator is 0.841884379.

    Any help would be greatly appreciated.

    Thanks,
    Harry

    1. Hi Harry
      First you have to compute RMS or root mean square, for your dataset it is
      0.000799
      second you compute the AVG that is -0.000230
      third you compute the persistence P that is 0.356253 with P= ((avg/rms)+1)/2
      but because 10 data points are really a low amount of data points you need to compensate it with the formula for P’
      P’ = (((avg / rms) – (1 / sqrt (n))) + 1) / 2
      where n is the # of points
      With the above formula you have 0.20 way below 0.50, under 0.50 there is antipersistence, above 0.50 persistence.
      I remind to you that avg is the mean of logarithmic return ln(t)/ln(t-1) etc..
      Bye

      1. Harry

        I’m finding that there is a Bias towards P<0.5. For example on 7192 datapoints 83.8% are <0.5. From analysing the data there are upward trends however they aren't reflected if you were to look at P. I have also coded this as an indicator for NT7 and you can see what I mean visually. Check out http://www.gadgetstreet.net/trading/MomentumP.jpg. You can clearly see that between 13:30 and 19:00 there is an uptrend however P barely gets above 0.5. What are your thoughts on this? I got the same results as you for the datapoints discussed above so the formula you have provided is correct.

  7. Probably you have to use more then 10 datapoints for computing the indicator, use a moving window of at least 30-50 datapoints. Using a low # of points might lead to distorted results.

  8. James

    Is IRC chat a website or how else do we connect? I could surely use some up to the minute guidance. I sold out back at the previous mtgox scare and had withdrawal order pending for the last 2 months while btc finally took off again. can only affor 1/10the of what I could when I sold.. Really need good advice about getting back in and trading properly.

    1. Enky

      irc is irc, you need a client but there are webpages with integrated java client to connect to irc. I’m on freenode network, channel #bit4x and #bitcoin-assets nick Enky if you wanna talk me.

  9. James

    I need to learn ‘freenode network’ and find clueless on finding ‘a client server with java where I can assume join to chat.
    What is your current btc sentiment, where would you be looking to enter long or increase position. And more- how are calculating midrange targets (~10 day cycles)? Thx

    1. Enky

      I’m already long from 140 usd, for now i hold.
      Connect to https://webchat.freenode.net/
      type a nickname and channel for example #bitcoin
      and you are in!
      MId range are calculated using vwap levels and also i’ve some formulas to compute target using an estimation of current volatility.

      1. I don’t really understand all this technical analysis stuff. Are there some good primers for newbies? All of this goes over my head (moving averages, hi/lo passband filters, almas)…

      1. Najska

        I think you also use ALMA in calculating RSI. I’d done the same with an offset of 0.5, now I tried it again with 0.85 but since the bitcoin market is highly volatile, inverse fisher transformed RSI values are oscillating too fast. For instance, it is -0.576846970583 at one point, and 0.502414041399 in the next one, with only one new closing data is included.

  10. Roger

    Hi Enky,

    Thank you very very much for your great blog.
    You are super as you spread the good word.
    But you are not immortal and I would like to get by without you.
    – Please, how did you forcast the move up on the 23th of September and
    4th of October? How could you know how high the rate would get up?
    – Please, how are calculated your deviation lines?
    – Please, which tools do you use habitually? And sometimes?
    – Please, which good cfd websites do you know? Which one do you use? I know Plus500 and Avatrade. EToro lookts too simble.
    – Why don’t you analyse the yen exchange rate, as it determines the
    dollar rate?
    – Please, what do you advise me to do in order to be as good as you? How can I
    learn?

    Thanking you in advance

    1. Enky

      – using vwap levels, when vwap is flat its deviation lines are quite accurate, as you can see in my old posts about that particular move you mentioned (23 sept -> 4 october)

      – deviation lines are calculated using standard deviation, for the formula check sourcecode for vwap indicator with sierrachart (you must register to the forum to access it, https://www.sierrachart.com/SupportBoard.php)

      – i don’t use CFD, i consider plus500,avatrade and etoro a very low level broker.

      – for yen, do you mean yuan? chinese exchanges? if yes i already did it, usually i take the average of 4 main exchanges for long term analysis and one of them is from china (btc china exchange)

      – in order to be good as me you need time and patience and losses too, in my early career i learned a lot from many losing trades. I always recommend this book as a starting point http://www.amazon.com/Trading-Ross-Hook-Joe/dp/9768108274

      1. Roger

        Hi Enky,

        Thank you very much for these answers 🙂 (Yes, I meant yuan).

        “Hodrick and Prescott suggest 1600 as a value for lambda for quarterly data. Ravn and Uhlig (2002) state that lambda should vary by the fourth power of the frequency observation ratio; thus, lambda should equal 6.25 for annual data and 129,600 for monthly data” (Wikipedia). What do you think about it? Which values are you using?

        Sincerely yours.

      2. Enky

        For Lambda I use 100 for yearly or annual data, unfortunately for bitcoin we don’t have enough historical data for a proper yearly analisys. I use 1600 for quarterly data (1 sample each 3 months) and 14400 for monthly data. Maybe i might publish a technical update about this filter and bitcoin, stay tuned.

  11. Roger

    Hi Enky,
    Thank you very much for these informations 🙂
    Sometimes (rarely), I’m 100% sure of the evolution of the rate. Please, could you write me where you put your money or bitcoins when you also know the future of the rate, as you wrote me “i don’t use CFD, i consider plus500,avatrade and etoro a very low level broker.”?

  12. Dear Enky,

    Thank you very much for these regular predictions! It is very kind from you.

    I already asked you how you could predict the future bitcoin price (for instance before the 9 nov 2015 that the lowest price would be approximattely 300 $). You just answered me with moving averages.

    One can read everywhere that the moving averages help to detect an inversion or confirm a trend. It appears that you can get much more than just those informations.
    Please, could you write me how do you use the moving averages in order to predict?

    Best regards & thank you again!

  13. Pingback: Long Term Update: 2017 Outlook with entropic methods – Bitcoin Trading Signals

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s