## Time for action – avoiding loops with vectorize()

The `vectorize()` function is a yet another trick to reduce the number of loops in your programs. Calculate the profit of a single trading day following these steps:

`o, h, l, c = np.loadtxt('BHP.csv', delimiter=',', usecols=(3, 4, 5, 6), unpack=True)`
2. The `vectorize()` function is the NumPy equivalent of the Python `map()` function. Call the `vectorize()` function, giving it as an argument the `calc_profit()` function:
`func = np.vectorize(calc_profit)`
3. We can now apply `func()` as if it is a function. Apply the `func()` function result that we got to the price arrays:
`profits = func(o, h, l, c)`
4. The `calc_profit()` function is pretty simple. First, we try to buy slightly below the open price. If this is outside of the daily range, then, obviously, our attempt failed and no profit was made, or we incurred a loss, therefore, will return 0. Otherwise, we sell at the close price and the profit is simply the difference between the buy price and the...