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.
I recently moved to the KAMA moving average, Kaufman’s Adaptive Moving Average is a complex indicator of technical analysis designed by Perry Kaufman in the mid-90s. The peculiarity of KAMA average is that the indicator line is slightly sensitive to insignificant fluctuations in the market, which eliminates a lot of false trading signals, thus this indicator is perfect for determining the dominant trend in the market.
This effect is achieved by the Efficiency Ratio (ER), with a strong price movement ER will tend to one, with a weak one it will be slightly more than zero. It is computed in fact dividing the direction of the market by its volatility.
ER = Direction / Volatility
This indicator performs better when there is a steady trend. It reacts to the trend appearance and changes faster, instead when the price movement is sideways and volatile, it reacts to the market fluctuations less actively producing less false signals.
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:
- 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.
- 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.
- 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.
- 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.)
- 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:
- compute natural logarithm of data increments
- compute the mean for all data increment computed in step 1
- compute rms (root mean square) of all data increments, squaring each data increment and sum all togheter
- 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
40 thoughts on “Technical Background”
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:
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?
More or less it’s correct, good job:)
i’ve 0.53 as P and not 0.55
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.
i use the logarithm, not raw data,
input data is:
log of price(t) / log of price(t-1)
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…?
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.
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?
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.
Hi Enky, would like to discuss some further ideas/opportunities with you – what’s the best way to get in touch?
you can find me on freenode irchat in channel #bit4x
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
you can do it with sierrachart, using the registered version (from 10$/month the subscription fee)
What platform do you use to chart bitcoin?
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:
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.
First you have to compute RMS or root mean square, for your dataset it is
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..
Thanks, all sorted. I’ll let you know with regards to results. Thanks for your help.
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.
The indicator you are looking at in the picture is the one at the bottom.
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.
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.
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.
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
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.
What platform do you use now to buy and sell bitcoin? Many of the platforms have a lag before funds are available.
for now i’m using bitstamp, but at the moment there is not a PRO platform to trade bitcoins.
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)…
Do you use the standard sigma and offset values (6 and 0.5, respectively) in ALMA?
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.
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
– Please, what do you advise me to do in order to be as good as you? How can I
Thanking you in advance
– 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
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?
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.
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.”?
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!
Pingback: Long Term Update: 2017 Outlook with entropic methods – Bitcoin Trading Signals
Pingback: Long Term Update: 2018 Outlook with entropic methods – Bitcoin Trading Signals
Pingback: Long Term Update: 2018 Outlook with entropic methods - World News
Pingback: 2019 Outlook with entropic methods – Bitcoin Trading Ideas, Analysis - Bitcoin News