Beispiel #1
0
        private void ReverseAlphaDirection()
        {
            if (alphaDirection == AlphaDirection.Increasing)
                alphaDirection = AlphaDirection.Decreasing;
            else if (alphaDirection == AlphaDirection.Decreasing)
                alphaDirection = AlphaDirection.Increasing;

            if (reversalCount != -1)
                reversalCount++;
        }
        public virtual void InitAlphaDirection(AlphaDirection direct)
        {
            if (direct == AlphaDirection.Decreasing)
            {
                AlphaValue = alphaUpper;
            }
            else if (direct == AlphaDirection.Increasing)
            {
                AlphaValue = alphaLower;
            }

            alphaDirection = direct;
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ConstantAlphaModel"/> class
        /// </summary>
        /// <param name="type">The type of alpha</param>
        /// <param name="direction">The direction of the alpha</param>
        /// <param name="period">The period over which the alpha with come to fruition</param>
        /// <param name="magnitude">The predicted change in magnitude as a +- percentage</param>
        /// <param name="confidence">The confidence in the alpha</param>
        public ConstantAlphaModel(AlphaType type, AlphaDirection direction, TimeSpan period, double?magnitude, double?confidence)
        {
            _type      = type;
            _direction = direction;
            _period    = period;

            // Optional
            _magnitude  = magnitude;
            _confidence = confidence;

            _securities        = new HashSet <Security>();
            _alphaTimeBySymbol = new Dictionary <Symbol, DateTime>();
        }
Beispiel #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Alpha"/> class
        /// </summary>
        /// <param name="symbol">The symbol this alpha is for</param>
        /// <param name="type">The type of alpha, price/volatility</param>
        /// <param name="direction">The predicted direction</param>
        /// <param name="period">The period over which the prediction will come true</param>
        /// <param name="magnitude">The predicted magnitude as a percentage change</param>
        /// <param name="confidence">The confidence in this alpha</param>
        public Alpha(Symbol symbol, AlphaType type, AlphaDirection direction, TimeSpan period, double?magnitude, double?confidence)
        {
            Id    = Guid.NewGuid();
            Score = new AlphaScore();

            Symbol    = symbol;
            Type      = type;
            Direction = direction;
            Period    = period;

            // Optional
            Magnitude  = magnitude;
            Confidence = confidence;
        }
Beispiel #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Alpha"/> class
 /// </summary>
 /// <param name="symbol">The symbol this alpha is for</param>
 /// <param name="type">The type of alpha, price/volatility</param>
 /// <param name="direction">The predicted direction</param>
 /// <param name="period">The period over which the prediction will come true</param>
 public Alpha(Symbol symbol, AlphaType type, AlphaDirection direction, TimeSpan period)
     : this(symbol, type, direction, period, null, null)
 {
 }
Beispiel #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Alpha"/> class.
 /// This constructor is provided mostly for testing purposes. When running inside an algorithm,
 /// the generated and close times are set based on the algorithm's time.
 /// </summary>
 /// <param name="generatedTimeUtc">The time this alpha was generated in utc</param>
 /// <param name="symbol">The symbol this alpha is for</param>
 /// <param name="type">The type of alpha, price/volatility</param>
 /// <param name="direction">The predicted direction</param>
 /// <param name="period">The period over which the prediction will come true</param>
 /// <param name="magnitude">The predicted magnitude as a percentage change</param>
 /// <param name="confidence">The confidence in this alpha</param>
 public Alpha(DateTime generatedTimeUtc, Symbol symbol, AlphaType type, AlphaDirection direction, TimeSpan period, double?magnitude, double?confidence)
     : this(symbol, type, direction, period, magnitude, confidence)
 {
     GeneratedTimeUtc = generatedTimeUtc;
     CloseTimeUtc     = generatedTimeUtc + period;
 }
Beispiel #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConstantAlphaModel"/> class
 /// </summary>
 /// <param name="type">The type of alpha</param>
 /// <param name="direction">The direction of the alpha</param>
 /// <param name="period">The period over which the alpha with come to fruition</param>
 public ConstantAlphaModel(AlphaType type, AlphaDirection direction, TimeSpan period)
     : this(type, direction, period, null, null)
 {
 }