Вопрос представляет два разных понятия. Первая концепция - это «позиция», а вторая - «транзакция». Позиция - это количество акций, которые фактически принадлежат. Это число может быть положительным (длинным) для акции, которая принадлежит, или отрицательным (коротким) для акции, которую вы продали, но должны выкупить в определенный момент времени.
Позиция будет иметь одну или несколько транзакций против нее. Каждая транзакция будет открыта, выполнена или закрыта со связанными атрибутами, такими как открытое, выполненное и, возможно, закрытое для транзакций, которые были открыты, но никогда не выполнялись.
Открытая транзакция может представлять собой заявку на покупку акций по определенной цене. Но если предложение никогда не будет выполнено, и пользователь решит отменить эту транзакцию, у вас останется запись о ней, даже если она никогда не привела к покупке акций.
При такой структуре объект позиции отслеживает только сводную информацию обо всех завершенных транзакциях, а не информацию о транзакциях, что облегчает отслеживание всех транзакций, которые были выполнены по конкретной позиции, то есть множественных покупок для накопления долей. акции, чтобы построить позицию или несколько продаж, чтобы урезать позицию.