To discover trading prices of high volatility, I measure the standard deviation of two currency pairs using a simple example:
prices_currency_1 = [1, 100]
prices_currency_2 = [.1, 10]
The standard deviation of [1, 100]
is 49.5,
Python code:
np.array([1, 100]).std()
Transforming prices_currency_1 [1, 100] by dividing by 10 returns: 1/10 = .1 and 100/10 = 10. Then measuring the volatility of the transformed values:
np.array([.1, 10]).std()
returns 4.95
If I was to select a currency with the highest volatility, then prices_currency_1 seems correct as 49.5 > 4.95 but the price changes in terms of magnitude are equal. prices_currency_1 increased by 100% and prices_currency_2 also increased by 100% . Is this method then of finding prices with the highest volatility incorrect? Some currency prices may have a higher rate of change per price, but due to the magnitude of the price values, the volatility appears lower.
For example np.array([.1, 20]).std()
returns 9.95 which is much lower than 49.5 but the price variation of [.1, 20]
is much higher than [1, 100]
. Is there a volatility measure to capture the variation ?