@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.
Files changed (277) hide show
  1. package/package.json +10 -13
  2. package/src/ArrayProxy.js +38 -0
  3. package/src/RuntimeVisualLink.js +45 -0
  4. package/src/SessionTable.js +49 -0
  5. package/src/Table.js +96 -0
  6. package/src/TickingArrayDataSource.js +208 -0
  7. package/src/UpdateGenerator.js +72 -0
  8. package/src/basket/BasketModule.js +272 -0
  9. package/src/basket/basket-schemas.js +355 -0
  10. package/src/basket/index.js +2 -0
  11. package/src/basket/reference-data/constituents.js +76 -0
  12. package/src/basket/reference-data/ftse100.js +686 -0
  13. package/src/basket/reference-data/hsi.js +1047 -0
  14. package/src/basket/reference-data/nasdaq100.js +812 -0
  15. package/src/basket/reference-data/prices.js +43 -0
  16. package/src/basket/reference-data/sp500.js +315 -0
  17. package/src/core/module/ModuleContainer.js +21 -0
  18. package/src/core/module/VuuModule.js +476 -0
  19. package/src/core/table/TableContainer.js +97 -0
  20. package/src/data-utils.js +53 -0
  21. package/src/index.js +13 -0
  22. package/src/local-datasource-provider/LocalDatasourceProvider.js +44 -0
  23. package/src/makeSuggestions.js +20 -0
  24. package/src/rowUpdates.js +0 -0
  25. package/src/schemas.js +19 -0
  26. package/src/session-table-utils.js +16 -0
  27. package/src/simul/SimulModule.js +175 -0
  28. package/src/simul/index.js +2 -0
  29. package/src/simul/reference-data/accounts.js +23 -0
  30. package/src/simul/reference-data/algos.js +9 -0
  31. package/src/simul/reference-data/currencies.js +8 -0
  32. package/src/simul/reference-data/index.js +5 -0
  33. package/src/simul/reference-data/instrument-prices.js +48 -0
  34. package/src/simul/reference-data/instruments-extended.js +12 -0
  35. package/src/simul/reference-data/instruments.js +67 -0
  36. package/src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +2 -0
  37. package/src/simul/reference-data/isin-generator/fixtures/alphabet.js +27 -0
  38. package/src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  39. package/src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +13 -0
  40. package/src/simul/reference-data/isin-generator/generate-cusip-check-code.js +17 -0
  41. package/src/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +8 -0
  42. package/src/simul/reference-data/isin-generator/generate-cusip.js +8 -0
  43. package/src/simul/reference-data/isin-generator/generate-random-alphanumeric.js +3 -0
  44. package/src/simul/reference-data/isin-generator/generate-random-base-ten-number.js +2 -0
  45. package/src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +7 -0
  46. package/src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +7 -0
  47. package/src/simul/reference-data/isin-generator/index.js +280 -0
  48. package/src/simul/reference-data/isin-generator/is-odd.js +2 -0
  49. package/src/simul/reference-data/locations.js +45 -0
  50. package/src/simul/reference-data/lotsizes.js +24 -0
  51. package/src/simul/reference-data/orderStatus.js +6 -0
  52. package/src/simul/reference-data/orders.js +64 -0
  53. package/src/simul/reference-data/parent-child-orders.js +117 -0
  54. package/src/simul/reference-data/priceStrategies.js +8 -0
  55. package/src/simul/reference-data/prices.js +78 -0
  56. package/src/simul/reference-data/sides.js +5 -0
  57. package/src/simul/simul-schemas.js +428 -0
  58. package/src/test/TestModule.js +95 -0
  59. package/src/test/index.js +1 -0
  60. package/src/test/test-schemas.js +74 -0
  61. package/src/vuu-row-generator.js +71 -0
  62. package/types/TickingArrayDataSource.d.ts +1 -1
  63. package/types/basket/BasketModule.d.ts +9 -9
  64. package/types/basket/reference-data/prices.d.ts +1 -1
  65. package/types/simul/reference-data/instruments-extended.d.ts +1 -1
  66. package/types/simul/reference-data/instruments.d.ts +1 -1
  67. package/types/simul/reference-data/orders.d.ts +1 -1
  68. package/types/simul/reference-data/parent-child-orders.d.ts +2 -2
  69. package/types/simul/reference-data/prices.d.ts +1 -1
  70. package/cjs/ArrayProxy.js +0 -72
  71. package/cjs/ArrayProxy.js.map +0 -1
  72. package/cjs/RuntimeVisualLink.js +0 -73
  73. package/cjs/RuntimeVisualLink.js.map +0 -1
  74. package/cjs/SessionTable.js +0 -68
  75. package/cjs/SessionTable.js.map +0 -1
  76. package/cjs/Table.js +0 -128
  77. package/cjs/Table.js.map +0 -1
  78. package/cjs/TickingArrayDataSource.js +0 -316
  79. package/cjs/TickingArrayDataSource.js.map +0 -1
  80. package/cjs/UpdateGenerator.js +0 -94
  81. package/cjs/UpdateGenerator.js.map +0 -1
  82. package/cjs/basket/BasketModule.js +0 -282
  83. package/cjs/basket/BasketModule.js.map +0 -1
  84. package/cjs/basket/basket-schemas.js +0 -123
  85. package/cjs/basket/basket-schemas.js.map +0 -1
  86. package/cjs/basket/reference-data/constituents.js +0 -40
  87. package/cjs/basket/reference-data/constituents.js.map +0 -1
  88. package/cjs/basket/reference-data/ftse100.js +0 -105
  89. package/cjs/basket/reference-data/ftse100.js.map +0 -1
  90. package/cjs/basket/reference-data/hsi.js +0 -87
  91. package/cjs/basket/reference-data/hsi.js.map +0 -1
  92. package/cjs/basket/reference-data/nasdaq100.js +0 -108
  93. package/cjs/basket/reference-data/nasdaq100.js.map +0 -1
  94. package/cjs/basket/reference-data/sp500.js +0 -46
  95. package/cjs/basket/reference-data/sp500.js.map +0 -1
  96. package/cjs/core/module/ModuleContainer.js +0 -43
  97. package/cjs/core/module/ModuleContainer.js.map +0 -1
  98. package/cjs/core/module/VuuModule.js +0 -660
  99. package/cjs/core/module/VuuModule.js.map +0 -1
  100. package/cjs/core/table/TableContainer.js +0 -139
  101. package/cjs/core/table/TableContainer.js.map +0 -1
  102. package/cjs/data-utils.js +0 -47
  103. package/cjs/data-utils.js.map +0 -1
  104. package/cjs/index.js +0 -46
  105. package/cjs/index.js.map +0 -1
  106. package/cjs/local-datasource-provider/LocalDatasourceProvider.js +0 -70
  107. package/cjs/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  108. package/cjs/makeSuggestions.js +0 -26
  109. package/cjs/makeSuggestions.js.map +0 -1
  110. package/cjs/schemas.js +0 -28
  111. package/cjs/schemas.js.map +0 -1
  112. package/cjs/session-table-utils.js +0 -12
  113. package/cjs/session-table-utils.js.map +0 -1
  114. package/cjs/simul/SimulModule.js +0 -187
  115. package/cjs/simul/SimulModule.js.map +0 -1
  116. package/cjs/simul/reference-data/accounts.js +0 -27
  117. package/cjs/simul/reference-data/accounts.js.map +0 -1
  118. package/cjs/simul/reference-data/algos.js +0 -6
  119. package/cjs/simul/reference-data/algos.js.map +0 -1
  120. package/cjs/simul/reference-data/currencies.js +0 -6
  121. package/cjs/simul/reference-data/currencies.js.map +0 -1
  122. package/cjs/simul/reference-data/instruments-extended.js +0 -19
  123. package/cjs/simul/reference-data/instruments-extended.js.map +0 -1
  124. package/cjs/simul/reference-data/instruments.js +0 -85
  125. package/cjs/simul/reference-data/instruments.js.map +0 -1
  126. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -6
  127. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  128. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -31
  129. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  130. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -9
  131. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  132. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -17
  133. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  134. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -24
  135. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  136. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -13
  137. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  138. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +0 -13
  139. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  140. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -8
  141. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  142. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -6
  143. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  144. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -14
  145. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  146. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -14
  147. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  148. package/cjs/simul/reference-data/isin-generator/index.js +0 -295
  149. package/cjs/simul/reference-data/isin-generator/index.js.map +0 -1
  150. package/cjs/simul/reference-data/isin-generator/is-odd.js +0 -6
  151. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  152. package/cjs/simul/reference-data/locations.js +0 -17
  153. package/cjs/simul/reference-data/locations.js.map +0 -1
  154. package/cjs/simul/reference-data/lotsizes.js +0 -28
  155. package/cjs/simul/reference-data/lotsizes.js.map +0 -1
  156. package/cjs/simul/reference-data/orderStatus.js +0 -6
  157. package/cjs/simul/reference-data/orderStatus.js.map +0 -1
  158. package/cjs/simul/reference-data/orders.js +0 -55
  159. package/cjs/simul/reference-data/orders.js.map +0 -1
  160. package/cjs/simul/reference-data/parent-child-orders.js +0 -144
  161. package/cjs/simul/reference-data/parent-child-orders.js.map +0 -1
  162. package/cjs/simul/reference-data/prices.js +0 -89
  163. package/cjs/simul/reference-data/prices.js.map +0 -1
  164. package/cjs/simul/reference-data/sides.js +0 -6
  165. package/cjs/simul/reference-data/sides.js.map +0 -1
  166. package/cjs/simul/simul-schemas.js +0 -150
  167. package/cjs/simul/simul-schemas.js.map +0 -1
  168. package/cjs/test/TestModule.js +0 -86
  169. package/cjs/test/TestModule.js.map +0 -1
  170. package/cjs/test/test-schemas.js +0 -52
  171. package/cjs/test/test-schemas.js.map +0 -1
  172. package/cjs/vuu-row-generator.js +0 -74
  173. package/cjs/vuu-row-generator.js.map +0 -1
  174. package/esm/ArrayProxy.js +0 -70
  175. package/esm/ArrayProxy.js.map +0 -1
  176. package/esm/RuntimeVisualLink.js +0 -71
  177. package/esm/RuntimeVisualLink.js.map +0 -1
  178. package/esm/SessionTable.js +0 -65
  179. package/esm/SessionTable.js.map +0 -1
  180. package/esm/Table.js +0 -124
  181. package/esm/Table.js.map +0 -1
  182. package/esm/TickingArrayDataSource.js +0 -314
  183. package/esm/TickingArrayDataSource.js.map +0 -1
  184. package/esm/UpdateGenerator.js +0 -92
  185. package/esm/UpdateGenerator.js.map +0 -1
  186. package/esm/basket/BasketModule.js +0 -278
  187. package/esm/basket/BasketModule.js.map +0 -1
  188. package/esm/basket/basket-schemas.js +0 -120
  189. package/esm/basket/basket-schemas.js.map +0 -1
  190. package/esm/basket/reference-data/constituents.js +0 -38
  191. package/esm/basket/reference-data/constituents.js.map +0 -1
  192. package/esm/basket/reference-data/ftse100.js +0 -103
  193. package/esm/basket/reference-data/ftse100.js.map +0 -1
  194. package/esm/basket/reference-data/hsi.js +0 -85
  195. package/esm/basket/reference-data/hsi.js.map +0 -1
  196. package/esm/basket/reference-data/nasdaq100.js +0 -106
  197. package/esm/basket/reference-data/nasdaq100.js.map +0 -1
  198. package/esm/basket/reference-data/sp500.js +0 -44
  199. package/esm/basket/reference-data/sp500.js.map +0 -1
  200. package/esm/core/module/ModuleContainer.js +0 -41
  201. package/esm/core/module/ModuleContainer.js.map +0 -1
  202. package/esm/core/module/VuuModule.js +0 -658
  203. package/esm/core/module/VuuModule.js.map +0 -1
  204. package/esm/core/table/TableContainer.js +0 -137
  205. package/esm/core/table/TableContainer.js.map +0 -1
  206. package/esm/data-utils.js +0 -43
  207. package/esm/data-utils.js.map +0 -1
  208. package/esm/index.js +0 -16
  209. package/esm/index.js.map +0 -1
  210. package/esm/local-datasource-provider/LocalDatasourceProvider.js +0 -68
  211. package/esm/local-datasource-provider/LocalDatasourceProvider.js.map +0 -1
  212. package/esm/makeSuggestions.js +0 -24
  213. package/esm/makeSuggestions.js.map +0 -1
  214. package/esm/schemas.js +0 -24
  215. package/esm/schemas.js.map +0 -1
  216. package/esm/session-table-utils.js +0 -10
  217. package/esm/session-table-utils.js.map +0 -1
  218. package/esm/simul/SimulModule.js +0 -184
  219. package/esm/simul/SimulModule.js.map +0 -1
  220. package/esm/simul/reference-data/accounts.js +0 -25
  221. package/esm/simul/reference-data/accounts.js.map +0 -1
  222. package/esm/simul/reference-data/algos.js +0 -4
  223. package/esm/simul/reference-data/algos.js.map +0 -1
  224. package/esm/simul/reference-data/currencies.js +0 -4
  225. package/esm/simul/reference-data/currencies.js.map +0 -1
  226. package/esm/simul/reference-data/instruments-extended.js +0 -17
  227. package/esm/simul/reference-data/instruments-extended.js.map +0 -1
  228. package/esm/simul/reference-data/instruments.js +0 -80
  229. package/esm/simul/reference-data/instruments.js.map +0 -1
  230. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +0 -4
  231. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +0 -1
  232. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +0 -29
  233. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +0 -1
  234. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +0 -7
  235. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +0 -1
  236. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +0 -15
  237. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +0 -1
  238. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +0 -22
  239. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +0 -1
  240. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +0 -11
  241. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +0 -1
  242. package/esm/simul/reference-data/isin-generator/generate-cusip.js +0 -11
  243. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +0 -1
  244. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +0 -6
  245. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +0 -1
  246. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +0 -4
  247. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +0 -1
  248. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +0 -12
  249. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +0 -1
  250. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +0 -12
  251. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +0 -1
  252. package/esm/simul/reference-data/isin-generator/index.js +0 -293
  253. package/esm/simul/reference-data/isin-generator/index.js.map +0 -1
  254. package/esm/simul/reference-data/isin-generator/is-odd.js +0 -4
  255. package/esm/simul/reference-data/isin-generator/is-odd.js.map +0 -1
  256. package/esm/simul/reference-data/locations.js +0 -14
  257. package/esm/simul/reference-data/locations.js.map +0 -1
  258. package/esm/simul/reference-data/lotsizes.js +0 -26
  259. package/esm/simul/reference-data/lotsizes.js.map +0 -1
  260. package/esm/simul/reference-data/orderStatus.js +0 -4
  261. package/esm/simul/reference-data/orderStatus.js.map +0 -1
  262. package/esm/simul/reference-data/orders.js +0 -52
  263. package/esm/simul/reference-data/orders.js.map +0 -1
  264. package/esm/simul/reference-data/parent-child-orders.js +0 -139
  265. package/esm/simul/reference-data/parent-child-orders.js.map +0 -1
  266. package/esm/simul/reference-data/prices.js +0 -86
  267. package/esm/simul/reference-data/prices.js.map +0 -1
  268. package/esm/simul/reference-data/sides.js +0 -4
  269. package/esm/simul/reference-data/sides.js.map +0 -1
  270. package/esm/simul/simul-schemas.js +0 -147
  271. package/esm/simul/simul-schemas.js.map +0 -1
  272. package/esm/test/TestModule.js +0 -84
  273. package/esm/test/TestModule.js.map +0 -1
  274. package/esm/test/test-schemas.js +0 -50
  275. package/esm/test/test-schemas.js.map +0 -1
  276. package/esm/vuu-row-generator.js +0 -68
  277. 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,2 @@
1
+ const isOdd = (value)=>value % 2 === 1;
2
+ export { isOdd };
@@ -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,24 @@
1
+ const lotsizes = [
2
+ 1,
3
+ 2,
4
+ 5,
5
+ 10,
6
+ 50,
7
+ 50,
8
+ 70,
9
+ 100,
10
+ 100,
11
+ 100,
12
+ 120,
13
+ 150,
14
+ 150,
15
+ 200,
16
+ 500,
17
+ 700,
18
+ 1000,
19
+ 2000,
20
+ 2500,
21
+ 5000,
22
+ 10000
23
+ ];
24
+ export { lotsizes };
@@ -0,0 +1,6 @@
1
+ const orderStatus = [
2
+ "NEW",
3
+ "CANCELLED",
4
+ "FILLED"
5
+ ];
6
+ export { orderStatus };
@@ -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,8 @@
1
+ const priceStrategies = [
2
+ "Peg to near touch",
3
+ "Limit",
4
+ "Strategy 3",
5
+ "Strategy 4",
6
+ "Strategy 5"
7
+ ];
8
+ export { priceStrategies };
@@ -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 };
@@ -0,0 +1,5 @@
1
+ const sides = [
2
+ "BUY",
3
+ "SELL"
4
+ ];
5
+ export { sides };