Time for action – finding highest and lowest values

The min() and max() functions are the answer for our requirement. Perform the following steps to find the highest and lowest values:

  1. First, read our file again and store the values for the high and low prices into arrays:
    h,l=np.loadtxt('data.csv', delimiter=',', usecols=(4,5), unpack=True)

    The only thing that changed is the usecols parameter, since the high and low prices are situated in different columns.

  2. The following code gets the price range:
    print("highest =", np.max(h))
    print("lowest =", np.min(l))

    These are the values returned:

    highest = 364.9
    lowest = 333.53
    

    Now, it's easy to get a midpoint, so it is left as an exercise for you to attempt.

  3. NumPy allows us to compute the spread of an array with a function called ptp(). The ptp() function returns the difference between the maximum and minimum values of an array. In other words, it is equal to max(array)min(array). Call the ptp() function:
    print("Spread high price", np.ptp(h))
    print("Spread low price", np.ptp(l))

    You will see this text printed:

    Spread high price 24.86
    Spread low price 26.97
    

What just happened?

We defined a range of highest to lowest values for the price. The highest value was given by applying the max() function to the high price array. Similarly, the lowest value was found by calling the min() function to the low price array. We also calculated the peak-to-peak distance with the ptp() function:

from __future__ import print_function
import numpy as np

h,l=np.loadtxt('data.csv', delimiter=',', usecols=(4,5), unpack=True)
print("highest =", np.max(h))
print("lowest =", np.min(l))
print((np.max(h) + np.min(l)) /2)

print("Spread high price", np.ptp(h))
print("Spread low price", np.ptp(l))
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset