public FutureOption(string symbol, Future future, OptionSide side, float strikePrice) { Symbol = symbol; Future = future; Side = side; StrikePrice = strikePrice; }
public async Task EndOfDayOptionsTest(string symbol, string expiration, OptionSide optionSide) { var response = await sandBoxClient.Options.OptionsAsync(symbol, expiration, optionSide); Assert.IsNull(response.ErrorMessage); Assert.IsNotNull(response.Data); }
public EquityOptionMessage(string symbol, string equitySymbol, float strikePrice, DateTime expiration, OptionSide side) { Symbol = symbol; EquitySymbol = equitySymbol; StrikePrice = strikePrice; Expiration = expiration; Side = side; }
public async Task <IReadOnlyList <Option> > GetOptionAsync(string symbol, DateTime expiration, OptionSide side) { //todo consider validation if (string.IsNullOrWhiteSpace(symbol)) { throw new ArgumentException($"Argument {nameof(symbol)} cannot be empty."); } if (side == OptionSide.None) { throw new NotSupportedException($"Side {nameof(side)}is not supported."); } var exp = expiration.ToString("yyyyMM", CultureInfo.InvariantCulture); var optionSide = side.ToString().ToLower(); var url = $"{Endpoint}/{symbol}/{Suffix}/{exp}/{optionSide}"; var response = await _httpClient.GetAsync(url); return(JsonConvert.DeserializeObject <IReadOnlyList <Option> >(response)); }
public async Task <IEXResponse <IEnumerable <OptionResponse> > > OptionsAsync(string symbol, string expiration, OptionSide optionSide) { const string urlPattern = "stock/[symbol]/options/[expiration]/[optionSide]"; var qsb = new QueryStringBuilder(); var pathNvc = new NameValueCollection { { "symbol", symbol }, { "expiration", expiration }, { "optionSide", optionSide.GetDescriptionFromEnum() } }; return(await executor.ExecuteAsync <IEnumerable <OptionResponse> >(urlPattern, pathNvc, qsb)); }
public EquityOptionMonthCode(int month, OptionSide side) { Month = month; Side = side; }