Class AnalysisService

java.lang.Object
com.bluebell.greenhouse.radicle.services.analysis.AnalysisService

@Service @Transactional(readOnly=true) public class AnalysisService extends Object
Service-layer for computing analysis of Accounts.
Version:
3.0.3
Author:
Stephen Prizio
  • Constructor Details

    • AnalysisService

      public AnalysisService()
  • Method Details

    • computeTimeBucketAnalysis

      @Cacheable(cacheNames="accountAnalysis", key="T(com.bluebell.greenhouse.platform.configuration.cache.account.AccountAnalysisCacheKeys).forTimeBucket(#account, #interval, #analysisFilter, #isOpened)", sync=true) public List<AnalysisResult> computeTimeBucketAnalysis(Account account, MarketTimeInterval interval, AnalysisFilter analysisFilter, boolean isOpened)
      Computes the time bucket analysis.
      Parameters:
      account - Account
      interval - MarketTimeInterval
      analysisFilter - AnalysisFilter
      isOpened - opened or closed times
      Returns:
      List of AnalysisResult
    • computeWeekdayAnalysis

      @Cacheable(cacheNames="accountAnalysis", key="T(com.bluebell.greenhouse.platform.configuration.cache.account.AccountAnalysisCacheKeys).forWeekday(#account, #analysisFilter)", sync=true) public List<AnalysisResult> computeWeekdayAnalysis(Account account, AnalysisFilter analysisFilter)
      Computes the weekday analysis.
      Parameters:
      account - Account
      analysisFilter - AnalysisFilter
      Returns:
      List of AnalysisResult
    • computeWeekdayTimeBucketAnalysis

      @Cacheable(cacheNames="accountAnalysis", key="T(com.bluebell.greenhouse.platform.configuration.cache.account.AccountAnalysisCacheKeys).forWeekdayTimeBucket(#account, #day, #interval, #analysisFilter)", sync=true) public List<AnalysisResult> computeWeekdayTimeBucketAnalysis(Account account, DayOfWeek day, MarketTimeInterval interval, AnalysisFilter analysisFilter)
      Computes the time bucket / week day analysis.
      Parameters:
      account - Account
      day - DayOfWeek
      interval - MarketTimeInterval
      analysisFilter - AnalysisFilter
      Returns:
      List of AnalysisResult
    • computePositionDurationAnalysis

      @Cacheable(cacheNames="accountAnalysis", key="T(com.bluebell.greenhouse.platform.configuration.cache.account.AccountAnalysisCacheKeys).forPositionDuration(#account, #analysisFilter, #positionDurationFilter)", sync=true) public List<AnalysisResult> computePositionDurationAnalysis(Account account, AnalysisFilter analysisFilter, PositionDurationFilter positionDurationFilter)
      Computes the position duration analysis.
      Parameters:
      account - Account
      analysisFilter - AnalysisFilter
      positionDurationFilter - PositionDurationFilter
      Returns:
      List of AnalysisResult
    • computeSymbolAnalysis

      @Cacheable(cacheNames="accountAnalysis", key="T(com.bluebell.greenhouse.platform.configuration.cache.account.AccountAnalysisCacheKeys).forSymbol(#account, #analysisFilter)", sync=true) public List<AnalysisResult> computeSymbolAnalysis(Account account, AnalysisFilter analysisFilter)
      Computes the analysis per symbol.
      Parameters:
      account - Account
      analysisFilter - AnalysisFilter
      Returns:
      List of AnalysisResult