Custom Data: Multiple Contact References
It looks like they are activities (new type investment), with a custom field (amount) and that should get you covered without the need of coding anything.

As for the reporting, as you know sql, I would suggest you to create a custom dataviz using https://civicrm.org/extensions/civisualize-missing-data-visualization-extension (you'll need a bit of javascript to do the graphs, but that's a handful of lines)