As software recommendation questions are discouraged, let's review what are good ways to present this information. Based on it, we can take this list to assess if a software is good or not for your needs.
Investment Themes
I'm afraid not quite used to this term, but as per THIS article, it seems to be a methodology (usually applied for Agile) to make sure that the budget for the different themes within a project is being consumed as expected (i.e. there's no project consuming more budget than expected).
It seems to be usually presented on a graphical form of some sort.
Googling for it, your question appears as the 11th result... so I'm assuming it's something 'new' (or usually referred by another terminology).
Resource Allocation
There are as many ways to see resource allocation in a project as project management tools for resource allocation. As you mentioned, you need a high level view of resource allocation... but it's not clear on the question what's the information you need.
- How many resources are allocated to a specific theme?
- What project is consuming more resources?
- What are the resources delivering within estimates?
In my work, for instance, what I need to know is the workload of each resource (regardless of the project he's currently working, as our projects are similar) and when this specific resource will be available again.
Projects and Deliverables
Again, there's a lot of forms to present the projects and deliverables forecast. With my BAs, I'm used to use a simple Excel (I love Excel). It'll also depend on how you want this information to be presented.
Now, if your situation is similar to mine, you can give it a try to the Atlassian Jira. I can tell that you can use Structure to have the project's big picture. Jira can also be integrated to your Continuous Integration Server (not only to the Atlassian's Bamboo. We use Sonar) linking deliverables by Milestones. Jira has also a very high level of customization, so you could definitely make it fits your needs.
Once the team is used to use Jira, you just need to access it to check how things are going... as developers are expected to be updating their own tasks.
Still, regardless of the tool you'll use, you first need to review what you need and (most especially) why you need, otherwise you'll be only adding extra work over your shoulders.
Think of a tool as a means to reach a goal, not the goal itself.
Hope this helps, success!