本文整理汇总了C#中ISecurityProvider.Lookup方法的典型用法代码示例。如果您正苦于以下问题:C# ISecurityProvider.Lookup方法的具体用法?C# ISecurityProvider.Lookup怎么用?C# ISecurityProvider.Lookup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISecurityProvider
的用法示例。
在下文中一共展示了ISecurityProvider.Lookup方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetOppositeOption
/// <summary>
/// To get opposite option (for Call to get Put, for Put to get Call).
/// </summary>
/// <param name="option">Options contract.</param>
/// <param name="provider">The provider of information about instruments.</param>
/// <returns>The opposite option.</returns>
public static Security GetOppositeOption(this Security option, ISecurityProvider provider)
{
if (provider == null)
throw new ArgumentNullException("provider");
option.CheckOption();
var oppositeOption = provider
.Lookup(new Security
{
OptionType = option.OptionType == OptionTypes.Call ? OptionTypes.Put : OptionTypes.Call,
Strike = option.Strike,
ExpiryDate = option.ExpiryDate,
UnderlyingSecurityId = option.UnderlyingSecurityId,
})
.FirstOrDefault();
if (oppositeOption == null)
throw new ArgumentException(LocalizedStrings.Str706Params.Put(option.Id), "option");
return oppositeOption;
}
示例2: GetOption
/// <summary>
/// To get an option for the underlying futures.
/// </summary>
/// <param name="future">Underlying futures.</param>
/// <param name="provider">The provider of information about instruments.</param>
/// <param name="strike">Strike.</param>
/// <param name="expirationDate">The options expiration date.</param>
/// <param name="optionType">Option type.</param>
/// <returns>Options contract.</returns>
public static Security GetOption(this Security future, ISecurityProvider provider, decimal strike, DateTimeOffset expirationDate, OptionTypes optionType)
{
if (future == null)
throw new ArgumentNullException("future");
if (provider == null)
throw new ArgumentNullException("provider");
var option = provider
.Lookup(new Security
{
Strike = strike,
OptionType = optionType,
ExpiryDate = expirationDate,
UnderlyingSecurityId = future.Id
})
.FirstOrDefault();
if (option == null)
throw new ArgumentException(LocalizedStrings.Str707Params.Put(future.Id), "future");
return option;
}
示例3: GetDerivatives
/// <summary>
/// To get derivatives by the underlying asset.
/// </summary>
/// <param name="asset">Underlying asset.</param>
/// <param name="provider">The provider of information about instruments.</param>
/// <param name="expirationDate">The expiration date.</param>
/// <returns>The list of derivatives.</returns>
/// <remarks>
/// It returns an empty list if derivatives are not found.
/// </remarks>
public static IEnumerable<Security> GetDerivatives(this Security asset, ISecurityProvider provider, DateTimeOffset? expirationDate = null)
{
return provider.Lookup(new Security
{
UnderlyingSecurityId = asset.Id,
ExpiryDate = expirationDate,
});
}