Class GenericSecurityPosition

    • Method Detail

      • ofNet

        public static GenericSecurityPosition ofNet​(GenericSecurity security,
                                                    double netQuantity)
        Obtains an instance from the security and net quantity.

        The net quantity is the long quantity minus the short quantity, which may be negative. If the quantity is positive it is treated as a long quantity. Otherwise it is treated as a short quantity.

        Parameters:
        security - the underlying security
        netQuantity - the net quantity of the underlying security
        Returns:
        the position
      • ofNet

        public static GenericSecurityPosition ofNet​(PositionInfo positionInfo,
                                                    GenericSecurity security,
                                                    double netQuantity)
        Obtains an instance from position information, security and net quantity.

        The net quantity is the long quantity minus the short quantity, which may be negative. If the quantity is positive it is treated as a long quantity. Otherwise it is treated as a short quantity.

        Parameters:
        positionInfo - the position information
        security - the underlying security
        netQuantity - the net quantity of the underlying security
        Returns:
        the position
      • ofLongShort

        public static GenericSecurityPosition ofLongShort​(GenericSecurity security,
                                                          double longQuantity,
                                                          double shortQuantity)
        Obtains an instance from the security, long quantity and short quantity.

        The long quantity and short quantity must be zero or positive, not negative. In many cases, only a long quantity or short quantity will be present with the other set to zero. However it is also possible for both to be non-zero, allowing long and short positions to be treated separately.

        Parameters:
        security - the underlying security
        longQuantity - the long quantity of the underlying security
        shortQuantity - the short quantity of the underlying security
        Returns:
        the position
      • ofLongShort

        public static GenericSecurityPosition ofLongShort​(PositionInfo positionInfo,
                                                          GenericSecurity security,
                                                          double longQuantity,
                                                          double shortQuantity)
        Obtains an instance from position information, security, long quantity and short quantity.

        The long quantity and short quantity must be zero or positive, not negative. In many cases, only a long quantity or short quantity will be present with the other set to zero. However it is also possible for both to be non-zero, allowing long and short positions to be treated separately.

        Parameters:
        positionInfo - the position information
        security - the underlying security
        longQuantity - the long quantity of the underlying security
        shortQuantity - the short quantity of the underlying security
        Returns:
        the position
      • getQuantity

        public double getQuantity()
        Description copied from interface: Position
        Gets the net quantity of the security.

        This returns the net quantity of the underlying security. The result is positive if the net position is long and negative if the net position is short.

        Specified by:
        getQuantity in interface Position
        Specified by:
        getQuantity in interface SecurityQuantity
        Returns:
        the net quantity of the underlying security
      • builder

        public static GenericSecurityPosition.Builder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • getInfo

        public PositionInfo getInfo()
        Gets the additional position information, defaulted to an empty instance.

        This allows additional information to be attached to the position.

        Specified by:
        getInfo in interface PortfolioItem
        Specified by:
        getInfo in interface Position
        Returns:
        the value of the property, not null
      • getSecurity

        public GenericSecurity getSecurity()
        Gets the underlying security.
        Returns:
        the value of the property, not null
      • getLongQuantity

        public double getLongQuantity()
        Gets the long quantity of the security.

        This is the quantity of the underlying security that is held. The quantity cannot be negative, as that would imply short selling.

        Returns:
        the value of the property
      • getShortQuantity

        public double getShortQuantity()
        Gets the short quantity of the security.

        This is the quantity of the underlying security that has been short sold. The quantity cannot be negative, as that would imply the position is long.

        Returns:
        the value of the property
      • toBuilder

        public GenericSecurityPosition.Builder toBuilder()
        Returns a builder that allows this bean to be mutated.
        Returns:
        the mutable builder, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object