I am writing a program to take data in from stock indicators to make trades. Pretty common, right? But I am also going to add data that I receive from other sources and apply a backprop neural net to the data, self-training. You know, phases of the moon, cost of tea in China, etc. I have all of the middle part no problem. Where I am clueless is at the front and back of the system. The "front" I would call data collection from providers (yahoo is shown often). This is where the 'tick' data would come from. What is available? Is it just current price, ask and bid? Can a 'pay' site offer things that can't be obtained for free? On the back end is where the results of the middle 'logic' break a threshold and a trade is signaled. Is there an advantage to using one service over another? Being new, I am only concerned with US Stocks on NYSE and NASDAQ. Start simple. Am I looking for an API to program against, or a service where I need to programmatically simulate a client? Which has better success in the long run? The kind of trading? I doubt as frantic as day trading, but somewhere between that and swing trading-certainly not holding positions for more than a month-if possible. If it helps, I'm very good with .NET and Java. I know this seems really basic, and probably a bit obtuse, but I am literally just starting and after all the reading I've done I'm still just as clueless as when I started. There does not appear to be any objective evaluation of methods and tools. Therefore, any advice, reflections, regrets and wishes are appreciated very much! TIA!