Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="QuoteSeriesId" /> class.
        /// </summary>
        /// <param name="provider">The platform or vendor that provided the quote, e.g. &#39;DataScope&#39;, &#39;LUSID&#39; etc. (required).</param>
        /// <param name="priceSource">The source or originator of the quote, e.g. a bank or financial institution..</param>
        /// <param name="instrumentId">The value of the instrument identifier that uniquely identifies the instrument that the quote is for, e.g. &#39;BBG00JX0P539&#39;. (required).</param>
        /// <param name="instrumentIdType">The type of instrument identifier used to uniquely identify the instrument that the quote is for, e.g. &#39;Figi&#39;. The available values are: LusidInstrumentId, Figi, RIC, QuotePermId, Isin, CurrencyPair, ClientInternal (required).</param>
        /// <param name="quoteType">The type of the quote. This allows for quotes other than prices e.g. rates or spreads to be used. The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront (required).</param>
        /// <param name="field">The field of the quote e.g. bid, mid, ask etc. This should be consistent across a time series of quotes. The allowed values are dependant on the specified Provider. (required).</param>
        public QuoteSeriesId(string provider = default(string), string priceSource = default(string), string instrumentId = default(string), InstrumentIdTypeEnum instrumentIdType = default(InstrumentIdTypeEnum), QuoteTypeEnum quoteType = default(QuoteTypeEnum), string field = default(string))
        {
            // to ensure "provider" is required (not null)
            if (provider == null)
            {
                throw new InvalidDataException("provider is a required property for QuoteSeriesId and cannot be null");
            }
            else
            {
                this.Provider = provider;
            }

            this.PriceSource = priceSource;
            // to ensure "instrumentId" is required (not null)
            if (instrumentId == null)
            {
                throw new InvalidDataException("instrumentId is a required property for QuoteSeriesId and cannot be null");
            }
            else
            {
                this.InstrumentId = instrumentId;
            }

            // to ensure "instrumentIdType" is required (not null)
            if (instrumentIdType == null)
            {
                throw new InvalidDataException("instrumentIdType is a required property for QuoteSeriesId and cannot be null");
            }
            else
            {
                this.InstrumentIdType = instrumentIdType;
            }

            this.InstrumentIdType = instrumentIdType;
            // to ensure "quoteType" is required (not null)
            if (quoteType == null)
            {
                throw new InvalidDataException("quoteType is a required property for QuoteSeriesId and cannot be null");
            }
            else
            {
                this.QuoteType = quoteType;
            }

            this.QuoteType = quoteType;
            // to ensure "field" is required (not null)
            if (field == null)
            {
                throw new InvalidDataException("field is a required property for QuoteSeriesId and cannot be null");
            }
            else
            {
                this.Field = field;
            }

            this.PriceSource = priceSource;
        }
Exemple #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QuoteSeriesId" /> class.
 /// </summary>
 /// <param name="provider">The platform or vendor that provided the quote, e.g. &#39;DataScope&#39;, &#39;LUSID&#39; etc. (required).</param>
 /// <param name="priceSource">The source or originator of the quote, e.g. a bank or financial institution..</param>
 /// <param name="instrumentId">The value of the instrument identifier that uniquely identifies the instrument that the quote is for, e.g. &#39;BBG00JX0P539&#39;. (required).</param>
 /// <param name="instrumentIdType">The type of instrument identifier used to uniquely identify the instrument that the quote is for, e.g. &#39;Figi&#39;. The available values are: LusidInstrumentId, Figi, RIC, QuotePermId, Isin, CurrencyPair, ClientInternal (required).</param>
 /// <param name="quoteType">The type of the quote. This allows for quotes other than prices e.g. rates or spreads to be used. The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta (required).</param>
 /// <param name="field">The field of the quote e.g. bid, mid, ask etc. This should be consistent across a time series of quotes. The allowed values are dependant on the specified Provider. (required).</param>
 public QuoteSeriesId(string provider = default(string), string priceSource = default(string), string instrumentId = default(string), InstrumentIdTypeEnum instrumentIdType = default(InstrumentIdTypeEnum), QuoteTypeEnum quoteType = default(QuoteTypeEnum), string field = default(string))
 {
     // to ensure "provider" is required (not null)
     this.Provider = provider ?? throw new ArgumentNullException("provider is a required property for QuoteSeriesId and cannot be null");
     // to ensure "instrumentId" is required (not null)
     this.InstrumentId     = instrumentId ?? throw new ArgumentNullException("instrumentId is a required property for QuoteSeriesId and cannot be null");
     this.InstrumentIdType = instrumentIdType;
     this.QuoteType        = quoteType;
     // to ensure "field" is required (not null)
     this.Field       = field ?? throw new ArgumentNullException("field is a required property for QuoteSeriesId and cannot be null");
     this.PriceSource = priceSource;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="MarketDataKeyRule" /> class.
        /// </summary>
        /// <param name="key">The market data key pattern which this is a rule for. A dot separated string (A.B.C.D.*) (required).</param>
        /// <param name="supplier">The market data supplier (where the data comes from) (required).</param>
        /// <param name="dataScope">The scope in which the data should be found when using this rule. (required).</param>
        /// <param name="quoteType">Is the quote to be looked for a price, yield etc. (required).</param>
        /// <param name="field">The conceptual qualification for the field, such as bid, mid, or ask.   The field must be one of a defined set for the given supplier, in the same way as it  is for the Finbourne.WebApi.Interface.Dto.Quotes.QuoteSeriesId (required).</param>
        public MarketDataKeyRule(string key = default(string), SupplierEnum supplier = default(SupplierEnum), string dataScope = default(string), QuoteTypeEnum quoteType = default(QuoteTypeEnum), string field = default(string))
        {
            // to ensure "key" is required (not null)
            if (key == null)
            {
                throw new InvalidDataException("key is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Key = key;
            }

            // to ensure "supplier" is required (not null)
            if (supplier == null)
            {
                throw new InvalidDataException("supplier is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Supplier = supplier;
            }

            // to ensure "dataScope" is required (not null)
            if (dataScope == null)
            {
                throw new InvalidDataException("dataScope is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.DataScope = dataScope;
            }

            // to ensure "quoteType" is required (not null)
            if (quoteType == null)
            {
                throw new InvalidDataException("quoteType is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.QuoteType = quoteType;
            }

            // to ensure "field" is required (not null)
            if (field == null)
            {
                throw new InvalidDataException("field is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Field = field;
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MarketDataKeyRule" /> class.
 /// </summary>
 /// <param name="key">A dot-separated string that defines a pattern for matching market data dependencies.  The form of the string depends on the type of the dependency; see below for basic types and the Knowledge Base for further info.  Quote lookup: \&quot;Quote.{CodeType}.*\&quot; e.g. \&quot;Quote.RIC.*\&quot; refers to &#39;any RIC quote&#39;  Fx rates: \&quot;Fx.CurrencyPair.*\&quot;, which refers to &#39;any FX rate&#39;  Discounting curves: \&quot;Rates.{Currency}.{Currency}OIS e.g. \&quot;Rates.USD.USDOIS\&quot; refers to the OIS USD discounting curve                For non-fx and non-quote rules, trailing parameters can be replaced by the wildcard character &#39;*&#39;.  e.g. \&quot;Rates.*.*\&quot; matches any dependency on a discounting curve. (required).</param>
 /// <param name="supplier">The market data supplier (where the data comes from) (required).</param>
 /// <param name="dataScope">The scope in which the data should be found when using this rule. (required).</param>
 /// <param name="quoteType">The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta (required).</param>
 /// <param name="field">The conceptual qualification for the field, such as bid, mid, or ask.  The field must be one of a defined set for the given supplier, in the same way as it  is for the Finbourne.WebApi.Interface.Dto.Quotes.QuoteSeriesId (required).</param>
 /// <param name="quoteInterval">Shorthand for the time interval used to select market data. This must be a dot-separated string              nominating a start and end date, for example &#39;5D.0D&#39; to look back 5 days from today (0 days ago). The syntax              is &lt;i&gt;int&lt;/i&gt;&lt;i&gt;char&lt;/i&gt;.&lt;i&gt;int&lt;/i&gt;&lt;i&gt;char&lt;/i&gt;, where &lt;i&gt;char&lt;/i&gt; is one of D(ay), W(eek), M(onth) or Y(ear)..</param>
 /// <param name="asAt">The AsAt predicate specification..</param>
 /// <param name="priceSource">The source of the quote. For a given provider/supplier of market data there may be an additional qualifier, e.g. the exchange or bank that provided the quote.</param>
 /// <param name="mask">Allows for partial or complete override of the market asset resolved for a dependency  Either a named override or a dot separated string (A.B.C.D.*).  e.g. for Rates curve &#39;EUR.*&#39; will replace the resolve MarketAsset &#39;GBP/12M&#39;, &#39;GBP/3M&#39; with the EUR equivalent, if there  are no wildcards in the mask, the mask is taken as the MarketAsset for any dependency matching the rule..</param>
 public MarketDataKeyRule(string key = default(string), string supplier = default(string), string dataScope = default(string), QuoteTypeEnum quoteType = default(QuoteTypeEnum), string field = default(string), string quoteInterval = default(string), DateTimeOffset?asAt = default(DateTimeOffset?), string priceSource = default(string), string mask = default(string))
 {
     // to ensure "key" is required (not null)
     this.Key = key ?? throw new ArgumentNullException("key is a required property for MarketDataKeyRule and cannot be null");
     // to ensure "supplier" is required (not null)
     this.Supplier = supplier ?? throw new ArgumentNullException("supplier is a required property for MarketDataKeyRule and cannot be null");
     // to ensure "dataScope" is required (not null)
     this.DataScope = dataScope ?? throw new ArgumentNullException("dataScope is a required property for MarketDataKeyRule and cannot be null");
     this.QuoteType = quoteType;
     // to ensure "field" is required (not null)
     this.Field         = field ?? throw new ArgumentNullException("field is a required property for MarketDataKeyRule and cannot be null");
     this.QuoteInterval = quoteInterval;
     this.AsAt          = asAt;
     this.PriceSource   = priceSource;
     this.Mask          = mask;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="MarketDataKeyRule" /> class.
        /// </summary>
        /// <param name="key">The market data key pattern which this is a rule for. A dot separated string (A.B.C.D.*) (required).</param>
        /// <param name="supplier">The market data supplier (where the data comes from) (required).</param>
        /// <param name="dataScope">The scope in which the data should be found when using this rule. (required).</param>
        /// <param name="quoteType">The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront (required).</param>
        /// <param name="field">The conceptual qualification for the field, such as bid, mid, or ask.  The field must be one of a defined set for the given supplier, in the same way as it  is for the Finbourne.WebApi.Interface.Dto.Quotes.QuoteSeriesId (required).</param>
        /// <param name="quoteInterval">Shorthand for the time interval used to select market data..</param>
        /// <param name="asAt">The AsAt predicate specification..</param>
        /// <param name="priceSource">The source of the quote. For a given provider/supplier of market data there may be an additional qualifier, e.g. the exchange or bank that provided the quote.</param>
        /// <param name="mask">Allows for partial or complete override of the market asset resolved for a dependency  Either a named override or a dot separated string (A.B.C.D.*).  e.g. for Rates curve &#39;EUR.*&#39; will replace the resolve MarketAsset &#39;GBP/12M&#39;, &#39;GBP/3M&#39; with the EUR equivalent, if there  are no wildcards in the mask, the mask is taken as the MarketAsset for any dependency matching the rule..</param>
        public MarketDataKeyRule(string key = default(string), string supplier = default(string), string dataScope = default(string), QuoteTypeEnum quoteType = default(QuoteTypeEnum), string field = default(string), string quoteInterval = default(string), DateTimeOffset?asAt = default(DateTimeOffset?), string priceSource = default(string), string mask = default(string))
        {
            // to ensure "key" is required (not null)
            if (key == null)
            {
                throw new InvalidDataException("key is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Key = key;
            }

            // to ensure "supplier" is required (not null)
            if (supplier == null)
            {
                throw new InvalidDataException("supplier is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Supplier = supplier;
            }

            // to ensure "dataScope" is required (not null)
            if (dataScope == null)
            {
                throw new InvalidDataException("dataScope is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.DataScope = dataScope;
            }

            // to ensure "quoteType" is required (not null)
            if (quoteType == null)
            {
                throw new InvalidDataException("quoteType is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.QuoteType = quoteType;
            }

            // to ensure "field" is required (not null)
            if (field == null)
            {
                throw new InvalidDataException("field is a required property for MarketDataKeyRule and cannot be null");
            }
            else
            {
                this.Field = field;
            }

            this.QuoteInterval = quoteInterval;
            this.AsAt          = asAt;
            this.PriceSource   = priceSource;
            this.Mask          = mask;
            this.QuoteInterval = quoteInterval;
            this.AsAt          = asAt;
            this.PriceSource   = priceSource;
            this.Mask          = mask;
        }
Exemple #6
0
 private QuoteType(QuoteTypeEnum @enum)
 {
     Id     = (int)@enum;
     Type   = @enum.ToString();
     Quotes = new HashSet <Quote>();
 }