I would play around using datagrids and dataviews with data source "listen to widget". To display this data you could create an entity that will hold the date you described, with an association to a partner. Then your page will have the date picker for the date and a reference selector for partner. Once you pick a partner you can show a datagrid over association (use datasource over association or xpath) to display the ownerships, then have a dataview that listens to the ownership datagrid. Then this dataview will have another dataview inside of it (data source context) and you can show the horse object.
Regarding the calculation you made, you would have to use a microflow that retrieves all this information and does the percentage calculation. You could run this microflow from your page and pass the object from the page that contains the association to partner that was selected, the you can retrieve over association and retrieve the partner object. From there its a matter of doing the right retrieves to do your calculation.
Hope this helps!