OnixS C++ MTS Repo SDP Handler  1.3.2.8
API documentation
SMP.Classes.TI_INSTRUMENT.h
Go to the documentation of this file.
1 #pragma once
2 /*
3 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
4 *
5 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
6 * and international copyright treaties.
7 *
8 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
9 * Services Agreement (the Agreement) and Customer end user license agreements granting
10 * a non-assignable, non-transferable and non-exclusive license to use the software
11 * for it's own data processing purposes under the terms defined in the Agreement.
12 *
13 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
14 * of this source code or associated reference material to any other location for further reproduction
15 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20 
21 
22 /*
23 --------------
24 GENERATED FILE
25 --------------
26 */
27 
28 
29 #include <string>
33 
34 
35 namespace OnixS {
36 namespace Mts {
37 namespace Repo {
38 namespace SDP {
39 
40 
41 
42 ///
44 {
45 public:
47  {
48  instrumentCode.reserve(12);
49  instrumentDesc.reserve(36);
50  bondTypology.reserve(6);
51  currencyCode.reserve(3);
52  settlCurrencyCode.reserve(3);
53  alternativeCode.reserve(16);
54  }
55 
56  virtual ~TI_INSTRUMENT() {}
57 
58  /// Class id
59  virtual ClassId::Enum id() const
60  {
62  }
63 
64  /// Unique ID of the financial instrument (Bond)
66 
67  /// Alphanumeric ID code of the instrument (ISIN coding)
68  std::string instrumentCode; // maxSize = 12
69 
70  /// Description of the instrument
71  std::string instrumentDesc; // maxSize = 36
72 
73  /// ID of the type of instrument (for example, Corporate)
75 
76  /// Unique ID of the issuing body
78 
79  /// Date of issue of the instrument
81 
82  /// Date of payment of the instrument
84 
85  /// Current coupon rate, expressed as a percentage
86  Double couponRate; // DOUBLE presentation
87 
88  /// Frequency of the coupon. Number of months between the payments of the coupons. Not set for instrument class related to instruments with no coupon
90 
91  /// ID of the type of coupon
93 
94  /// Date on which the first coupon was detached
96 
97  /// Date on which the last coupon was detached before the instrument is paid
99 
100  /// ID of the group to which the instrument belongs, defined as a function of its maturity
102 
103  /// ID of the residual maturity of the instrument on the current date
105 
106  /// Number of days to the maturity of the instrument
108 
109  /// Start date of interest accrual
111 
112  /// Auction price of the instrument
113  Double auctionInstrumentPrice; // DOUBLE presentation
114 
115  /// Yield of the instrument at the time of the auction, expressed as a percentage
116  Double auctionInstrumentYield; // DOUBLE presentation
117 
118  /// Redemption price of the instrument
119  Double redemptionPrice; // DOUBLE presentation
120 
121  /// Flag indicating whether the instrument under examination is of the benchmark type or not
123 
124  /// Time interval between the date on which trading took place and the date on which the operation was settled, expressed as a number of working days
126 
127  /// Time interval allowed to conclude the settlement of the operation, expressed as a number of working days
129 
130  /// First date of settlement of the instrument
132 
133  /// Number of working days between the start date of the exception period and the date on which the coupon was detached
135 
136  /// Number of working days between the stop date of the exception period and the date on which the coupon was detached
138 
139  /// Unique ID code of the type of exception date of the coupon
141 
142  /// Unique ID code of the method for calculating the price or yield of the instrument
144 
145  /// Unique ID code of the method for calculating the discount rate of the instrument
147 
148  /// Unique ID code of the type of calculation of the accrual
150 
151  /// Field used by the Calculation Engine
153 
154  /// Unique ID of the Inflation Index
156 
157  /// It indicates the financial group (for example, BTP, CCT, BTA, BTC, etc.)
158  std::string bondTypology; // maxSize = 6
159 
160  /// Unique ID code of the Trading Currency related to the instrument
161  std::string currencyCode; // maxSize = 3
162 
163  /// Unique ID code of the Settlement Currency related to the instrument
164  std::string settlCurrencyCode; // maxSize = 3
165 
166  /// Base Point Value
167  Double bPV; // DOUBLE presentation
168 
169  /// MTS classification of the financial instrument
171 
172  /// MIC code of the financial instrument
173  std::string alternativeCode; // maxSize = 16
174 
175  /// Issued amount
176  Double outstanding; // DOUBLE presentation
177 
178  /// Allows counterparties with CCP to close a trade in a Bilateral modality
180 
181  /// Flag to determine wheter a bond is unseasoned or not
183 
184 
185  ///
186  size_t deserialize(const void* buf, size_t inLen);
187 
188  /// Provides string presentation
189  virtual std::string toString () const;
190 
191  ///
192  virtual size_t serializationBufSize() const { return 264; }
193 
194  ///
195  virtual TI_INSTRUMENT* clone() const;
196 
197  virtual TI_INSTRUMENT* clone(void*) const;
198 
199 private:
200  virtual size_t serialize(void* buf) const;
201 
202 };
203 
204 
205 }
206 }
207 }
208 }
UInt16 maturityBucket
ID of the group to which the instrument belongs, defined as a function of its maturity.
Double auctionInstrumentYield
Yield of the instrument at the time of the auction, expressed as a percentage.
UInt16 inflationIndexId
Unique ID of the Inflation Index.
std::string currencyCode
Unique ID code of the Trading Currency related to the instrument.
UInt32 issuerId
Unique ID of the issuing body.
UInt16 baseCoefficientIndex
Field used by the Calculation Engine.
UInt16 settlExpiryPeriod
Time interval allowed to conclude the settlement of the operation, expressed as a number of working d...
UInt32 firstSettlDate
First date of settlement of the instrument.
UInt32 firstAccrualDate
Start date of interest accrual.
unsigned short UInt16
Definition: Defines.h:45
UInt32 residualMaturityId
ID of the residual maturity of the instrument on the current date.
Double redemptionPrice
Redemption price of the instrument.
TI_YIELD_FORMULA_TYPE::Enum yieldFormulaType
Unique ID code of the method for calculating the price or yield of the instrument.
UInt32 maturityDate
Date of payment of the instrument.
UInt16 settlPeriod
Time interval between the date on which trading took place and the date on which the operation was se...
UInt16 mTSClassification
MTS classification of the financial instrument.
TI_FLAG::Enum liquidFlag
Flag indicating whether the instrument under examination is of the benchmark type or not...
TI_EXCEPTION_DATE_TYPE::Enum exceptionDateType
Unique ID code of the type of exception date of the coupon.
UInt32 residualMaturityDays
Number of days to the maturity of the instrument.
UInt32 firstCouponDate
Date on which the first coupon was detached.
Double auctionInstrumentPrice
Auction price of the instrument.
unsigned int UInt32
Definition: Defines.h:46
UInt32 lastCouponDate
Date on which the last coupon was detached before the instrument is paid.
TI_DISCOUNT_RATE_FORMULA_TYPE::Enum discountRateFormulaType
Unique ID code of the method for calculating the discount rate of the instrument. ...
std::string instrumentDesc
Description of the instrument.
TI_INSTRUMENT_TYPOLOGY::Enum instrumentTipology
ID of the type of instrument (for example, Corporate)
TI_DAY_COUNT_CONVENTION_TYPE::Enum dayCountConventionType
Unique ID code of the type of calculation of the accrual.
virtual ClassId::Enum id() const
Class id.
std::string settlCurrencyCode
Unique ID code of the Settlement Currency related to the instrument.
TI_COUPON_TYPE::Enum couponType
ID of the type of coupon.
UInt32 financialInstrumentId
Unique ID of the financial instrument (Bond)
std::string alternativeCode
MIC code of the financial instrument.
UInt16 couponFrequency
Frequency of the coupon. Number of months between the payments of the coupons. Not set for instrument...
#define ONIXS_MTS_REPO_SDP_API
Definition: ABI.h:49
std::string instrumentCode
Alphanumeric ID code of the instrument (ISIN coding)
UInt16 stopExceptionDays
Number of working days between the stop date of the exception period and the date on which the coupon...
UInt16 startExceptionDays
Number of working days between the start date of the exception period and the date on which the coupo...
TI_FLAG::Enum cCPEligibleFg
Allows counterparties with CCP to close a trade in a Bilateral modality.
Double couponRate
Current coupon rate, expressed as a percentage.
UInt32 issueDate
Date of issue of the instrument.
TI_FLAG::Enum unseasonedBondFg
Flag to determine wheter a bond is unseasoned or not.
std::string bondTypology
It indicates the financial group (for example, BTP, CCT, BTA, BTC, etc.)