How should I model a database structure to retain calculation results?
If you don't know how many columns it will have, it may vary all the way up to 250, and the entries might be sparse, I would:


Use the EAV design to store the calculation types on separate rows.
For reporting/analysis purposes, create a view or summary table that pivots rows to columns and "flattens" them out.


One day of data you could probably get fast with indexes. Three years, likely not. For the second case, you might want to look into something more analytically-focused, like Greenplum (on-prem) or Redshift (AWS).