LUSID C# SDK
Public Types | Public Member Functions | Protected Member Functions | Properties | List of all members
Lusid.Sdk.Model.MarketDataKeyRule Class Reference

When performing analytics, instruments and models have dependencies on market data. A market data key rule essentially tells lusid to "resolve dependencies matching the pattern 'X' using data of the form 'Y'". The parameter 'X' is defined by the key of the key rule, and might specify "all USD rates curves" or "all RIC-based prices". The parameter 'Y' is defined by the remaining fields of the key rule, and allows the user to configure things such as where to look for data, what sort of data should be looked for (e.g. bid/mid/ask), and how old the data is allowed to be. More...

Inheritance diagram for Lusid.Sdk.Model.MarketDataKeyRule:
Inheritance graph
[legend]

Public Types

enum class  QuoteTypeEnum {
  Price = 1 , Spread = 2 , Rate = 3 , LogNormalVol = 4 ,
  NormalVol = 5 , ParSpread = 6 , IsdaSpread = 7 , Upfront = 8 ,
  Index = 9 , Ratio = 10 , Delta = 11 , PoolFactor = 12 ,
  InflationAssumption = 13 , DirtyPrice = 14 , PrincipalWriteOff = 15 , InterestDeferred = 16 ,
  InterestShortfall = 17
}
 The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall More...
 

Public Member Functions

 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), string sourceSystem=default(string), bool fallThroughOnAccessDenied=default(bool))
 Initializes a new instance of the MarketDataKeyRule class. More...
 
override string ToString ()
 Returns the string presentation of the object More...
 
virtual string ToJson ()
 Returns the JSON string presentation of the object More...
 
override bool Equals (object input)
 Returns true if objects are equal More...
 
bool Equals (MarketDataKeyRule input)
 Returns true if MarketDataKeyRule instances are equal More...
 
override int GetHashCode ()
 Gets the hash code More...
 

Protected Member Functions

 MarketDataKeyRule ()
 Initializes a new instance of the MarketDataKeyRule class. More...
 

Properties

QuoteTypeEnum QuoteType [get, set]
 The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall More...
 
string Key [get, set]
 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: "Quote.{CodeType}.*" e.g. "Quote.RIC.*" refers to 'any RIC quote' Fx rates: "Fx.CurrencyPair.*", which refers to 'any FX rate' Discounting curves: "Rates.{Currency}.{Currency}OIS e.g. "Rates.USD.USDOIS" refers to the OIS USD discounting curve For non-fx and non-quote rules, trailing parameters can be replaced by the wildcard character ''. e.g. "Rates..*" matches any dependency on a discounting curve. More...
 
string Supplier [get, set]
 The market data supplier (where the data comes from) More...
 
string DataScope [get, set]
 The scope in which the data should be found when using this rule. More...
 
string Field [get, set]
 The conceptual qualification for the field, typically 'bid', 'mid' (default), or 'ask', but can also be 'open', 'close', etc. When resolving quotes from LUSID's database, only quotes whose Field is identical to the Field specified here will be accepted as market data. When resolving data from an external supplier, the Field must be one of a defined set for the given supplier. Note: Applies to the retrieval of quotes only. Has no impact on the resolution of complex market data. More...
 
string QuoteInterval [get, set]
 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 <i>int</i><i>char</i>.<i>int</i><i>char</i>, where <i>char</i> is one of D(ay), Bd(business day), W(eek), M(onth) or Y(ear). Business days are calculated using the calendars specified on the Valuation Request. If no calendar is provided in the request, then it will default to only skipping weekends. For example, if the valuation date is a Monday, then a quote interval of &quot;1Bd&quot; would behave as &quot;3D&quot;, looking back to the Friday. Data with effectiveAt on the weekend will still be found in that window. More...
 
DateTimeOffset? AsAt [get, set]
 Deprecated field which no longer has any effect on market data resolution. More...
 
string PriceSource [get, set]
 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 More...
 
string Mask [get, set]
 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. More...
 
string SourceSystem [get, set]
 If set, this parameter will seek an external source of market data. Optional and, if omitted, will default to &quot;Lusid&quot;. This means that data will be retrieved from the LUSID Quote Store and LUSID Complex Market Data Store. This can be set to &quot;MarketDataOverrides&quot; if Supplier is set to &quot;Client&quot;. More...
 
bool FallThroughOnAccessDenied [get, set]
 When a user attempts to use a rule to access data to which they are not entitled, the rule will fail to resolve any market data. By default, such an access denied failure will stop any further attempts to resolve market data. This is so that differently entitled users always receive the same market data from market data resolution, if they have sufficient entitlements to retrieve the required data. If set to true, then an access denied failure will not stop further market data resolution, and resolution will continue with the next specified MarketDataKeyRule. Optional, and defaults to false. More...
 

Detailed Description

When performing analytics, instruments and models have dependencies on market data. A market data key rule essentially tells lusid to &quot;resolve dependencies matching the pattern &#39;X&#39; using data of the form &#39;Y&#39;&quot;. The parameter &#39;X&#39; is defined by the key of the key rule, and might specify &quot;all USD rates curves&quot; or &quot;all RIC-based prices&quot;. The parameter &#39;Y&#39; is defined by the remaining fields of the key rule, and allows the user to configure things such as where to look for data, what sort of data should be looked for (e.g. bid/mid/ask), and how old the data is allowed to be.

Member Enumeration Documentation

◆ QuoteTypeEnum

The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall

The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall

Enumerator
Price 

Enum Price for value: Price

Spread 

Enum Spread for value: Spread

Rate 

Enum Rate for value: Rate

LogNormalVol 

Enum LogNormalVol for value: LogNormalVol

NormalVol 

Enum NormalVol for value: NormalVol

ParSpread 

Enum ParSpread for value: ParSpread

IsdaSpread 

Enum IsdaSpread for value: IsdaSpread

Upfront 

Enum Upfront for value: Upfront

Index 

Enum Index for value: Index

Ratio 

Enum Ratio for value: Ratio

Delta 

Enum Delta for value: Delta

PoolFactor 

Enum PoolFactor for value: PoolFactor

InflationAssumption 

Enum InflationAssumption for value: InflationAssumption

DirtyPrice 

Enum DirtyPrice for value: DirtyPrice

PrincipalWriteOff 

Enum PrincipalWriteOff for value: PrincipalWriteOff

InterestDeferred 

Enum InterestDeferred for value: InterestDeferred

InterestShortfall 

Enum InterestShortfall for value: InterestShortfall

Constructor & Destructor Documentation

◆ MarketDataKeyRule() [1/2]

Lusid.Sdk.Model.MarketDataKeyRule.MarketDataKeyRule ( )
inlineprotected

Initializes a new instance of the MarketDataKeyRule class.

◆ MarketDataKeyRule() [2/2]

Lusid.Sdk.Model.MarketDataKeyRule.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),
string  sourceSystem = default(string),
bool  fallThroughOnAccessDenied = default(bool) 
)
inline

Initializes a new instance of the MarketDataKeyRule class.

Parameters
keyA 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).
supplierThe market data supplier (where the data comes from) (required).
dataScopeThe scope in which the data should be found when using this rule. (required).
quoteTypeThe available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall (required).
fieldThe conceptual qualification for the field, typically &#39;bid&#39;, &#39;mid&#39; (default), or &#39;ask&#39;, but can also be &#39;open&#39;, &#39;close&#39;, etc. When resolving quotes from LUSID&#39;s database, only quotes whose Field is identical to the Field specified here will be accepted as market data. When resolving data from an external supplier, the Field must be one of a defined set for the given supplier. Note: Applies to the retrieval of quotes only. Has no impact on the resolution of complex market data..
quoteIntervalShorthand 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 <i>int</i><i>char</i>.<i>int</i><i>char</i>, where <i>char</i> is one of D(ay), Bd(business day), W(eek), M(onth) or Y(ear). Business days are calculated using the calendars specified on the Valuation Request. If no calendar is provided in the request, then it will default to only skipping weekends. For example, if the valuation date is a Monday, then a quote interval of &quot;1Bd&quot; would behave as &quot;3D&quot;, looking back to the Friday. Data with effectiveAt on the weekend will still be found in that window..
asAtDeprecated field which no longer has any effect on market data resolution..
priceSourceThe 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.
maskAllows 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..
sourceSystemIf set, this parameter will seek an external source of market data. Optional and, if omitted, will default to &quot;Lusid&quot;. This means that data will be retrieved from the LUSID Quote Store and LUSID Complex Market Data Store. This can be set to &quot;MarketDataOverrides&quot; if Supplier is set to &quot;Client&quot;..
fallThroughOnAccessDeniedWhen a user attempts to use a rule to access data to which they are not entitled, the rule will fail to resolve any market data. By default, such an access denied failure will stop any further attempts to resolve market data. This is so that differently entitled users always receive the same market data from market data resolution, if they have sufficient entitlements to retrieve the required data. If set to true, then an access denied failure will not stop further market data resolution, and resolution will continue with the next specified MarketDataKeyRule. Optional, and defaults to false..

Member Function Documentation

◆ Equals() [1/2]

bool Lusid.Sdk.Model.MarketDataKeyRule.Equals ( MarketDataKeyRule  input)
inline

Returns true if MarketDataKeyRule instances are equal

Parameters
inputInstance of MarketDataKeyRule to be compared
Returns
Boolean

◆ Equals() [2/2]

override bool Lusid.Sdk.Model.MarketDataKeyRule.Equals ( object  input)
inline

Returns true if objects are equal

Parameters
inputObject to be compared
Returns
Boolean

◆ GetHashCode()

override int Lusid.Sdk.Model.MarketDataKeyRule.GetHashCode ( )
inline

Gets the hash code

Returns
Hash code

◆ ToJson()

virtual string Lusid.Sdk.Model.MarketDataKeyRule.ToJson ( )
inlinevirtual

Returns the JSON string presentation of the object

Returns
JSON string presentation of the object

◆ ToString()

override string Lusid.Sdk.Model.MarketDataKeyRule.ToString ( )
inline

Returns the string presentation of the object

Returns
String presentation of the object

Property Documentation

◆ AsAt

DateTimeOffset? Lusid.Sdk.Model.MarketDataKeyRule.AsAt
getset

Deprecated field which no longer has any effect on market data resolution.

Deprecated field which no longer has any effect on market data resolution.

◆ DataScope

string Lusid.Sdk.Model.MarketDataKeyRule.DataScope
getset

The scope in which the data should be found when using this rule.

The scope in which the data should be found when using this rule.

◆ FallThroughOnAccessDenied

bool Lusid.Sdk.Model.MarketDataKeyRule.FallThroughOnAccessDenied
getset

When a user attempts to use a rule to access data to which they are not entitled, the rule will fail to resolve any market data. By default, such an access denied failure will stop any further attempts to resolve market data. This is so that differently entitled users always receive the same market data from market data resolution, if they have sufficient entitlements to retrieve the required data. If set to true, then an access denied failure will not stop further market data resolution, and resolution will continue with the next specified MarketDataKeyRule. Optional, and defaults to false.

When a user attempts to use a rule to access data to which they are not entitled, the rule will fail to resolve any market data. By default, such an access denied failure will stop any further attempts to resolve market data. This is so that differently entitled users always receive the same market data from market data resolution, if they have sufficient entitlements to retrieve the required data. If set to true, then an access denied failure will not stop further market data resolution, and resolution will continue with the next specified MarketDataKeyRule. Optional, and defaults to false.

◆ Field

string Lusid.Sdk.Model.MarketDataKeyRule.Field
getset

The conceptual qualification for the field, typically &#39;bid&#39;, &#39;mid&#39; (default), or &#39;ask&#39;, but can also be &#39;open&#39;, &#39;close&#39;, etc. When resolving quotes from LUSID&#39;s database, only quotes whose Field is identical to the Field specified here will be accepted as market data. When resolving data from an external supplier, the Field must be one of a defined set for the given supplier. Note: Applies to the retrieval of quotes only. Has no impact on the resolution of complex market data.

The conceptual qualification for the field, typically &#39;bid&#39;, &#39;mid&#39; (default), or &#39;ask&#39;, but can also be &#39;open&#39;, &#39;close&#39;, etc. When resolving quotes from LUSID&#39;s database, only quotes whose Field is identical to the Field specified here will be accepted as market data. When resolving data from an external supplier, the Field must be one of a defined set for the given supplier. Note: Applies to the retrieval of quotes only. Has no impact on the resolution of complex market data.

◆ Key

string Lusid.Sdk.Model.MarketDataKeyRule.Key
getset

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.

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.

◆ Mask

string Lusid.Sdk.Model.MarketDataKeyRule.Mask
getset

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.

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.

◆ PriceSource

string Lusid.Sdk.Model.MarketDataKeyRule.PriceSource
getset

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

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

◆ QuoteInterval

string Lusid.Sdk.Model.MarketDataKeyRule.QuoteInterval
getset

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 <i>int</i><i>char</i>.<i>int</i><i>char</i>, where <i>char</i> is one of D(ay), Bd(business day), W(eek), M(onth) or Y(ear). Business days are calculated using the calendars specified on the Valuation Request. If no calendar is provided in the request, then it will default to only skipping weekends. For example, if the valuation date is a Monday, then a quote interval of &quot;1Bd&quot; would behave as &quot;3D&quot;, looking back to the Friday. Data with effectiveAt on the weekend will still be found in that window.

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 <i>int</i><i>char</i>.<i>int</i><i>char</i>, where <i>char</i> is one of D(ay), Bd(business day), W(eek), M(onth) or Y(ear). Business days are calculated using the calendars specified on the Valuation Request. If no calendar is provided in the request, then it will default to only skipping weekends. For example, if the valuation date is a Monday, then a quote interval of &quot;1Bd&quot; would behave as &quot;3D&quot;, looking back to the Friday. Data with effectiveAt on the weekend will still be found in that window.

◆ QuoteType

QuoteTypeEnum Lusid.Sdk.Model.MarketDataKeyRule.QuoteType
getset

The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall

The available values are: Price, Spread, Rate, LogNormalVol, NormalVol, ParSpread, IsdaSpread, Upfront, Index, Ratio, Delta, PoolFactor, InflationAssumption, DirtyPrice, PrincipalWriteOff, InterestDeferred, InterestShortfall

◆ SourceSystem

string Lusid.Sdk.Model.MarketDataKeyRule.SourceSystem
getset

If set, this parameter will seek an external source of market data. Optional and, if omitted, will default to &quot;Lusid&quot;. This means that data will be retrieved from the LUSID Quote Store and LUSID Complex Market Data Store. This can be set to &quot;MarketDataOverrides&quot; if Supplier is set to &quot;Client&quot;.

If set, this parameter will seek an external source of market data. Optional and, if omitted, will default to &quot;Lusid&quot;. This means that data will be retrieved from the LUSID Quote Store and LUSID Complex Market Data Store. This can be set to &quot;MarketDataOverrides&quot; if Supplier is set to &quot;Client&quot;.

◆ Supplier

string Lusid.Sdk.Model.MarketDataKeyRule.Supplier
getset

The market data supplier (where the data comes from)

The market data supplier (where the data comes from)


The documentation for this class was generated from the following file: