I'm looking to find a free source of tick by tick data (<1sec) for training purposes. It doesn't need to be longer than a day, and I don't care what instrument, or exchange, or time it is. I just want real numbers with a high frequency.
You could try some of tier-2 exchanges which often give data away for free to drum up interest and hence trading volume in their product.
You will not get SP500, 10-year note, Crude Oil, Gold, ... futures for free on a tick-by-tick basis simply ... because with per-trade fees down, sales of data are the main revenue for exchanges as sternly noted in the media coverage of this week's exchange mergers.
There are a few problems with it - some missing days and a couple of days with bad data.
EUR/USD has an average of 200,000 ticks/day for January 2011.
The Dukascopy ticks mentioned in another answer are also good. Another good forex tick data source can be a demo account for FXCM, dbFX or MB Trading. But you need to use the respective APIs to retrieve them.
On NASDAQ's public ftp you can find sample files of NASDAQ's Historical TotalView-ITCH. The files contain message data and have to be interpreted to get tick-by-tick data. I.e. you need to reconstruct the book.
Limit order book data reconstructed from NASDAQ's Historical TotalView-ITCH:
In LOBSTER data samples you can find reconstructed data for several tickers traded on NASDAQ with book levels of 1,5,10,30,50.
On ratedata.gaincapital.com you can find about 150 GB of FX tick data.
The data is split into zipped weekly .csv files.
You can write a script downloading, unpacking and merging the .csv files as i did. Works fine.
Dukascopy data for intervals < 10 mins is not great in my experience, the 1-second data only is closer to 5-second as most 1-second timeslots are blank.
It is hard to find well priced tick data, but FirstRate Data SPX has 1 second SPX intervals going back a couple of years.