Valid point. In that example it's using a list to hold each bar because I was focusing on the iteration and the raw data came from a yahoo api utility.
You could use a struct or a class which would give you accessor functions, and would be better for a real program.
You setup a struct:
(defstruct bar date open high low close vol)
And this would be a one-time conversion of the data:
Another trick is to define the struct like (defstruct (foo :type list) ....) and then you can use the struct accessors on any list of the appropriate size. (Or, if you want constant time element access, specify the type as vector)
It's not, if that's a real life example. There is no context for what the data is, like a variable names.