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

Options for controlling the default aspects and behaviour of the pricing engine. More...

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

Public Member Functions

 PricingOptions (ModelSelection modelSelection=default(ModelSelection), bool useInstrumentTypeToDeterminePricer=default(bool), bool allowAnyInstrumentsWithSecUidToPriceOffLookup=default(bool), bool allowPartiallySuccessfulEvaluation=default(bool), bool produceSeparateResultForLinearOtcLegs=default(bool), bool fxForwardContractsAsUnitsInBothLegs=default(bool), bool enableUseOfCachedUnitResults=default(bool), bool windowValuationOnInstrumentStartEnd=default(bool), bool removeContingentCashflowsInPaymentDiary=default(bool), bool useChildSubHoldingKeysForPortfolioExpansion=default(bool), bool validateDomesticAndQuoteCurrenciesAreConsistent=default(bool), bool mbsValuationUsingHoldingCurrentFace=default(bool), bool convertSrsCashFlowsToPortfolioCurrency=default(bool), string conservedQuantityForLookthroughExpansion=default(string), ReturnZeroPvOptions returnZeroPv=default(ReturnZeroPvOptions), bool enableLegLevelInferenceForCustomSrsColumns=default(bool), bool useInstrumentScaleFactorAsDefault=default(bool))
 Initializes a new instance of the PricingOptions 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 (PricingOptions input)
 Returns true if PricingOptions instances are equal More...
 
override int GetHashCode ()
 Gets the hash code More...
 

Properties

ModelSelection ModelSelection [get, set]
 Gets or Sets ModelSelection More...
 
bool UseInstrumentTypeToDeterminePricer [get, set]
 If true then use the instrument type to set the default instrument pricer This applies where no more specific set of overrides are provided on a per-vendor and instrument basis. More...
 
bool AllowAnyInstrumentsWithSecUidToPriceOffLookup [get, set]
 By default, one would not expect to price and exotic instrument, i.e. an instrument with a complicated instrument definition simply through looking up a price as there should be a better way of evaluating it. To override that behaviour and allow lookup for a price from the instrument identifier(s), set this to true. More...
 
bool AllowPartiallySuccessfulEvaluation [get, set]
 If true then a failure in task evaluation doesn't cause overall failure. results will be returned where they succeeded and annotation elsewhere More...
 
bool ProduceSeparateResultForLinearOtcLegs [get, set]
 If true (default), when pricing an Fx-Forward or Interest Rate Swap, Future and other linearly separable products, product two results, one for each leg rather than a single line result with the amalgamated/summed pv from both legs. More...
 
bool FxForwardContractsAsUnitsInBothLegs [get, set]
 When true, Holding/Units on both legs of an instrument-booked FxForward valued with ProduceSeparateResultForLinearOtcLegs reports the number of forward contracts held (the non-split holding units), so that Holding/Units * Valuation/InstrumentPV &#x3D;&#x3D; Valuation/PV holds on each leg. When false (default), the foreign leg reports <non-split units> * (fgnAmount / domAmount). More...
 
bool EnableUseOfCachedUnitResults [get, set]
 If true, when pricing using a model or for an instrument that supports use of intermediate cached-results, use them. Default is that this caching is turned off. More...
 
bool WindowValuationOnInstrumentStartEnd [get, set]
 If true, when valuing an instrument outside the period where it is &#39;alive&#39; (the start-maturity window) it will return a valuation of zero More...
 
bool RemoveContingentCashflowsInPaymentDiary [get, set]
 When creating a payment diary, should contingent cash payments (e.g. from exercise of a swaption into a swap) be included or not. i.e. Is exercise or default being assumed to happen or not. More...
 
bool UseChildSubHoldingKeysForPortfolioExpansion [get, set]
 Should fund constituents inherit subholding keys from the parent subholding keyb More...
 
bool ValidateDomesticAndQuoteCurrenciesAreConsistent [get, set]
 Do we validate that the instrument domestic currency matches the quote currency (unless unknown/zzz) when using lookup pricing. More...
 
bool MbsValuationUsingHoldingCurrentFace [get, set]
 Gets or Sets MbsValuationUsingHoldingCurrentFace More...
 
bool ConvertSrsCashFlowsToPortfolioCurrency [get, set]
 In the case upserted structured result store (SRS) cashflows are not in the portfolio currency, set this parameter to True to convert said cashflows into the portfolio currency. By default, this flag is set to False and Lusid will not do any FX conversion. Please note that FX conversion is dependent on the data available in the quote store - ensure that all relevant FX quotes have been loaded for cashflow currency conversion. More...
 
string ConservedQuantityForLookthroughExpansion [get, set]
 When performing lookthrough portfolio expansion with ScalingMethodology set to &quot;Sum&quot; or &quot;AbsoluteSum&quot;, the quantity specified here will be conserved and apportioned to lookthrough constituents. For example, an equal-weighting index with 100 constituents can be modelled as a reference portfolio with 1% weights on each equity. When expanding a $9000 holding of that index into its constituents while conserving PV, we end up with $90 of each equity. The number of units of each equity held is then implied. Note that conservation of one quantity may imply non-conservation of others, especially when some constituents are OTCs. Allowed values are: &quot;PV&quot; (default), &quot;Exposure&quot;. Available values: PV, Exposure. More...
 
ReturnZeroPvOptions ReturnZeroPv [get, set]
 Gets or Sets ReturnZeroPv More...
 
bool EnableLegLevelInferenceForCustomSrsColumns [get, set]
 When enabled, allows inference between leg-level and instrument-level data during portfolio valuation. If data is missing at one level, it may be inferred from the other level. For example, missing leg-level data may be inferred from existing leg-level and instrument- level data when ProduceSeparateResultForLinearOtcLegs is enabled, and vice versa. Explicitly provided data always takes precedence. More...
 
bool UseInstrumentScaleFactorAsDefault [get, set]
 When enabled, priceScaleFactor defined at the instrument level will be used in the absence of quote scaleFactor when resolving quotes. More...
 

Detailed Description

Options for controlling the default aspects and behaviour of the pricing engine.

Constructor & Destructor Documentation

◆ PricingOptions()

Lusid.Sdk.Model.PricingOptions.PricingOptions ( ModelSelection  modelSelection = default(ModelSelection),
bool  useInstrumentTypeToDeterminePricer = default(bool),
bool  allowAnyInstrumentsWithSecUidToPriceOffLookup = default(bool),
bool  allowPartiallySuccessfulEvaluation = default(bool),
bool  produceSeparateResultForLinearOtcLegs = default(bool),
bool  fxForwardContractsAsUnitsInBothLegs = default(bool),
bool  enableUseOfCachedUnitResults = default(bool),
bool  windowValuationOnInstrumentStartEnd = default(bool),
bool  removeContingentCashflowsInPaymentDiary = default(bool),
bool  useChildSubHoldingKeysForPortfolioExpansion = default(bool),
bool  validateDomesticAndQuoteCurrenciesAreConsistent = default(bool),
bool  mbsValuationUsingHoldingCurrentFace = default(bool),
bool  convertSrsCashFlowsToPortfolioCurrency = default(bool),
string  conservedQuantityForLookthroughExpansion = default(string),
ReturnZeroPvOptions  returnZeroPv = default(ReturnZeroPvOptions),
bool  enableLegLevelInferenceForCustomSrsColumns = default(bool),
bool  useInstrumentScaleFactorAsDefault = default(bool) 
)
inline

Initializes a new instance of the PricingOptions class.

Parameters
modelSelectionmodelSelection.
useInstrumentTypeToDeterminePricerIf true then use the instrument type to set the default instrument pricer This applies where no more specific set of overrides are provided on a per-vendor and instrument basis..
allowAnyInstrumentsWithSecUidToPriceOffLookupBy default, one would not expect to price and exotic instrument, i.e. an instrument with a complicated instrument definition simply through looking up a price as there should be a better way of evaluating it. To override that behaviour and allow lookup for a price from the instrument identifier(s), set this to true..
allowPartiallySuccessfulEvaluationIf true then a failure in task evaluation doesn&#39;t cause overall failure. results will be returned where they succeeded and annotation elsewhere.
produceSeparateResultForLinearOtcLegsIf true (default), when pricing an Fx-Forward or Interest Rate Swap, Future and other linearly separable products, product two results, one for each leg rather than a single line result with the amalgamated/summed pv from both legs..
fxForwardContractsAsUnitsInBothLegsWhen true, Holding/Units on both legs of an instrument-booked FxForward valued with ProduceSeparateResultForLinearOtcLegs reports the number of forward contracts held (the non-split holding units), so that Holding/Units * Valuation/InstrumentPV &#x3D;&#x3D; Valuation/PV holds on each leg. When false (default), the foreign leg reports <non-split units> * (fgnAmount / domAmount)..
enableUseOfCachedUnitResultsIf true, when pricing using a model or for an instrument that supports use of intermediate cached-results, use them. Default is that this caching is turned off..
windowValuationOnInstrumentStartEndIf true, when valuing an instrument outside the period where it is &#39;alive&#39; (the start-maturity window) it will return a valuation of zero.
removeContingentCashflowsInPaymentDiaryWhen creating a payment diary, should contingent cash payments (e.g. from exercise of a swaption into a swap) be included or not. i.e. Is exercise or default being assumed to happen or not..
useChildSubHoldingKeysForPortfolioExpansionShould fund constituents inherit subholding keys from the parent subholding keyb.
validateDomesticAndQuoteCurrenciesAreConsistentDo we validate that the instrument domestic currency matches the quote currency (unless unknown/zzz) when using lookup pricing..
mbsValuationUsingHoldingCurrentFacembsValuationUsingHoldingCurrentFace.
convertSrsCashFlowsToPortfolioCurrencyIn the case upserted structured result store (SRS) cashflows are not in the portfolio currency, set this parameter to True to convert said cashflows into the portfolio currency. By default, this flag is set to False and Lusid will not do any FX conversion. Please note that FX conversion is dependent on the data available in the quote store - ensure that all relevant FX quotes have been loaded for cashflow currency conversion..
conservedQuantityForLookthroughExpansionWhen performing lookthrough portfolio expansion with ScalingMethodology set to &quot;Sum&quot; or &quot;AbsoluteSum&quot;, the quantity specified here will be conserved and apportioned to lookthrough constituents. For example, an equal-weighting index with 100 constituents can be modelled as a reference portfolio with 1% weights on each equity. When expanding a $9000 holding of that index into its constituents while conserving PV, we end up with $90 of each equity. The number of units of each equity held is then implied. Note that conservation of one quantity may imply non-conservation of others, especially when some constituents are OTCs. Allowed values are: &quot;PV&quot; (default), &quot;Exposure&quot;. Available values: PV, Exposure..
returnZeroPvreturnZeroPv.
enableLegLevelInferenceForCustomSrsColumnsWhen enabled, allows inference between leg-level and instrument-level data during portfolio valuation. If data is missing at one level, it may be inferred from the other level. For example, missing leg-level data may be inferred from existing leg-level and instrument- level data when ProduceSeparateResultForLinearOtcLegs is enabled, and vice versa. Explicitly provided data always takes precedence..
useInstrumentScaleFactorAsDefaultWhen enabled, priceScaleFactor defined at the instrument level will be used in the absence of quote scaleFactor when resolving quotes..

Member Function Documentation

◆ Equals() [1/2]

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

Returns true if objects are equal

Parameters
inputObject to be compared
Returns
Boolean

◆ Equals() [2/2]

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

Returns true if PricingOptions instances are equal

Parameters
inputInstance of PricingOptions to be compared
Returns
Boolean

◆ GetHashCode()

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

Gets the hash code

Returns
Hash code

◆ ToJson()

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

Returns the JSON string presentation of the object

Returns
JSON string presentation of the object

◆ ToString()

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

Returns the string presentation of the object

Returns
String presentation of the object

Property Documentation

◆ AllowAnyInstrumentsWithSecUidToPriceOffLookup

bool Lusid.Sdk.Model.PricingOptions.AllowAnyInstrumentsWithSecUidToPriceOffLookup
getset

By default, one would not expect to price and exotic instrument, i.e. an instrument with a complicated instrument definition simply through looking up a price as there should be a better way of evaluating it. To override that behaviour and allow lookup for a price from the instrument identifier(s), set this to true.

By default, one would not expect to price and exotic instrument, i.e. an instrument with a complicated instrument definition simply through looking up a price as there should be a better way of evaluating it. To override that behaviour and allow lookup for a price from the instrument identifier(s), set this to true.

◆ AllowPartiallySuccessfulEvaluation

bool Lusid.Sdk.Model.PricingOptions.AllowPartiallySuccessfulEvaluation
getset

If true then a failure in task evaluation doesn&#39;t cause overall failure. results will be returned where they succeeded and annotation elsewhere

If true then a failure in task evaluation doesn&#39;t cause overall failure. results will be returned where they succeeded and annotation elsewhere

◆ ConservedQuantityForLookthroughExpansion

string Lusid.Sdk.Model.PricingOptions.ConservedQuantityForLookthroughExpansion
getset

When performing lookthrough portfolio expansion with ScalingMethodology set to &quot;Sum&quot; or &quot;AbsoluteSum&quot;, the quantity specified here will be conserved and apportioned to lookthrough constituents. For example, an equal-weighting index with 100 constituents can be modelled as a reference portfolio with 1% weights on each equity. When expanding a $9000 holding of that index into its constituents while conserving PV, we end up with $90 of each equity. The number of units of each equity held is then implied. Note that conservation of one quantity may imply non-conservation of others, especially when some constituents are OTCs. Allowed values are: &quot;PV&quot; (default), &quot;Exposure&quot;. Available values: PV, Exposure.

When performing lookthrough portfolio expansion with ScalingMethodology set to &quot;Sum&quot; or &quot;AbsoluteSum&quot;, the quantity specified here will be conserved and apportioned to lookthrough constituents. For example, an equal-weighting index with 100 constituents can be modelled as a reference portfolio with 1% weights on each equity. When expanding a $9000 holding of that index into its constituents while conserving PV, we end up with $90 of each equity. The number of units of each equity held is then implied. Note that conservation of one quantity may imply non-conservation of others, especially when some constituents are OTCs. Allowed values are: &quot;PV&quot; (default), &quot;Exposure&quot;. Available values: PV, Exposure.

◆ ConvertSrsCashFlowsToPortfolioCurrency

bool Lusid.Sdk.Model.PricingOptions.ConvertSrsCashFlowsToPortfolioCurrency
getset

In the case upserted structured result store (SRS) cashflows are not in the portfolio currency, set this parameter to True to convert said cashflows into the portfolio currency. By default, this flag is set to False and Lusid will not do any FX conversion. Please note that FX conversion is dependent on the data available in the quote store - ensure that all relevant FX quotes have been loaded for cashflow currency conversion.

In the case upserted structured result store (SRS) cashflows are not in the portfolio currency, set this parameter to True to convert said cashflows into the portfolio currency. By default, this flag is set to False and Lusid will not do any FX conversion. Please note that FX conversion is dependent on the data available in the quote store - ensure that all relevant FX quotes have been loaded for cashflow currency conversion.

◆ EnableLegLevelInferenceForCustomSrsColumns

bool Lusid.Sdk.Model.PricingOptions.EnableLegLevelInferenceForCustomSrsColumns
getset

When enabled, allows inference between leg-level and instrument-level data during portfolio valuation. If data is missing at one level, it may be inferred from the other level. For example, missing leg-level data may be inferred from existing leg-level and instrument- level data when ProduceSeparateResultForLinearOtcLegs is enabled, and vice versa. Explicitly provided data always takes precedence.

When enabled, allows inference between leg-level and instrument-level data during portfolio valuation. If data is missing at one level, it may be inferred from the other level. For example, missing leg-level data may be inferred from existing leg-level and instrument- level data when ProduceSeparateResultForLinearOtcLegs is enabled, and vice versa. Explicitly provided data always takes precedence.

◆ EnableUseOfCachedUnitResults

bool Lusid.Sdk.Model.PricingOptions.EnableUseOfCachedUnitResults
getset

If true, when pricing using a model or for an instrument that supports use of intermediate cached-results, use them. Default is that this caching is turned off.

If true, when pricing using a model or for an instrument that supports use of intermediate cached-results, use them. Default is that this caching is turned off.

◆ FxForwardContractsAsUnitsInBothLegs

bool Lusid.Sdk.Model.PricingOptions.FxForwardContractsAsUnitsInBothLegs
getset

When true, Holding/Units on both legs of an instrument-booked FxForward valued with ProduceSeparateResultForLinearOtcLegs reports the number of forward contracts held (the non-split holding units), so that Holding/Units * Valuation/InstrumentPV &#x3D;&#x3D; Valuation/PV holds on each leg. When false (default), the foreign leg reports <non-split units> * (fgnAmount / domAmount).

When true, Holding/Units on both legs of an instrument-booked FxForward valued with ProduceSeparateResultForLinearOtcLegs reports the number of forward contracts held (the non-split holding units), so that Holding/Units * Valuation/InstrumentPV &#x3D;&#x3D; Valuation/PV holds on each leg. When false (default), the foreign leg reports <non-split units> * (fgnAmount / domAmount).

◆ MbsValuationUsingHoldingCurrentFace

bool Lusid.Sdk.Model.PricingOptions.MbsValuationUsingHoldingCurrentFace
getset

Gets or Sets MbsValuationUsingHoldingCurrentFace

◆ ModelSelection

ModelSelection Lusid.Sdk.Model.PricingOptions.ModelSelection
getset

Gets or Sets ModelSelection

◆ ProduceSeparateResultForLinearOtcLegs

bool Lusid.Sdk.Model.PricingOptions.ProduceSeparateResultForLinearOtcLegs
getset

If true (default), when pricing an Fx-Forward or Interest Rate Swap, Future and other linearly separable products, product two results, one for each leg rather than a single line result with the amalgamated/summed pv from both legs.

If true (default), when pricing an Fx-Forward or Interest Rate Swap, Future and other linearly separable products, product two results, one for each leg rather than a single line result with the amalgamated/summed pv from both legs.

◆ RemoveContingentCashflowsInPaymentDiary

bool Lusid.Sdk.Model.PricingOptions.RemoveContingentCashflowsInPaymentDiary
getset

When creating a payment diary, should contingent cash payments (e.g. from exercise of a swaption into a swap) be included or not. i.e. Is exercise or default being assumed to happen or not.

When creating a payment diary, should contingent cash payments (e.g. from exercise of a swaption into a swap) be included or not. i.e. Is exercise or default being assumed to happen or not.

◆ ReturnZeroPv

ReturnZeroPvOptions Lusid.Sdk.Model.PricingOptions.ReturnZeroPv
getset

Gets or Sets ReturnZeroPv

◆ UseChildSubHoldingKeysForPortfolioExpansion

bool Lusid.Sdk.Model.PricingOptions.UseChildSubHoldingKeysForPortfolioExpansion
getset

Should fund constituents inherit subholding keys from the parent subholding keyb

Should fund constituents inherit subholding keys from the parent subholding keyb

◆ UseInstrumentScaleFactorAsDefault

bool Lusid.Sdk.Model.PricingOptions.UseInstrumentScaleFactorAsDefault
getset

When enabled, priceScaleFactor defined at the instrument level will be used in the absence of quote scaleFactor when resolving quotes.

When enabled, priceScaleFactor defined at the instrument level will be used in the absence of quote scaleFactor when resolving quotes.

◆ UseInstrumentTypeToDeterminePricer

bool Lusid.Sdk.Model.PricingOptions.UseInstrumentTypeToDeterminePricer
getset

If true then use the instrument type to set the default instrument pricer This applies where no more specific set of overrides are provided on a per-vendor and instrument basis.

If true then use the instrument type to set the default instrument pricer This applies where no more specific set of overrides are provided on a per-vendor and instrument basis.

◆ ValidateDomesticAndQuoteCurrenciesAreConsistent

bool Lusid.Sdk.Model.PricingOptions.ValidateDomesticAndQuoteCurrenciesAreConsistent
getset

Do we validate that the instrument domestic currency matches the quote currency (unless unknown/zzz) when using lookup pricing.

Do we validate that the instrument domestic currency matches the quote currency (unless unknown/zzz) when using lookup pricing.

◆ WindowValuationOnInstrumentStartEnd

bool Lusid.Sdk.Model.PricingOptions.WindowValuationOnInstrumentStartEnd
getset

If true, when valuing an instrument outside the period where it is &#39;alive&#39; (the start-maturity window) it will return a valuation of zero

If true, when valuing an instrument outside the period where it is &#39;alive&#39; (the start-maturity window) it will return a valuation of zero


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