OQL datasets might do the trick.
Or, if premium and commissions are always fixed to policies, you could aggregate this data on commit as well, so that you can retrieve it really fast. (Assuming that you divide the data over different entities and relate them to each other with associations, rather than to dump everything into one type of records which is yuck)
I wrote this as an answer due to the limited comment space, but this is a reply to Marks answer:
Thank you for your fast reply. OQL seems to be able to do what I'm looking for, but further on this forum it's said that it isn't possible to use OQL results in microflows or datagrids.
This is however exactly what I'm looking for. I'm looking for a way to have this data available in a paged datagrid easy mode. I guess this only leaves your suggested option, to have a table for the totals, which is updated on each commit.
My suggestion would be to have the ability to have an entity that's read only and linked to a view or stored procedure. This would provide me with all the freedom in the world regarding complex lists and would still let me use the entity in datagrids and microflows.
If there is anyone else with other solutions that might help me I'd love to hear them!