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; }
/// <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>(); }
/// <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; }
/// <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) { }
/// <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; }
/// <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) { }