Calculated attributes are not really a fine type to use…
Since they are not in the database, out of the box searching and filtering cannot be done. Also performance is affected. Especially when you have a large dataset.
I understand that the value is a real-time value and thus a calculated attribute is quite logical. Though I’m wondering; HOW real time is it? depending on minutes, hours, days? In the case of days you might opt for a stored value which is updated in a scheduled event to store the updated value . Not the most beautiful solution, but if helps you to increase speed and options for the users.