1. A method of predicting stock market behavior using trading software having a data analysis tool implementing natural language processing and a stock predictor implementing a stock prediction model, said trading software being executed by a processor so as to cause said processor to implement the steps of: said processor extracting information from news media relating to a particular publicly traded company using said natural language processing to parse or pattern match on words in said news media to identify natural language text describing activities or announcements of said particular publicly traded company that is in or near sentences containing a name of said particular publicly traded company and to automatically fill templates with said natural language text; said processor using a clustering algorithm to cluster at least some of said templates into groups that are statistically correlated with changes in stock price of said particular publicly traded company; determining a statistical significance of said changes in stock price of said particular publicly traded company based on information in said clustered templates; and predicting changes in price of the stock of said particular publicly traded company based on new information about said particular publicly traded company if information of the type included in the new information has in the past caused a statistically significant change in the stock price in said particular publicly traded company.