I am looking for open source software which can download stock data (yahoo/google finance etc) and used for screening/scanning stocks using technical analysis, for example: 

1. return stock list if close price is greater than 10 period moving average, or
2. return stock list if upper bolinger band is greater than stock close price etc

Can anyone suggest similar open source software?