Class MamdaFundamentalListener

  • All Implemented Interfaces:
    MamdaBasicRecap, MamdaFundamentals, MamdaMsgListener

    public class MamdaFundamentalListener
    extends java.lang.Object
    implements MamdaMsgListener, MamdaFundamentals
    MamdaFundamentalListener is a class that specializes in handling fundamental equity pricing/analysis attributes, indicators and ratios. Developers provide their own implementation of the MamdaFundamentalHandler interface and will be delivered notifications for updates in the fundamental data. An obvious application for this MAMDA class is any kind of pricing analysis application. Note: The MamdaFundamentalListener class caches equity pricing/analysis attributes, indicators and ratios. Among other reasons, caching of these fields makes it possible to provide complete fundamental callbacks, even when the publisher (e.g., feed handler) is only publishing deltas containing modified fields.
    • Constructor Detail

      • MamdaFundamentalListener

        public MamdaFundamentalListener()
        Create a specialized fundamental field listener.
    • Method Detail

      • getSrcTime

        public com.wombat.mama.MamaDateTime getSrcTime()
        Description copied from interface: MamdaBasicRecap
        Source time. Typically, the exchange generated feed
        Specified by:
        getSrcTime in interface MamdaBasicRecap
      • getActivityTime

        public com.wombat.mama.MamaDateTime getActivityTime()
        Description copied from interface: MamdaBasicRecap
        Activity time. A feed handler generated time stamp representing when the data item was last updated.
        Specified by:
        getActivityTime in interface MamdaBasicRecap
      • getSendTime

        public com.wombat.mama.MamaDateTime getSendTime()
        Description copied from interface: MamdaBasicRecap
        Get the send time of the update.
        Specified by:
        getSendTime in interface MamdaBasicRecap
        Returns:
        Send time. A feed handler (or similar publisher) time stamp representing the time that such publisher sent the current message. The difference between the line time and send time is the latency within the feed handler itself. Also, if clocks are properly synchronized then the difference between the send time and current time is the latency within the market data distribution framework (i.e. MAMA and the underlying middleware).
      • getLineTime

        public com.wombat.mama.MamaDateTime getLineTime()
        Description copied from interface: MamdaBasicRecap
        Get the line time of the update.
        Specified by:
        getLineTime in interface MamdaBasicRecap
        Returns:
        Line time. A feed handler (or similar publisher) time stamp representing the time that such publisher received the update message pertaining to the event. If clocks are properly synchronized and the source time (see above) is accurate enough, then the difference between the source time and line time is the latency between the data source and the feed handler.
      • getPartId

        public java.lang.String getPartId()
        Description copied from interface: MamdaBasicRecap
        Get the participant identifier.
        Specified by:
        getPartId in interface MamdaBasicRecap
        Returns:
        Participant ID. This may be an exchange identifier, a market maker ID, etc., or NULL (if this is not related to any specific participant).
      • getSymbol

        public java.lang.String getSymbol()
        Description copied from interface: MamdaBasicRecap
        Get the string symbol for the instrument.
        Specified by:
        getSymbol in interface MamdaBasicRecap
        Returns:
        Symbol. This is the "well-known" symbol for the security, including any symbology mapping performed by the publisher.
      • getDividendFrequency

        public java.lang.String getDividendFrequency()
        Description copied from interface: MamdaFundamentals
        Frequency of the dividend payments.
        • : No dividend payments are made.
        • 1M : Monthly
        • 3M : Quarterly
        • 6M : Semi-Annually
        • 1Y : Annually
        • SP : Payment frequency is special.
        • NA : Irregular payment frequency.
        • ER : Invalid dividend frequency period.
        Specified by:
        getDividendFrequency in interface MamdaFundamentals
      • getDividendExDate

        public java.lang.String getDividendExDate()
        Description copied from interface: MamdaFundamentals
        The date on or after which a security is traded without a previously declared dividend or distribution.
        Specified by:
        getDividendExDate in interface MamdaFundamentals
      • getDividendRecordDate

        public java.lang.String getDividendRecordDate()
        Description copied from interface: MamdaFundamentals
        This is the date on which all shareholders are considered a "holder of record" and ensured the right of a dividend or distribution.
        Specified by:
        getDividendRecordDate in interface MamdaFundamentals
      • getSharesOut

        public long getSharesOut()
        Description copied from interface: MamdaFundamentals
        Shares outstanding. The number of authorized shares in a company that are held by investors, including employees and executives of that company. (Un-issued shares and treasury shares are not included in this figure).
        Specified by:
        getSharesOut in interface MamdaFundamentals
      • getSharesFloat

        public long getSharesFloat()
        Description copied from interface: MamdaFundamentals
        The number of shares of a security that are outstanding and available for trading by the public.
        Specified by:
        getSharesFloat in interface MamdaFundamentals
      • getEarningsPerShare

        public double getEarningsPerShare()
        Description copied from interface: MamdaFundamentals
        Earnings per share, including common stock, preferred stock, unexercised stock options, unexercised warrants, and some convertible debt. In companies with a large amount of convertibles, warrants and stock options, diluted earnings per share are usually a more accurate measure of the company's real earning power than earnings per share.
        Specified by:
        getEarningsPerShare in interface MamdaFundamentals
      • getPriceEarningsRatio

        public double getPriceEarningsRatio()
        Description copied from interface: MamdaFundamentals
        The most common measure of how expensive a stock is. The P/E ratio is equal to a stock's market capitalization divided by its after-tax earnings over a 12-month period, usually the trailing period but occasionally the current or forward period.
        Specified by:
        getPriceEarningsRatio in interface MamdaFundamentals
      • getMarketSector

        public java.lang.String getMarketSector()
        Description copied from interface: MamdaFundamentals
        A distinct subset of a market, society, industry, or economy, whose components share similar characteristics
        Specified by:
        getMarketSector in interface MamdaFundamentals
      • getRiskFreeRate

        public double getRiskFreeRate()
        Description copied from interface: MamdaFundamentals
        Theoretical interest rate at which an investment may earn interest without incurring any risk
        Specified by:
        getRiskFreeRate in interface MamdaFundamentals
      • onMsg

        public void onMsg​(MamdaSubscription subscription,
                          com.wombat.mama.MamaMsg msg,
                          short msgType)
        Implementation of MamdaListener interface.
        Specified by:
        onMsg in interface MamdaMsgListener
        Parameters:
        subscription - The MamdaSubscription to which this listener was registered.
        msg - The MamaMsg received by the underlying MAMA API and which resulted in this callback being invoked.
        msgType - The message type. e.g. INITIAL, RECAP, UPDATE etc.