views:

286

answers:

7

I have a program that downloads basic historical stock data from yahoo and puts it into an SQLite database. I'd like to be able to perform queries such as finding the moving average, and determining the longest period where a stock has either continued to go up or down. I could write perl functions to do this but this seems like overkill since Perl is not designed for statistics. What language or program would be best for doing these type of tasks?

+1  A: 

I hear that r is a pretty good language for these things. I've not used it personally, so I can't give you any good resources or anything. But I'd say it's worth mention.

dustyburwell
+2  A: 

http://www.r-project.org/

R is terrific. Takes some time to get used to it and learn to use it, but the number of modules and functionality it provides makes it by far the best statistical program available for free.

Seb
+6  A: 

Take a look at the R Language - it's free, it's intended to do stats & it has an ODBC module that will let you access SQLite.

anon
+1  A: 

You might want to consider a more mathematical approach (rather than programmatic), such as using Mathematica or some other CAS. Mathematica can load your SQL table, and you'll be able to perform a wide set of analysis using all the math tools you can dream of. And of course Mathematica has a rigorous functional language you can use!

Sebastian Krog
+2  A: 

While R is good if you want a quick start or proof of concept try Weka. It states that it has an intuitive GUI. Even though it's not exactly the truth from my experience, it is still quicker then getting into R

Sergej Andrejev
A: 

What about the Statistics::Descriptive or Math::Business::SMA perlmods? If you already know Perl it might be faster to find what you need on CPAN than learning R.

Aaron Saarela
A: 

This tool is not free, but worth a look: http://www.tableausoftware.com/

*I'm not in any way associated with Tableau software.

Vladiat0r