I suppose you need two basic things to create tools for stock trading: Input (feeds, etc.), and Output (ability to take some sort of action based on the decision made). Here are some ideas: '''Input:''' * finance.yahoo.com - Free, but delayed ** Individual quotes: http://finance.yahoo.com/d/quotes.csv?f=sl1d1t1c1ohgv&e=.csv&s=YHOO ** Historical: http://chart.yahoo.com/d?a=5&b=01&c=02&d=8&e=02&f=02&g=d&s=YHOO (HTML - not sure yet how to get CSV) **Download CSV like this: http://chart.yahoo.com/table.csv?a=5&b=1&c=2002&d=8&e=2&f=2002&s=YHOO&y=0&g=d&ignore=.csv * Export to Excel - Many (most?) trading tools have an "export to Excel" feature. Once exported, you can use Excel/VBA/etc. to do analysis. Possibly a good way to prototype before committing to a full-blown solution. '''Output''' * HTTP form submission to online accounts, I guess. But, how do you ensure consistency (e.g., that the human didn't already sell those 200 shares your program just decided to)? * WinRunner * LetTheHumanPullTheTrigger - Just have a popup, watchlist, or other notification to inform a user, and leave the icky details of actually committing the decision to the user. '''Both:'' (Programmable trading platforms) * Tradestation - http://www.tradestation.com & http://www.tradestationopenplatform.com - (Not tested yet) Uses a VisualBasic-like language with C/C++ DLL's possible. * eSignal - http://www.esignal.com/esignal/ - (Not tested yet, but looks more like fluff than Tradestation) Uses JavaScript. * Interactive Brokers - http://www.interactivebrokers.com - (Not tested yet) Has a bunch of APIs (Java, C++, ActiveX, Python) for executing trades, downloading real-time data ---- Maybe this is just wishful thinking, but it seems to make a lot of sense to have a programmer paired with every serious day-trader. Benefits: * The tight feedback loop would help the trader weed through weak theories. * Automating boring parts frees the human up to make better decisions. * Automating slow parts gives the trader a speed edge. ---- There is already an ArtificialNeuralNetwork site with stock trading features but it is pay per use although some information is free. ---- I actually worked on a project like this. 1) The current canned tools are very inflexible. An experienced (and successful) day trader usually has a very unique system. The canned tools we looked at were a very poor fit, include the 'neural net' tools. 2) When the canned software actually did have scripting tools they were borked [''unfairly attacked?''] beyond all reason. 3) Real-time trading is stepping into a very demanding environment. You MUST be able to handle network issues, wild swings of the market, trading curbs etc. gracefully. Imagine trying to get something done in the middle of an economic panic. 4) Because of 3) no good day trader will ever give complete control to a program. 5) Every trader is different in acceptance of risk, time horizon etc. The good ones know they can never win every trade. It is a combination of psychology, sociology, statistics and capital preservation. Like poker. So basically I wrote him a ~5k line Perl (a bit of string handling and dynamic module loading was required) program that analyzed the previous day's situation so he could take pre-trading positions the next day. For him, it worked. And he knows it works as he keeps meticulous records and his success rate increased after significantly after we rolled the tool out. It was a very interesting exercise. BTW, I am not getting rich day trading. One thing I learned was I do not have the correct psychology to be successful at it. But I learned much about the financial markets. My favorite stock? Large cap value. -- pjl ''Curious, what is the "correct psychology"?'' Basically, you have to be able to stick with systems even if they appear to be failing, because without a good test run you will never know if they work or not. You need to be able to handle losses without panicking. The trader I did the job for stated there were days he just felt like going into the bathroom and puking. You need to be disciplined, if your system tells you to take your losses or gains and run, you have to follow through. No 'just this once I'll let it ride/bail'. Also most people cannot keep the detailed records needed to assess their success or failure. He was also disciplined in that in his time zone he had to get up early so he could prep for the market opening. You have to also do your research and post mortems, even if looking at the post mortems hurt. It is very much a full-time job. You pretty much have to detach yourself from the fact that it is money. Most people cannot do that, money carries a lot of social and psychological baggage with it (and it is YOUR baggage actually, and YOU have to deal with it). I am so risk averse I know I cannot do that. Does that help? Again, I found it a good learning experience. I learned things about myself and how I handle money that determines how I approach my finances. In addition I learned things about the market and the financial markets that I use when I rebalance my 401K and mutual funds. I also came to strongly distrust the financial news outlets, they just want to support their advertisers by building bubbles. The joke among day traders is "If you want accurate financial news, watch the Disney Channel." ---- See also: ThreeStrikesAndYouAutomate