@vuu-ui/vuu-data-test 2.1.18 → 2.1.19-beta.2
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/package.json +10 -13
- package/src/ArrayProxy.js +38 -0
- package/src/RuntimeVisualLink.js +45 -0
- package/src/SessionTable.js +49 -0
- package/src/Table.js +96 -0
- package/src/TickingArrayDataSource.js +208 -0
- package/src/UpdateGenerator.js +72 -0
- package/src/basket/BasketModule.js +272 -0
- package/src/basket/basket-schemas.js +355 -0
- package/src/basket/index.js +2 -0
- package/src/basket/reference-data/constituents.js +76 -0
- package/src/basket/reference-data/ftse100.js +686 -0
- package/src/basket/reference-data/hsi.js +1047 -0
- package/src/basket/reference-data/nasdaq100.js +812 -0
- package/src/basket/reference-data/prices.js +43 -0
- package/src/basket/reference-data/sp500.js +315 -0
- package/src/core/module/ModuleContainer.js +21 -0
- package/src/core/module/VuuModule.js +476 -0
- package/src/core/table/TableContainer.js +97 -0
- package/src/data-utils.js +53 -0
- package/src/index.js +13 -0
- package/src/local-datasource-provider/LocalDatasourceProvider.js +44 -0
- package/src/makeSuggestions.js +20 -0
- package/src/rowUpdates.js +0 -0
- package/src/schemas.js +19 -0
- package/src/session-table-utils.js +16 -0
- package/src/simul/SimulModule.js +175 -0
- package/src/simul/index.js +2 -0
- package/src/simul/reference-data/accounts.js +23 -0
- package/src/simul/reference-data/algos.js +9 -0
- package/src/simul/reference-data/currencies.js +8 -0
- package/src/simul/reference-data/index.js +5 -0
- package/src/simul/reference-data/instrument-prices.js +48 -0
- package/src/simul/reference-data/instruments-extended.js +12 -0
- package/src/simul/reference-data/instruments.js +67 -0
- package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +2 -0
- package/src/simul/reference-data/isin-generator/fixtures/alphabet.js +27 -0
- package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
- package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +13 -0
- package/src/simul/reference-data/isin-generator/generate-cusip-check-code.js +17 -0
- package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +8 -0
- package/src/simul/reference-data/isin-generator/generate-cusip.js +8 -0
- package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.js +3 -0
- package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.js +2 -0
- package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +7 -0
- package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +7 -0
- package/src/simul/reference-data/isin-generator/index.js +280 -0
- package/src/simul/reference-data/isin-generator/is-odd.js +2 -0
- package/src/simul/reference-data/locations.js +45 -0
- package/src/simul/reference-data/lotsizes.js +24 -0
- package/src/simul/reference-data/orderStatus.js +6 -0
- package/src/simul/reference-data/orders.js +64 -0
- package/src/simul/reference-data/parent-child-orders.js +117 -0
- package/src/simul/reference-data/priceStrategies.js +8 -0
- package/src/simul/reference-data/prices.js +78 -0
- package/src/simul/reference-data/sides.js +5 -0
- package/src/simul/simul-schemas.js +428 -0
- package/src/test/TestModule.js +95 -0
- package/src/test/index.js +1 -0
- package/src/test/test-schemas.js +74 -0
- package/src/vuu-row-generator.js +71 -0
- package/types/TickingArrayDataSource.d.ts +1 -1
- package/types/basket/BasketModule.d.ts +9 -9
- package/types/basket/reference-data/prices.d.ts +1 -1
- package/types/simul/reference-data/instruments-extended.d.ts +1 -1
- package/types/simul/reference-data/instruments.d.ts +1 -1
- package/types/simul/reference-data/orders.d.ts +1 -1
- package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
- package/types/simul/reference-data/prices.d.ts +1 -1
- package/cjs/ArrayProxy.js +0 -72
- package/cjs/ArrayProxy.js.map +0 -1
- package/cjs/RuntimeVisualLink.js +0 -73
- package/cjs/RuntimeVisualLink.js.map +0 -1
- package/cjs/SessionTable.js +0 -68
- package/cjs/SessionTable.js.map +0 -1
- package/cjs/Table.js +0 -128
- package/cjs/Table.js.map +0 -1
- package/cjs/TickingArrayDataSource.js +0 -316
- package/cjs/TickingArrayDataSource.js.map +0 -1
- package/cjs/UpdateGenerator.js +0 -94
- package/cjs/UpdateGenerator.js.map +0 -1
- package/cjs/basket/BasketModule.js +0 -282
- package/cjs/basket/BasketModule.js.map +0 -1
- package/cjs/basket/basket-schemas.js +0 -123
- package/cjs/basket/basket-schemas.js.map +0 -1
- package/cjs/basket/reference-data/constituents.js +0 -40
- package/cjs/basket/reference-data/constituents.js.map +0 -1
- package/cjs/basket/reference-data/ftse100.js +0 -105
- package/cjs/basket/reference-data/ftse100.js.map +0 -1
- package/cjs/basket/reference-data/hsi.js +0 -87
- package/cjs/basket/reference-data/hsi.js.map +0 -1
- package/cjs/basket/reference-data/nasdaq100.js +0 -108
- package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
- package/cjs/basket/reference-data/sp500.js +0 -46
- package/cjs/basket/reference-data/sp500.js.map +0 -1
- package/cjs/core/module/ModuleContainer.js +0 -43
- package/cjs/core/module/ModuleContainer.js.map +0 -1
- package/cjs/core/module/VuuModule.js +0 -660
- package/cjs/core/module/VuuModule.js.map +0 -1
- package/cjs/core/table/TableContainer.js +0 -139
- package/cjs/core/table/TableContainer.js.map +0 -1
- package/cjs/data-utils.js +0 -47
- package/cjs/data-utils.js.map +0 -1
- package/cjs/index.js +0 -46
- package/cjs/index.js.map +0 -1
- package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
- package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
- package/cjs/makeSuggestions.js +0 -26
- package/cjs/makeSuggestions.js.map +0 -1
- package/cjs/schemas.js +0 -28
- package/cjs/schemas.js.map +0 -1
- package/cjs/session-table-utils.js +0 -12
- package/cjs/session-table-utils.js.map +0 -1
- package/cjs/simul/SimulModule.js +0 -187
- package/cjs/simul/SimulModule.js.map +0 -1
- package/cjs/simul/reference-data/accounts.js +0 -27
- package/cjs/simul/reference-data/accounts.js.map +0 -1
- package/cjs/simul/reference-data/algos.js +0 -6
- package/cjs/simul/reference-data/algos.js.map +0 -1
- package/cjs/simul/reference-data/currencies.js +0 -6
- package/cjs/simul/reference-data/currencies.js.map +0 -1
- package/cjs/simul/reference-data/instruments-extended.js +0 -19
- package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
- package/cjs/simul/reference-data/instruments.js +0 -85
- package/cjs/simul/reference-data/instruments.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
- package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
- package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
- package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
- package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
- package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
- package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
- package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
- package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
- package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
- package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/index.js +0 -295
- package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
- package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
- package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
- package/cjs/simul/reference-data/locations.js +0 -17
- package/cjs/simul/reference-data/locations.js.map +0 -1
- package/cjs/simul/reference-data/lotsizes.js +0 -28
- package/cjs/simul/reference-data/lotsizes.js.map +0 -1
- package/cjs/simul/reference-data/orderStatus.js +0 -6
- package/cjs/simul/reference-data/orderStatus.js.map +0 -1
- package/cjs/simul/reference-data/orders.js +0 -55
- package/cjs/simul/reference-data/orders.js.map +0 -1
- package/cjs/simul/reference-data/parent-child-orders.js +0 -144
- package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
- package/cjs/simul/reference-data/prices.js +0 -89
- package/cjs/simul/reference-data/prices.js.map +0 -1
- package/cjs/simul/reference-data/sides.js +0 -6
- package/cjs/simul/reference-data/sides.js.map +0 -1
- package/cjs/simul/simul-schemas.js +0 -150
- package/cjs/simul/simul-schemas.js.map +0 -1
- package/cjs/test/TestModule.js +0 -86
- package/cjs/test/TestModule.js.map +0 -1
- package/cjs/test/test-schemas.js +0 -52
- package/cjs/test/test-schemas.js.map +0 -1
- package/cjs/vuu-row-generator.js +0 -74
- package/cjs/vuu-row-generator.js.map +0 -1
- package/esm/ArrayProxy.js +0 -70
- package/esm/ArrayProxy.js.map +0 -1
- package/esm/RuntimeVisualLink.js +0 -71
- package/esm/RuntimeVisualLink.js.map +0 -1
- package/esm/SessionTable.js +0 -65
- package/esm/SessionTable.js.map +0 -1
- package/esm/Table.js +0 -124
- package/esm/Table.js.map +0 -1
- package/esm/TickingArrayDataSource.js +0 -314
- package/esm/TickingArrayDataSource.js.map +0 -1
- package/esm/UpdateGenerator.js +0 -92
- package/esm/UpdateGenerator.js.map +0 -1
- package/esm/basket/BasketModule.js +0 -278
- package/esm/basket/BasketModule.js.map +0 -1
- package/esm/basket/basket-schemas.js +0 -120
- package/esm/basket/basket-schemas.js.map +0 -1
- package/esm/basket/reference-data/constituents.js +0 -38
- package/esm/basket/reference-data/constituents.js.map +0 -1
- package/esm/basket/reference-data/ftse100.js +0 -103
- package/esm/basket/reference-data/ftse100.js.map +0 -1
- package/esm/basket/reference-data/hsi.js +0 -85
- package/esm/basket/reference-data/hsi.js.map +0 -1
- package/esm/basket/reference-data/nasdaq100.js +0 -106
- package/esm/basket/reference-data/nasdaq100.js.map +0 -1
- package/esm/basket/reference-data/sp500.js +0 -44
- package/esm/basket/reference-data/sp500.js.map +0 -1
- package/esm/core/module/ModuleContainer.js +0 -41
- package/esm/core/module/ModuleContainer.js.map +0 -1
- package/esm/core/module/VuuModule.js +0 -658
- package/esm/core/module/VuuModule.js.map +0 -1
- package/esm/core/table/TableContainer.js +0 -137
- package/esm/core/table/TableContainer.js.map +0 -1
- package/esm/data-utils.js +0 -43
- package/esm/data-utils.js.map +0 -1
- package/esm/index.js +0 -16
- package/esm/index.js.map +0 -1
- package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
- package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
- package/esm/makeSuggestions.js +0 -24
- package/esm/makeSuggestions.js.map +0 -1
- package/esm/schemas.js +0 -24
- package/esm/schemas.js.map +0 -1
- package/esm/session-table-utils.js +0 -10
- package/esm/session-table-utils.js.map +0 -1
- package/esm/simul/SimulModule.js +0 -184
- package/esm/simul/SimulModule.js.map +0 -1
- package/esm/simul/reference-data/accounts.js +0 -25
- package/esm/simul/reference-data/accounts.js.map +0 -1
- package/esm/simul/reference-data/algos.js +0 -4
- package/esm/simul/reference-data/algos.js.map +0 -1
- package/esm/simul/reference-data/currencies.js +0 -4
- package/esm/simul/reference-data/currencies.js.map +0 -1
- package/esm/simul/reference-data/instruments-extended.js +0 -17
- package/esm/simul/reference-data/instruments-extended.js.map +0 -1
- package/esm/simul/reference-data/instruments.js +0 -80
- package/esm/simul/reference-data/instruments.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
- package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
- package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
- package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
- package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
- package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
- package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
- package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
- package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
- package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
- package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/index.js +0 -293
- package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
- package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
- package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
- package/esm/simul/reference-data/locations.js +0 -14
- package/esm/simul/reference-data/locations.js.map +0 -1
- package/esm/simul/reference-data/lotsizes.js +0 -26
- package/esm/simul/reference-data/lotsizes.js.map +0 -1
- package/esm/simul/reference-data/orderStatus.js +0 -4
- package/esm/simul/reference-data/orderStatus.js.map +0 -1
- package/esm/simul/reference-data/orders.js +0 -52
- package/esm/simul/reference-data/orders.js.map +0 -1
- package/esm/simul/reference-data/parent-child-orders.js +0 -139
- package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
- package/esm/simul/reference-data/prices.js +0 -86
- package/esm/simul/reference-data/prices.js.map +0 -1
- package/esm/simul/reference-data/sides.js +0 -4
- package/esm/simul/reference-data/sides.js.map +0 -1
- package/esm/simul/simul-schemas.js +0 -147
- package/esm/simul/simul-schemas.js.map +0 -1
- package/esm/test/TestModule.js +0 -84
- package/esm/test/TestModule.js.map +0 -1
- package/esm/test/test-schemas.js +0 -50
- package/esm/test/test-schemas.js.map +0 -1
- package/esm/vuu-row-generator.js +0 -68
- package/esm/vuu-row-generator.js.map +0 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { generateCusip } from "./generate-cusip.js";
|
|
2
|
+
const countryCodes = [
|
|
3
|
+
"AD",
|
|
4
|
+
"AE",
|
|
5
|
+
"AF",
|
|
6
|
+
"AG",
|
|
7
|
+
"AI",
|
|
8
|
+
"AL",
|
|
9
|
+
"AM",
|
|
10
|
+
"AO",
|
|
11
|
+
"AQ",
|
|
12
|
+
"AR",
|
|
13
|
+
"AS",
|
|
14
|
+
"AT",
|
|
15
|
+
"AU",
|
|
16
|
+
"AW",
|
|
17
|
+
"AX",
|
|
18
|
+
"AZ",
|
|
19
|
+
"BA",
|
|
20
|
+
"BB",
|
|
21
|
+
"BD",
|
|
22
|
+
"BE",
|
|
23
|
+
"BF",
|
|
24
|
+
"BG",
|
|
25
|
+
"BH",
|
|
26
|
+
"BI",
|
|
27
|
+
"BJ",
|
|
28
|
+
"BL",
|
|
29
|
+
"BM",
|
|
30
|
+
"BN",
|
|
31
|
+
"BO",
|
|
32
|
+
"BQ",
|
|
33
|
+
"BR",
|
|
34
|
+
"BS",
|
|
35
|
+
"BT",
|
|
36
|
+
"BV",
|
|
37
|
+
"BW",
|
|
38
|
+
"BY",
|
|
39
|
+
"BZ",
|
|
40
|
+
"CA",
|
|
41
|
+
"CC",
|
|
42
|
+
"CD",
|
|
43
|
+
"CF",
|
|
44
|
+
"CG",
|
|
45
|
+
"CH",
|
|
46
|
+
"CI",
|
|
47
|
+
"CK",
|
|
48
|
+
"CL",
|
|
49
|
+
"CM",
|
|
50
|
+
"CN",
|
|
51
|
+
"CO",
|
|
52
|
+
"CR",
|
|
53
|
+
"CU",
|
|
54
|
+
"CV",
|
|
55
|
+
"CW",
|
|
56
|
+
"CX",
|
|
57
|
+
"CY",
|
|
58
|
+
"CZ",
|
|
59
|
+
"DE",
|
|
60
|
+
"DJ",
|
|
61
|
+
"DK",
|
|
62
|
+
"DM",
|
|
63
|
+
"DO",
|
|
64
|
+
"DZ",
|
|
65
|
+
"EC",
|
|
66
|
+
"EE",
|
|
67
|
+
"EG",
|
|
68
|
+
"EH",
|
|
69
|
+
"ER",
|
|
70
|
+
"ES",
|
|
71
|
+
"ET",
|
|
72
|
+
"FI",
|
|
73
|
+
"FJ",
|
|
74
|
+
"FK",
|
|
75
|
+
"FM",
|
|
76
|
+
"FO",
|
|
77
|
+
"FR",
|
|
78
|
+
"GA",
|
|
79
|
+
"GB",
|
|
80
|
+
"GD",
|
|
81
|
+
"GE",
|
|
82
|
+
"GF",
|
|
83
|
+
"GG",
|
|
84
|
+
"GH",
|
|
85
|
+
"GI",
|
|
86
|
+
"GL",
|
|
87
|
+
"GM",
|
|
88
|
+
"GN",
|
|
89
|
+
"GP",
|
|
90
|
+
"GQ",
|
|
91
|
+
"GR",
|
|
92
|
+
"GS",
|
|
93
|
+
"GT",
|
|
94
|
+
"GU",
|
|
95
|
+
"GW",
|
|
96
|
+
"GY",
|
|
97
|
+
"HK",
|
|
98
|
+
"HM",
|
|
99
|
+
"HN",
|
|
100
|
+
"HR",
|
|
101
|
+
"HT",
|
|
102
|
+
"HU",
|
|
103
|
+
"ID",
|
|
104
|
+
"IE",
|
|
105
|
+
"IL",
|
|
106
|
+
"IM",
|
|
107
|
+
"IN",
|
|
108
|
+
"IO",
|
|
109
|
+
"IQ",
|
|
110
|
+
"IR",
|
|
111
|
+
"IS",
|
|
112
|
+
"IT",
|
|
113
|
+
"JE",
|
|
114
|
+
"JM",
|
|
115
|
+
"JO",
|
|
116
|
+
"JP",
|
|
117
|
+
"KE",
|
|
118
|
+
"KG",
|
|
119
|
+
"KH",
|
|
120
|
+
"KI",
|
|
121
|
+
"KM",
|
|
122
|
+
"KN",
|
|
123
|
+
"KP",
|
|
124
|
+
"KR",
|
|
125
|
+
"KW",
|
|
126
|
+
"KY",
|
|
127
|
+
"KZ",
|
|
128
|
+
"LA",
|
|
129
|
+
"LB",
|
|
130
|
+
"LC",
|
|
131
|
+
"LI",
|
|
132
|
+
"LK",
|
|
133
|
+
"LR",
|
|
134
|
+
"LS",
|
|
135
|
+
"LT",
|
|
136
|
+
"LU",
|
|
137
|
+
"LV",
|
|
138
|
+
"LY",
|
|
139
|
+
"MA",
|
|
140
|
+
"MC",
|
|
141
|
+
"MD",
|
|
142
|
+
"ME",
|
|
143
|
+
"MF",
|
|
144
|
+
"MG",
|
|
145
|
+
"MH",
|
|
146
|
+
"MK",
|
|
147
|
+
"ML",
|
|
148
|
+
"MM",
|
|
149
|
+
"MN",
|
|
150
|
+
"MO",
|
|
151
|
+
"MP",
|
|
152
|
+
"MQ",
|
|
153
|
+
"MR",
|
|
154
|
+
"MS",
|
|
155
|
+
"MT",
|
|
156
|
+
"MU",
|
|
157
|
+
"MV",
|
|
158
|
+
"MW",
|
|
159
|
+
"MX",
|
|
160
|
+
"MY",
|
|
161
|
+
"MZ",
|
|
162
|
+
"NA",
|
|
163
|
+
"NC",
|
|
164
|
+
"NE",
|
|
165
|
+
"NF",
|
|
166
|
+
"NG",
|
|
167
|
+
"NI",
|
|
168
|
+
"NL",
|
|
169
|
+
"NO",
|
|
170
|
+
"NP",
|
|
171
|
+
"NR",
|
|
172
|
+
"NU",
|
|
173
|
+
"NZ",
|
|
174
|
+
"OM",
|
|
175
|
+
"PA",
|
|
176
|
+
"PE",
|
|
177
|
+
"PF",
|
|
178
|
+
"PG",
|
|
179
|
+
"PH",
|
|
180
|
+
"PK",
|
|
181
|
+
"PL",
|
|
182
|
+
"PM",
|
|
183
|
+
"PN",
|
|
184
|
+
"PR",
|
|
185
|
+
"PS",
|
|
186
|
+
"PT",
|
|
187
|
+
"PW",
|
|
188
|
+
"PY",
|
|
189
|
+
"QA",
|
|
190
|
+
"RE",
|
|
191
|
+
"RO",
|
|
192
|
+
"RS",
|
|
193
|
+
"RU",
|
|
194
|
+
"RW",
|
|
195
|
+
"SA",
|
|
196
|
+
"SB",
|
|
197
|
+
"SC",
|
|
198
|
+
"SD",
|
|
199
|
+
"SE",
|
|
200
|
+
"SG",
|
|
201
|
+
"SH",
|
|
202
|
+
"SI",
|
|
203
|
+
"SJ",
|
|
204
|
+
"SK",
|
|
205
|
+
"SL",
|
|
206
|
+
"SM",
|
|
207
|
+
"SN",
|
|
208
|
+
"SO",
|
|
209
|
+
"SR",
|
|
210
|
+
"SS",
|
|
211
|
+
"ST",
|
|
212
|
+
"SV",
|
|
213
|
+
"SX",
|
|
214
|
+
"SY",
|
|
215
|
+
"SZ",
|
|
216
|
+
"TC",
|
|
217
|
+
"TD",
|
|
218
|
+
"TF",
|
|
219
|
+
"TG",
|
|
220
|
+
"TH",
|
|
221
|
+
"TJ",
|
|
222
|
+
"TK",
|
|
223
|
+
"TL",
|
|
224
|
+
"TM",
|
|
225
|
+
"TN",
|
|
226
|
+
"TO",
|
|
227
|
+
"TR",
|
|
228
|
+
"TT",
|
|
229
|
+
"TV",
|
|
230
|
+
"TW",
|
|
231
|
+
"TZ",
|
|
232
|
+
"UA",
|
|
233
|
+
"UG",
|
|
234
|
+
"UM",
|
|
235
|
+
"US",
|
|
236
|
+
"UY",
|
|
237
|
+
"UZ",
|
|
238
|
+
"VA",
|
|
239
|
+
"VC",
|
|
240
|
+
"VE",
|
|
241
|
+
"VG",
|
|
242
|
+
"VI",
|
|
243
|
+
"VN",
|
|
244
|
+
"VU",
|
|
245
|
+
"WF",
|
|
246
|
+
"WS",
|
|
247
|
+
"YE",
|
|
248
|
+
"YT",
|
|
249
|
+
"ZA",
|
|
250
|
+
"ZM",
|
|
251
|
+
"ZW"
|
|
252
|
+
];
|
|
253
|
+
const isin_generator_cusip = generateCusip();
|
|
254
|
+
const generateIsin = (cusip)=>{
|
|
255
|
+
const code = countryCodes[Math.floor(Math.random() * countryCodes.length)];
|
|
256
|
+
const isin = code + cusip + generateIsinCheckDigit(code + cusip + "0");
|
|
257
|
+
return isin;
|
|
258
|
+
};
|
|
259
|
+
const generateIsinCheckDigit = (isin)=>{
|
|
260
|
+
if (12 != isin.length) return false;
|
|
261
|
+
const v = [];
|
|
262
|
+
for(let i = isin.length - 2; i >= 0; i--){
|
|
263
|
+
const c = isin.charAt(i);
|
|
264
|
+
if (isNaN(parseInt(c))) {
|
|
265
|
+
const letterCode = isin.charCodeAt(i) - 55;
|
|
266
|
+
v.push(letterCode % 10);
|
|
267
|
+
if (letterCode > 9) v.push(Math.floor(letterCode / 10));
|
|
268
|
+
} else v.push(Number(c));
|
|
269
|
+
}
|
|
270
|
+
let sum = 0;
|
|
271
|
+
const l = v.length;
|
|
272
|
+
for(let i = 0; i < l; i++)if (i % 2 == 0) {
|
|
273
|
+
const d = 2 * v[i];
|
|
274
|
+
sum += Math.floor(d / 10);
|
|
275
|
+
sum += d % 10;
|
|
276
|
+
} else sum += v[i];
|
|
277
|
+
return (10 - sum % 10) % 10;
|
|
278
|
+
};
|
|
279
|
+
const isinGenerator = ()=>generateIsin(isin_generator_cusip);
|
|
280
|
+
export { isinGenerator };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const locations = {
|
|
2
|
+
L: [
|
|
3
|
+
"London PLC",
|
|
4
|
+
"XLON/LSE-SETS"
|
|
5
|
+
],
|
|
6
|
+
N: [
|
|
7
|
+
"Corporation",
|
|
8
|
+
"XNGS/NAS-GSM"
|
|
9
|
+
],
|
|
10
|
+
AS: [
|
|
11
|
+
"B.V.",
|
|
12
|
+
"XAMS/ENA-MAIN"
|
|
13
|
+
],
|
|
14
|
+
OQ: [
|
|
15
|
+
"Co.",
|
|
16
|
+
"XNYS/NYS-MAIN"
|
|
17
|
+
],
|
|
18
|
+
PA: [
|
|
19
|
+
"Paris",
|
|
20
|
+
"PAR/EUR_FR"
|
|
21
|
+
],
|
|
22
|
+
MI: [
|
|
23
|
+
"Milan",
|
|
24
|
+
"MIL/EUR_IT"
|
|
25
|
+
],
|
|
26
|
+
FR: [
|
|
27
|
+
"Frankfurt",
|
|
28
|
+
"FR/EUR_DE"
|
|
29
|
+
],
|
|
30
|
+
AT: [
|
|
31
|
+
"Athens",
|
|
32
|
+
"AT/EUR_GR"
|
|
33
|
+
]
|
|
34
|
+
};
|
|
35
|
+
const suffixes = [
|
|
36
|
+
"L",
|
|
37
|
+
"N",
|
|
38
|
+
"OQ",
|
|
39
|
+
"AS",
|
|
40
|
+
"PA",
|
|
41
|
+
"MI",
|
|
42
|
+
"FR",
|
|
43
|
+
"AT"
|
|
44
|
+
];
|
|
45
|
+
export { locations, suffixes };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { currencies } from "./currencies.js";
|
|
2
|
+
import { getRic } from "./instruments.js";
|
|
3
|
+
import { random } from "../../data-utils.js";
|
|
4
|
+
import { buildDataColumnMap } from "../../Table.js";
|
|
5
|
+
import { schemas } from "../simul-schemas.js";
|
|
6
|
+
import { sides } from "./sides.js";
|
|
7
|
+
import TableContainer from "../../core/table/TableContainer.js";
|
|
8
|
+
const traders = [
|
|
9
|
+
"Trader A",
|
|
10
|
+
"Trader B",
|
|
11
|
+
"Trader C"
|
|
12
|
+
];
|
|
13
|
+
const orderStatus = [
|
|
14
|
+
"Filled",
|
|
15
|
+
"Cancelled",
|
|
16
|
+
"New",
|
|
17
|
+
"Partial Exec",
|
|
18
|
+
"Booked",
|
|
19
|
+
"All Done"
|
|
20
|
+
];
|
|
21
|
+
const isComplete = (status)=>[
|
|
22
|
+
"Filled",
|
|
23
|
+
"All Done",
|
|
24
|
+
"Booked"
|
|
25
|
+
].includes(status);
|
|
26
|
+
const OrderColumnMap = {
|
|
27
|
+
ccy: 0,
|
|
28
|
+
created: 1,
|
|
29
|
+
filledQuantity: 2,
|
|
30
|
+
lastUpdate: 3,
|
|
31
|
+
orderId: 4,
|
|
32
|
+
quantity: 5,
|
|
33
|
+
ric: 6,
|
|
34
|
+
side: 7,
|
|
35
|
+
trader: 8
|
|
36
|
+
};
|
|
37
|
+
const ordersData = [];
|
|
38
|
+
const now = +new Date();
|
|
39
|
+
for(let i = 0; i < 100; i++){
|
|
40
|
+
const status = orderStatus[random(0, orderStatus.length - 1)];
|
|
41
|
+
const ccy = currencies[random(0, currencies.length - 1)];
|
|
42
|
+
const created = now;
|
|
43
|
+
const lastUpdate = now;
|
|
44
|
+
const orderId = `ORD${("0000" + i).slice(-4)}`;
|
|
45
|
+
const quantity = random(1000, 10000);
|
|
46
|
+
const filledQuantity = isComplete(status) ? quantity : "New" === status ? 0 : random(0, quantity);
|
|
47
|
+
const ric = getRic("AAP.L");
|
|
48
|
+
const side = sides[random(0, sides.length - 1)];
|
|
49
|
+
const trader = traders[random(0, traders.length - 1)];
|
|
50
|
+
ordersData.push([
|
|
51
|
+
status,
|
|
52
|
+
ccy,
|
|
53
|
+
created,
|
|
54
|
+
filledQuantity,
|
|
55
|
+
lastUpdate,
|
|
56
|
+
orderId,
|
|
57
|
+
quantity,
|
|
58
|
+
ric,
|
|
59
|
+
side,
|
|
60
|
+
trader
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
63
|
+
const ordersTable = TableContainer.createTable(schemas.orders, ordersData, buildDataColumnMap(schemas, "orders"));
|
|
64
|
+
export { OrderColumnMap, ordersData, ordersTable };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Clock } from "@vuu-ui/vuu-utils";
|
|
2
|
+
import TableContainer from "../../core/table/TableContainer.js";
|
|
3
|
+
import { random } from "../../data-utils.js";
|
|
4
|
+
import { buildDataColumnMap } from "../../Table.js";
|
|
5
|
+
import { schemas } from "../simul-schemas.js";
|
|
6
|
+
import { accounts } from "./accounts.js";
|
|
7
|
+
import { algos } from "./algos.js";
|
|
8
|
+
import { instrumentsData } from "./instruments.js";
|
|
9
|
+
import { orderStatus as external_orderStatus_js_orderStatus } from "./orderStatus.js";
|
|
10
|
+
import { sides } from "./sides.js";
|
|
11
|
+
const instrumentMap = buildDataColumnMap(schemas, "instruments");
|
|
12
|
+
const PARENT_ORDER_COUNT = 5000;
|
|
13
|
+
const CHILD_ORDER_COUNT = 20000;
|
|
14
|
+
const avgChildOrderPerOrder = Math.round(CHILD_ORDER_COUNT / PARENT_ORDER_COUNT);
|
|
15
|
+
const childMaxMultiple = 10;
|
|
16
|
+
const clock = new Clock().goBack(120, "minutes");
|
|
17
|
+
const parentOrdersTable = TableContainer.createTable(schemas.parentOrders, [], buildDataColumnMap(schemas, "parentOrders"));
|
|
18
|
+
const childOrdersTable = TableContainer.createTable(schemas.childOrders, [], buildDataColumnMap(schemas, "childOrders"));
|
|
19
|
+
let parentOrderCount = 0;
|
|
20
|
+
let childOrderCount = 0;
|
|
21
|
+
let notifyNewOrders = false;
|
|
22
|
+
function createParentAndChildOrders() {
|
|
23
|
+
parentOrderCount += 1;
|
|
24
|
+
const instrument = instrumentsData[random(0, instrumentsData.length - 1)];
|
|
25
|
+
const orderQuantity = 1000 * random(1, 100);
|
|
26
|
+
const orderStatus = external_orderStatus_js_orderStatus[random(0, external_orderStatus_js_orderStatus.length - 1)];
|
|
27
|
+
const filledQty = "FILLED" === orderStatus ? orderQuantity : "NEW" === orderStatus ? 0 : orderQuantity - random(100, orderQuantity);
|
|
28
|
+
const openQty = orderQuantity - filledQty;
|
|
29
|
+
const account = accounts[random(0, accounts.length - 1)];
|
|
30
|
+
const algo = algos[random(0, algos.length - 1)];
|
|
31
|
+
const averagePrice = 0;
|
|
32
|
+
const ccy = "GBP";
|
|
33
|
+
const exchange = instrument[instrumentMap.exchange];
|
|
34
|
+
const parentOrderIdAsInt = parentOrderCount;
|
|
35
|
+
const parentOrderId = parentOrderCount.toString().padStart(10, "0");
|
|
36
|
+
const price = 100;
|
|
37
|
+
const quantity = orderQuantity;
|
|
38
|
+
const ric = instrument[instrumentMap.ric];
|
|
39
|
+
const side = sides[random(0, sides.length - 1)];
|
|
40
|
+
const status = orderStatus;
|
|
41
|
+
const volLimit = 100;
|
|
42
|
+
const lastUpdate = clock.now;
|
|
43
|
+
const created = clock.now;
|
|
44
|
+
const numberOfChildOrders = random(0, avgChildOrderPerOrder * random(1, childMaxMultiple));
|
|
45
|
+
let remainingQty = orderQuantity;
|
|
46
|
+
for(let j = 0; j < numberOfChildOrders; j++){
|
|
47
|
+
childOrderCount += 1;
|
|
48
|
+
const childOrderQuantity = Math.round(remainingQty / (childOrderCount - j));
|
|
49
|
+
remainingQty -= childOrderQuantity;
|
|
50
|
+
const childOrderStatus = external_orderStatus_js_orderStatus[random(0, external_orderStatus_js_orderStatus.length - 1)];
|
|
51
|
+
const childFilledQty = "FILLED" === orderStatus ? childOrderQuantity : "NEW" === childOrderStatus ? 0 : childOrderQuantity - random(100, childOrderQuantity);
|
|
52
|
+
const childOpenQty = childOrderQuantity - childFilledQty;
|
|
53
|
+
const averagePrice = 0;
|
|
54
|
+
const childIdAsInt = childOrderCount;
|
|
55
|
+
const childId = childOrderCount.toString().padStart(10, "0");
|
|
56
|
+
const lastUpdate = 0;
|
|
57
|
+
const price = 100;
|
|
58
|
+
const strategy = 0;
|
|
59
|
+
childOrdersTable.insert([
|
|
60
|
+
account,
|
|
61
|
+
averagePrice,
|
|
62
|
+
ccy,
|
|
63
|
+
exchange,
|
|
64
|
+
childFilledQty,
|
|
65
|
+
childId,
|
|
66
|
+
childIdAsInt,
|
|
67
|
+
childOpenQty,
|
|
68
|
+
parentOrderId,
|
|
69
|
+
price,
|
|
70
|
+
childOrderQuantity,
|
|
71
|
+
ric,
|
|
72
|
+
side,
|
|
73
|
+
childOrderStatus,
|
|
74
|
+
strategy,
|
|
75
|
+
volLimit,
|
|
76
|
+
lastUpdate,
|
|
77
|
+
created
|
|
78
|
+
], notifyNewOrders);
|
|
79
|
+
}
|
|
80
|
+
parentOrdersTable.insert([
|
|
81
|
+
account,
|
|
82
|
+
algo,
|
|
83
|
+
averagePrice,
|
|
84
|
+
ccy,
|
|
85
|
+
childOrderCount,
|
|
86
|
+
exchange,
|
|
87
|
+
filledQty,
|
|
88
|
+
parentOrderId,
|
|
89
|
+
parentOrderIdAsInt,
|
|
90
|
+
openQty,
|
|
91
|
+
price,
|
|
92
|
+
quantity,
|
|
93
|
+
ric,
|
|
94
|
+
side,
|
|
95
|
+
status,
|
|
96
|
+
volLimit,
|
|
97
|
+
lastUpdate,
|
|
98
|
+
created
|
|
99
|
+
], notifyNewOrders);
|
|
100
|
+
}
|
|
101
|
+
function createInitialOrders() {
|
|
102
|
+
for(let i = 0; i < PARENT_ORDER_COUNT; i++){
|
|
103
|
+
clock.advance(random(0, 100));
|
|
104
|
+
createParentAndChildOrders();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
let newOrderInterval;
|
|
108
|
+
function startGeneratingNewOrders() {
|
|
109
|
+
newOrderInterval = setInterval(createParentAndChildOrders, 100);
|
|
110
|
+
}
|
|
111
|
+
function stopGeneratingNewOrders() {
|
|
112
|
+
clearInterval(newOrderInterval);
|
|
113
|
+
}
|
|
114
|
+
createInitialOrders();
|
|
115
|
+
clock.showCurrentTime = true;
|
|
116
|
+
notifyNewOrders = true;
|
|
117
|
+
export { childOrdersTable, parentOrdersTable, startGeneratingNewOrders, stopGeneratingNewOrders };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { buildDataColumnMap } from "../../Table.js";
|
|
2
|
+
import { BaseUpdateGenerator } from "../../UpdateGenerator.js";
|
|
3
|
+
import { schemas } from "../simul-schemas.js";
|
|
4
|
+
import { InstrumentColumnMap, instrumentsData } from "./instruments.js";
|
|
5
|
+
import { random } from "../../data-utils.js";
|
|
6
|
+
import constituents from "../../basket/reference-data/constituents.js";
|
|
7
|
+
import TableContainer from "../../core/table/TableContainer.js";
|
|
8
|
+
const { bid: prices_bid, bidSize: prices_bidSize, ask: prices_ask, askSize: prices_askSize } = buildDataColumnMap(schemas, "prices");
|
|
9
|
+
const pricesUpdateGenerator = new BaseUpdateGenerator({
|
|
10
|
+
bid: prices_bid,
|
|
11
|
+
bidSize: prices_bidSize,
|
|
12
|
+
ask: prices_ask,
|
|
13
|
+
askSize: prices_askSize
|
|
14
|
+
});
|
|
15
|
+
const now = Date.now();
|
|
16
|
+
const prices_lastUpdate = now;
|
|
17
|
+
const prices_created = now;
|
|
18
|
+
const pricesData = instrumentsData.map((instrument)=>{
|
|
19
|
+
const spread = random(0, 10);
|
|
20
|
+
const ric = instrument[InstrumentColumnMap.ric];
|
|
21
|
+
const priceSeed = 100;
|
|
22
|
+
const ask = priceSeed + spread / 2;
|
|
23
|
+
const askSize = random(1000, 3000);
|
|
24
|
+
const bid = priceSeed - spread / 2;
|
|
25
|
+
const bidSize = random(1000, 3000);
|
|
26
|
+
const close = priceSeed + random(0, 1) / 10;
|
|
27
|
+
const last = priceSeed + random(0, 1) / 10;
|
|
28
|
+
const open = priceSeed + random(0, 1) / 10;
|
|
29
|
+
const phase = "C";
|
|
30
|
+
const scenario = "close";
|
|
31
|
+
const lastUpdate = now;
|
|
32
|
+
const created = now;
|
|
33
|
+
return [
|
|
34
|
+
ask,
|
|
35
|
+
askSize,
|
|
36
|
+
bid,
|
|
37
|
+
bidSize,
|
|
38
|
+
close,
|
|
39
|
+
last,
|
|
40
|
+
open,
|
|
41
|
+
phase,
|
|
42
|
+
ric,
|
|
43
|
+
scenario,
|
|
44
|
+
lastUpdate,
|
|
45
|
+
created
|
|
46
|
+
];
|
|
47
|
+
});
|
|
48
|
+
for (const [, , , lastTrade, ric] of constituents){
|
|
49
|
+
const priceSeed = parseFloat(String(lastTrade));
|
|
50
|
+
if (!isNaN(priceSeed)) {
|
|
51
|
+
const spread = random(0, 10);
|
|
52
|
+
const ask = priceSeed + spread / 2;
|
|
53
|
+
const askSize = random(1000, 3000);
|
|
54
|
+
const bid = priceSeed - spread / 2;
|
|
55
|
+
const bidSize = random(1000, 3000);
|
|
56
|
+
const close = priceSeed + random(0, 1) / 10;
|
|
57
|
+
const last = priceSeed + random(0, 1) / 10;
|
|
58
|
+
const open = priceSeed + random(0, 1) / 10;
|
|
59
|
+
const phase = "C";
|
|
60
|
+
const scenario = "close";
|
|
61
|
+
pricesData.push([
|
|
62
|
+
ask,
|
|
63
|
+
askSize,
|
|
64
|
+
bid,
|
|
65
|
+
bidSize,
|
|
66
|
+
close,
|
|
67
|
+
last,
|
|
68
|
+
open,
|
|
69
|
+
phase,
|
|
70
|
+
ric,
|
|
71
|
+
scenario,
|
|
72
|
+
prices_lastUpdate,
|
|
73
|
+
prices_created
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const pricesTable = TableContainer.createTable(schemas.prices, pricesData, buildDataColumnMap(schemas, "prices"), pricesUpdateGenerator);
|
|
78
|
+
export { pricesData, pricesTable };
|