The answer depends on how you will use the data. I assume, based on the indexes you're indicating, that you want to search by symbol and data. I'm going to further assume that you wish to be able to get a list of the data for a given date or the dates/stats for a given symbol. Stock data is static, so we don't need to worry about our schema being updatable.
We can work with a single column family here, which we will call 'StockData'. Each symbol will have a row, as will each date. So for the above record, you would have keys of 'GOOG' and '2005/01/01'.
For the first type of key (symbols), your column names would be something like '2005/01/01-start' and '2005/01/01-end' with the column value being the start and end values.
For the second type of key (dates), your column names would be something like 'GOOG-start' and 'GOOG-end'. Again, the start and end values would be stored as the column values.
To illustrate:
Column Family: StockData
------------------------------------------------------------------------------------
GOOG | 2005/01/01-start | 2005/01/01-end | 2005/01/02-start | 2005/02/01-end |
| 500 | 501 | 501 | 600 |
APPL | 2005/01/01-start | 2005/01/01-end | 2005/01/02-start | 2005/02/01-end |
| 354 | 360 | 360 | 100 |
2005/01/01 | GOOG-start | GOOG-end | APPL-start | APPL-end |
| 500 | 501 | 354 | 360 |
2005/01/02 | GOOG-start | GOOG-end | APPL-start | APPL-end |
| 501 | 600 | 360 | 100 |
Now, you can select all or some stats for a symbol (ordered by date), using the get_slice function on the symbol's row. Similarly, you can get some or all stats for a day (ordered by symbol).
With NOSQL systems there are nearly as many ways to structure your data as there are developers. This is by no means the only way. Just something to get you started.