@fintekkers/ledger-models 0.1.143 → 0.2.0
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.
- package/hierarchy.json +131 -0
- package/node/fintekkers/models/security/asset_class_pb.d.ts +1 -0
- package/node/fintekkers/models/security/asset_class_pb.js +2 -1
- package/node/fintekkers/models/security/instrument_type_pb.d.ts +14 -0
- package/node/fintekkers/models/security/{security_type_pb.js → instrument_type_pb.js} +7 -14
- package/node/fintekkers/models/security/product_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/product_type_pb.d.ts +37 -0
- package/node/fintekkers/models/security/product_type_pb.js +58 -0
- package/node/fintekkers/models/security/security_id_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/security_id_pb.d.ts +31 -0
- package/node/fintekkers/models/security/security_id_pb.js +199 -0
- package/node/fintekkers/models/security/security_pb.d.ts +14 -4
- package/node/fintekkers/models/security/security_pb.js +100 -13
- package/node/fintekkers/models/security/security_pb.test.js +2 -2
- package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
- package/node/fintekkers/models/security/security_pb.test.ts +2 -2
- package/node/wrappers/models/position/position_filter_operator.js +1 -1
- package/node/wrappers/models/position/position_filter_operator.js.map +1 -1
- package/node/wrappers/models/position/position_filter_operator.ts +1 -1
- package/node/wrappers/models/price/Price.cash.test.js +2 -2
- package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
- package/node/wrappers/models/price/Price.cash.test.ts +2 -2
- package/node/wrappers/models/security/BondSecurity.js +11 -3
- package/node/wrappers/models/security/BondSecurity.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -2
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -2
- package/node/wrappers/models/security/BondSecurity.test.js +5 -5
- package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.test.ts +5 -5
- package/node/wrappers/models/security/BondSecurity.ts +11 -3
- package/node/wrappers/models/security/asset_class.test.js +2 -0
- package/node/wrappers/models/security/asset_class.test.js.map +1 -1
- package/node/wrappers/models/security/asset_class.test.ts +2 -0
- package/node/wrappers/models/security/product_hierarchy.d.ts +42 -0
- package/node/wrappers/models/security/product_hierarchy.js +157 -0
- package/node/wrappers/models/security/product_hierarchy.js.map +1 -0
- package/node/wrappers/models/security/product_hierarchy.ts +159 -0
- package/node/wrappers/models/security/security-roundtrip.test.js +13 -13
- package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
- package/node/wrappers/models/security/security-roundtrip.test.ts +13 -13
- package/node/wrappers/models/security/security.js +11 -11
- package/node/wrappers/models/security/security.js.map +1 -1
- package/node/wrappers/models/security/security.test.js +3 -3
- package/node/wrappers/models/security/security.test.js.map +1 -1
- package/node/wrappers/models/security/security.test.ts +3 -3
- package/node/wrappers/models/security/security.ts +12 -12
- package/node/wrappers/models/transaction/transaction.derived.test.js +5 -5
- package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.derived.test.ts +5 -5
- package/node/wrappers/models/transaction/transaction.js +14 -14
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.ts +14 -14
- package/node/wrappers/services/security-service/security.test.js +2 -2
- package/node/wrappers/services/security-service/security.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.test.ts +2 -2
- package/package.json +1 -1
- package/tsconfig.json +2 -1
- package/node/fintekkers/models/security/security_type_pb.d.ts +0 -21
- package/node/wrappers/models/security/security_type.d.ts +0 -31
- package/node/wrappers/models/security/security_type.js +0 -45
- package/node/wrappers/models/security/security_type.js.map +0 -1
- package/node/wrappers/models/security/security_type.test.d.ts +0 -1
- package/node/wrappers/models/security/security_type.test.js +0 -68
- package/node/wrappers/models/security/security_type.test.js.map +0 -1
- package/node/wrappers/models/security/security_type.test.ts +0 -74
- package/node/wrappers/models/security/security_type.ts +0 -47
- /package/node/fintekkers/models/security/{security_type_grpc_pb.js → instrument_type_grpc_pb.js} +0 -0
|
@@ -4,7 +4,7 @@ const field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
|
4
4
|
const datetime_1 = require("../utils/datetime");
|
|
5
5
|
const uuid_1 = require("../utils/uuid");
|
|
6
6
|
const date_1 = require("../utils/date");
|
|
7
|
-
const
|
|
7
|
+
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
8
8
|
class Security {
|
|
9
9
|
constructor(proto) {
|
|
10
10
|
this.proto = proto;
|
|
@@ -13,10 +13,10 @@ class Security {
|
|
|
13
13
|
* Factory method to create the appropriate Security subclass based on security type
|
|
14
14
|
*/
|
|
15
15
|
static create(proto) {
|
|
16
|
-
switch (proto.
|
|
17
|
-
case
|
|
18
|
-
case
|
|
19
|
-
case
|
|
16
|
+
switch (proto.getProductType()) {
|
|
17
|
+
case product_type_pb_1.ProductTypeProto.TREASURY_NOTE:
|
|
18
|
+
case product_type_pb_1.ProductTypeProto.TIPS:
|
|
19
|
+
case product_type_pb_1.ProductTypeProto.TREASURY_FRN:
|
|
20
20
|
// Lazy import to avoid circular dependency
|
|
21
21
|
const BondSecurity = require('./BondSecurity').default;
|
|
22
22
|
return new BondSecurity(proto);
|
|
@@ -37,10 +37,10 @@ class Security {
|
|
|
37
37
|
* works regardless of how the wrapper was constructed.
|
|
38
38
|
*/
|
|
39
39
|
isBond() {
|
|
40
|
-
const t = this.proto.
|
|
41
|
-
return t ===
|
|
42
|
-
|| t ===
|
|
43
|
-
|| t ===
|
|
40
|
+
const t = this.proto.getProductType();
|
|
41
|
+
return t === product_type_pb_1.ProductTypeProto.TREASURY_NOTE
|
|
42
|
+
|| t === product_type_pb_1.ProductTypeProto.TIPS
|
|
43
|
+
|| t === product_type_pb_1.ProductTypeProto.TREASURY_FRN;
|
|
44
44
|
}
|
|
45
45
|
toString() {
|
|
46
46
|
return `ID[${this.getID().toString()}], ${this.getSecurityID()}[${this.getIssuerName()}]`;
|
|
@@ -104,8 +104,8 @@ class Security {
|
|
|
104
104
|
throw new Error('Not implemented yet. See Java implementation for reference');
|
|
105
105
|
}
|
|
106
106
|
getProductType() {
|
|
107
|
-
const securityType = this.proto.
|
|
108
|
-
const securityTypeString = Object.keys(
|
|
107
|
+
const securityType = this.proto.getProductType();
|
|
108
|
+
const securityTypeString = Object.keys(product_type_pb_1.ProductTypeProto).find(key => product_type_pb_1.ProductTypeProto[key] === securityType);
|
|
109
109
|
return securityTypeString || 'UNKNOWN_SECURITY_TYPE';
|
|
110
110
|
}
|
|
111
111
|
getSecurityID() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":";;AAAA,2EAA0E;AAG1E,gDAAkD;AAClD,wCAAqC;AACrC,wCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const security_1 = __importDefault(require("./security"));
|
|
|
10
10
|
const BondSecurity_1 = __importDefault(require("./BondSecurity"));
|
|
11
11
|
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
12
12
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
13
|
-
const
|
|
13
|
+
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
14
14
|
const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
|
|
15
15
|
const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_type_pb");
|
|
16
16
|
const security_quantity_type_pb_1 = require("../../../fintekkers/models/security/security_quantity_type_pb");
|
|
@@ -82,7 +82,7 @@ function dummyBondSecurity() {
|
|
|
82
82
|
// to BondSecurity.
|
|
83
83
|
return security_1.default.create(new security_pb_1.SecurityProto()
|
|
84
84
|
.setObjectClass('Security').setVersion('0.0.1').setUuid(uuid_1.UUID.random().toUUIDProto())
|
|
85
|
-
.
|
|
85
|
+
.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE)
|
|
86
86
|
.setFaceValue(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
|
|
87
87
|
.setQuantityType(security_quantity_type_pb_1.SecurityQuantityTypeProto.ORIGINAL_FACE_VALUE)
|
|
88
88
|
.setAssetClass("Bond")
|
|
@@ -100,7 +100,7 @@ function dummyEquity() {
|
|
|
100
100
|
// behavior on getMaturityDate.
|
|
101
101
|
return security_1.default.create(new security_pb_1.SecurityProto()
|
|
102
102
|
.setObjectClass('Security').setVersion('0.0.1').setUuid(uuid_1.UUID.random().toUUIDProto())
|
|
103
|
-
.
|
|
103
|
+
.setProductType(product_type_pb_1.ProductTypeProto.COMMON_STOCK)
|
|
104
104
|
.setAssetClass("Equity")
|
|
105
105
|
.setIssuerName("Dummy issuer Inc.")
|
|
106
106
|
.setDescription("Dummy equity"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":";;;;;AAAA,iFAA+E;AAC/E,wCAAqC;AAErC,iCAAkC;AAClC,0DAAkC;AAClC,kEAA0C;AAE1C,uFAAqF;AACrF,iFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import BondSecurity from './BondSecurity';
|
|
|
7
7
|
|
|
8
8
|
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
9
9
|
import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
10
|
-
import {
|
|
10
|
+
import { ProductTypeProto } from "../../../fintekkers/models/security/product_type_pb";
|
|
11
11
|
import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon_frequency_pb';
|
|
12
12
|
import { CouponTypeProto } from '../../../fintekkers/models/security/coupon_type_pb';
|
|
13
13
|
import { SecurityQuantityTypeProto } from '../../../fintekkers/models/security/security_quantity_type_pb';
|
|
@@ -92,7 +92,7 @@ function dummyBondSecurity() {
|
|
|
92
92
|
// to BondSecurity.
|
|
93
93
|
return Security.create(new SecurityProto()
|
|
94
94
|
.setObjectClass('Security').setVersion('0.0.1').setUuid(UUID.random().toUUIDProto())
|
|
95
|
-
.
|
|
95
|
+
.setProductType(ProductTypeProto.TREASURY_NOTE)
|
|
96
96
|
.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
|
|
97
97
|
.setQuantityType(SecurityQuantityTypeProto.ORIGINAL_FACE_VALUE)
|
|
98
98
|
.setAssetClass("Bond")
|
|
@@ -112,7 +112,7 @@ function dummyEquity() {
|
|
|
112
112
|
// behavior on getMaturityDate.
|
|
113
113
|
return Security.create(new SecurityProto()
|
|
114
114
|
.setObjectClass('Security').setVersion('0.0.1').setUuid(UUID.random().toUUIDProto())
|
|
115
|
-
.
|
|
115
|
+
.setProductType(ProductTypeProto.COMMON_STOCK)
|
|
116
116
|
.setAssetClass("Equity")
|
|
117
117
|
.setIssuerName("Dummy issuer Inc.")
|
|
118
118
|
.setDescription("Dummy equity")
|
|
@@ -4,7 +4,7 @@ import { SecurityProto } from "../../../fintekkers/models/security/security_pb";
|
|
|
4
4
|
import { ZonedDateTime } from "../utils/datetime";
|
|
5
5
|
import { UUID } from "../utils/uuid";
|
|
6
6
|
import { LocalDate } from "../utils/date";
|
|
7
|
-
import {
|
|
7
|
+
import { ProductTypeProto } from "../../../fintekkers/models/security/product_type_pb";
|
|
8
8
|
|
|
9
9
|
class Security {
|
|
10
10
|
proto: SecurityProto;
|
|
@@ -17,10 +17,10 @@ class Security {
|
|
|
17
17
|
* Factory method to create the appropriate Security subclass based on security type
|
|
18
18
|
*/
|
|
19
19
|
static create(proto: SecurityProto): Security {
|
|
20
|
-
switch (proto.
|
|
21
|
-
case
|
|
22
|
-
case
|
|
23
|
-
case
|
|
20
|
+
switch (proto.getProductType()) {
|
|
21
|
+
case ProductTypeProto.TREASURY_NOTE:
|
|
22
|
+
case ProductTypeProto.TIPS:
|
|
23
|
+
case ProductTypeProto.TREASURY_FRN:
|
|
24
24
|
// Lazy import to avoid circular dependency
|
|
25
25
|
const BondSecurity = require('./BondSecurity').default;
|
|
26
26
|
return new BondSecurity(proto);
|
|
@@ -42,10 +42,10 @@ class Security {
|
|
|
42
42
|
* works regardless of how the wrapper was constructed.
|
|
43
43
|
*/
|
|
44
44
|
isBond(): this is import('./BondSecurity').default {
|
|
45
|
-
const t = this.proto.
|
|
46
|
-
return t ===
|
|
47
|
-
|| t ===
|
|
48
|
-
|| t ===
|
|
45
|
+
const t = this.proto.getProductType();
|
|
46
|
+
return t === ProductTypeProto.TREASURY_NOTE
|
|
47
|
+
|| t === ProductTypeProto.TIPS
|
|
48
|
+
|| t === ProductTypeProto.TREASURY_FRN;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
|
|
@@ -117,9 +117,9 @@ class Security {
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
getProductType(): string {
|
|
120
|
-
const securityType = this.proto.
|
|
121
|
-
const securityTypeString = (Object.keys(
|
|
122
|
-
key =>
|
|
120
|
+
const securityType = this.proto.getProductType();
|
|
121
|
+
const securityTypeString = (Object.keys(ProductTypeProto) as Array<keyof typeof ProductTypeProto>).find(
|
|
122
|
+
key => ProductTypeProto[key] === securityType
|
|
123
123
|
);
|
|
124
124
|
|
|
125
125
|
return securityTypeString || 'UNKNOWN_SECURITY_TYPE';
|
|
@@ -9,7 +9,7 @@ const transaction_type_1 = require("./transaction_type");
|
|
|
9
9
|
const transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
|
|
10
10
|
const security_1 = __importDefault(require("../security/security"));
|
|
11
11
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
12
|
-
const
|
|
12
|
+
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
13
13
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
14
14
|
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
15
15
|
const security_quantity_type_pb_1 = require("../../../fintekkers/models/security/security_quantity_type_pb");
|
|
@@ -40,7 +40,7 @@ function testCreateCashTransaction() {
|
|
|
40
40
|
const cashSecurity = createCashSecurity();
|
|
41
41
|
const cashTransaction = transaction_1.default.createCashTransaction(cashSecurity, buyTransaction);
|
|
42
42
|
assert(cashTransaction.getTransactionType().proto === transaction_type_pb_1.TransactionTypeProto.WITHDRAWAL, 'BUY transaction should create WITHDRAWAL cash transaction');
|
|
43
|
-
assert(cashTransaction.getSecurity().proto.
|
|
43
|
+
assert(cashTransaction.getSecurity().proto.getProductType() === product_type_pb_1.ProductTypeProto.CURRENCY, 'Cash transaction should have cash security');
|
|
44
44
|
assert(buyTransaction.getChildrenTransactions().length === 1, 'Parent transaction should have one child');
|
|
45
45
|
const foundCash = buyTransaction.getCashTransaction();
|
|
46
46
|
assert(foundCash !== null && foundCash.getID().toString() === cashTransaction.getID().toString(), 'getCashTransaction should return the created cash transaction');
|
|
@@ -140,7 +140,7 @@ function createBondSecurity() {
|
|
|
140
140
|
.setObjectClass('Security')
|
|
141
141
|
.setVersion('0.0.1')
|
|
142
142
|
.setUuid(uuid_1.UUID.random().toUUIDProto())
|
|
143
|
-
.
|
|
143
|
+
.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE)
|
|
144
144
|
.setFaceValue(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
|
|
145
145
|
.setQuantityType(security_quantity_type_pb_1.SecurityQuantityTypeProto.ORIGINAL_FACE_VALUE)
|
|
146
146
|
.setAssetClass('FixedIncome')
|
|
@@ -158,7 +158,7 @@ function createEquityTransaction() {
|
|
|
158
158
|
.setObjectClass('Security')
|
|
159
159
|
.setVersion('0.0.1')
|
|
160
160
|
.setUuid(uuid_1.UUID.random().toUUIDProto())
|
|
161
|
-
.
|
|
161
|
+
.setProductType(product_type_pb_1.ProductTypeProto.COMMON_STOCK)
|
|
162
162
|
.setAssetClass('Equity')
|
|
163
163
|
.setAsOf(datetime_1.ZonedDateTime.now().toProto()));
|
|
164
164
|
const portfolio = (0, portfolio_test_1.dummyPortfolio)();
|
|
@@ -178,7 +178,7 @@ function createCashSecurity() {
|
|
|
178
178
|
.setObjectClass('Security')
|
|
179
179
|
.setVersion('0.0.1')
|
|
180
180
|
.setUuid(uuid_1.UUID.random().toUUIDProto())
|
|
181
|
-
.
|
|
181
|
+
.setProductType(product_type_pb_1.ProductTypeProto.CURRENCY)
|
|
182
182
|
.setAssetClass('Cash')
|
|
183
183
|
.setAsOf(datetime_1.ZonedDateTime.now().toProto()));
|
|
184
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.derived.test.js","sourceRoot":"","sources":["transaction.derived.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAkC;AAClC,gEAAwC;AACxC,yDAAqD;AACrD,oGAAkG;AAElG,oEAA4C;AAE5C,iFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"transaction.derived.test.js","sourceRoot":"","sources":["transaction.derived.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { PositionStatusProto } from '../../../fintekkers/models/position/positio
|
|
|
6
6
|
import Security from '../security/security';
|
|
7
7
|
import Portfolio from '../portfolio/portfolio';
|
|
8
8
|
import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
9
|
-
import {
|
|
9
|
+
import { ProductTypeProto } from "../../../fintekkers/models/security/product_type_pb";
|
|
10
10
|
import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
|
|
11
11
|
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
12
12
|
import { SecurityQuantityTypeProto } from '../../../fintekkers/models/security/security_quantity_type_pb';
|
|
@@ -46,7 +46,7 @@ function testCreateCashTransaction(): void {
|
|
|
46
46
|
|
|
47
47
|
assert(cashTransaction.getTransactionType().proto === TransactionTypeProto.WITHDRAWAL,
|
|
48
48
|
'BUY transaction should create WITHDRAWAL cash transaction');
|
|
49
|
-
assert(cashTransaction.getSecurity().proto.
|
|
49
|
+
assert(cashTransaction.getSecurity().proto.getProductType() === ProductTypeProto.CURRENCY,
|
|
50
50
|
'Cash transaction should have cash security');
|
|
51
51
|
assert(buyTransaction.getChildrenTransactions().length === 1,
|
|
52
52
|
'Parent transaction should have one child');
|
|
@@ -185,7 +185,7 @@ function createBondSecurity(): Security {
|
|
|
185
185
|
.setObjectClass('Security')
|
|
186
186
|
.setVersion('0.0.1')
|
|
187
187
|
.setUuid(UUID.random().toUUIDProto())
|
|
188
|
-
.
|
|
188
|
+
.setProductType(ProductTypeProto.TREASURY_NOTE)
|
|
189
189
|
.setFaceValue(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
|
|
190
190
|
.setQuantityType(SecurityQuantityTypeProto.ORIGINAL_FACE_VALUE)
|
|
191
191
|
.setAssetClass('FixedIncome')
|
|
@@ -205,7 +205,7 @@ function createEquityTransaction(): Transaction {
|
|
|
205
205
|
.setObjectClass('Security')
|
|
206
206
|
.setVersion('0.0.1')
|
|
207
207
|
.setUuid(UUID.random().toUUIDProto())
|
|
208
|
-
.
|
|
208
|
+
.setProductType(ProductTypeProto.COMMON_STOCK)
|
|
209
209
|
.setAssetClass('Equity')
|
|
210
210
|
.setAsOf(ZonedDateTime.now().toProto())
|
|
211
211
|
);
|
|
@@ -228,7 +228,7 @@ function createCashSecurity(): Security {
|
|
|
228
228
|
.setObjectClass('Security')
|
|
229
229
|
.setVersion('0.0.1')
|
|
230
230
|
.setUuid(UUID.random().toUUIDProto())
|
|
231
|
-
.
|
|
231
|
+
.setProductType(ProductTypeProto.CURRENCY)
|
|
232
232
|
.setAssetClass('Cash')
|
|
233
233
|
.setAsOf(ZonedDateTime.now().toProto())
|
|
234
234
|
);
|
|
@@ -13,7 +13,7 @@ const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_valu
|
|
|
13
13
|
const security_1 = __importDefault(require("../security/security"));
|
|
14
14
|
const portfolio_1 = __importDefault(require("../portfolio/portfolio"));
|
|
15
15
|
const Price_1 = __importDefault(require("../price/Price"));
|
|
16
|
-
const
|
|
16
|
+
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
17
17
|
//Model Utils
|
|
18
18
|
const datetime_1 = require("../utils/datetime");
|
|
19
19
|
const uuid_1 = require("../utils/uuid");
|
|
@@ -189,7 +189,7 @@ class Transaction {
|
|
|
189
189
|
* @returns true if the security is cash, false otherwise
|
|
190
190
|
*/
|
|
191
191
|
isCashSecurity() {
|
|
192
|
-
return this.getSecurity().proto.
|
|
192
|
+
return this.getSecurity().proto.getProductType() === product_type_pb_1.ProductTypeProto.CURRENCY;
|
|
193
193
|
}
|
|
194
194
|
/**
|
|
195
195
|
* Searches child transactions for a cash transaction
|
|
@@ -236,10 +236,10 @@ class Transaction {
|
|
|
236
236
|
}
|
|
237
237
|
// Calculate book amount
|
|
238
238
|
let bookAmount;
|
|
239
|
-
const securityType = parentTransaction.getSecurity().proto.
|
|
240
|
-
if (securityType ===
|
|
241
|
-
securityType ===
|
|
242
|
-
securityType ===
|
|
239
|
+
const securityType = parentTransaction.getSecurity().proto.getProductType();
|
|
240
|
+
if (securityType === product_type_pb_1.ProductTypeProto.TREASURY_NOTE ||
|
|
241
|
+
securityType === product_type_pb_1.ProductTypeProto.TIPS ||
|
|
242
|
+
securityType === product_type_pb_1.ProductTypeProto.TREASURY_FRN) {
|
|
243
243
|
// For bond securities
|
|
244
244
|
if (parentType === transaction_type_pb_1.TransactionTypeProto.MATURATION || parentType === transaction_type_pb_1.TransactionTypeProto.MATURATION_OFFSET) {
|
|
245
245
|
// For maturation transactions, use quantity directly
|
|
@@ -338,10 +338,10 @@ class Transaction {
|
|
|
338
338
|
* @param cashSecurity - The cash security to use for cash impacts
|
|
339
339
|
*/
|
|
340
340
|
static addDerivedTransactions(transaction, cashSecurity) {
|
|
341
|
-
const securityType = transaction.getSecurity().proto.
|
|
342
|
-
const isBond = securityType ===
|
|
343
|
-
securityType ===
|
|
344
|
-
securityType ===
|
|
341
|
+
const securityType = transaction.getSecurity().proto.getProductType();
|
|
342
|
+
const isBond = securityType === product_type_pb_1.ProductTypeProto.TREASURY_NOTE ||
|
|
343
|
+
securityType === product_type_pb_1.ProductTypeProto.TREASURY_FRN ||
|
|
344
|
+
securityType === product_type_pb_1.ProductTypeProto.TIPS;
|
|
345
345
|
const transactionType = transaction.getTransactionType().proto;
|
|
346
346
|
const isABuyTransaction = transactionType === transaction_type_pb_1.TransactionTypeProto.BUY;
|
|
347
347
|
const isASellTransaction = transactionType === transaction_type_pb_1.TransactionTypeProto.SELL;
|
|
@@ -387,7 +387,7 @@ exports.default = Transaction;
|
|
|
387
387
|
// throw new RuntimeException("SHOULDN'T GET HERE");
|
|
388
388
|
// }
|
|
389
389
|
// BigDecimal bookAmount = null;
|
|
390
|
-
// switch(parentTransaction.getSecurity().
|
|
390
|
+
// switch(parentTransaction.getSecurity().getProductType()) {
|
|
391
391
|
// case BOND_SECURITY:
|
|
392
392
|
// if(TransactionType.MATURATION.equals(parentTransaction.getTransactionType())
|
|
393
393
|
// || TransactionType.MATURATION_OFFSET.equals(parentTransaction.getTransactionType())) {
|
|
@@ -432,9 +432,9 @@ exports.default = Transaction;
|
|
|
432
432
|
// */
|
|
433
433
|
// public static void addDerivedTransactions(Transaction transaction) {
|
|
434
434
|
// //TODO: Best to co-locate this with the transaction instantiator where we calculate the cash impacts, right?!
|
|
435
|
-
// boolean isBond =
|
|
436
|
-
// ||
|
|
437
|
-
// ||
|
|
435
|
+
// boolean isBond = ProductTypeProto.TREASURY_NOTE.equals(transaction.getSecurity().getProductType())
|
|
436
|
+
// || ProductTypeProto.TREASURY_FRN.equals(transaction.getSecurity().getProductType())
|
|
437
|
+
// || ProductTypeProto.TIPS.equals(transaction.getSecurity().getProductType());
|
|
438
438
|
// boolean isABuyTransaction = TransactionType.BUY.equals(transaction.getTransactionType());
|
|
439
439
|
// boolean isASellTransaction = TransactionType.SELL.equals(transaction.getTransactionType());
|
|
440
440
|
// boolean isaMaturationTransaction = !TransactionType.MATURATION.equals(transaction.getTransactionType())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { DecimalValueProto } from "../../../fintekkers/models/util/decimal_value
|
|
|
11
11
|
import Security from "../security/security";
|
|
12
12
|
import Portfolio from "../portfolio/portfolio";
|
|
13
13
|
import Price from "../price/Price";
|
|
14
|
-
import {
|
|
14
|
+
import { ProductTypeProto } from "../../../fintekkers/models/security/product_type_pb";
|
|
15
15
|
|
|
16
16
|
//Model Utils
|
|
17
17
|
import { ZonedDateTime } from "../utils/datetime";
|
|
@@ -225,7 +225,7 @@ class Transaction {
|
|
|
225
225
|
* @returns true if the security is cash, false otherwise
|
|
226
226
|
*/
|
|
227
227
|
isCashSecurity(): boolean {
|
|
228
|
-
return this.getSecurity().proto.
|
|
228
|
+
return this.getSecurity().proto.getProductType() === ProductTypeProto.CURRENCY;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
/**
|
|
@@ -273,11 +273,11 @@ class Transaction {
|
|
|
273
273
|
|
|
274
274
|
// Calculate book amount
|
|
275
275
|
let bookAmount: Decimal;
|
|
276
|
-
const securityType = parentTransaction.getSecurity().proto.
|
|
276
|
+
const securityType = parentTransaction.getSecurity().proto.getProductType();
|
|
277
277
|
|
|
278
|
-
if (securityType ===
|
|
279
|
-
securityType ===
|
|
280
|
-
securityType ===
|
|
278
|
+
if (securityType === ProductTypeProto.TREASURY_NOTE ||
|
|
279
|
+
securityType === ProductTypeProto.TIPS ||
|
|
280
|
+
securityType === ProductTypeProto.TREASURY_FRN) {
|
|
281
281
|
// For bond securities
|
|
282
282
|
if (parentType === TransactionTypeProto.MATURATION || parentType === TransactionTypeProto.MATURATION_OFFSET) {
|
|
283
283
|
// For maturation transactions, use quantity directly
|
|
@@ -393,10 +393,10 @@ class Transaction {
|
|
|
393
393
|
* @param cashSecurity - The cash security to use for cash impacts
|
|
394
394
|
*/
|
|
395
395
|
static addDerivedTransactions(transaction: Transaction, cashSecurity: Security): void {
|
|
396
|
-
const securityType = transaction.getSecurity().proto.
|
|
397
|
-
const isBond = securityType ===
|
|
398
|
-
securityType ===
|
|
399
|
-
securityType ===
|
|
396
|
+
const securityType = transaction.getSecurity().proto.getProductType();
|
|
397
|
+
const isBond = securityType === ProductTypeProto.TREASURY_NOTE ||
|
|
398
|
+
securityType === ProductTypeProto.TREASURY_FRN ||
|
|
399
|
+
securityType === ProductTypeProto.TIPS;
|
|
400
400
|
|
|
401
401
|
const transactionType = transaction.getTransactionType().proto;
|
|
402
402
|
const isABuyTransaction = transactionType === TransactionTypeProto.BUY;
|
|
@@ -452,7 +452,7 @@ export default Transaction;
|
|
|
452
452
|
|
|
453
453
|
// BigDecimal bookAmount = null;
|
|
454
454
|
|
|
455
|
-
// switch(parentTransaction.getSecurity().
|
|
455
|
+
// switch(parentTransaction.getSecurity().getProductType()) {
|
|
456
456
|
// case BOND_SECURITY:
|
|
457
457
|
// if(TransactionType.MATURATION.equals(parentTransaction.getTransactionType())
|
|
458
458
|
// || TransactionType.MATURATION_OFFSET.equals(parentTransaction.getTransactionType())) {
|
|
@@ -502,9 +502,9 @@ export default Transaction;
|
|
|
502
502
|
// */
|
|
503
503
|
// public static void addDerivedTransactions(Transaction transaction) {
|
|
504
504
|
// //TODO: Best to co-locate this with the transaction instantiator where we calculate the cash impacts, right?!
|
|
505
|
-
// boolean isBond =
|
|
506
|
-
// ||
|
|
507
|
-
// ||
|
|
505
|
+
// boolean isBond = ProductTypeProto.TREASURY_NOTE.equals(transaction.getSecurity().getProductType())
|
|
506
|
+
// || ProductTypeProto.TREASURY_FRN.equals(transaction.getSecurity().getProductType())
|
|
507
|
+
// || ProductTypeProto.TIPS.equals(transaction.getSecurity().getProductType());
|
|
508
508
|
// boolean isABuyTransaction = TransactionType.BUY.equals(transaction.getTransactionType());
|
|
509
509
|
// boolean isASellTransaction = TransactionType.SELL.equals(transaction.getTransactionType());
|
|
510
510
|
// boolean isaMaturationTransaction = !TransactionType.MATURATION.equals(transaction.getTransactionType())
|
|
@@ -37,7 +37,7 @@ const security_pb_1 = require("../../../fintekkers/models/security/security_pb")
|
|
|
37
37
|
const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
|
|
38
38
|
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
39
39
|
const coupon_type_pb_1 = require("../../../fintekkers/models/security/coupon_type_pb");
|
|
40
|
-
const
|
|
40
|
+
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
41
41
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
42
42
|
// Model Utils
|
|
43
43
|
const field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
@@ -70,7 +70,7 @@ function testSecurity() {
|
|
|
70
70
|
security.setAssetClass('FixedIncome');
|
|
71
71
|
security.setCouponFrequency(coupon_frequency_pb_1.CouponFrequencyProto.SEMIANNUALLY);
|
|
72
72
|
security.setCouponType(coupon_type_pb_1.CouponTypeProto.FIXED);
|
|
73
|
-
security.
|
|
73
|
+
security.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE);
|
|
74
74
|
const faceValue = new decimal_value_pb_1.DecimalValueProto();
|
|
75
75
|
faceValue.setArbitraryPrecisionValue('1000.00');
|
|
76
76
|
security.setFaceValue(faceValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,iFAAgF;AAChF,iGAA+F;AAC/F,uFAAqF;AACrF,uFAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"security.test.js","sourceRoot":"","sources":["security.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
|
3
3
|
import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon_frequency_pb';
|
|
4
4
|
import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
|
|
5
5
|
import { CouponTypeProto } from '../../../fintekkers/models/security/coupon_type_pb';
|
|
6
|
-
import {
|
|
6
|
+
import { ProductTypeProto } from "../../../fintekkers/models/security/product_type_pb";
|
|
7
7
|
import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
|
|
8
8
|
|
|
9
9
|
// Model Utils
|
|
@@ -44,7 +44,7 @@ async function testSecurity(): Promise<boolean> {
|
|
|
44
44
|
security.setAssetClass('FixedIncome');
|
|
45
45
|
security.setCouponFrequency(CouponFrequencyProto.SEMIANNUALLY);
|
|
46
46
|
security.setCouponType(CouponTypeProto.FIXED);
|
|
47
|
-
security.
|
|
47
|
+
security.setProductType(ProductTypeProto.TREASURY_NOTE);
|
|
48
48
|
|
|
49
49
|
const faceValue = new DecimalValueProto();
|
|
50
50
|
faceValue.setArbitraryPrecisionValue('1000.00');
|