lusid-sdk 2.1.571__py3-none-any.whl → 2.1.585__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lusid/__init__.py +4 -0
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +4 -0
- lusid/models/additional_payment.py +3 -3
- lusid/models/aggregate_spec.py +3 -3
- lusid/models/aggregation_op.py +1 -0
- lusid/models/cds_index.py +20 -5
- lusid/models/contribution_to_non_passing_rule_detail.py +89 -0
- lusid/models/credit_default_swap.py +21 -6
- lusid/models/equity_swap.py +20 -5
- lusid/models/inflation_swap.py +20 -5
- lusid/models/interest_rate_swap.py +1 -1
- lusid/models/order_graph_block_order_detail.py +19 -4
- lusid/models/total_return_swap.py +20 -5
- lusid/models/transaction.py +25 -4
- lusid/models/transaction_request.py +1 -1
- lusid/models/transaction_type_details.py +88 -0
- {lusid_sdk-2.1.571.dist-info → lusid_sdk-2.1.585.dist-info}/METADATA +3 -1
- {lusid_sdk-2.1.571.dist-info → lusid_sdk-2.1.585.dist-info}/RECORD +20 -18
- {lusid_sdk-2.1.571.dist-info → lusid_sdk-2.1.585.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -290,6 +290,7 @@ from lusid.models.configuration_recipe import ConfigurationRecipe
|
|
290
290
|
from lusid.models.constant_volatility_surface import ConstantVolatilitySurface
|
291
291
|
from lusid.models.constituents_adjustment_header import ConstituentsAdjustmentHeader
|
292
292
|
from lusid.models.contract_for_difference import ContractForDifference
|
293
|
+
from lusid.models.contribution_to_non_passing_rule_detail import ContributionToNonPassingRuleDetail
|
293
294
|
from lusid.models.corporate_action import CorporateAction
|
294
295
|
from lusid.models.corporate_action_source import CorporateActionSource
|
295
296
|
from lusid.models.corporate_action_transition import CorporateActionTransition
|
@@ -1102,6 +1103,7 @@ from lusid.models.transaction_template_specification import TransactionTemplateS
|
|
1102
1103
|
from lusid.models.transaction_type import TransactionType
|
1103
1104
|
from lusid.models.transaction_type_alias import TransactionTypeAlias
|
1104
1105
|
from lusid.models.transaction_type_calculation import TransactionTypeCalculation
|
1106
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
1105
1107
|
from lusid.models.transaction_type_movement import TransactionTypeMovement
|
1106
1108
|
from lusid.models.transaction_type_property_mapping import TransactionTypePropertyMapping
|
1107
1109
|
from lusid.models.transaction_type_request import TransactionTypeRequest
|
@@ -1511,6 +1513,7 @@ __all__ = [
|
|
1511
1513
|
"ConstantVolatilitySurface",
|
1512
1514
|
"ConstituentsAdjustmentHeader",
|
1513
1515
|
"ContractForDifference",
|
1516
|
+
"ContributionToNonPassingRuleDetail",
|
1514
1517
|
"CorporateAction",
|
1515
1518
|
"CorporateActionSource",
|
1516
1519
|
"CorporateActionTransition",
|
@@ -2323,6 +2326,7 @@ __all__ = [
|
|
2323
2326
|
"TransactionType",
|
2324
2327
|
"TransactionTypeAlias",
|
2325
2328
|
"TransactionTypeCalculation",
|
2329
|
+
"TransactionTypeDetails",
|
2326
2330
|
"TransactionTypeMovement",
|
2327
2331
|
"TransactionTypePropertyMapping",
|
2328
2332
|
"TransactionTypeRequest",
|
lusid/configuration.py
CHANGED
@@ -445,7 +445,7 @@ class Configuration:
|
|
445
445
|
return "Python SDK Debug Report:\n"\
|
446
446
|
"OS: {env}\n"\
|
447
447
|
"Python Version: {pyversion}\n"\
|
448
|
-
"Version of the API: 0.11.
|
448
|
+
"Version of the API: 0.11.7058\n"\
|
449
449
|
"SDK Package Version: {package_version}".\
|
450
450
|
format(env=sys.platform, pyversion=sys.version, package_version=package_version)
|
451
451
|
|
lusid/models/__init__.py
CHANGED
@@ -209,6 +209,7 @@ from lusid.models.configuration_recipe import ConfigurationRecipe
|
|
209
209
|
from lusid.models.constant_volatility_surface import ConstantVolatilitySurface
|
210
210
|
from lusid.models.constituents_adjustment_header import ConstituentsAdjustmentHeader
|
211
211
|
from lusid.models.contract_for_difference import ContractForDifference
|
212
|
+
from lusid.models.contribution_to_non_passing_rule_detail import ContributionToNonPassingRuleDetail
|
212
213
|
from lusid.models.corporate_action import CorporateAction
|
213
214
|
from lusid.models.corporate_action_source import CorporateActionSource
|
214
215
|
from lusid.models.corporate_action_transition import CorporateActionTransition
|
@@ -1021,6 +1022,7 @@ from lusid.models.transaction_template_specification import TransactionTemplateS
|
|
1021
1022
|
from lusid.models.transaction_type import TransactionType
|
1022
1023
|
from lusid.models.transaction_type_alias import TransactionTypeAlias
|
1023
1024
|
from lusid.models.transaction_type_calculation import TransactionTypeCalculation
|
1025
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
1024
1026
|
from lusid.models.transaction_type_movement import TransactionTypeMovement
|
1025
1027
|
from lusid.models.transaction_type_property_mapping import TransactionTypePropertyMapping
|
1026
1028
|
from lusid.models.transaction_type_request import TransactionTypeRequest
|
@@ -1350,6 +1352,7 @@ __all__ = [
|
|
1350
1352
|
"ConstantVolatilitySurface",
|
1351
1353
|
"ConstituentsAdjustmentHeader",
|
1352
1354
|
"ContractForDifference",
|
1355
|
+
"ContributionToNonPassingRuleDetail",
|
1353
1356
|
"CorporateAction",
|
1354
1357
|
"CorporateActionSource",
|
1355
1358
|
"CorporateActionTransition",
|
@@ -2162,6 +2165,7 @@ __all__ = [
|
|
2162
2165
|
"TransactionType",
|
2163
2166
|
"TransactionTypeAlias",
|
2164
2167
|
"TransactionTypeCalculation",
|
2168
|
+
"TransactionTypeDetails",
|
2165
2169
|
"TransactionTypeMovement",
|
2166
2170
|
"TransactionTypePropertyMapping",
|
2167
2171
|
"TransactionTypeRequest",
|
@@ -25,9 +25,9 @@ class AdditionalPayment(BaseModel):
|
|
25
25
|
"""
|
26
26
|
Record describing additional payment entity. # noqa: E501
|
27
27
|
"""
|
28
|
-
amount: Union[StrictFloat, StrictInt] = Field(..., description="The
|
29
|
-
currency: StrictStr = Field(..., description="The
|
30
|
-
pay_date: datetime = Field(..., alias="payDate", description="Date when the
|
28
|
+
amount: Union[StrictFloat, StrictInt] = Field(..., description="The payment amount.")
|
29
|
+
currency: StrictStr = Field(..., description="The payment currency.")
|
30
|
+
pay_date: datetime = Field(..., alias="payDate", description="Date when the payment is made.")
|
31
31
|
pay_receive: constr(strict=True, min_length=1) = Field(..., alias="payReceive", description="Is it pay or receive. Supported string (enumeration) values are: [Pay, Receive].")
|
32
32
|
__properties = ["amount", "currency", "payDate", "payReceive"]
|
33
33
|
|
lusid/models/aggregate_spec.py
CHANGED
@@ -26,15 +26,15 @@ class AggregateSpec(BaseModel):
|
|
26
26
|
AggregateSpec
|
27
27
|
"""
|
28
28
|
key: StrictStr = Field(..., description="The key that uniquely identifies a queryable address in Lusid.")
|
29
|
-
op: StrictStr = Field(..., description="The available values are: Sum, Proportion, Average, Count, Min, Max, Value, SumOfPositiveValues, SumOfNegativeValues, SumOfAbsoluteValues, ProportionOfAbsoluteValues, SumCumulativeInAdvance, SumCumulativeInArrears")
|
29
|
+
op: StrictStr = Field(..., description="The available values are: Sum, DefaultSum, Proportion, Average, Count, Min, Max, Value, SumOfPositiveValues, SumOfNegativeValues, SumOfAbsoluteValues, ProportionOfAbsoluteValues, SumCumulativeInAdvance, SumCumulativeInArrears")
|
30
30
|
options: Optional[Dict[str, Dict[str, Any]]] = Field(None, description="Additional options to apply when performing computations. Options that do not apply to the Key will be ignored. Option values can be boolean, numeric, string or date-time.")
|
31
31
|
__properties = ["key", "op", "options"]
|
32
32
|
|
33
33
|
@validator('op')
|
34
34
|
def op_validate_enum(cls, value):
|
35
35
|
"""Validates the enum"""
|
36
|
-
if value not in ('Sum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears'):
|
37
|
-
raise ValueError("must be one of enum values ('Sum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears')")
|
36
|
+
if value not in ('Sum', 'DefaultSum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears'):
|
37
|
+
raise ValueError("must be one of enum values ('Sum', 'DefaultSum', 'Proportion', 'Average', 'Count', 'Min', 'Max', 'Value', 'SumOfPositiveValues', 'SumOfNegativeValues', 'SumOfAbsoluteValues', 'ProportionOfAbsoluteValues', 'SumCumulativeInAdvance', 'SumCumulativeInArrears')")
|
38
38
|
return value
|
39
39
|
|
40
40
|
class Config:
|
lusid/models/aggregation_op.py
CHANGED
lusid/models/cds_index.py
CHANGED
@@ -18,8 +18,9 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, validator
|
23
|
+
from lusid.models.additional_payment import AdditionalPayment
|
23
24
|
from lusid.models.basket import Basket
|
24
25
|
from lusid.models.cds_flow_conventions import CdsFlowConventions
|
25
26
|
from lusid.models.flow_convention_name import FlowConventionName
|
@@ -27,7 +28,7 @@ from lusid.models.lusid_instrument import LusidInstrument
|
|
27
28
|
|
28
29
|
class CdsIndex(LusidInstrument):
|
29
30
|
"""
|
30
|
-
LUSID representation of a Credit Default Swap Index (CDX). This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | ProtectionLeg | Payments made by the protection seller in the case of default across all CDS instruments in the index. | | 2 | PremiumLeg | The premium payments made by the protection buyer across all CDS instruments in the index. | # noqa: E501
|
31
|
+
LUSID representation of a Credit Default Swap Index (CDX). This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | ProtectionLeg | Payments made by the protection seller in the case of default across all CDS instruments in the index. | | 2 | PremiumLeg | The premium payments made by the protection buyer across all CDS instruments in the index. | | 3 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
31
32
|
"""
|
32
33
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
33
34
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
@@ -37,9 +38,10 @@ class CdsIndex(LusidInstrument):
|
|
37
38
|
basket: Optional[Basket] = None
|
38
39
|
convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
|
39
40
|
notional: Union[StrictFloat, StrictInt] = Field(..., description="The notional quantity that applies to both the premium and protection legs.")
|
41
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
40
42
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
41
43
|
additional_properties: Dict[str, Any] = {}
|
42
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "flowConventions", "couponRate", "identifiers", "basket", "conventionName", "notional"]
|
44
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "flowConventions", "couponRate", "identifiers", "basket", "conventionName", "notional", "additionalPayments"]
|
43
45
|
|
44
46
|
@validator('instrument_type')
|
45
47
|
def instrument_type_validate_enum(cls, value):
|
@@ -82,11 +84,23 @@ class CdsIndex(LusidInstrument):
|
|
82
84
|
# override the default output from pydantic by calling `to_dict()` of convention_name
|
83
85
|
if self.convention_name:
|
84
86
|
_dict['conventionName'] = self.convention_name.to_dict()
|
87
|
+
# override the default output from pydantic by calling `to_dict()` of each item in additional_payments (list)
|
88
|
+
_items = []
|
89
|
+
if self.additional_payments:
|
90
|
+
for _item in self.additional_payments:
|
91
|
+
if _item:
|
92
|
+
_items.append(_item.to_dict())
|
93
|
+
_dict['additionalPayments'] = _items
|
85
94
|
# puts key-value pairs in additional_properties in the top level
|
86
95
|
if self.additional_properties is not None:
|
87
96
|
for _key, _value in self.additional_properties.items():
|
88
97
|
_dict[_key] = _value
|
89
98
|
|
99
|
+
# set to None if additional_payments (nullable) is None
|
100
|
+
# and __fields_set__ contains the field
|
101
|
+
if self.additional_payments is None and "additional_payments" in self.__fields_set__:
|
102
|
+
_dict['additionalPayments'] = None
|
103
|
+
|
90
104
|
return _dict
|
91
105
|
|
92
106
|
@classmethod
|
@@ -107,7 +121,8 @@ class CdsIndex(LusidInstrument):
|
|
107
121
|
"identifiers": obj.get("identifiers"),
|
108
122
|
"basket": Basket.from_dict(obj.get("basket")) if obj.get("basket") is not None else None,
|
109
123
|
"convention_name": FlowConventionName.from_dict(obj.get("conventionName")) if obj.get("conventionName") is not None else None,
|
110
|
-
"notional": obj.get("notional")
|
124
|
+
"notional": obj.get("notional"),
|
125
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
111
126
|
})
|
112
127
|
# store additional fields in additional_properties
|
113
128
|
for _key in obj.keys():
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictBool, StrictStr, conlist
|
23
|
+
from lusid.models.resource_id import ResourceId
|
24
|
+
|
25
|
+
class ContributionToNonPassingRuleDetail(BaseModel):
|
26
|
+
"""
|
27
|
+
ContributionToNonPassingRuleDetail
|
28
|
+
"""
|
29
|
+
rule_id: Optional[ResourceId] = Field(None, alias="ruleId")
|
30
|
+
rule_status: Optional[StrictStr] = Field(None, alias="ruleStatus", description="The status of the non-passing rule.")
|
31
|
+
breach_task_ids: Optional[conlist(StrictStr)] = Field(None, alias="breachTaskIds", description="The task ids associated with the compliance breach for this order's groups (if failing).")
|
32
|
+
likely_responsible_for_status: Optional[StrictBool] = Field(None, alias="likelyResponsibleForStatus", description="Whether this order is deemed as a likely contributor to the non-passing rule for this group.")
|
33
|
+
__properties = ["ruleId", "ruleStatus", "breachTaskIds", "likelyResponsibleForStatus"]
|
34
|
+
|
35
|
+
class Config:
|
36
|
+
"""Pydantic configuration"""
|
37
|
+
allow_population_by_field_name = True
|
38
|
+
validate_assignment = True
|
39
|
+
|
40
|
+
def to_str(self) -> str:
|
41
|
+
"""Returns the string representation of the model using alias"""
|
42
|
+
return pprint.pformat(self.dict(by_alias=True))
|
43
|
+
|
44
|
+
def to_json(self) -> str:
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
46
|
+
return json.dumps(self.to_dict())
|
47
|
+
|
48
|
+
@classmethod
|
49
|
+
def from_json(cls, json_str: str) -> ContributionToNonPassingRuleDetail:
|
50
|
+
"""Create an instance of ContributionToNonPassingRuleDetail from a JSON string"""
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
52
|
+
|
53
|
+
def to_dict(self):
|
54
|
+
"""Returns the dictionary representation of the model using alias"""
|
55
|
+
_dict = self.dict(by_alias=True,
|
56
|
+
exclude={
|
57
|
+
},
|
58
|
+
exclude_none=True)
|
59
|
+
# override the default output from pydantic by calling `to_dict()` of rule_id
|
60
|
+
if self.rule_id:
|
61
|
+
_dict['ruleId'] = self.rule_id.to_dict()
|
62
|
+
# set to None if rule_status (nullable) is None
|
63
|
+
# and __fields_set__ contains the field
|
64
|
+
if self.rule_status is None and "rule_status" in self.__fields_set__:
|
65
|
+
_dict['ruleStatus'] = None
|
66
|
+
|
67
|
+
# set to None if breach_task_ids (nullable) is None
|
68
|
+
# and __fields_set__ contains the field
|
69
|
+
if self.breach_task_ids is None and "breach_task_ids" in self.__fields_set__:
|
70
|
+
_dict['breachTaskIds'] = None
|
71
|
+
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> ContributionToNonPassingRuleDetail:
|
76
|
+
"""Create an instance of ContributionToNonPassingRuleDetail from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return ContributionToNonPassingRuleDetail.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = ContributionToNonPassingRuleDetail.parse_obj({
|
84
|
+
"rule_id": ResourceId.from_dict(obj.get("ruleId")) if obj.get("ruleId") is not None else None,
|
85
|
+
"rule_status": obj.get("ruleStatus"),
|
86
|
+
"breach_task_ids": obj.get("breachTaskIds"),
|
87
|
+
"likely_responsible_for_status": obj.get("likelyResponsibleForStatus")
|
88
|
+
})
|
89
|
+
return _obj
|
@@ -18,8 +18,9 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
|
+
from lusid.models.additional_payment import AdditionalPayment
|
23
24
|
from lusid.models.cds_flow_conventions import CdsFlowConventions
|
24
25
|
from lusid.models.cds_protection_detail_specification import CdsProtectionDetailSpecification
|
25
26
|
from lusid.models.flow_convention_name import FlowConventionName
|
@@ -27,9 +28,9 @@ from lusid.models.lusid_instrument import LusidInstrument
|
|
27
28
|
|
28
29
|
class CreditDefaultSwap(LusidInstrument):
|
29
30
|
"""
|
30
|
-
LUSID representation of a Credit Default Swap (CDS). This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | ProtectionLeg | Cash flows occurring in the case of default. | | 2 | PremiumLeg | The premium payments made by the protection buyer. | # noqa: E501
|
31
|
+
LUSID representation of a Credit Default Swap (CDS). This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | ProtectionLeg | Cash flows occurring in the case of default. | | 2 | PremiumLeg | The premium payments made by the protection buyer. | | 3 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
31
32
|
"""
|
32
|
-
ticker: constr(strict=True, min_length=1) = Field(..., description="A ticker to uniquely specify
|
33
|
+
ticker: constr(strict=True, min_length=1) = Field(..., description="A ticker to uniquely specify the entity against which the CDS is written.")
|
33
34
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
34
35
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
35
36
|
flow_conventions: Optional[CdsFlowConventions] = Field(None, alias="flowConventions")
|
@@ -37,9 +38,10 @@ class CreditDefaultSwap(LusidInstrument):
|
|
37
38
|
convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
|
38
39
|
notional: Optional[Union[StrictFloat, StrictInt]] = Field(None, description="The notional protected by the Credit Default Swap")
|
39
40
|
protection_detail_specification: CdsProtectionDetailSpecification = Field(..., alias="protectionDetailSpecification")
|
41
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
40
42
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
41
43
|
additional_properties: Dict[str, Any] = {}
|
42
|
-
__properties = ["instrumentType", "ticker", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "notional", "protectionDetailSpecification"]
|
44
|
+
__properties = ["instrumentType", "ticker", "startDate", "maturityDate", "flowConventions", "couponRate", "conventionName", "notional", "protectionDetailSpecification", "additionalPayments"]
|
43
45
|
|
44
46
|
@validator('instrument_type')
|
45
47
|
def instrument_type_validate_enum(cls, value):
|
@@ -82,6 +84,13 @@ class CreditDefaultSwap(LusidInstrument):
|
|
82
84
|
# override the default output from pydantic by calling `to_dict()` of protection_detail_specification
|
83
85
|
if self.protection_detail_specification:
|
84
86
|
_dict['protectionDetailSpecification'] = self.protection_detail_specification.to_dict()
|
87
|
+
# override the default output from pydantic by calling `to_dict()` of each item in additional_payments (list)
|
88
|
+
_items = []
|
89
|
+
if self.additional_payments:
|
90
|
+
for _item in self.additional_payments:
|
91
|
+
if _item:
|
92
|
+
_items.append(_item.to_dict())
|
93
|
+
_dict['additionalPayments'] = _items
|
85
94
|
# puts key-value pairs in additional_properties in the top level
|
86
95
|
if self.additional_properties is not None:
|
87
96
|
for _key, _value in self.additional_properties.items():
|
@@ -92,6 +101,11 @@ class CreditDefaultSwap(LusidInstrument):
|
|
92
101
|
if self.notional is None and "notional" in self.__fields_set__:
|
93
102
|
_dict['notional'] = None
|
94
103
|
|
104
|
+
# set to None if additional_payments (nullable) is None
|
105
|
+
# and __fields_set__ contains the field
|
106
|
+
if self.additional_payments is None and "additional_payments" in self.__fields_set__:
|
107
|
+
_dict['additionalPayments'] = None
|
108
|
+
|
95
109
|
return _dict
|
96
110
|
|
97
111
|
@classmethod
|
@@ -112,7 +126,8 @@ class CreditDefaultSwap(LusidInstrument):
|
|
112
126
|
"coupon_rate": obj.get("couponRate"),
|
113
127
|
"convention_name": FlowConventionName.from_dict(obj.get("conventionName")) if obj.get("conventionName") is not None else None,
|
114
128
|
"notional": obj.get("notional"),
|
115
|
-
"protection_detail_specification": CdsProtectionDetailSpecification.from_dict(obj.get("protectionDetailSpecification")) if obj.get("protectionDetailSpecification") is not None else None
|
129
|
+
"protection_detail_specification": CdsProtectionDetailSpecification.from_dict(obj.get("protectionDetailSpecification")) if obj.get("protectionDetailSpecification") is not None else None,
|
130
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
116
131
|
})
|
117
132
|
# store additional fields in additional_properties
|
118
133
|
for _key in obj.keys():
|
lusid/models/equity_swap.py
CHANGED
@@ -18,15 +18,16 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, constr, validator
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import Field, StrictBool, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
|
+
from lusid.models.additional_payment import AdditionalPayment
|
23
24
|
from lusid.models.flow_conventions import FlowConventions
|
24
25
|
from lusid.models.instrument_leg import InstrumentLeg
|
25
26
|
from lusid.models.lusid_instrument import LusidInstrument
|
26
27
|
|
27
28
|
class EquitySwap(LusidInstrument):
|
28
29
|
"""
|
29
|
-
LUSID representation of an Equity Swap. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | EquityLeg | Cash flows relating to the performance of the underlying equity. | | 2 | FundingLeg | The funding leg of the swap. | | 3 | EquityDividendLeg | Cash flows relating to dividend payments on the underlying equity (optional). | # noqa: E501
|
30
|
+
LUSID representation of an Equity Swap. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | EquityLeg | Cash flows relating to the performance of the underlying equity. | | 2 | FundingLeg | The funding leg of the swap. | | 3 | EquityDividendLeg | Cash flows relating to dividend payments on the underlying equity (optional). | | 4 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
30
31
|
"""
|
31
32
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the EquitySwap.")
|
32
33
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
@@ -39,9 +40,10 @@ class EquitySwap(LusidInstrument):
|
|
39
40
|
quantity: Union[StrictFloat, StrictInt] = Field(..., description="The quantity or number of shares in the Equity Swap.")
|
40
41
|
underlying_identifier: constr(strict=True, min_length=1) = Field(..., alias="underlyingIdentifier", description="External market codes and identifiers for the EquitySwap, e.g. RIC. Supported string (enumeration) values are: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode].")
|
41
42
|
equity_swap_dividend_payment_timing: Optional[StrictStr] = Field(None, alias="equitySwapDividendPaymentTiming", description="Determines how the payment of dividends is handled for the equity swap. Defaults to paying at the next Equity coupon date. Supported string (enumeration) values are: [PayAtNextEquityCouponDate, PayAtMaturityOfSwap, PayAtNextFundingLegCouponDate, PayAtPaymentDateOfDividendEvent].")
|
43
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven equity swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
42
44
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
43
45
|
additional_properties: Dict[str, Any] = {}
|
44
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "code", "equityFlowConventions", "fundingLeg", "includeDividends", "initialPrice", "notionalReset", "quantity", "underlyingIdentifier", "equitySwapDividendPaymentTiming"]
|
46
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "code", "equityFlowConventions", "fundingLeg", "includeDividends", "initialPrice", "notionalReset", "quantity", "underlyingIdentifier", "equitySwapDividendPaymentTiming", "additionalPayments"]
|
45
47
|
|
46
48
|
@validator('instrument_type')
|
47
49
|
def instrument_type_validate_enum(cls, value):
|
@@ -81,6 +83,13 @@ class EquitySwap(LusidInstrument):
|
|
81
83
|
# override the default output from pydantic by calling `to_dict()` of funding_leg
|
82
84
|
if self.funding_leg:
|
83
85
|
_dict['fundingLeg'] = self.funding_leg.to_dict()
|
86
|
+
# override the default output from pydantic by calling `to_dict()` of each item in additional_payments (list)
|
87
|
+
_items = []
|
88
|
+
if self.additional_payments:
|
89
|
+
for _item in self.additional_payments:
|
90
|
+
if _item:
|
91
|
+
_items.append(_item.to_dict())
|
92
|
+
_dict['additionalPayments'] = _items
|
84
93
|
# puts key-value pairs in additional_properties in the top level
|
85
94
|
if self.additional_properties is not None:
|
86
95
|
for _key, _value in self.additional_properties.items():
|
@@ -91,6 +100,11 @@ class EquitySwap(LusidInstrument):
|
|
91
100
|
if self.equity_swap_dividend_payment_timing is None and "equity_swap_dividend_payment_timing" in self.__fields_set__:
|
92
101
|
_dict['equitySwapDividendPaymentTiming'] = None
|
93
102
|
|
103
|
+
# set to None if additional_payments (nullable) is None
|
104
|
+
# and __fields_set__ contains the field
|
105
|
+
if self.additional_payments is None and "additional_payments" in self.__fields_set__:
|
106
|
+
_dict['additionalPayments'] = None
|
107
|
+
|
94
108
|
return _dict
|
95
109
|
|
96
110
|
@classmethod
|
@@ -114,7 +128,8 @@ class EquitySwap(LusidInstrument):
|
|
114
128
|
"notional_reset": obj.get("notionalReset"),
|
115
129
|
"quantity": obj.get("quantity"),
|
116
130
|
"underlying_identifier": obj.get("underlyingIdentifier"),
|
117
|
-
"equity_swap_dividend_payment_timing": obj.get("equitySwapDividendPaymentTiming")
|
131
|
+
"equity_swap_dividend_payment_timing": obj.get("equitySwapDividendPaymentTiming"),
|
132
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
118
133
|
})
|
119
134
|
# store additional fields in additional_properties
|
120
135
|
for _key in obj.keys():
|
lusid/models/inflation_swap.py
CHANGED
@@ -18,23 +18,25 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict
|
22
|
-
from pydantic.v1 import Field, StrictStr, validator
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
|
+
from pydantic.v1 import Field, StrictStr, conlist, validator
|
23
|
+
from lusid.models.additional_payment import AdditionalPayment
|
23
24
|
from lusid.models.fixed_leg import FixedLeg
|
24
25
|
from lusid.models.inflation_leg import InflationLeg
|
25
26
|
from lusid.models.lusid_instrument import LusidInstrument
|
26
27
|
|
27
28
|
class InflationSwap(LusidInstrument):
|
28
29
|
"""
|
29
|
-
LUSID representation of an Inflation Swap. The implementation supports the following swap types: * Zero Coupon inflation swap, with a single payment at maturity. * LPI Swap (capped and floored) * Year on Year inflation swap This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | InflationLeg | Cash flows with a rate relating to an underlying inflation index. | | 2 | FixedLeg | Cash flows with a fixed rate. | # noqa: E501
|
30
|
+
LUSID representation of an Inflation Swap. The implementation supports the following swap types: * Zero Coupon inflation swap, with a single payment at maturity. * LPI Swap (capped and floored) * Year on Year inflation swap This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | InflationLeg | Cash flows with a rate relating to an underlying inflation index. | | 2 | FixedLeg | Cash flows with a fixed rate. | | 3 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
30
31
|
"""
|
31
32
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
32
33
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
33
34
|
inflation_leg: InflationLeg = Field(..., alias="inflationLeg")
|
34
35
|
fixed_leg: FixedLeg = Field(..., alias="fixedLeg")
|
36
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven inflation swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
35
37
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
36
38
|
additional_properties: Dict[str, Any] = {}
|
37
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "inflationLeg", "fixedLeg"]
|
39
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "inflationLeg", "fixedLeg", "additionalPayments"]
|
38
40
|
|
39
41
|
@validator('instrument_type')
|
40
42
|
def instrument_type_validate_enum(cls, value):
|
@@ -74,11 +76,23 @@ class InflationSwap(LusidInstrument):
|
|
74
76
|
# override the default output from pydantic by calling `to_dict()` of fixed_leg
|
75
77
|
if self.fixed_leg:
|
76
78
|
_dict['fixedLeg'] = self.fixed_leg.to_dict()
|
79
|
+
# override the default output from pydantic by calling `to_dict()` of each item in additional_payments (list)
|
80
|
+
_items = []
|
81
|
+
if self.additional_payments:
|
82
|
+
for _item in self.additional_payments:
|
83
|
+
if _item:
|
84
|
+
_items.append(_item.to_dict())
|
85
|
+
_dict['additionalPayments'] = _items
|
77
86
|
# puts key-value pairs in additional_properties in the top level
|
78
87
|
if self.additional_properties is not None:
|
79
88
|
for _key, _value in self.additional_properties.items():
|
80
89
|
_dict[_key] = _value
|
81
90
|
|
91
|
+
# set to None if additional_payments (nullable) is None
|
92
|
+
# and __fields_set__ contains the field
|
93
|
+
if self.additional_payments is None and "additional_payments" in self.__fields_set__:
|
94
|
+
_dict['additionalPayments'] = None
|
95
|
+
|
82
96
|
return _dict
|
83
97
|
|
84
98
|
@classmethod
|
@@ -95,7 +109,8 @@ class InflationSwap(LusidInstrument):
|
|
95
109
|
"start_date": obj.get("startDate"),
|
96
110
|
"maturity_date": obj.get("maturityDate"),
|
97
111
|
"inflation_leg": InflationLeg.from_dict(obj.get("inflationLeg")) if obj.get("inflationLeg") is not None else None,
|
98
|
-
"fixed_leg": FixedLeg.from_dict(obj.get("fixedLeg")) if obj.get("fixedLeg") is not None else None
|
112
|
+
"fixed_leg": FixedLeg.from_dict(obj.get("fixedLeg")) if obj.get("fixedLeg") is not None else None,
|
113
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
99
114
|
})
|
100
115
|
# store additional fields in additional_properties
|
101
116
|
for _key in obj.keys():
|
@@ -33,7 +33,7 @@ class InterestRateSwap(LusidInstrument):
|
|
33
33
|
is_non_deliverable: Optional[StrictBool] = Field(None, alias="isNonDeliverable", description="Is the contract an IRS of \"Non-Deliverable\" type, meaning a single payment in the settlement currency based on the difference between the fixed and floating rates.")
|
34
34
|
legs: conlist(InstrumentLeg) = Field(..., description="The set of instrument legs that define the swap instrument, these should be FloatingLeg or FixedLeg.")
|
35
35
|
settlement_ccy: Optional[StrictStr] = Field(None, alias="settlementCcy", description="Settlement currency if IRS is non-deliverable.")
|
36
|
-
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven fixed-floating swap. The dates must be distinct and either all payments are Pay or all payments are
|
36
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven fixed-floating swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
37
37
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
38
38
|
additional_properties: Dict[str, Any] = {}
|
39
39
|
__properties = ["instrumentType", "startDate", "maturityDate", "isNonDeliverable", "legs", "settlementCcy", "additionalPayments"]
|
@@ -18,8 +18,9 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
|
21
|
-
from typing import Any, Dict, Optional
|
22
|
-
from pydantic.v1 import BaseModel, Field, StrictStr, constr
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr, conlist, constr
|
23
|
+
from lusid.models.contribution_to_non_passing_rule_detail import ContributionToNonPassingRuleDetail
|
23
24
|
from lusid.models.resource_id import ResourceId
|
24
25
|
|
25
26
|
class OrderGraphBlockOrderDetail(BaseModel):
|
@@ -33,7 +34,8 @@ class OrderGraphBlockOrderDetail(BaseModel):
|
|
33
34
|
portfolio_name: Optional[StrictStr] = Field(None, alias="portfolioName", description="The name of the order's referenced Portfolio.")
|
34
35
|
order_approval_task_id: Optional[StrictStr] = Field(None, alias="orderApprovalTaskId", description="The task id associated with the approval state of the order.")
|
35
36
|
order_approval_task_definition_id: Optional[ResourceId] = Field(None, alias="orderApprovalTaskDefinitionId")
|
36
|
-
|
37
|
+
non_passing_compliance_rule_results: Optional[conlist(ContributionToNonPassingRuleDetail)] = Field(None, alias="nonPassingComplianceRuleResults", description="The details of compliance rules in non-passing states.")
|
38
|
+
__properties = ["id", "complianceState", "approvalState", "portfolioId", "portfolioName", "orderApprovalTaskId", "orderApprovalTaskDefinitionId", "nonPassingComplianceRuleResults"]
|
37
39
|
|
38
40
|
class Config:
|
39
41
|
"""Pydantic configuration"""
|
@@ -68,6 +70,13 @@ class OrderGraphBlockOrderDetail(BaseModel):
|
|
68
70
|
# override the default output from pydantic by calling `to_dict()` of order_approval_task_definition_id
|
69
71
|
if self.order_approval_task_definition_id:
|
70
72
|
_dict['orderApprovalTaskDefinitionId'] = self.order_approval_task_definition_id.to_dict()
|
73
|
+
# override the default output from pydantic by calling `to_dict()` of each item in non_passing_compliance_rule_results (list)
|
74
|
+
_items = []
|
75
|
+
if self.non_passing_compliance_rule_results:
|
76
|
+
for _item in self.non_passing_compliance_rule_results:
|
77
|
+
if _item:
|
78
|
+
_items.append(_item.to_dict())
|
79
|
+
_dict['nonPassingComplianceRuleResults'] = _items
|
71
80
|
# set to None if portfolio_name (nullable) is None
|
72
81
|
# and __fields_set__ contains the field
|
73
82
|
if self.portfolio_name is None and "portfolio_name" in self.__fields_set__:
|
@@ -78,6 +87,11 @@ class OrderGraphBlockOrderDetail(BaseModel):
|
|
78
87
|
if self.order_approval_task_id is None and "order_approval_task_id" in self.__fields_set__:
|
79
88
|
_dict['orderApprovalTaskId'] = None
|
80
89
|
|
90
|
+
# set to None if non_passing_compliance_rule_results (nullable) is None
|
91
|
+
# and __fields_set__ contains the field
|
92
|
+
if self.non_passing_compliance_rule_results is None and "non_passing_compliance_rule_results" in self.__fields_set__:
|
93
|
+
_dict['nonPassingComplianceRuleResults'] = None
|
94
|
+
|
81
95
|
return _dict
|
82
96
|
|
83
97
|
@classmethod
|
@@ -96,6 +110,7 @@ class OrderGraphBlockOrderDetail(BaseModel):
|
|
96
110
|
"portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
|
97
111
|
"portfolio_name": obj.get("portfolioName"),
|
98
112
|
"order_approval_task_id": obj.get("orderApprovalTaskId"),
|
99
|
-
"order_approval_task_definition_id": ResourceId.from_dict(obj.get("orderApprovalTaskDefinitionId")) if obj.get("orderApprovalTaskDefinitionId") is not None else None
|
113
|
+
"order_approval_task_definition_id": ResourceId.from_dict(obj.get("orderApprovalTaskDefinitionId")) if obj.get("orderApprovalTaskDefinitionId") is not None else None,
|
114
|
+
"non_passing_compliance_rule_results": [ContributionToNonPassingRuleDetail.from_dict(_item) for _item in obj.get("nonPassingComplianceRuleResults")] if obj.get("nonPassingComplianceRuleResults") is not None else None
|
100
115
|
})
|
101
116
|
return _obj
|
@@ -18,23 +18,25 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict
|
22
|
-
from pydantic.v1 import Field, StrictStr, validator
|
21
|
+
from typing import Any, Dict, List, Optional
|
22
|
+
from pydantic.v1 import Field, StrictStr, conlist, validator
|
23
|
+
from lusid.models.additional_payment import AdditionalPayment
|
23
24
|
from lusid.models.asset_leg import AssetLeg
|
24
25
|
from lusid.models.instrument_leg import InstrumentLeg
|
25
26
|
from lusid.models.lusid_instrument import LusidInstrument
|
26
27
|
|
27
28
|
class TotalReturnSwap(LusidInstrument):
|
28
29
|
"""
|
29
|
-
A swap in which one party makes payments based on leg rates (fixed or floating) while the other party makes payments based on the return of an underlying instrument. The underlying instrument can be provided as an inline economic definition or as a reference instrument pointing to an already upserted instrument. A reference instrument in this case would consist of instrument scope, instrument id and instrument id type (ISIN, LUID etc.). Note that TRS currently only supports an asset of Bond or ComplexBond, no other instruments are allowed. Support for additional instrument types will be added in the future. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | AssetLeg | Cash flows relating to the returns generated by an underlying bond. | | 2 | FundingLeg | The funding leg of the swap. | # noqa: E501
|
30
|
+
A swap in which one party makes payments based on leg rates (fixed or floating) while the other party makes payments based on the return of an underlying instrument. The underlying instrument can be provided as an inline economic definition or as a reference instrument pointing to an already upserted instrument. A reference instrument in this case would consist of instrument scope, instrument id and instrument id type (ISIN, LUID etc.). Note that TRS currently only supports an asset of Bond or ComplexBond, no other instruments are allowed. Support for additional instrument types will be added in the future. This instrument has multiple legs, to see how legs are used in LUSID see [knowledge base article KA-02252](https://support.lusid.com/knowledgebase/article/KA-02252). | Leg Index | Leg Identifier | Description | | --------- | -------------- | ----------- | | 1 | AssetLeg | Cash flows relating to the returns generated by an underlying bond. | | 2 | FundingLeg | The funding leg of the swap. | | 3 | AdditionalPayments | Cash flows relating to any additional payments (optional). | # noqa: E501
|
30
31
|
"""
|
31
32
|
start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
|
32
33
|
maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
|
33
34
|
asset_leg: AssetLeg = Field(..., alias="assetLeg")
|
34
35
|
funding_leg: InstrumentLeg = Field(..., alias="fundingLeg")
|
36
|
+
additional_payments: Optional[conlist(AdditionalPayment)] = Field(None, alias="additionalPayments", description="Optional additional payments at a given date e.g. to level off an uneven total return swap. The dates must be distinct and either all payments are Pay or all payments are Receive.")
|
35
37
|
instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash, MasteredInstrument, LoanFacility")
|
36
38
|
additional_properties: Dict[str, Any] = {}
|
37
|
-
__properties = ["instrumentType", "startDate", "maturityDate", "assetLeg", "fundingLeg"]
|
39
|
+
__properties = ["instrumentType", "startDate", "maturityDate", "assetLeg", "fundingLeg", "additionalPayments"]
|
38
40
|
|
39
41
|
@validator('instrument_type')
|
40
42
|
def instrument_type_validate_enum(cls, value):
|
@@ -74,11 +76,23 @@ class TotalReturnSwap(LusidInstrument):
|
|
74
76
|
# override the default output from pydantic by calling `to_dict()` of funding_leg
|
75
77
|
if self.funding_leg:
|
76
78
|
_dict['fundingLeg'] = self.funding_leg.to_dict()
|
79
|
+
# override the default output from pydantic by calling `to_dict()` of each item in additional_payments (list)
|
80
|
+
_items = []
|
81
|
+
if self.additional_payments:
|
82
|
+
for _item in self.additional_payments:
|
83
|
+
if _item:
|
84
|
+
_items.append(_item.to_dict())
|
85
|
+
_dict['additionalPayments'] = _items
|
77
86
|
# puts key-value pairs in additional_properties in the top level
|
78
87
|
if self.additional_properties is not None:
|
79
88
|
for _key, _value in self.additional_properties.items():
|
80
89
|
_dict[_key] = _value
|
81
90
|
|
91
|
+
# set to None if additional_payments (nullable) is None
|
92
|
+
# and __fields_set__ contains the field
|
93
|
+
if self.additional_payments is None and "additional_payments" in self.__fields_set__:
|
94
|
+
_dict['additionalPayments'] = None
|
95
|
+
|
82
96
|
return _dict
|
83
97
|
|
84
98
|
@classmethod
|
@@ -95,7 +109,8 @@ class TotalReturnSwap(LusidInstrument):
|
|
95
109
|
"start_date": obj.get("startDate"),
|
96
110
|
"maturity_date": obj.get("maturityDate"),
|
97
111
|
"asset_leg": AssetLeg.from_dict(obj.get("assetLeg")) if obj.get("assetLeg") is not None else None,
|
98
|
-
"funding_leg": InstrumentLeg.from_dict(obj.get("fundingLeg")) if obj.get("fundingLeg") is not None else None
|
112
|
+
"funding_leg": InstrumentLeg.from_dict(obj.get("fundingLeg")) if obj.get("fundingLeg") is not None else None,
|
113
|
+
"additional_payments": [AdditionalPayment.from_dict(_item) for _item in obj.get("additionalPayments")] if obj.get("additionalPayments") is not None else None
|
99
114
|
})
|
100
115
|
# store additional fields in additional_properties
|
101
116
|
for _key in obj.keys():
|
lusid/models/transaction.py
CHANGED
@@ -18,14 +18,16 @@ import re # noqa: F401
|
|
18
18
|
import json
|
19
19
|
|
20
20
|
from datetime import datetime
|
21
|
-
from typing import Any, Dict, Optional, Union
|
22
|
-
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, constr, validator
|
21
|
+
from typing import Any, Dict, List, Optional, Union
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr, validator
|
23
23
|
from lusid.models.currency_and_amount import CurrencyAndAmount
|
24
24
|
from lusid.models.custodian_account import CustodianAccount
|
25
25
|
from lusid.models.otc_confirmation import OtcConfirmation
|
26
26
|
from lusid.models.perpetual_property import PerpetualProperty
|
27
27
|
from lusid.models.resource_id import ResourceId
|
28
|
+
from lusid.models.strategy import Strategy
|
28
29
|
from lusid.models.transaction_price import TransactionPrice
|
30
|
+
from lusid.models.transaction_type_details import TransactionTypeDetails
|
29
31
|
|
30
32
|
class Transaction(BaseModel):
|
31
33
|
"""
|
@@ -54,7 +56,9 @@ class Transaction(BaseModel):
|
|
54
56
|
allocation_id: Optional[ResourceId] = Field(None, alias="allocationId")
|
55
57
|
custodian_account: Optional[CustodianAccount] = Field(None, alias="custodianAccount")
|
56
58
|
transaction_group_id: Optional[StrictStr] = Field(None, alias="transactionGroupId", description="The identifier for grouping economic events across multiple transactions")
|
57
|
-
|
59
|
+
strategy_tag: Optional[conlist(Strategy)] = Field(None, alias="strategyTag", description="A list of strategies representing the allocation of units across multiple sub-holding keys")
|
60
|
+
resolved_transaction_type_details: Optional[TransactionTypeDetails] = Field(None, alias="resolvedTransactionTypeDetails")
|
61
|
+
__properties = ["transactionId", "type", "instrumentIdentifiers", "instrumentScope", "instrumentUid", "transactionDate", "settlementDate", "units", "transactionPrice", "totalConsideration", "exchangeRate", "transactionCurrency", "properties", "counterpartyId", "source", "entryDateTime", "otcConfirmation", "transactionStatus", "cancelDateTime", "orderId", "allocationId", "custodianAccount", "transactionGroupId", "strategyTag", "resolvedTransactionTypeDetails"]
|
58
62
|
|
59
63
|
@validator('transaction_status')
|
60
64
|
def transaction_status_validate_enum(cls, value):
|
@@ -115,6 +119,16 @@ class Transaction(BaseModel):
|
|
115
119
|
# override the default output from pydantic by calling `to_dict()` of custodian_account
|
116
120
|
if self.custodian_account:
|
117
121
|
_dict['custodianAccount'] = self.custodian_account.to_dict()
|
122
|
+
# override the default output from pydantic by calling `to_dict()` of each item in strategy_tag (list)
|
123
|
+
_items = []
|
124
|
+
if self.strategy_tag:
|
125
|
+
for _item in self.strategy_tag:
|
126
|
+
if _item:
|
127
|
+
_items.append(_item.to_dict())
|
128
|
+
_dict['strategyTag'] = _items
|
129
|
+
# override the default output from pydantic by calling `to_dict()` of resolved_transaction_type_details
|
130
|
+
if self.resolved_transaction_type_details:
|
131
|
+
_dict['resolvedTransactionTypeDetails'] = self.resolved_transaction_type_details.to_dict()
|
118
132
|
# set to None if instrument_identifiers (nullable) is None
|
119
133
|
# and __fields_set__ contains the field
|
120
134
|
if self.instrument_identifiers is None and "instrument_identifiers" in self.__fields_set__:
|
@@ -160,6 +174,11 @@ class Transaction(BaseModel):
|
|
160
174
|
if self.transaction_group_id is None and "transaction_group_id" in self.__fields_set__:
|
161
175
|
_dict['transactionGroupId'] = None
|
162
176
|
|
177
|
+
# set to None if strategy_tag (nullable) is None
|
178
|
+
# and __fields_set__ contains the field
|
179
|
+
if self.strategy_tag is None and "strategy_tag" in self.__fields_set__:
|
180
|
+
_dict['strategyTag'] = None
|
181
|
+
|
163
182
|
return _dict
|
164
183
|
|
165
184
|
@classmethod
|
@@ -199,6 +218,8 @@ class Transaction(BaseModel):
|
|
199
218
|
"order_id": ResourceId.from_dict(obj.get("orderId")) if obj.get("orderId") is not None else None,
|
200
219
|
"allocation_id": ResourceId.from_dict(obj.get("allocationId")) if obj.get("allocationId") is not None else None,
|
201
220
|
"custodian_account": CustodianAccount.from_dict(obj.get("custodianAccount")) if obj.get("custodianAccount") is not None else None,
|
202
|
-
"transaction_group_id": obj.get("transactionGroupId")
|
221
|
+
"transaction_group_id": obj.get("transactionGroupId"),
|
222
|
+
"strategy_tag": [Strategy.from_dict(_item) for _item in obj.get("strategyTag")] if obj.get("strategyTag") is not None else None,
|
223
|
+
"resolved_transaction_type_details": TransactionTypeDetails.from_dict(obj.get("resolvedTransactionTypeDetails")) if obj.get("resolvedTransactionTypeDetails") is not None else None
|
203
224
|
})
|
204
225
|
return _obj
|
@@ -49,7 +49,7 @@ class TransactionRequest(BaseModel):
|
|
49
49
|
allocation_id: Optional[ResourceId] = Field(None, alias="allocationId")
|
50
50
|
custodian_account_id: Optional[ResourceId] = Field(None, alias="custodianAccountId")
|
51
51
|
transaction_group_id: Optional[constr(strict=True, max_length=64, min_length=1)] = Field(None, alias="transactionGroupId", description="The identifier for grouping economic events across multiple transactions")
|
52
|
-
strategy_tag: Optional[conlist(Strategy)] = Field(None, alias="strategyTag", description="A
|
52
|
+
strategy_tag: Optional[conlist(Strategy)] = Field(None, alias="strategyTag", description="A list of strategies representing the allocation of units across multiple sub-holding keys")
|
53
53
|
__properties = ["transactionId", "type", "instrumentIdentifiers", "transactionDate", "settlementDate", "units", "transactionPrice", "totalConsideration", "exchangeRate", "transactionCurrency", "properties", "counterpartyId", "source", "otcConfirmation", "orderId", "allocationId", "custodianAccountId", "transactionGroupId", "strategyTag"]
|
54
54
|
|
55
55
|
class Config:
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
LUSID API
|
5
|
+
|
6
|
+
FINBOURNE Technology # noqa: E501
|
7
|
+
|
8
|
+
Contact: info@finbourne.com
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
+
|
11
|
+
Do not edit the class manually.
|
12
|
+
"""
|
13
|
+
|
14
|
+
|
15
|
+
from __future__ import annotations
|
16
|
+
import pprint
|
17
|
+
import re # noqa: F401
|
18
|
+
import json
|
19
|
+
|
20
|
+
|
21
|
+
from typing import Any, Dict, Optional
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictStr
|
23
|
+
|
24
|
+
class TransactionTypeDetails(BaseModel):
|
25
|
+
"""
|
26
|
+
TransactionTypeDetails
|
27
|
+
"""
|
28
|
+
scope: Optional[StrictStr] = Field(None, description="The scope in which the TransactionType was resolved. If the portfolio has a TransactionTypeScope, this will have been used. Otherwise the default scope will have been used.")
|
29
|
+
source: Optional[StrictStr] = Field(None, description="The source in which the TransactionType was resolved.")
|
30
|
+
type: Optional[StrictStr] = Field(None, description="The resolved TransactionType. More information on TransactionType resolution can be found at https://support.lusid.com/docs/how-does-lusid-resolve-transactions-to-transaction-types")
|
31
|
+
__properties = ["scope", "source", "type"]
|
32
|
+
|
33
|
+
class Config:
|
34
|
+
"""Pydantic configuration"""
|
35
|
+
allow_population_by_field_name = True
|
36
|
+
validate_assignment = True
|
37
|
+
|
38
|
+
def to_str(self) -> str:
|
39
|
+
"""Returns the string representation of the model using alias"""
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
41
|
+
|
42
|
+
def to_json(self) -> str:
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
44
|
+
return json.dumps(self.to_dict())
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def from_json(cls, json_str: str) -> TransactionTypeDetails:
|
48
|
+
"""Create an instance of TransactionTypeDetails from a JSON string"""
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
50
|
+
|
51
|
+
def to_dict(self):
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
53
|
+
_dict = self.dict(by_alias=True,
|
54
|
+
exclude={
|
55
|
+
},
|
56
|
+
exclude_none=True)
|
57
|
+
# set to None if scope (nullable) is None
|
58
|
+
# and __fields_set__ contains the field
|
59
|
+
if self.scope is None and "scope" in self.__fields_set__:
|
60
|
+
_dict['scope'] = None
|
61
|
+
|
62
|
+
# set to None if source (nullable) is None
|
63
|
+
# and __fields_set__ contains the field
|
64
|
+
if self.source is None and "source" in self.__fields_set__:
|
65
|
+
_dict['source'] = None
|
66
|
+
|
67
|
+
# set to None if type (nullable) is None
|
68
|
+
# and __fields_set__ contains the field
|
69
|
+
if self.type is None and "type" in self.__fields_set__:
|
70
|
+
_dict['type'] = None
|
71
|
+
|
72
|
+
return _dict
|
73
|
+
|
74
|
+
@classmethod
|
75
|
+
def from_dict(cls, obj: dict) -> TransactionTypeDetails:
|
76
|
+
"""Create an instance of TransactionTypeDetails from a dict"""
|
77
|
+
if obj is None:
|
78
|
+
return None
|
79
|
+
|
80
|
+
if not isinstance(obj, dict):
|
81
|
+
return TransactionTypeDetails.parse_obj(obj)
|
82
|
+
|
83
|
+
_obj = TransactionTypeDetails.parse_obj({
|
84
|
+
"scope": obj.get("scope"),
|
85
|
+
"source": obj.get("source"),
|
86
|
+
"type": obj.get("type")
|
87
|
+
})
|
88
|
+
return _obj
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lusid-sdk
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.585
|
4
4
|
Summary: LUSID API
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
6
6
|
License: MIT
|
@@ -823,6 +823,7 @@ Class | Method | HTTP request | Description
|
|
823
823
|
- [ConstantVolatilitySurface](docs/ConstantVolatilitySurface.md)
|
824
824
|
- [ConstituentsAdjustmentHeader](docs/ConstituentsAdjustmentHeader.md)
|
825
825
|
- [ContractForDifference](docs/ContractForDifference.md)
|
826
|
+
- [ContributionToNonPassingRuleDetail](docs/ContributionToNonPassingRuleDetail.md)
|
826
827
|
- [CorporateAction](docs/CorporateAction.md)
|
827
828
|
- [CorporateActionSource](docs/CorporateActionSource.md)
|
828
829
|
- [CorporateActionTransition](docs/CorporateActionTransition.md)
|
@@ -1635,6 +1636,7 @@ Class | Method | HTTP request | Description
|
|
1635
1636
|
- [TransactionType](docs/TransactionType.md)
|
1636
1637
|
- [TransactionTypeAlias](docs/TransactionTypeAlias.md)
|
1637
1638
|
- [TransactionTypeCalculation](docs/TransactionTypeCalculation.md)
|
1639
|
+
- [TransactionTypeDetails](docs/TransactionTypeDetails.md)
|
1638
1640
|
- [TransactionTypeMovement](docs/TransactionTypeMovement.md)
|
1639
1641
|
- [TransactionTypePropertyMapping](docs/TransactionTypePropertyMapping.md)
|
1640
1642
|
- [TransactionTypeRequest](docs/TransactionTypeRequest.md)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lusid/__init__.py,sha256=
|
1
|
+
lusid/__init__.py,sha256=_PBYI8M-0tMTyzJuC7GMVLrgTMoiFNVZQaP5ZJK3eQ0,128418
|
2
2
|
lusid/api/__init__.py,sha256=6h2et93uMZgjdpV3C3_ITp_VbSBlwYu5BtqZ2puZPoI,5821
|
3
3
|
lusid/api/abor_api.py,sha256=CC0f6Aqqiqkgmpguvoqe8teU0bRRuc771AdUSyI4rJw,158222
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=TmssMn5ni0mZV1q7LyPXYhBqqUGJqLYZapo8By8DFuI,63875
|
@@ -70,7 +70,7 @@ lusid/api/translation_api.py,sha256=nIyuLncCvVC5k2d7Nm32zR8AQ1dkrVm1OThkmELY_OM,
|
|
70
70
|
lusid/api/workspace_api.py,sha256=mYQPqFUVf1VKYeWQUV5VkcdSqwejSmPDGd66Az86-_E,191319
|
71
71
|
lusid/api_client.py,sha256=ewMTmf9SRurY8pYnUx9jy24RdldPCOa4US38pnrVxjA,31140
|
72
72
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
73
|
-
lusid/configuration.py,sha256=
|
73
|
+
lusid/configuration.py,sha256=yX8jOLzW0mpGiqKnSv2Vc8TkfNutF1HATWJUd8GmJZU,17972
|
74
74
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
75
75
|
lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
|
76
76
|
lusid/extensions/api_client.py,sha256=GzygWg_h603QK1QS2HvAijuE2R1TnvoF6-Yg0CeM3ug,30943
|
@@ -85,7 +85,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
|
|
85
85
|
lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
|
86
86
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
87
87
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
88
|
-
lusid/models/__init__.py,sha256=
|
88
|
+
lusid/models/__init__.py,sha256=PNecue2ayHFIaWlv2W_PPU0mSIbrSubdo_JMvHooVqg,121565
|
89
89
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
90
90
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
91
91
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
@@ -109,7 +109,7 @@ lusid/models/accumulation_event.py,sha256=4lTtlXleReQJlgAHexzuPzEJ8c6lgQ_Hv4lqlv
|
|
109
109
|
lusid/models/action_id.py,sha256=NuJ7So7BAckiGCTpPdnwCmGVUEtsImy8r7PFLRYb6Ok,2057
|
110
110
|
lusid/models/add_business_days_to_date_request.py,sha256=AfWmdr91A1Wpf0yT6CEEymkHYLXYha5Lll3EXe8FDtE,2640
|
111
111
|
lusid/models/add_business_days_to_date_response.py,sha256=wWo01x8xabbdMWzv73T7nRNBsKi1LYXJWTSaj4VCnWs,2013
|
112
|
-
lusid/models/additional_payment.py,sha256=
|
112
|
+
lusid/models/additional_payment.py,sha256=TRuvS77hMMTov9wq1_ftBdNtmF7BzBDXJoiB4g8qUUA,2534
|
113
113
|
lusid/models/address_definition.py,sha256=zTk3p8hfx0CcP_LcHSihJ8bKqT8R5p6RJe3h7mL4yYQ,4999
|
114
114
|
lusid/models/address_key_compliance_parameter.py,sha256=LWG_jU7-xkSG5r8X_C_ssgObWV6NgVg1dUNemShn0cw,5396
|
115
115
|
lusid/models/address_key_definition.py,sha256=ZBOa_DoY_hGC1jaMwKERn1sFhqsk2YsP1HZ0F8tQDek,3212
|
@@ -120,7 +120,7 @@ lusid/models/address_key_option_definition.py,sha256=T2Zj9-KQJhDubLPIIK2pnaM5UDZ
|
|
120
120
|
lusid/models/adjust_holding.py,sha256=K0FDmwFy3NTJ8HicVCJGA1Mqrbri77d1IGA_hk0ejLY,4387
|
121
121
|
lusid/models/adjust_holding_for_date_request.py,sha256=AXXiwgzNLTbOnieETMglVFHzBKYvIcsT9NK5PpIVdfI,5986
|
122
122
|
lusid/models/adjust_holding_request.py,sha256=_dhEk23kdt2PtaepgoxuBNAB7wyrcJxHzaLhy-lVQQQ,5697
|
123
|
-
lusid/models/aggregate_spec.py,sha256=
|
123
|
+
lusid/models/aggregate_spec.py,sha256=jevCtRTdbi_pydAt_Dc33oRysTgksAJ3Fn8Sk5m9xtE,3374
|
124
124
|
lusid/models/aggregated_return.py,sha256=idRVdbx--3wj4dfECDZREH_xCNXW8IBoFg_HvrJy9ac,5953
|
125
125
|
lusid/models/aggregated_returns_dispersion_request.py,sha256=7xKtIUa_P-jS3oOpbbgwXL0gzHK0pErqtBzxyTjnqW0,5496
|
126
126
|
lusid/models/aggregated_returns_request.py,sha256=URBqwgZK3tkyqOe5Qo-2VP7xwSupy64b0kIeXNaN0Hk,7601
|
@@ -128,7 +128,7 @@ lusid/models/aggregated_returns_response.py,sha256=E-0Y3t7Jud_j_S0X0w2tU6ET7ozUC
|
|
128
128
|
lusid/models/aggregated_transactions_request.py,sha256=PlWTr52XndGTErcD4FfM-Ouu-o3mFvk7jXQz805reLo,5341
|
129
129
|
lusid/models/aggregation_context.py,sha256=IdA9lRVE26VSSQC0qw6Klakz2sS1tQqghyBUq9cunzk,2583
|
130
130
|
lusid/models/aggregation_measure_failure_detail.py,sha256=CM6vzqNogMIVltcphUTx_-rG-I3OlC702SI0ks6G61w,3190
|
131
|
-
lusid/models/aggregation_op.py,sha256=
|
131
|
+
lusid/models/aggregation_op.py,sha256=F2n9Nqc-qwyf5W7Fg58FIHf2JJmGuAIfpYsEL2BxqgU,1092
|
132
132
|
lusid/models/aggregation_options.py,sha256=rEn-7En3urOehoVMVnMrS9cxN4ZvihTHFT98YjOrjH0,3128
|
133
133
|
lusid/models/aggregation_query.py,sha256=epqhWBB8ksJhUbsjT6PkSY_xRlkX9gHSRcIQaG5PKRY,8326
|
134
134
|
lusid/models/aggregation_type.py,sha256=XjHrk2_0OhQyn5RK2-LUzDIjvT_blRVYdvyFdkyxQuw,892
|
@@ -212,7 +212,7 @@ lusid/models/cash_offer_election.py,sha256=qefe020_tlp2w0Q1ohYzAC-q-t4m7UsRYl_mO
|
|
212
212
|
lusid/models/cash_perpetual.py,sha256=43DlKqPbLiyBO9RH9ZOzwA9aDgG6KtMOAodz-KJE1iY,5364
|
213
213
|
lusid/models/cds_credit_event.py,sha256=I-z3-YvZ06hVim-FrzapuYIonzaowhQ6okuQwaAIOKM,7308
|
214
214
|
lusid/models/cds_flow_conventions.py,sha256=_WpM6p1v-kxjbzRQu7DzK3cJNJqyr_rRkgjTEaRic1Y,8161
|
215
|
-
lusid/models/cds_index.py,sha256=
|
215
|
+
lusid/models/cds_index.py,sha256=p2spEHBWaFWdd41oI03IvL-zuKKI3NLSQqfYvP24K3M,9548
|
216
216
|
lusid/models/cds_protection_detail_specification.py,sha256=k0mkP4WGJFjfouhI6WtCnR4y2rx2yFwBelO8D33lbaE,3213
|
217
217
|
lusid/models/cdx_credit_event.py,sha256=w-LYEWDHSCmQyzxy32dIjU_vl9oP21TFocs1a_hFV80,8068
|
218
218
|
lusid/models/change.py,sha256=QHC1wtZL_TXDfSertnsg-tNRpkHkcbk5wk8O5rOjby4,5076
|
@@ -281,6 +281,7 @@ lusid/models/configuration_recipe.py,sha256=O9gOzlKxFhnnzMxZQwPEwc29wF9fPS86s771
|
|
281
281
|
lusid/models/constant_volatility_surface.py,sha256=1l4eyD78UaUsyjkX7NhPTuGUYgJY-nXzs4ZACc0dQQs,5178
|
282
282
|
lusid/models/constituents_adjustment_header.py,sha256=2wnnigKPOPttpRFJa8yzJspIhyfdLq_8_H5QLsWOQy0,3233
|
283
283
|
lusid/models/contract_for_difference.py,sha256=l5rAKgtcZRkx3E83m-qkcLr7Mmzf5MX8rRdyDu0MNq0,7393
|
284
|
+
lusid/models/contribution_to_non_passing_rule_detail.py,sha256=rhNT_zuuDBFojzGXea-tdIosXLw43rLDzPgK22ZqtCU,3556
|
284
285
|
lusid/models/corporate_action.py,sha256=L2jWWTX1qcCL4sxqJw9cp6xjjbGo1aezfHlt84TMRTg,4151
|
285
286
|
lusid/models/corporate_action_source.py,sha256=n99ggLwqEUf2ik9Z882RIYVS29IZqI2LqYlPgOBF3zQ,5011
|
286
287
|
lusid/models/corporate_action_transition.py,sha256=ZGFoyxH9IrTwlOWPzf7P81dsoRjrbUlYHwgNaeb7a_E,3508
|
@@ -320,7 +321,7 @@ lusid/models/create_tax_rule_set_request.py,sha256=4K9Kysssj-zFpvE6tVu-DXyVJYu0Y
|
|
320
321
|
lusid/models/create_trade_tickets_response.py,sha256=hMgaSmMWyWbpp2SQqg6p9fnMrUjNE6F35mo4fmvwf2M,2961
|
321
322
|
lusid/models/create_transaction_portfolio_request.py,sha256=MEsPFBS6TxHORxj_5Y-8oFnmvwHIZuxFJosY5vg8Mfo,11818
|
322
323
|
lusid/models/create_unit_definition.py,sha256=hPfMi0Wew-HYzTQEaZ_wfDnN1dKMW6KYGB8kgyXjwlU,3418
|
323
|
-
lusid/models/credit_default_swap.py,sha256=
|
324
|
+
lusid/models/credit_default_swap.py,sha256=1_4KJc6Uf9bzx-80aCmctchtP3FljZ3gttdwq8YA1kk,10043
|
324
325
|
lusid/models/credit_premium_cash_flow_event.py,sha256=iwHmuCR3gdG74eqsT40fc4ShfXYc3--7h4EE6XGddKY,7231
|
325
326
|
lusid/models/credit_rating.py,sha256=3EJjCwgdDT04iclq5OTBWughXAbXc9FkOtz-x7i5rks,3088
|
326
327
|
lusid/models/credit_spread_curve_data.py,sha256=N2gish4RNEdHNRwo8AceZbY5dPUtKy8Lt1WTRxrDHNw,7174
|
@@ -399,7 +400,7 @@ lusid/models/equity_curve_by_prices_data.py,sha256=bfvm9uAlWWiI_jhLacOXk-v_IvdyT
|
|
399
400
|
lusid/models/equity_curve_dependency.py,sha256=bXyEO_TzvZtxmi16cFQYZwL9W6qApALe5pIHC4M8jRc,5028
|
400
401
|
lusid/models/equity_model_options.py,sha256=taOqGGZiLmchhJRrv8wjvrKPKCh32njkp0DgfwAb7AE,3698
|
401
402
|
lusid/models/equity_option.py,sha256=ZAuN7PXXEyQOgxKgy12vwa9iw1VDqa-VsKYm4klTIAE,9922
|
402
|
-
lusid/models/equity_swap.py,sha256=
|
403
|
+
lusid/models/equity_swap.py,sha256=GlpM1bw0FAqpWhi_LaOgOlCdYTpc5DmhOnbOZ840J10,10781
|
403
404
|
lusid/models/equity_vol_dependency.py,sha256=GcZrPW9sJS5nKXBjVNjcUKIp4UDeovABErfg6uZXGH0,4909
|
404
405
|
lusid/models/equity_vol_surface_data.py,sha256=INLwejaCYkya6fjf_rrG33B_z2FFcgFaIEwWUokfh2Y,5865
|
405
406
|
lusid/models/error_detail.py,sha256=XkNJc5yCGsIri9wDciaONqobIbADaU90i5UrI71WM4c,3279
|
@@ -555,7 +556,7 @@ lusid/models/inflation_fixing_dependency.py,sha256=PKxpTIJcyNIMums66g2qG0p6l6F19
|
|
555
556
|
lusid/models/inflation_index_conventions.py,sha256=I9uG6oCE8M5IHq63DZXvH1fI_5TzMcOnSThnfQW97Y0,4811
|
556
557
|
lusid/models/inflation_leg.py,sha256=Hpppt_7SGS725JuLRLywbBmYJz15EO6fzp_I_sSsQ5k,10000
|
557
558
|
lusid/models/inflation_linked_bond.py,sha256=3wB-6FJDqvbbfsTCyIanB0ia3_4qCemnNOfSkyccU6s,14009
|
558
|
-
lusid/models/inflation_swap.py,sha256=
|
559
|
+
lusid/models/inflation_swap.py,sha256=yNBiPnoFg8tZVhMBF1T9EVif9wAnawHCfzsMOfltUIc,8292
|
559
560
|
lusid/models/informational_error_event.py,sha256=Z2WkMeq3PbRRvXT689KuelB3xudBLRz9B5_psEL4ta0,6628
|
560
561
|
lusid/models/informational_event.py,sha256=KQDUSidVhEtKyzSPUTkgeYX1CNRCAFtiSLoB1b2eWws,7641
|
561
562
|
lusid/models/inline_valuation_request.py,sha256=Qn5CwniPwvIDFzkF2GFubAyFFUkT2I9VK99q4mAHK2w,10449
|
@@ -589,7 +590,7 @@ lusid/models/instrument_properties.py,sha256=h9V6xOKHuhGwwZta08fUhutktMZFS6JDbuJ
|
|
589
590
|
lusid/models/instrument_resolution_detail.py,sha256=glEyZuZ2H965P3XHNiWNMsP-31v-cKH9fjDSeEJzQbI,4989
|
590
591
|
lusid/models/instrument_search_property.py,sha256=yQNCLmODfYEkps4RPRfU30ZM6WMyGCR-oLMyHNhSPh4,2297
|
591
592
|
lusid/models/instrument_type.py,sha256=fKBxcVqkJA5KVocOe7yZtBhFUJFht6LtKbgrlSyFOBk,2065
|
592
|
-
lusid/models/interest_rate_swap.py,sha256=
|
593
|
+
lusid/models/interest_rate_swap.py,sha256=eSnamsyshjo46jgslTx87Cz8KHDgVhktCxTkAl_xfWE,9002
|
593
594
|
lusid/models/interest_rate_swaption.py,sha256=u2w04LaM9W74KjaZgiPW_wDdl1A7_nx7iPNOwS8agEY,6420
|
594
595
|
lusid/models/intermediate_compliance_step.py,sha256=T6P2hdd-otQCQJMz3avj8_NmTvlI5CVz3Us3VY3ejK0,4461
|
595
596
|
lusid/models/intermediate_compliance_step_request.py,sha256=cx9WUvfU_jlcOv3RskTeEyn8_WE72Kvfi1KBaqHF9AE,3859
|
@@ -676,7 +677,7 @@ lusid/models/order_graph_block_allocation_detail.py,sha256=L51Rl6sgG8R7jiwRtSYH6
|
|
676
677
|
lusid/models/order_graph_block_allocation_synopsis.py,sha256=PTlPTHowUDna144w0yNEESTbK5cZ4BWLDL_jur42Nro,2766
|
677
678
|
lusid/models/order_graph_block_execution_detail.py,sha256=IEEbVtfZFelskKbK8IbcLqw30jICItS8zhvy7rfeUmA,2170
|
678
679
|
lusid/models/order_graph_block_execution_synopsis.py,sha256=x_ljrTcK_HXqq6aqNBM-EUnsY6jTb1seZH5P-uFDcf4,2752
|
679
|
-
lusid/models/order_graph_block_order_detail.py,sha256=
|
680
|
+
lusid/models/order_graph_block_order_detail.py,sha256=vkTckebvYHtwKZLdRK34t6ruYJ7v9KAKMQe_Jdd-4-c,6029
|
680
681
|
lusid/models/order_graph_block_order_synopsis.py,sha256=UYhXd7jsqdLKia6UclAKUYcarMQ0z9SSahWcoLu5zfs,3207
|
681
682
|
lusid/models/order_graph_block_placement_detail.py,sha256=gcm_3SH6OhYyLUz6OILwZs6cKzq4JUm0kO8Ya-YV780,2170
|
682
683
|
lusid/models/order_graph_block_placement_synopsis.py,sha256=K2BAK89iTOPXtk9Fj-AJ0KhZduFhw3eOyHDecB3lccg,3243
|
@@ -1058,11 +1059,11 @@ lusid/models/tender_event.py,sha256=qckP0p8lXS_lM0pKkuKnfyHZEpEtgkaW1Berakx4Tdo,
|
|
1058
1059
|
lusid/models/term_deposit.py,sha256=idaPCCw1PXdaVCDvrYRGR_Z_nYZM6xgjNLMhkmGNOzg,6837
|
1059
1060
|
lusid/models/term_deposit_interest_event.py,sha256=pAzxLyblEb0TMuuu7oIUM3jXkKmRwIMLqBoB5Zkmaok,7009
|
1060
1061
|
lusid/models/term_deposit_principal_event.py,sha256=qK1-hhoVg8C2fXwbUNeKnHWVPvCGzoi37hPjBKPEGLk,7029
|
1061
|
-
lusid/models/total_return_swap.py,sha256=
|
1062
|
+
lusid/models/total_return_swap.py,sha256=hyrhC-Z4jB8Dsv4C-XTX8h589uMvO29Vp06k3C8rEwA,8697
|
1062
1063
|
lusid/models/touch.py,sha256=OECUpEFcCT1kPT5SJIsoNHtR8k2AhEAbDd6P86NcF4s,2726
|
1063
1064
|
lusid/models/trade_ticket.py,sha256=ONpDAdaWs3yfUqMxI7Mq0cYpX0aJkN8XH_9n9rIs5IA,2320
|
1064
1065
|
lusid/models/trade_ticket_type.py,sha256=j7f2bfiA_cxaFtjZpT3Natl4BoaGAaEXF6E0ltEzTWE,706
|
1065
|
-
lusid/models/transaction.py,sha256=
|
1066
|
+
lusid/models/transaction.py,sha256=ItU_ujzGcj7RR0br8zxrNCMXk2zO5bh5ZcriGoRdhB4,13742
|
1066
1067
|
lusid/models/transaction_configuration_data.py,sha256=BSHXnMn6TWaubn2zTxPvbRUOsRtGYb0N4sDNUcf1SaY,4318
|
1067
1068
|
lusid/models/transaction_configuration_data_request.py,sha256=mypVKRfltmkG5NEUGqDDyBYdIir3S1nkYzGL8BwHWgo,4398
|
1068
1069
|
lusid/models/transaction_configuration_movement_data.py,sha256=ofaJZQOHloSpT4Y09Sgw-JtQq3RWNwkBl-JLMGg_yYo,7418
|
@@ -1082,7 +1083,7 @@ lusid/models/transaction_query_mode.py,sha256=q3QNcFSP-LwfdQF_yRUOZMd6ElemQm03yO
|
|
1082
1083
|
lusid/models/transaction_query_parameters.py,sha256=sYKAouptXvwNtAzz2SdOi7F-9M5q2xOwqT1kjz8vSNE,3365
|
1083
1084
|
lusid/models/transaction_reconciliation_request.py,sha256=pys1JU22geF_MiZwGBlzhiXQ_daHZ0Cffpce8Wvq7ec,4294
|
1084
1085
|
lusid/models/transaction_reconciliation_request_v2.py,sha256=YjOKUfgsoXVlXLbAP2qDc8wsRV-Te-sxtsvKGJe1cjg,5946
|
1085
|
-
lusid/models/transaction_request.py,sha256=
|
1086
|
+
lusid/models/transaction_request.py,sha256=W0qAUjOVWrS7fVK2qP4VtETic5AAGmM1DPXu-6Rcfl8,10847
|
1086
1087
|
lusid/models/transaction_roles.py,sha256=1r-BzcchffLl6p4lSUhRAUmsVdrl7Bvce2cCiwxJanE,839
|
1087
1088
|
lusid/models/transaction_set_configuration_data.py,sha256=CmMrtyOxpcJd5LXW2egsTf4yPCkoJ7yGUA-WFL07zI4,4411
|
1088
1089
|
lusid/models/transaction_set_configuration_data_request.py,sha256=YWx3s0gvxI-6Zh9HmrbcUw9SO2t7OoEq5rXYJyNOFYU,3947
|
@@ -1093,6 +1094,7 @@ lusid/models/transaction_template_specification.py,sha256=dggD7J8ZSUTznJddC_Sn65
|
|
1093
1094
|
lusid/models/transaction_type.py,sha256=zcWUQPVY5JKEOzNWQls7TjTiKOB7QVY8iFh1zgJXYUc,5765
|
1094
1095
|
lusid/models/transaction_type_alias.py,sha256=xL9k8kjgAcEPe5sfK8asHscvz7gLcAa6pC_eGgVvXlY,3532
|
1095
1096
|
lusid/models/transaction_type_calculation.py,sha256=Re4rt0IuLxo1hgjDz-VyIgQhVat6w7Fh-DwUF19nYYs,2846
|
1097
|
+
lusid/models/transaction_type_details.py,sha256=GC-lanMnyYR_hKlUvU4yU0-exqE6CdMw1081wPUmIj0,3131
|
1096
1098
|
lusid/models/transaction_type_movement.py,sha256=eG4MQrMi0P_ihxOcfsqPAnkYuOmwbho9xQDoAJWH2ro,8695
|
1097
1099
|
lusid/models/transaction_type_property_mapping.py,sha256=2fmP3IJH-44GXE5-jt4Fd55xQscWTrEa76yjQJIUs_4,3249
|
1098
1100
|
lusid/models/transaction_type_request.py,sha256=tuoF4_cUe0KLjF4FN_un_wGtraNfJAXoNrfudvA0zIc,5121
|
@@ -1226,6 +1228,6 @@ lusid/models/workspace_update_request.py,sha256=uUXEpX-dJ5UiL9w1wMxIFeovSBiTJ-vi
|
|
1226
1228
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
1227
1229
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1228
1230
|
lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
|
1229
|
-
lusid_sdk-2.1.
|
1230
|
-
lusid_sdk-2.1.
|
1231
|
-
lusid_sdk-2.1.
|
1231
|
+
lusid_sdk-2.1.585.dist-info/METADATA,sha256=SmSIKY7ABd-yxthbuGI4NmEQIxwnXulnkMz8hBYWKK0,209232
|
1232
|
+
lusid_sdk-2.1.585.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1233
|
+
lusid_sdk-2.1.585.dist-info/RECORD,,
|
File without changes
|