Modelling stock database

I try to modelling stock database. Currently the model like this
image

UC1: I want to know the history of increasing share of the company. So I have Share Node.
Each Share node have properties: numberOfShare and INCREASE_SHARE relationship from preveous Share Node to Onother Share Node.
(s1 Share {code:'Company A'}-[r:INCREASE_SHARE]->(s1 Share {code:'Company A'}
like this picture

UC2: I also want to maintain the numberOfShare each person or company have at this any point.
So I add:
(p:Person)-[r:HAS_SHARE]->(s:Share)
(s:Share {code:'Company A')-[r:HAS_SHARE]->(s:Share {code:'Company B')
RelastionShip.
image

As you can see in the picture when the numberOfShare of the Company B increase, some person (red Person) or some company doesnot want to increase the share that they are holding.

That Why adding duplicate relasionship is not needed. I can use the old numberOfShare in the Yellow relationship.

How can i do it?

You could leave it as it is....however, depends on the types of queries you are writing. You would need to find whatever company/person and then find all the Share nodes linked to any depth via HAS_SHARE or INCREASE_SHARE relationships.

Adding multiple relationships between a specific person and specific share could get messy if they have a portfolio with thousands of different share codes (especially over time). I'd consider being even more specific about single relationships to a Share code, and then maybe multiple event nodes between a share and person.

Let me know if I can provide further clarification!

Cheers,
Jennifer