In my opinion the server costs are negligible whichever way you go. Most RoR users like Heroku (no persistent file system, only db storage, autoscale). For web2py we tend to prefer PythonAnywhere.com (like a vps but autoscale) and Google App Engine (better autoscale than anything but no filesystem, only db storage). For both if the number of users is not too intensive, you can use any normal virtual machine. I like DigitalOcean.com. It is cheap and easy to use.
The main issue here is (b). Your algorithms are likely to be in Python (numpy/scipy/scikit/etc) and it will be much much easier to access them from a Python framework. In web2py we provide a built-in scheduler which allows you (if you run on a VPS) to submit computing intensive tasks and execute them asynchronously and in parallel.
I have worked a lot with financial applications. For example I have worked with the Vertica database to fetch stock quotes. Both web2py and RoR can talk to Vertica but in the case of web2py you can use the database abstraction layer, in case of RoR you have to use SQL.
About security (a). You cannot beat the security of web2py. Friday I am giving a talk at OWASP in Orange County about this. I will post slides. The University where I teach was one of the first in the country to receive a certificate of excellence from the NSA. This was not about web2py but this is to say we are security experts.
Costs of development are probably the same but it will be harder to find web2py developers but finding good RoR developers is also hard. Maintenance costs are lower in web2py.
Anyway, I am sure others here have some opinions to share.
Massimo