Class Trader

  • All Implemented Interfaces:
    java.lang.Runnable

    public class Trader
    extends java.lang.Object
    implements java.lang.Runnable
    • Constructor Detail

      • Trader

        public Trader​(Manager manager,
                      Stock tradedStock)
        Parameters:
        databaseFacade -
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
      • evaluateWiggle

        protected void evaluateWiggle​(java.util.List<Session> dataSessionList,
                                      java.lang.Double wiggle,
                                      java.lang.Integer buyVolumeSpike,
                                      java.lang.Double buyPriceDropRatio)
      • skipProcessing

        public static boolean skipProcessing​(Stock stock)
      • getInvestment

        public Investment getInvestment()
        Returns:
        the investment
      • buySomething

        public void buySomething​(Investment investment)
      • calculateIndicators

        protected void calculateIndicators​(Period period)
      • sellIfLastTransactionData

        protected boolean sellIfLastTransactionData​(int transactionNumber,
                                                    int transactionCount)
      • spikePrice

        protected void spikePrice​(Investment investment,
                                  java.lang.Double price)
      • startPeriodsArray

        protected void startPeriodsArray​(Transaction transaction,
                                         int periodIntervalMinutes)
      • updateHighPrice

        protected void updateHighPrice​(Period period,
                                       Transaction transaction)
      • updateLowPrice

        protected void updateLowPrice​(Period period,
                                      Transaction transaction)
      • updatePeriodsList

        protected Period updatePeriodsList​(Transaction transaction,
                                           int periodIntervalMinutes,
                                           boolean newSesion)
      • updateVolume

        protected void updateVolume​(Period period,
                                    Transaction transaction)
      • updateVolumeChunkCounter

        protected void updateVolumeChunkCounter​(Period period,
                                                java.lang.Long volume)
      • createNewPeriod

        protected Period createNewPeriod​(java.time.LocalDateTime startDime,
                                         Transaction transaction)
      • createFirstPeriod

        protected Period createFirstPeriod​(Transaction transaction)
      • getLastFullPeriod

        public Period getLastFullPeriod()
        Returns:
      • getLastPeriod

        public Period getLastPeriod()
        Returns:
      • logTestSessions

        protected void logTestSessions​(java.lang.String tradedStockTicker,
                                       java.util.List<Session> dataSessionList)
      • evaluateBuyPriceDropRatio

        protected void evaluateBuyPriceDropRatio​(java.util.List<Session> dataSessionList,
                                                 java.lang.Double buyPriceDropRatio)
      • evaluateBuyVolumeSpike

        protected void evaluateBuyVolumeSpike​(java.util.List<Session> dataSessionList,
                                              java.lang.Integer buyVolumeSpike,
                                              java.lang.Double buyPriceDropRatio)
      • moneyAwailable

        protected boolean moneyAwailable​(Transaction transaction)
      • checkCommandments

        protected void checkCommandments()