示例#1
0
        /// <summary>
        /// Provides a convenience method for creating an option Symbol.
        /// </summary>
        /// <param name="underlying">The underlying ticker</param>
        /// <param name="market">The market the underlying resides in</param>
        /// <param name="style">The option style (American, European, ect..)</param>
        /// <param name="right">The option right (Put/Call)</param>
        /// <param name="strike">The option strike price</param>
        /// <param name="expiry">The option expiry date</param>
        /// <param name="alias">An alias to be used for the symbol cache. Required when
        /// adding the same security from diferent markets</param>
        /// <returns>A new Symbol object for the specified option contract</returns>
        public static Symbol CreateOption(string underlying, string market, OptionStyle style, OptionRight right, decimal strike, DateTime expiry, string alias = null)
        {
            var sid = SecurityIdentifier.GenerateOption(expiry, underlying, market, strike, right, style);

            alias = alias ?? string.Format("{0}_{1}_{2}_{3}", underlying, right.ToString()[0], strike.SmartRounding(), expiry.ToString("yyyyMMdd"));
            return(new Symbol(sid, alias));
        }
 /// <summary>
 /// Returns option symbol ticker in accordance with OSI symbology
 /// More information can be found at http://www.optionsclearing.com/components/docs/initiatives/symbology/symbology_initiative_v1_8.pdf
 /// </summary>
 /// <param name="underlying">Underlying string</param>
 /// <param name="right">Option right</param>
 /// <param name="strikePrice">Option strike</param>
 /// <param name="expiration">Option expiration date</param>
 /// <returns></returns>
 public static string GenerateOptionTickerOSI(string underlying, OptionRight right, decimal strikePrice, DateTime expiration)
 {
     if (underlying.Length > 5)
     {
         underlying += " ";
     }
     return(string.Format("{0,-6}{1}{2}{3:00000000}", underlying, expiration.ToString(DateFormat.SixCharacter), right.ToString()[0], strikePrice * 1000m));
 }
示例#3
0
 /// <summary>
 /// Returns option symbol ticker in accordance with OSI symbology
 /// More information can be found at http://www.optionsclearing.com/components/docs/initiatives/symbology/symbology_initiative_v1_8.pdf
 /// </summary>
 /// <param name="underlying">Underlying string</param>
 /// <param name="right">Option right</param>
 /// <param name="strikePrice">Option strike</param>
 /// <param name="expiration">Option expiration date</param>
 /// <returns>The OSI ticker representation</returns>
 public static string GenerateOptionTickerOSI(string underlying, OptionRight right, decimal strikePrice, DateTime expiration)
 {
     if (underlying.Length > 5)
     {
         underlying += " ";
     }
     return(Invariant($"{underlying,-6}{expiration.ToStringInvariant(DateFormat.SixCharacter)}{right.ToString()[0]}{(strikePrice * 1000m):00000000}"));
 }