@vuu-ui/vuu-data-test 0.0.26
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/LICENSE +201 -0
- package/README.md +0 -0
- package/cjs/ArrayProxy.js +80 -0
- package/cjs/ArrayProxy.js.map +1 -0
- package/cjs/Table.js +186 -0
- package/cjs/Table.js.map +1 -0
- package/cjs/TickingArrayDataSource.js +134 -0
- package/cjs/TickingArrayDataSource.js.map +1 -0
- package/cjs/UpdateGenerator.js +87 -0
- package/cjs/UpdateGenerator.js.map +1 -0
- package/cjs/basket/basket-module.js +236 -0
- package/cjs/basket/basket-module.js.map +1 -0
- package/cjs/basket/basket-schemas.js +121 -0
- package/cjs/basket/basket-schemas.js.map +1 -0
- package/cjs/basket/reference-data/constituents.js +40 -0
- package/cjs/basket/reference-data/constituents.js.map +1 -0
- package/cjs/basket/reference-data/ftse100.js +105 -0
- package/cjs/basket/reference-data/ftse100.js.map +1 -0
- package/cjs/basket/reference-data/hsi.js +87 -0
- package/cjs/basket/reference-data/hsi.js.map +1 -0
- package/cjs/basket/reference-data/nasdaq100.js +108 -0
- package/cjs/basket/reference-data/nasdaq100.js.map +1 -0
- package/cjs/basket/reference-data/prices.js +51 -0
- package/cjs/basket/reference-data/prices.js.map +1 -0
- package/cjs/basket/reference-data/sp500.js +46 -0
- package/cjs/basket/reference-data/sp500.js.map +1 -0
- package/cjs/data-utils.js +58 -0
- package/cjs/data-utils.js.map +1 -0
- package/cjs/index.js +36 -0
- package/cjs/index.js.map +1 -0
- package/cjs/makeSuggestions.js +37 -0
- package/cjs/makeSuggestions.js.map +1 -0
- package/cjs/schemas.js +28 -0
- package/cjs/schemas.js.map +1 -0
- package/cjs/simul/reference-data/currencies.js +6 -0
- package/cjs/simul/reference-data/currencies.js.map +1 -0
- package/cjs/simul/reference-data/instruments-extended.js +18 -0
- package/cjs/simul/reference-data/instruments-extended.js.map +1 -0
- package/cjs/simul/reference-data/instruments.js +74 -0
- package/cjs/simul/reference-data/instruments.js.map +1 -0
- package/cjs/simul/reference-data/locations.js +17 -0
- package/cjs/simul/reference-data/locations.js.map +1 -0
- package/cjs/simul/reference-data/lotsizes.js +28 -0
- package/cjs/simul/reference-data/lotsizes.js.map +1 -0
- package/cjs/simul/reference-data/orders.js +43 -0
- package/cjs/simul/reference-data/orders.js.map +1 -0
- package/cjs/simul/reference-data/prices.js +71 -0
- package/cjs/simul/reference-data/prices.js.map +1 -0
- package/cjs/simul/simul-module.js +122 -0
- package/cjs/simul/simul-module.js.map +1 -0
- package/cjs/simul/simul-schemas.js +137 -0
- package/cjs/simul/simul-schemas.js.map +1 -0
- package/cjs/test/test-module.js +58 -0
- package/cjs/test/test-module.js.map +1 -0
- package/cjs/test/test-schemas.js +17 -0
- package/cjs/test/test-schemas.js.map +1 -0
- package/cjs/vuu-modules.js +15 -0
- package/cjs/vuu-modules.js.map +1 -0
- package/cjs/vuu-row-generator.js +74 -0
- package/cjs/vuu-row-generator.js.map +1 -0
- package/esm/ArrayProxy.js +78 -0
- package/esm/ArrayProxy.js.map +1 -0
- package/esm/Table.js +182 -0
- package/esm/Table.js.map +1 -0
- package/esm/TickingArrayDataSource.js +132 -0
- package/esm/TickingArrayDataSource.js.map +1 -0
- package/esm/UpdateGenerator.js +85 -0
- package/esm/UpdateGenerator.js.map +1 -0
- package/esm/basket/basket-module.js +232 -0
- package/esm/basket/basket-module.js.map +1 -0
- package/esm/basket/basket-schemas.js +119 -0
- package/esm/basket/basket-schemas.js.map +1 -0
- package/esm/basket/reference-data/constituents.js +38 -0
- package/esm/basket/reference-data/constituents.js.map +1 -0
- package/esm/basket/reference-data/ftse100.js +103 -0
- package/esm/basket/reference-data/ftse100.js.map +1 -0
- package/esm/basket/reference-data/hsi.js +85 -0
- package/esm/basket/reference-data/hsi.js.map +1 -0
- package/esm/basket/reference-data/nasdaq100.js +106 -0
- package/esm/basket/reference-data/nasdaq100.js.map +1 -0
- package/esm/basket/reference-data/prices.js +49 -0
- package/esm/basket/reference-data/prices.js.map +1 -0
- package/esm/basket/reference-data/sp500.js +44 -0
- package/esm/basket/reference-data/sp500.js.map +1 -0
- package/esm/data-utils.js +53 -0
- package/esm/data-utils.js.map +1 -0
- package/esm/index.js +11 -0
- package/esm/index.js.map +1 -0
- package/esm/makeSuggestions.js +35 -0
- package/esm/makeSuggestions.js.map +1 -0
- package/esm/schemas.js +24 -0
- package/esm/schemas.js.map +1 -0
- package/esm/simul/reference-data/currencies.js +4 -0
- package/esm/simul/reference-data/currencies.js.map +1 -0
- package/esm/simul/reference-data/instruments-extended.js +16 -0
- package/esm/simul/reference-data/instruments-extended.js.map +1 -0
- package/esm/simul/reference-data/instruments.js +69 -0
- package/esm/simul/reference-data/instruments.js.map +1 -0
- package/esm/simul/reference-data/locations.js +14 -0
- package/esm/simul/reference-data/locations.js.map +1 -0
- package/esm/simul/reference-data/lotsizes.js +26 -0
- package/esm/simul/reference-data/lotsizes.js.map +1 -0
- package/esm/simul/reference-data/orders.js +40 -0
- package/esm/simul/reference-data/orders.js.map +1 -0
- package/esm/simul/reference-data/prices.js +68 -0
- package/esm/simul/reference-data/prices.js.map +1 -0
- package/esm/simul/simul-module.js +120 -0
- package/esm/simul/simul-module.js.map +1 -0
- package/esm/simul/simul-schemas.js +135 -0
- package/esm/simul/simul-schemas.js.map +1 -0
- package/esm/test/test-module.js +56 -0
- package/esm/test/test-module.js.map +1 -0
- package/esm/test/test-schemas.js +15 -0
- package/esm/test/test-schemas.js.map +1 -0
- package/esm/vuu-modules.js +13 -0
- package/esm/vuu-modules.js.map +1 -0
- package/esm/vuu-row-generator.js +68 -0
- package/esm/vuu-row-generator.js.map +1 -0
- package/package.json +34 -0
- package/types/ArrayProxy.d.ts +8 -0
- package/types/Table.d.ts +23 -0
- package/types/TickingArrayDataSource.d.ts +27 -0
- package/types/UpdateGenerator.d.ts +18 -0
- package/types/basket/basket-module.d.ts +6 -0
- package/types/basket/basket-schemas.d.ts +3 -0
- package/types/basket/index.d.ts +2 -0
- package/types/basket/reference-data/constituents.d.ts +3 -0
- package/types/basket/reference-data/ftse100.d.ts +2 -0
- package/types/basket/reference-data/hsi.d.ts +2 -0
- package/types/basket/reference-data/nasdaq100.d.ts +2 -0
- package/types/basket/reference-data/prices.d.ts +25 -0
- package/types/basket/reference-data/sp500.d.ts +2 -0
- package/types/data-utils.d.ts +6 -0
- package/types/index.d.ts +9 -0
- package/types/makeSuggestions.d.ts +2 -0
- package/types/rowUpdates.d.ts +15 -0
- package/types/schemas.d.ts +8 -0
- package/types/simul/index.d.ts +2 -0
- package/types/simul/reference-data/currencies.d.ts +1 -0
- package/types/simul/reference-data/index.d.ts +5 -0
- package/types/simul/reference-data/instrument-prices.d.ts +54 -0
- package/types/simul/reference-data/instruments-extended.d.ts +2 -0
- package/types/simul/reference-data/instruments.d.ts +31 -0
- package/types/simul/reference-data/locations.d.ts +4 -0
- package/types/simul/reference-data/lotsizes.d.ts +1 -0
- package/types/simul/reference-data/orders.d.ts +35 -0
- package/types/simul/reference-data/priceStrategies.d.ts +1 -0
- package/types/simul/reference-data/prices.d.ts +27 -0
- package/types/simul/simul-module.d.ts +3 -0
- package/types/simul/simul-schemas.d.ts +3 -0
- package/types/test/index.d.ts +1 -0
- package/types/test/test-module.d.ts +4 -0
- package/types/test/test-schemas.d.ts +3 -0
- package/types/vuu-modules.d.ts +7 -0
- package/types/vuu-row-generator.d.ts +17 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import pricesTable from './reference-data/prices.js';
|
|
2
|
+
import { Table, joinTables } from '../Table.js';
|
|
3
|
+
import { TickingArrayDataSource } from '../TickingArrayDataSource.js';
|
|
4
|
+
import { schemas } from './basket-schemas.js';
|
|
5
|
+
import basketConstituentData from './reference-data/constituents.js';
|
|
6
|
+
|
|
7
|
+
const buildDataColumnMap = (tableName) => Object.values(schemas[tableName].columns).reduce(
|
|
8
|
+
(map, col, index) => {
|
|
9
|
+
map[col.name] = index;
|
|
10
|
+
return map;
|
|
11
|
+
},
|
|
12
|
+
{}
|
|
13
|
+
);
|
|
14
|
+
const tableMaps = {
|
|
15
|
+
algoType: buildDataColumnMap("algoType"),
|
|
16
|
+
basket: buildDataColumnMap("basket"),
|
|
17
|
+
basketTrading: buildDataColumnMap("basketTrading"),
|
|
18
|
+
basketTradingConstituent: buildDataColumnMap("basketTradingConstituent"),
|
|
19
|
+
basketConstituent: buildDataColumnMap("basketConstituent"),
|
|
20
|
+
basketTradingConstituentJoin: buildDataColumnMap(
|
|
21
|
+
"basketTradingConstituentJoin"
|
|
22
|
+
),
|
|
23
|
+
priceStrategyType: buildDataColumnMap("priceStrategyType")
|
|
24
|
+
};
|
|
25
|
+
const basketConstituent = new Table(
|
|
26
|
+
schemas.basketConstituent,
|
|
27
|
+
basketConstituentData,
|
|
28
|
+
tableMaps.basketConstituent
|
|
29
|
+
);
|
|
30
|
+
const basketTrading = new Table(
|
|
31
|
+
schemas.basketTrading,
|
|
32
|
+
[],
|
|
33
|
+
tableMaps.basketTrading
|
|
34
|
+
);
|
|
35
|
+
let basketIncrement = 1;
|
|
36
|
+
const basketTradingConstituent = new Table(
|
|
37
|
+
schemas.basketTradingConstituent,
|
|
38
|
+
[],
|
|
39
|
+
tableMaps.basketTradingConstituent
|
|
40
|
+
);
|
|
41
|
+
const createBasketTradingRow = (basketId, basketName, side = "BUY", status = "OFF MARKET") => [
|
|
42
|
+
basketId,
|
|
43
|
+
basketName,
|
|
44
|
+
0,
|
|
45
|
+
1.25,
|
|
46
|
+
`steve-${basketIncrement++}`,
|
|
47
|
+
side,
|
|
48
|
+
status,
|
|
49
|
+
1e6,
|
|
50
|
+
125e4,
|
|
51
|
+
100
|
|
52
|
+
];
|
|
53
|
+
function createTradingBasket(basketId, basketName) {
|
|
54
|
+
const basketTradingRow = createBasketTradingRow(basketId, basketName);
|
|
55
|
+
basketTrading.insert(basketTradingRow);
|
|
56
|
+
const { basketId: key } = buildDataColumnMap("basketConstituent");
|
|
57
|
+
const constituents = basketConstituent.data.filter(
|
|
58
|
+
(c) => c[key] === basketId
|
|
59
|
+
);
|
|
60
|
+
const { instanceId } = tableMaps.basketTrading;
|
|
61
|
+
constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {
|
|
62
|
+
const algo = "";
|
|
63
|
+
const algoParams = "";
|
|
64
|
+
const limitPrice = 95;
|
|
65
|
+
const notionalLocal = 0;
|
|
66
|
+
const notionalUsd = 0;
|
|
67
|
+
const pctFilled = 0;
|
|
68
|
+
const priceSpread = 0;
|
|
69
|
+
const priceStrategyId = "";
|
|
70
|
+
const side = "BUY";
|
|
71
|
+
const venue = "venue";
|
|
72
|
+
const basketInstanceId = basketTradingRow[instanceId];
|
|
73
|
+
const basketTradingConstituentRow = [
|
|
74
|
+
algo,
|
|
75
|
+
algoParams,
|
|
76
|
+
basketId,
|
|
77
|
+
description,
|
|
78
|
+
basketInstanceId,
|
|
79
|
+
`${basketInstanceId}-${ric}`,
|
|
80
|
+
limitPrice,
|
|
81
|
+
notionalLocal,
|
|
82
|
+
notionalUsd,
|
|
83
|
+
pctFilled,
|
|
84
|
+
priceSpread,
|
|
85
|
+
priceStrategyId,
|
|
86
|
+
quantity,
|
|
87
|
+
ric,
|
|
88
|
+
side,
|
|
89
|
+
venue,
|
|
90
|
+
weighting
|
|
91
|
+
];
|
|
92
|
+
basketTradingConstituent.insert(basketTradingConstituentRow);
|
|
93
|
+
});
|
|
94
|
+
return basketTradingRow[instanceId];
|
|
95
|
+
}
|
|
96
|
+
async function addConstituent(rpcRequest) {
|
|
97
|
+
console.log(`RPC call erceived ${rpcRequest.rpcName}`);
|
|
98
|
+
}
|
|
99
|
+
async function sendToMarket(rpcRequest) {
|
|
100
|
+
const [basketInstanceId] = rpcRequest.params;
|
|
101
|
+
basketTrading.update(basketInstanceId, "status", "ON_MARKET");
|
|
102
|
+
}
|
|
103
|
+
async function takeOffMarket(rpcRequest) {
|
|
104
|
+
const [basketInstanceId] = rpcRequest.params;
|
|
105
|
+
basketTrading.update(basketInstanceId, "status", "OFF-MARKET");
|
|
106
|
+
}
|
|
107
|
+
async function createNewBasket(rpcRequest) {
|
|
108
|
+
const {
|
|
109
|
+
params: [basketId, basketName]
|
|
110
|
+
} = rpcRequest;
|
|
111
|
+
const key = createTradingBasket(basketId, basketName);
|
|
112
|
+
return {
|
|
113
|
+
action: {
|
|
114
|
+
type: "VP_CREATE_SUCCESS",
|
|
115
|
+
key
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const tables = {
|
|
120
|
+
algoType: new Table(
|
|
121
|
+
schemas.algoType,
|
|
122
|
+
[
|
|
123
|
+
["Sniper", 0],
|
|
124
|
+
["Dark Liquidity", 1],
|
|
125
|
+
["VWAP", 2],
|
|
126
|
+
["POV", 3],
|
|
127
|
+
["Dynamic Close", 4]
|
|
128
|
+
],
|
|
129
|
+
tableMaps.algoType
|
|
130
|
+
),
|
|
131
|
+
basket: new Table(
|
|
132
|
+
schemas.basket,
|
|
133
|
+
[
|
|
134
|
+
[".NASDAQ100", ".NASDAQ100", 0, 0],
|
|
135
|
+
[".HSI", ".HSI", 0, 0],
|
|
136
|
+
[".FTSE100", ".FTSE100", 0, 0],
|
|
137
|
+
[".SP500", ".SP500", 0, 0]
|
|
138
|
+
],
|
|
139
|
+
tableMaps.basket
|
|
140
|
+
),
|
|
141
|
+
basketConstituent,
|
|
142
|
+
basketTrading,
|
|
143
|
+
basketTradingConstituent,
|
|
144
|
+
basketTradingConstituentJoin: joinTables(
|
|
145
|
+
{ module: "BASKET", table: "basketTradingConstituentJoin" },
|
|
146
|
+
basketTradingConstituent,
|
|
147
|
+
pricesTable,
|
|
148
|
+
"ric"
|
|
149
|
+
),
|
|
150
|
+
priceStrategyType: new Table(
|
|
151
|
+
schemas.priceStrategyType,
|
|
152
|
+
[
|
|
153
|
+
["Peg to Near Touch", 0],
|
|
154
|
+
["Far Touch", 1],
|
|
155
|
+
["Limit", 2],
|
|
156
|
+
["Algo", 3]
|
|
157
|
+
],
|
|
158
|
+
tableMaps.priceStrategyType
|
|
159
|
+
)
|
|
160
|
+
};
|
|
161
|
+
const menus = {
|
|
162
|
+
algoType: void 0,
|
|
163
|
+
basket: {
|
|
164
|
+
name: "ROOT",
|
|
165
|
+
menus: [
|
|
166
|
+
{
|
|
167
|
+
context: "selected-rows",
|
|
168
|
+
filter: "",
|
|
169
|
+
name: "Add Basket",
|
|
170
|
+
rpcName: "CREATE_NEW_BASKET"
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
basketConstituent: void 0,
|
|
175
|
+
basketTrading: void 0,
|
|
176
|
+
basketTradingConstituent: void 0,
|
|
177
|
+
basketTradingConstituentJoin: void 0,
|
|
178
|
+
priceStrategyType: void 0
|
|
179
|
+
};
|
|
180
|
+
const services = {
|
|
181
|
+
algoType: void 0,
|
|
182
|
+
basket: [
|
|
183
|
+
{
|
|
184
|
+
rpcName: "createBasket",
|
|
185
|
+
service: createNewBasket
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
basketConstituent: void 0,
|
|
189
|
+
basketTrading: [
|
|
190
|
+
{
|
|
191
|
+
rpcName: "sendToMarket",
|
|
192
|
+
service: sendToMarket
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
rpcName: "takeOffMarket",
|
|
196
|
+
service: takeOffMarket
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
basketTradingConstituent: void 0,
|
|
200
|
+
basketTradingConstituentJoin: [
|
|
201
|
+
{
|
|
202
|
+
rpcName: "addConstituent",
|
|
203
|
+
service: addConstituent
|
|
204
|
+
}
|
|
205
|
+
],
|
|
206
|
+
priceStrategyType: void 0
|
|
207
|
+
};
|
|
208
|
+
const getColumnDescriptors = (tableName) => {
|
|
209
|
+
const schema = schemas[tableName];
|
|
210
|
+
return schema.columns;
|
|
211
|
+
};
|
|
212
|
+
const createDataSource = (tableName) => {
|
|
213
|
+
const columnDescriptors = getColumnDescriptors(tableName);
|
|
214
|
+
const { key } = schemas[tableName];
|
|
215
|
+
return new TickingArrayDataSource({
|
|
216
|
+
columnDescriptors,
|
|
217
|
+
dataMap: tableMaps[tableName],
|
|
218
|
+
keyColumn: key,
|
|
219
|
+
menu: menus[tableName],
|
|
220
|
+
rpcServices: services[tableName],
|
|
221
|
+
table: tables[tableName]
|
|
222
|
+
// updateGenerator: createUpdateGenerator?.(),
|
|
223
|
+
});
|
|
224
|
+
};
|
|
225
|
+
const nullTypeaheadHook = async () => [];
|
|
226
|
+
const basketModule = {
|
|
227
|
+
createDataSource,
|
|
228
|
+
typeaheadHook: () => nullTypeaheadHook
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
export { basketModule, createBasketTradingRow, tables };
|
|
232
|
+
//# sourceMappingURL=basket-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basket-module.js","sources":["../../src/basket/basket-module.ts"],"sourcesContent":["import {\n ClientToServerViewportRpcCall,\n VuuMenu,\n VuuRowDataItemType,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"@vuu-ui/vuu-utils\";\nimport pricesTable from \"./reference-data/prices\";\nimport { joinTables, Table } from \"../Table\";\nimport { TickingArrayDataSource } from \"../TickingArrayDataSource\";\nimport type { VuuModule } from \"../vuu-modules\";\nimport { BasketsTableName, schemas } from \"./basket-schemas\";\nimport basketConstituentData from \"./reference-data/constituents\";\n\ntype RpcService = {\n rpcName: string;\n service: (rpcRequest: any) => Promise<unknown>;\n};\n\n// This is a 'local' columnMap\nconst buildDataColumnMap = (tableName: BasketsTableName) =>\n Object.values(schemas[tableName].columns).reduce<ColumnMap>(\n (map, col, index) => {\n map[col.name] = index;\n return map;\n },\n {}\n );\n\nconst tableMaps: Record<BasketsTableName, ColumnMap> = {\n algoType: buildDataColumnMap(\"algoType\"),\n basket: buildDataColumnMap(\"basket\"),\n basketTrading: buildDataColumnMap(\"basketTrading\"),\n basketTradingConstituent: buildDataColumnMap(\"basketTradingConstituent\"),\n basketConstituent: buildDataColumnMap(\"basketConstituent\"),\n basketTradingConstituentJoin: buildDataColumnMap(\n \"basketTradingConstituentJoin\"\n ),\n priceStrategyType: buildDataColumnMap(\"priceStrategyType\"),\n};\n\n/**\n * BasketConstituent\n */\n\nconst basketConstituent = new Table(\n schemas.basketConstituent,\n basketConstituentData,\n tableMaps.basketConstituent\n);\n\n/**\n * BasketTrading\n */\nconst basketTrading = new Table(\n schemas.basketTrading,\n [],\n tableMaps.basketTrading\n);\n\nlet basketIncrement = 1;\n/**\n * BasketTradingConstituent\n */\nconst basketTradingConstituent = new Table(\n schemas.basketTradingConstituent,\n [],\n tableMaps.basketTradingConstituent\n);\n\n// export as convenience for showcase examples\nexport const createBasketTradingRow = (\n basketId: string,\n basketName: string,\n side = \"BUY\",\n status = \"OFF MARKET\"\n) => [\n basketId,\n basketName,\n 0,\n 1.25,\n `steve-${basketIncrement++}`,\n side,\n status,\n 1_000_000,\n 1_250_000,\n 100,\n];\n\nfunction createTradingBasket(basketId: string, basketName: string) {\n const basketTradingRow = createBasketTradingRow(basketId, basketName);\n\n basketTrading.insert(basketTradingRow);\n\n const { basketId: key } = buildDataColumnMap(\"basketConstituent\");\n const constituents = basketConstituent.data.filter(\n (c) => c[key] === basketId\n );\n\n const { instanceId } = tableMaps.basketTrading;\n\n constituents.forEach(([, , description, , ric, , , quantity, weighting]) => {\n const algo = \"\";\n const algoParams = \"\";\n const limitPrice = 95;\n const notionalLocal = 0;\n const notionalUsd = 0;\n const pctFilled = 0;\n const priceSpread = 0;\n const priceStrategyId = \"\";\n const side = \"BUY\";\n const venue = \"venue\";\n\n const basketInstanceId = basketTradingRow[instanceId];\n const basketTradingConstituentRow: VuuRowDataItemType[] = [\n algo,\n algoParams,\n basketId,\n description,\n basketInstanceId,\n `${basketInstanceId}-${ric}`,\n limitPrice,\n notionalLocal,\n notionalUsd,\n pctFilled,\n priceSpread,\n priceStrategyId,\n quantity,\n ric,\n side,\n venue,\n weighting,\n ];\n basketTradingConstituent.insert(basketTradingConstituentRow);\n });\n\n // return the key\n return basketTradingRow[instanceId] as string;\n}\n\nasync function addConstituent(rpcRequest: ClientToServerViewportRpcCall) {\n console.log(`RPC call erceived ${rpcRequest.rpcName}`);\n}\nasync function sendToMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"ON_MARKET\");\n}\nasync function takeOffMarket(rpcRequest: ClientToServerViewportRpcCall) {\n const [basketInstanceId] = rpcRequest.params;\n basketTrading.update(basketInstanceId, \"status\", \"OFF-MARKET\");\n}\n\nasync function createNewBasket(rpcRequest: ClientToServerViewportRpcCall) {\n const {\n params: [basketId, basketName],\n } = rpcRequest;\n const key = createTradingBasket(basketId, basketName);\n return {\n action: {\n type: \"VP_CREATE_SUCCESS\",\n key,\n },\n };\n}\n\n//-------------------\n\nexport const tables: Record<BasketsTableName, Table> = {\n algoType: new Table(\n schemas.algoType,\n [\n [\"Sniper\", 0],\n [\"Dark Liquidity\", 1],\n [\"VWAP\", 2],\n [\"POV\", 3],\n [\"Dynamic Close\", 4],\n ],\n tableMaps.algoType\n ),\n basket: new Table(\n schemas.basket,\n [\n [\".NASDAQ100\", \".NASDAQ100\", 0, 0],\n [\".HSI\", \".HSI\", 0, 0],\n [\".FTSE100\", \".FTSE100\", 0, 0],\n [\".SP500\", \".SP500\", 0, 0],\n ],\n tableMaps.basket\n ),\n basketConstituent,\n basketTrading,\n basketTradingConstituent,\n basketTradingConstituentJoin: joinTables(\n { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n basketTradingConstituent,\n pricesTable,\n \"ric\"\n ),\n priceStrategyType: new Table(\n schemas.priceStrategyType,\n [\n [\"Peg to Near Touch\", 0],\n [\"Far Touch\", 1],\n [\"Limit\", 2],\n [\"Algo\", 3],\n ],\n tableMaps.priceStrategyType\n ),\n};\n\nconst menus: Record<BasketsTableName, VuuMenu | undefined> = {\n algoType: undefined,\n basket: {\n name: \"ROOT\",\n menus: [\n {\n context: \"selected-rows\",\n filter: \"\",\n name: \"Add Basket\",\n rpcName: \"CREATE_NEW_BASKET\",\n },\n ],\n },\n basketConstituent: undefined,\n basketTrading: undefined,\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: undefined,\n priceStrategyType: undefined,\n};\n\nconst services: Record<BasketsTableName, RpcService[] | undefined> = {\n algoType: undefined,\n basket: [\n {\n rpcName: \"createBasket\",\n service: createNewBasket,\n },\n ],\n basketConstituent: undefined,\n basketTrading: [\n {\n rpcName: \"sendToMarket\",\n service: sendToMarket,\n },\n {\n rpcName: \"takeOffMarket\",\n service: takeOffMarket,\n },\n ],\n basketTradingConstituent: undefined,\n basketTradingConstituentJoin: [\n {\n rpcName: \"addConstituent\",\n service: addConstituent,\n },\n ],\n priceStrategyType: undefined,\n};\n\nconst getColumnDescriptors = (tableName: BasketsTableName) => {\n const schema = schemas[tableName];\n return schema.columns;\n};\n\nconst createDataSource = (tableName: BasketsTableName) => {\n const columnDescriptors = getColumnDescriptors(tableName);\n const { key } = schemas[tableName];\n return new TickingArrayDataSource({\n columnDescriptors,\n dataMap: tableMaps[tableName],\n keyColumn: key,\n menu: menus[tableName],\n rpcServices: services[tableName],\n table: tables[tableName],\n // updateGenerator: createUpdateGenerator?.(),\n });\n};\n\nconst nullTypeaheadHook = async () => [];\n\nexport const basketModule: VuuModule<BasketsTableName> = {\n createDataSource,\n typeaheadHook: () => nullTypeaheadHook,\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
const schemas = {
|
|
2
|
+
algoType: {
|
|
3
|
+
columns: [
|
|
4
|
+
{ name: "algoType", serverDataType: "string" },
|
|
5
|
+
{ name: "id", serverDataType: "int" }
|
|
6
|
+
],
|
|
7
|
+
key: "id",
|
|
8
|
+
table: { module: "BASKET", table: "algoType" }
|
|
9
|
+
},
|
|
10
|
+
basket: {
|
|
11
|
+
columns: [
|
|
12
|
+
{ name: "id", serverDataType: "string" },
|
|
13
|
+
{ name: "name", serverDataType: "string" },
|
|
14
|
+
{ name: "notionalValue", serverDataType: "double" },
|
|
15
|
+
{ name: "notionalValueUsd", serverDataType: "double" }
|
|
16
|
+
],
|
|
17
|
+
key: "id",
|
|
18
|
+
table: { module: "BASKET", table: "basket" }
|
|
19
|
+
},
|
|
20
|
+
basketConstituent: {
|
|
21
|
+
columns: [
|
|
22
|
+
{ name: "basketId", serverDataType: "string" },
|
|
23
|
+
{ name: "change", serverDataType: "string" },
|
|
24
|
+
{ name: "description", serverDataType: "string" },
|
|
25
|
+
{ name: "lastTrade", serverDataType: "string" },
|
|
26
|
+
{ name: "ric", serverDataType: "string" },
|
|
27
|
+
{ name: "ricBasketId", serverDataType: "string" },
|
|
28
|
+
{ name: "side", serverDataType: "string" },
|
|
29
|
+
{ name: "volume", serverDataType: "string" },
|
|
30
|
+
{ name: "weighting", serverDataType: "double" }
|
|
31
|
+
],
|
|
32
|
+
key: "ricBasketId",
|
|
33
|
+
table: { module: "BASKET", table: "basketConstituent" }
|
|
34
|
+
},
|
|
35
|
+
basketTrading: {
|
|
36
|
+
columns: [
|
|
37
|
+
{ name: "basketId", serverDataType: "string" },
|
|
38
|
+
{ name: "basketName", serverDataType: "string" },
|
|
39
|
+
{ name: "filledPct", serverDataType: "double" },
|
|
40
|
+
{ name: "fxRateToUsd", serverDataType: "double" },
|
|
41
|
+
{ name: "instanceId", serverDataType: "string" },
|
|
42
|
+
{ name: "side", serverDataType: "string" },
|
|
43
|
+
{ name: "status", serverDataType: "string" },
|
|
44
|
+
{ name: "totalNotional", serverDataType: "double" },
|
|
45
|
+
{ name: "totalNotionalUsd", serverDataType: "double" },
|
|
46
|
+
{ name: "units", serverDataType: "int" }
|
|
47
|
+
],
|
|
48
|
+
key: "instanceId",
|
|
49
|
+
table: { module: "BASKET", table: "basketTrading" }
|
|
50
|
+
},
|
|
51
|
+
basketTradingConstituent: {
|
|
52
|
+
columns: [
|
|
53
|
+
{ name: "algo", serverDataType: "string" },
|
|
54
|
+
{ name: "algoParams", serverDataType: "string" },
|
|
55
|
+
{ name: "basketId", serverDataType: "string" },
|
|
56
|
+
{ name: "description", serverDataType: "string" },
|
|
57
|
+
{ name: "instanceId", serverDataType: "string" },
|
|
58
|
+
{ name: "instanceIdRic", serverDataType: "string" },
|
|
59
|
+
{ name: "limitPrice", serverDataType: "double" },
|
|
60
|
+
{ name: "notionalLocal", serverDataType: "double" },
|
|
61
|
+
{ name: "notionalUsd", serverDataType: "double" },
|
|
62
|
+
{ name: "pctFilled", serverDataType: "double" },
|
|
63
|
+
{ name: "priceSpread", serverDataType: "int" },
|
|
64
|
+
{ name: "priceStrategyId", serverDataType: "int" },
|
|
65
|
+
{ name: "quantity", serverDataType: "long" },
|
|
66
|
+
{ name: "ric", serverDataType: "string" },
|
|
67
|
+
{ name: "side", serverDataType: "string" },
|
|
68
|
+
{ name: "status", serverDataType: "string" },
|
|
69
|
+
{ name: "venue", serverDataType: "string" },
|
|
70
|
+
{ name: "weighting", serverDataType: "double" }
|
|
71
|
+
],
|
|
72
|
+
key: "instanceIdRic",
|
|
73
|
+
table: { module: "BASKET", table: "basketTradingConstituent" }
|
|
74
|
+
},
|
|
75
|
+
basketTradingConstituentJoin: {
|
|
76
|
+
columns: [
|
|
77
|
+
{ name: "algo", serverDataType: "string" },
|
|
78
|
+
{ name: "algoParams", serverDataType: "string" },
|
|
79
|
+
{ name: "ask", serverDataType: "double" },
|
|
80
|
+
{ name: "askSize", serverDataType: "double" },
|
|
81
|
+
{ name: "basketId", serverDataType: "string" },
|
|
82
|
+
{ name: "bid", serverDataType: "double" },
|
|
83
|
+
{ name: "bidSize", serverDataType: "double" },
|
|
84
|
+
{ name: "close", serverDataType: "double" },
|
|
85
|
+
{ name: "description", serverDataType: "string" },
|
|
86
|
+
{ name: "instanceId", serverDataType: "string" },
|
|
87
|
+
{ name: "instanceIdRic", serverDataType: "string" },
|
|
88
|
+
{ name: "last", serverDataType: "double" },
|
|
89
|
+
{ name: "limitPrice", serverDataType: "double" },
|
|
90
|
+
{ name: "notionalLocal", serverDataType: "double" },
|
|
91
|
+
{ name: "notionalUsd", serverDataType: "double" },
|
|
92
|
+
{ name: "open", serverDataType: "double" },
|
|
93
|
+
{ name: "pctFilled", serverDataType: "double" },
|
|
94
|
+
{ name: "phase", serverDataType: "string" },
|
|
95
|
+
{ name: "priceSpread", serverDataType: "int" },
|
|
96
|
+
{ name: "priceStrategyId", serverDataType: "int" },
|
|
97
|
+
{ name: "quantity", serverDataType: "long" },
|
|
98
|
+
{ name: "ric", serverDataType: "string" },
|
|
99
|
+
{ name: "scenario", serverDataType: "string" },
|
|
100
|
+
{ name: "side", serverDataType: "string" },
|
|
101
|
+
{ name: "status", serverDataType: "string" },
|
|
102
|
+
{ name: "venue", serverDataType: "string" },
|
|
103
|
+
{ name: "weighting", serverDataType: "double" }
|
|
104
|
+
],
|
|
105
|
+
key: "instanceIdRic",
|
|
106
|
+
table: { module: "BASKET", table: "basketTradingConstituentJoin" }
|
|
107
|
+
},
|
|
108
|
+
priceStrategyType: {
|
|
109
|
+
columns: [
|
|
110
|
+
{ name: "priceStrategy", serverDataType: "string" },
|
|
111
|
+
{ name: "id", serverDataType: "int" }
|
|
112
|
+
],
|
|
113
|
+
key: "",
|
|
114
|
+
table: { module: "BASKET", table: "priceStrategyType" }
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export { schemas };
|
|
119
|
+
//# sourceMappingURL=basket-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basket-schemas.js","sources":["../../src/basket/basket-schemas.ts"],"sourcesContent":["import { TableSchema } from \"@vuu-ui/vuu-data-types\";\n\nexport type BasketsTableName =\n | \"algoType\"\n | \"basket\"\n | \"basketConstituent\"\n | \"basketTrading\"\n | \"basketTradingConstituent\"\n | \"basketTradingConstituentJoin\"\n | \"priceStrategyType\";\n\nexport const schemas: Readonly<\n Record<BasketsTableName, Readonly<TableSchema>>\n> = {\n algoType: {\n columns: [\n { name: \"algoType\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"algoType\" },\n },\n basket: {\n columns: [\n { name: \"id\", serverDataType: \"string\" },\n { name: \"name\", serverDataType: \"string\" },\n { name: \"notionalValue\", serverDataType: \"double\" },\n { name: \"notionalValueUsd\", serverDataType: \"double\" },\n ],\n key: \"id\",\n table: { module: \"BASKET\", table: \"basket\" },\n },\n basketConstituent: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"change\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"lastTrade\", serverDataType: \"string\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"ricBasketId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"volume\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"ricBasketId\",\n table: { module: \"BASKET\", table: \"basketConstituent\" },\n },\n basketTrading: {\n columns: [\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"basketName\", serverDataType: \"string\" },\n { name: \"filledPct\", serverDataType: \"double\" },\n { name: \"fxRateToUsd\", serverDataType: \"double\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"totalNotional\", serverDataType: \"double\" },\n { name: \"totalNotionalUsd\", serverDataType: \"double\" },\n { name: \"units\", serverDataType: \"int\" },\n ],\n key: \"instanceId\",\n table: { module: \"BASKET\", table: \"basketTrading\" },\n },\n basketTradingConstituent: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituent\" },\n },\n\n basketTradingConstituentJoin: {\n columns: [\n { name: \"algo\", serverDataType: \"string\" },\n { name: \"algoParams\", serverDataType: \"string\" },\n { name: \"ask\", serverDataType: \"double\" },\n { name: \"askSize\", serverDataType: \"double\" },\n { name: \"basketId\", serverDataType: \"string\" },\n { name: \"bid\", serverDataType: \"double\" },\n { name: \"bidSize\", serverDataType: \"double\" },\n { name: \"close\", serverDataType: \"double\" },\n { name: \"description\", serverDataType: \"string\" },\n { name: \"instanceId\", serverDataType: \"string\" },\n { name: \"instanceIdRic\", serverDataType: \"string\" },\n { name: \"last\", serverDataType: \"double\" },\n { name: \"limitPrice\", serverDataType: \"double\" },\n { name: \"notionalLocal\", serverDataType: \"double\" },\n { name: \"notionalUsd\", serverDataType: \"double\" },\n { name: \"open\", serverDataType: \"double\" },\n { name: \"pctFilled\", serverDataType: \"double\" },\n { name: \"phase\", serverDataType: \"string\" },\n { name: \"priceSpread\", serverDataType: \"int\" },\n { name: \"priceStrategyId\", serverDataType: \"int\" },\n { name: \"quantity\", serverDataType: \"long\" },\n { name: \"ric\", serverDataType: \"string\" },\n { name: \"scenario\", serverDataType: \"string\" },\n { name: \"side\", serverDataType: \"string\" },\n { name: \"status\", serverDataType: \"string\" },\n { name: \"venue\", serverDataType: \"string\" },\n { name: \"weighting\", serverDataType: \"double\" },\n ],\n key: \"instanceIdRic\",\n table: { module: \"BASKET\", table: \"basketTradingConstituentJoin\" },\n },\n priceStrategyType: {\n columns: [\n { name: \"priceStrategy\", serverDataType: \"string\" },\n { name: \"id\", serverDataType: \"int\" },\n ],\n key: \"\",\n table: { module: \"BASKET\", table: \"priceStrategyType\" },\n },\n};\n"],"names":[],"mappings":"AAWO,MAAM,OAET,GAAA;AAAA,EACF,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,KACtC;AAAA,IACA,GAAK,EAAA,IAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,UAAW,EAAA;AAAA,GAC/C;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACvC,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,kBAAoB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,KACvD;AAAA,IACA,GAAK,EAAA,IAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,QAAS,EAAA;AAAA,GAC7C;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC9C,EAAE,IAAA,EAAM,KAAO,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACxC,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,KAChD;AAAA,IACA,GAAK,EAAA,aAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,mBAAoB,EAAA;AAAA,GACxD;AAAA,EACA,aAAe,EAAA;AAAA,IACb,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC9C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,kBAAoB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACrD,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,KACzC;AAAA,IACA,GAAK,EAAA,YAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,eAAgB,EAAA;AAAA,GACpD;AAAA,EACA,wBAA0B,EAAA;AAAA,IACxB,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC9C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,iBAAmB,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,MACjD,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,MAAO,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,KAAO,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACxC,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC1C,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,KAChD;AAAA,IACA,GAAK,EAAA,eAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,0BAA2B,EAAA;AAAA,GAC/D;AAAA,EAEA,4BAA8B,EAAA;AAAA,IAC5B,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,KAAO,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACxC,EAAE,IAAA,EAAM,SAAW,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC5C,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,KAAO,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACxC,EAAE,IAAA,EAAM,SAAW,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC5C,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC1C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,YAAc,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC/C,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAChD,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC9C,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC1C,EAAE,IAAA,EAAM,aAAe,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,iBAAmB,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,MACjD,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,MAAO,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,KAAO,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACxC,EAAE,IAAA,EAAM,UAAY,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC7C,EAAE,IAAA,EAAM,MAAQ,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MACzC,EAAE,IAAA,EAAM,QAAU,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC3C,EAAE,IAAA,EAAM,OAAS,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAC1C,EAAE,IAAA,EAAM,WAAa,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,KAChD;AAAA,IACA,GAAK,EAAA,eAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,8BAA+B,EAAA;AAAA,GACnE;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,OAAS,EAAA;AAAA,MACP,EAAE,IAAA,EAAM,eAAiB,EAAA,cAAA,EAAgB,QAAS,EAAA;AAAA,MAClD,EAAE,IAAA,EAAM,IAAM,EAAA,cAAA,EAAgB,KAAM,EAAA;AAAA,KACtC;AAAA,IACA,GAAK,EAAA,EAAA;AAAA,IACL,KAAO,EAAA,EAAE,MAAQ,EAAA,QAAA,EAAU,OAAO,mBAAoB,EAAA;AAAA,GACxD;AACF;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import ftse from './ftse100.js';
|
|
2
|
+
import nasdaq from './nasdaq100.js';
|
|
3
|
+
import sp500 from './sp500.js';
|
|
4
|
+
import hsi from './hsi.js';
|
|
5
|
+
|
|
6
|
+
const basketConstituentData = [];
|
|
7
|
+
for (const row of ftse) {
|
|
8
|
+
const [ric, name, lastTrade, change, volume] = row;
|
|
9
|
+
const basketId = ".FTSE100";
|
|
10
|
+
const side = "BUY";
|
|
11
|
+
const weighting = 1;
|
|
12
|
+
basketConstituentData.push([basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting]);
|
|
13
|
+
}
|
|
14
|
+
for (const row of hsi) {
|
|
15
|
+
const [name, ric, lastTrade, change, , volume] = row;
|
|
16
|
+
const basketId = ".HSI";
|
|
17
|
+
const side = "BUY";
|
|
18
|
+
const weighting = 1;
|
|
19
|
+
basketConstituentData.push([basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting]);
|
|
20
|
+
}
|
|
21
|
+
for (const row of nasdaq) {
|
|
22
|
+
const [name, ric, weighting, lastTrade, change] = row;
|
|
23
|
+
const basketId = ".NASDAQ100";
|
|
24
|
+
const side = "BUY";
|
|
25
|
+
const volume = 1e3;
|
|
26
|
+
basketConstituentData.push([basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting]);
|
|
27
|
+
}
|
|
28
|
+
for (const row of sp500) {
|
|
29
|
+
const [name, ric, weighting, , change] = row;
|
|
30
|
+
const basketId = ".SP500";
|
|
31
|
+
const side = "BUY";
|
|
32
|
+
const volume = 1e3;
|
|
33
|
+
const lastTrade = 0;
|
|
34
|
+
basketConstituentData.push([basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting]);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { basketConstituentData as default };
|
|
38
|
+
//# sourceMappingURL=constituents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constituents.js","sources":["../../../src/basket/reference-data/constituents.ts"],"sourcesContent":["import ftse from \"./ftse100\";\nimport nasdaq from \"./nasdaq100\";\nimport sp500 from \"./sp500\";\nimport hsi from \"./hsi\";\nimport { VuuRowDataItemType } from \"@vuu-ui/vuu-protocol-types\";\n\nconst basketConstituentData = [];\nfor (const row of ftse) {\n // prettier-ignore\n const [ric, name, lastTrade, change, volume] = row;\n const basketId = \".FTSE100\";\n const side = \"BUY\";\n const weighting = 1;\n // prettier-ignore\n basketConstituentData.push([ basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting ]);\n}\n\nfor (const row of hsi) {\n // prettier-ignore\n const [name, ric, lastTrade, change, , volume] = row;\n const basketId = \".HSI\";\n const side = \"BUY\";\n const weighting = 1;\n // prettier-ignore\n basketConstituentData.push([basketId,change,name, lastTrade,ric,`${ric}-${basketId}`,side,volume,weighting ]);\n}\n\nfor (const row of nasdaq) {\n // prettier-ignore\n const [name, ric, weighting, lastTrade, change] = row;\n const basketId = \".NASDAQ100\";\n const side = \"BUY\";\n const volume = 1000;\n // prettier-ignore\n basketConstituentData.push([ basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting ]);\n}\n\nfor (const row of sp500) {\n // prettier-ignore\n const [name, ric, weighting,,change] = row;\n const basketId = \".SP500\";\n const side = \"BUY\";\n const volume = 1000;\n const lastTrade = 0;\n // prettier-ignore\n basketConstituentData.push([ basketId, change, name, lastTrade, ric, `${ric}-${basketId}`, side, volume, weighting ]);\n}\n\nexport default basketConstituentData as VuuRowDataItemType[][];\n"],"names":[],"mappings":";;;;;AAMA,MAAM,wBAAwB,GAAC;AAC/B,KAAA,MAAW,OAAO,IAAM,EAAA;AAEtB,EAAA,MAAM,CAAC,GAAK,EAAA,IAAA,EAAM,SAAW,EAAA,MAAA,EAAQ,MAAM,CAAI,GAAA,GAAA,CAAA;AAC/C,EAAA,MAAM,QAAW,GAAA,UAAA,CAAA;AACjB,EAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,EAAA,MAAM,SAAY,GAAA,CAAA,CAAA;AAElB,EAAA,qBAAA,CAAsB,IAAK,CAAA,CAAE,QAAU,EAAA,MAAA,EAAQ,MAAM,SAAW,EAAA,GAAA,EAAK,CAAG,EAAA,GAAG,IAAI,QAAQ,CAAA,CAAA,EAAI,IAAM,EAAA,MAAA,EAAQ,SAAU,CAAC,CAAA,CAAA;AACtH,CAAA;AAEA,KAAA,MAAW,OAAO,GAAK,EAAA;AAErB,EAAA,MAAM,CAAC,IAAM,EAAA,GAAA,EAAK,WAAW,MAAQ,IAAE,MAAM,CAAI,GAAA,GAAA,CAAA;AACjD,EAAA,MAAM,QAAW,GAAA,MAAA,CAAA;AACjB,EAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,EAAA,MAAM,SAAY,GAAA,CAAA,CAAA;AAElB,EAAA,qBAAA,CAAsB,IAAK,CAAA,CAAC,QAAS,EAAA,MAAA,EAAO,MAAM,SAAU,EAAA,GAAA,EAAI,CAAG,EAAA,GAAG,IAAI,QAAQ,CAAA,CAAA,EAAG,IAAK,EAAA,MAAA,EAAO,SAAU,CAAC,CAAA,CAAA;AAC9G,CAAA;AAEA,KAAA,MAAW,OAAO,MAAQ,EAAA;AAExB,EAAA,MAAM,CAAC,IAAM,EAAA,GAAA,EAAK,SAAW,EAAA,SAAA,EAAW,MAAM,CAAI,GAAA,GAAA,CAAA;AAClD,EAAA,MAAM,QAAW,GAAA,YAAA,CAAA;AACjB,EAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,EAAA,MAAM,MAAS,GAAA,GAAA,CAAA;AAEf,EAAA,qBAAA,CAAsB,IAAK,CAAA,CAAE,QAAU,EAAA,MAAA,EAAQ,MAAM,SAAW,EAAA,GAAA,EAAK,CAAG,EAAA,GAAG,IAAI,QAAQ,CAAA,CAAA,EAAI,IAAM,EAAA,MAAA,EAAQ,SAAU,CAAC,CAAA,CAAA;AACtH,CAAA;AAEA,KAAA,MAAW,OAAO,KAAO,EAAA;AAEvB,EAAA,MAAM,CAAC,IAAM,EAAA,GAAA,EAAK,SAAU,IAAC,MAAM,CAAI,GAAA,GAAA,CAAA;AACvC,EAAA,MAAM,QAAW,GAAA,QAAA,CAAA;AACjB,EAAA,MAAM,IAAO,GAAA,KAAA,CAAA;AACb,EAAA,MAAM,MAAS,GAAA,GAAA,CAAA;AACf,EAAA,MAAM,SAAY,GAAA,CAAA,CAAA;AAElB,EAAA,qBAAA,CAAsB,IAAK,CAAA,CAAE,QAAU,EAAA,MAAA,EAAQ,MAAM,SAAW,EAAA,GAAA,EAAK,CAAG,EAAA,GAAG,IAAI,QAAQ,CAAA,CAAA,EAAI,IAAM,EAAA,MAAA,EAAQ,SAAU,CAAC,CAAA,CAAA;AACtH;;;;"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
var ftse = [
|
|
2
|
+
["AAL.L", "Anglo American PLC", "436.35 13:13", "5.35 (1.24%)", "5,799,089"],
|
|
3
|
+
["ABF.L", "Associated British Foods PLC", "3,435.60 13:12", "7.40 (0.21%)", "86,808"],
|
|
4
|
+
["ADM.L", "Admiral Group PLC", "1,627.00 13:13", ""],
|
|
5
|
+
["ADN.L", "Aberdeen Asset Management PLC", "334.00 13:13", "2.50 (0.75%)", "806,880"],
|
|
6
|
+
["AHT.L", "Ashtead Group PLC", "1,027.00 13:13", "6.00 (0.59%)", "331,255"],
|
|
7
|
+
["ANTO.L", "Antofagasta PLC", "484.10 13:13", "11.70 (2.48%)", "1,753,976"],
|
|
8
|
+
["ARM.L", "ARM Holdings PLC", "1,058.00 13:13", "3.00 (0.28%)", "475,927"],
|
|
9
|
+
["AV.L", "Aviva PLC", "493.97 13:13", "2.23 (0.45%)", "2,226,835"],
|
|
10
|
+
["AZN.L", "AstraZeneca PLC", "4,399.50 13:13", "2.50 (0.06%)", "815,133"],
|
|
11
|
+
["BA.L", "BAE Systems PLC", "478.10 13:13", "4.30 (0.91%)", "2,039,934"],
|
|
12
|
+
["BAB.L", "Babcock International Group PLC", "988.00 13:13", "9.50 (0.97%)", "209,614"],
|
|
13
|
+
["BARC.L", "Barclays PLC", "226.30 13:13", "1.15 (0.51%)", "6,575,664"],
|
|
14
|
+
["BATS.L", "British American Tobacco PLC", "3,803.50 13:13", "8.50 (0.22%)", "465,110"],
|
|
15
|
+
["BDEV.L", "Barratt Developments PLC", "576.00 13:13", "0.50 (0.09%)", "1,044,365"],
|
|
16
|
+
["BG.L", "BG Group PLC", "1,013.50 13:13", "5.50 (0.55%)", "1,507,332"],
|
|
17
|
+
["BKG.L", "Berkeley Group Holdings (The) PLC", "3,126.00 13:13", "15.00 (0.48%)", "95,071"],
|
|
18
|
+
["BLND.L", "British Land Co PLC", "828.06 13:12", "10.44 (1.25%)", "1,802,548"],
|
|
19
|
+
["BLT.L", "BHP Billiton PLC", "881.40 13:13", "4.30 (0.49%)", "4,947,287"],
|
|
20
|
+
["BNZL.L", "Bunzl PLC", "1,875.40 13:05", "4.60 (0.24%)", "104,541"],
|
|
21
|
+
["BP.L", "BP PLC", "381.50 13:13", "2.95 (0.78%)", "10,493,561"],
|
|
22
|
+
["BRBY.L", "Burberry Group PLC", "1,269.00 13:13", "7.00 (0.55%)", "295,647"],
|
|
23
|
+
["BT-A", "L,BT Group PLC", "489.20 13:13", "3.70 (0.75%)", "3,914,982"],
|
|
24
|
+
["CCL.L", "Carnival PLC", "3,426.00 13:12", "22.00 (0.64%)", "86,257"],
|
|
25
|
+
["CNA.L", "Centrica PLC", "212.80 13:13", "0.60 (0.28%)", "2,144,540"],
|
|
26
|
+
["CPG.L", "Compass Group PLC", "1,054.00 13:08", "5.00 (0.48%)", "1,001,167"],
|
|
27
|
+
["CPI.L", "Capita PLC", "1,235.00 13:11", "1.00 (0.08%)", "244,591"],
|
|
28
|
+
["CRH.L", "CRH PLC", "1,783.20 13:12", "17.80 (0.99%)", "897,325"],
|
|
29
|
+
["DC.L", "DIXONS CARPHONE", "462.10 13:11", ""],
|
|
30
|
+
["DGE.L", "Diageo PLC", "1,881.50 13:13", "6.50 (0.34%)", "756,906"],
|
|
31
|
+
["DLG.L", "Direct Line Insurance Group PLC", "403.80 13:13", "0.40 (0.10%)", "1,095,340"],
|
|
32
|
+
["EXPN.L", "Experian PLC", "1,191.00 13:12", "2.00 (0.17%)", "467,283"],
|
|
33
|
+
["EZJ.L", "easyJet PLC", "1,682.00 13:12", "28.00 (1.64%)", "1,191,230"],
|
|
34
|
+
["FRES.L", "Fresnillo PLC", "678.50 13:12", "6.50 (0.97%)", "381,871"],
|
|
35
|
+
["GFS.L", "G4S PLC", "232.30 13:03", "2.00 (0.85%)", "1,096,551"],
|
|
36
|
+
["GKN.L", "GKN PLC", "294.80 13:12", "2.50 (0.86%)", "792,247"],
|
|
37
|
+
["GLEN.L", "Glencore PLC", "90.48 13:13", "1.65 (1.86%)", "41,631,528"],
|
|
38
|
+
["GSK.L", "GlaxoSmithKline PLC", "1,345.00 13:13", "0.50 (0.04%)", "1,767,356"],
|
|
39
|
+
["HIK.L", "Hikma Pharmaceuticals PLC", "2,010.00 13:04", "57.00 (2.92%)", "261,511"],
|
|
40
|
+
["HL.L", "Hargreaves Lansdown PLC", "1,488.03 13:12", "9.97 (0.67%)", "372,261"],
|
|
41
|
+
["HMSO.L", "Hammerson PLC", "597.50 13:11", "3.50 (0.58%)", "478,301"],
|
|
42
|
+
["HSBA.L", "HSBC Holdings PLC", "519.70 13:13", "0.50 (0.10%)", "7,415,629"],
|
|
43
|
+
["IAG.L", "International Consolidated Airlines Group SA", "575.40 13:12", "16.10 (2.72%)", "4,311,514"],
|
|
44
|
+
["IHG.L", "InterContinental Hotels Group PLC", "2,481.00 13:12", "19.00 (0.76%)", "219,918"],
|
|
45
|
+
["III.L", "3i Group PLC", "487.30 13:11", "4.50 (0.92%)", "189,987"],
|
|
46
|
+
["IMT.L", "Imperial Tobacco Group PLC", "3,571.00 13:13", "29.00 (0.81%)", "926,816"],
|
|
47
|
+
["INTU.L", "intu properties PLC", "319.90 13:09", "4.60 (1.42%)", "514,821"],
|
|
48
|
+
["ISAT.L", "Inmarsat PLC", "1,054.44 13:13", "3.44 (0.33%)", "988,089"],
|
|
49
|
+
["ITRK.L", "Intertek Group PLC", "2,643.00 13:14", "3.00 (0.11%)", "45,868"],
|
|
50
|
+
["ITV.L", "ITV PLC", "267.30 13:14", "2.60 (0.96%)", "3,453,208"],
|
|
51
|
+
["JMAT.L", "Johnson Matthey PLC", "2,445.00 13:14", "29.00 (1.20%)", "276,397"],
|
|
52
|
+
["KGF.L", "Kingfisher PLC", "346.20 13:14", "4.30 (1.23%)", "1,021,408"],
|
|
53
|
+
["LAND.L", "Land Securities Group PLC", "1,239.00 13:13", "7.00 (0.56%)", "384,973"],
|
|
54
|
+
["LGEN.L", "Legal & General Group PLC", "266.00 13:14", "1.60 (0.60%)", "1,998,399"],
|
|
55
|
+
["LLOY.L", "Lloyds Banking Group PLC", "73.86 13:14", "0.02 (0.03%)", "18,907,878"],
|
|
56
|
+
["LSE.L", "London Stock Exchange Group PLC", "2,544.00 13:11", "6.00 (0.24%)", "129,657"],
|
|
57
|
+
["MGGT.L", "Meggitt PLC", "386.00 13:15", "3.20 (0.84%)", "611,044"],
|
|
58
|
+
["MKS.L", "Marks & Spencer Group PLC", "514.75 13:12", "3.25 (0.63%)", "920,128"],
|
|
59
|
+
["MNDI.L", "Mondi PLC", "1,463.00 13:14", "7.00 (0.48%)", "383,546"],
|
|
60
|
+
["MRW.L", "Morrison (Wm) Supermarkets PLC", "155.20 13:14", ""],
|
|
61
|
+
["NG.L", "National Grid PLC", "926.40 13:14", "1.10 (0.12%)", "1,659,592"],
|
|
62
|
+
["NXT.L", "Next PLC", "7,765.00 13:11", "95.00 (1.21%)", "114,062"],
|
|
63
|
+
["OML.L", "Old Mutual PLC", "198.50 13:14", "0.40 (0.20%)", "2,040,849"],
|
|
64
|
+
["PRU.L", "Prudential PLC", "1,499.50 13:15", "14.00 (0.93%)", "580,870"],
|
|
65
|
+
["PSON.L", "Pearson PLC", "794.00 13:09", "5.00 (0.63%)", "1,177,953"],
|
|
66
|
+
["RB.L", "Reckitt Benckiser Group PLC", "6,293.00 13:14", "34.00 (0.54%)", "281,172"],
|
|
67
|
+
["RBS.L", "Royal Bank of Scotland Group PLC", "313.40 13:14", "2.40 (0.77%)", "2,100,058"],
|
|
68
|
+
["RDSA.L", "Royal Dutch Shell PLC", "1,636.00 13:14", "18.00 (1.11%)", "2,467,461"],
|
|
69
|
+
["RDSB.L", "Royal Dutch Shell PLC", "1,652.00 13:15", "14.50 (0.89%)", "1,457,434"],
|
|
70
|
+
["REL.L", "Reed Elsevier PLC", "1,170.00 13:14", "0.00 (0.00%)", "908,802"],
|
|
71
|
+
["RIO.L", "Rio Tinto PLC", "2,235.00 13:15", "21.00 (0.95%)", "2,190,722"],
|
|
72
|
+
["RMG.L", "Royal Mail PLC", "453.50 13:14", "1.20 (0.26%)", "995,316"],
|
|
73
|
+
["RR.L", "Rolls-Royce Group PLC", "546.63 13:14", "8.38 (1.51%)", "2,792,915"],
|
|
74
|
+
["RRS.L", "Randgold Resources Ltd", "3,929.00 13:14", "0.00 (0.00%)", "135,524"],
|
|
75
|
+
["RSA.L", "RSA Insurance Group PLC", "437.10 13:14", "0.10 (0.02%)", "395,477"],
|
|
76
|
+
["SAB.L", "SABMiller PLC", "4,011.00 13:15", "1.00 (0.02%)", "892,451"],
|
|
77
|
+
["SBRY.L", "Sainsbury (J) PLC", "255.80 13:14", "7.40 (2.98%)", "2,395,670"],
|
|
78
|
+
["SDR.L", "Schroders PLC", "2,930.00 13:09", "12.00 (0.41%)", "44,674"],
|
|
79
|
+
["SGE.L", "Sage Group (The) PLC", "545.50 13:13", "0.50 (0.09%)", "539,717"],
|
|
80
|
+
["SHP.L", "Shire PLC", "4,685.00 13:14", "22.00 (0.47%)", "221,318"],
|
|
81
|
+
["SKY.L", "SKY", "1,095.00 13:12", "4.00 (0.37%)", "925,016"],
|
|
82
|
+
["SL.L", "Standard Life PLC", "399.90 13:14", "3.20 (0.79%)", "861,636"],
|
|
83
|
+
["SMIN.L", "Smiths Group PLC", "992.50 13:14", "27.50 (2.70%)", "640,309"],
|
|
84
|
+
["SN.L", "Smith & Nephew PLC", "1,110.00 13:14", "9.00 (0.82%)", "480,018"],
|
|
85
|
+
["SPD.L", "Sports Direct International PLC", "694.50 13:11", "1.50 (0.22%)", "157,981"],
|
|
86
|
+
["SSE.L", "SSE PLC", "1,463.00 13:13", "2.00 (0.14%)", "562,454"],
|
|
87
|
+
["STAN.L", "Standard Chartered PLC", "583.00 13:14", "0.60 (0.10%)", "2,018,697"],
|
|
88
|
+
["STJ.L", "St James's Place PLC", "964.00 13:14", "11.00 (1.13%)", "418,480"],
|
|
89
|
+
["SVT.L", "Severn Trent PLC", "2,199.00 13:12", "1.00 (0.05%)", "95,342"],
|
|
90
|
+
["TPK.L", "Travis Perkins PLC", "1,945.00 13:13", "4.00 (0.21%)", "92,916"],
|
|
91
|
+
["TSCO.L", "Tesco PLC", "171.54 13:14", "2.54 (1.50%)", "9,831,136"],
|
|
92
|
+
["TUI.L", "TUI AG", "1,115.00 13:10", "5.00 (0.45%)", "458,970"],
|
|
93
|
+
["TW.L", "Taylor Wimpey PLC", "183.90 13:15", "1.10 (0.59%)", "3,180,729"],
|
|
94
|
+
["ULVR.L", "Unilever PLC", "2,791.00 13:14", "29.00 (1.03%)", "824,827"],
|
|
95
|
+
["UU.L", "United Utilities Group PLC", "959.00 13:10", "2.50 (0.26%)", "436,911"],
|
|
96
|
+
["VOD.L", "Vodafone Group PLC", "224.25 13:15", "1.30 (0.58%)", "17,572,036"],
|
|
97
|
+
["WOS.L", "Wolseley PLC", "3,657.00 13:14", "4.00 (0.11%)", "179,536"],
|
|
98
|
+
["WPP.L", "WPP PLC", "1,502.00 13:15", "12.00 (0.79%)", "857,887"],
|
|
99
|
+
["WTB.L", "Whitbread PLC", "4,484.00 13:16", "60.00 (1.32%)", "141,036"]
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
export { ftse as default };
|
|
103
|
+
//# sourceMappingURL=ftse100.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ftse100.js","sources":["../../../src/basket/reference-data/ftse100.ts"],"sourcesContent":["// Symbol,Name,Last Trade,Change,Volume\n// prettier-ignore\nexport default [\n [\"AAL.L\",\"Anglo American PLC\",\"436.35 13:13\",\"5.35 (1.24%)\",\"5,799,089\"],\n [\"ABF.L\",\"Associated British Foods PLC\",\"3,435.60 13:12\",\"7.40 (0.21%)\",\"86,808\"],\n [\"ADM.L\",\"Admiral Group PLC\",\"1,627.00 13:13\",\"\"],\n [\"ADN.L\",\"Aberdeen Asset Management PLC\",\"334.00 13:13\",\"2.50 (0.75%)\",\"806,880\"],\n [\"AHT.L\",\"Ashtead Group PLC\",\"1,027.00 13:13\",\"6.00 (0.59%)\",\"331,255\"],\n [\"ANTO.L\",\"Antofagasta PLC\",\"484.10 13:13\",\"11.70 (2.48%)\",\"1,753,976\"],\n [\"ARM.L\",\"ARM Holdings PLC\",\"1,058.00 13:13\",\"3.00 (0.28%)\",\"475,927\"],\n [\"AV.L\",\"Aviva PLC\",\"493.97 13:13\",\"2.23 (0.45%)\",\"2,226,835\"],\n [\"AZN.L\",\"AstraZeneca PLC\",\"4,399.50 13:13\",\"2.50 (0.06%)\",\"815,133\"],\n [\"BA.L\",\"BAE Systems PLC\",\"478.10 13:13\",\"4.30 (0.91%)\",\"2,039,934\"],\n [\"BAB.L\",\"Babcock International Group PLC\",\"988.00 13:13\",\"9.50 (0.97%)\",\"209,614\"],\n [\"BARC.L\",\"Barclays PLC\",\"226.30 13:13\", \"1.15 (0.51%)\",\"6,575,664\"],\n [\"BATS.L\",\"British American Tobacco PLC\",\"3,803.50 13:13\", \"8.50 (0.22%)\",\"465,110\"],\n [\"BDEV.L\",\"Barratt Developments PLC\",\"576.00 13:13\", \"0.50 (0.09%)\",\"1,044,365\"],\n [\"BG.L\",\"BG Group PLC\",\"1,013.50 13:13\", \"5.50 (0.55%)\",\"1,507,332\"],\n [\"BKG.L\",\"Berkeley Group Holdings (The) PLC\",\"3,126.00 13:13\", \"15.00 (0.48%)\",\"95,071\"],\n [\"BLND.L\",\"British Land Co PLC\",\"828.06 13:12\", \"10.44 (1.25%)\",\"1,802,548\"],\n [\"BLT.L\",\"BHP Billiton PLC\",\"881.40 13:13\", \"4.30 (0.49%)\",\"4,947,287\"],\n [\"BNZL.L\",\"Bunzl PLC\",\"1,875.40 13:05\", \"4.60 (0.24%)\",\"104,541\"],\n [\"BP.L\",\"BP PLC\",\"381.50 13:13\", \"2.95 (0.78%)\",\"10,493,561\"],\n [\"BRBY.L\",\"Burberry Group PLC\",\"1,269.00 13:13\", \"7.00 (0.55%)\",\"295,647\"],\n [\"BT-A\",\"L,BT Group PLC\",\"489.20 13:13\", \"3.70 (0.75%)\",\"3,914,982\"],\n [\"CCL.L\",\"Carnival PLC\",\"3,426.00 13:12\", \"22.00 (0.64%)\",\"86,257\"],\n [\"CNA.L\",\"Centrica PLC\",\"212.80 13:13\", \"0.60 (0.28%)\",\"2,144,540\"],\n [\"CPG.L\",\"Compass Group PLC\",\"1,054.00 13:08\", \"5.00 (0.48%)\",\"1,001,167\"],\n [\"CPI.L\",\"Capita PLC\",\"1,235.00 13:11\", \"1.00 (0.08%)\",\"244,591\"],\n [\"CRH.L\",\"CRH PLC\",\"1,783.20 13:12\", \"17.80 (0.99%)\",\"897,325\"],\n [\"DC.L\",\"DIXONS CARPHONE\",\"462.10 13:11\",\"\"],\n [\"DGE.L\",\"Diageo PLC\",\"1,881.50 13:13\", \"6.50 (0.34%)\",\"756,906\"],\n [\"DLG.L\",\"Direct Line Insurance Group PLC\",\"403.80 13:13\", \"0.40 (0.10%)\",\"1,095,340\"],\n [\"EXPN.L\",\"Experian PLC\",\"1,191.00 13:12\", \"2.00 (0.17%)\",\"467,283\"],\n [\"EZJ.L\",\"easyJet PLC\",\"1,682.00 13:12\", \"28.00 (1.64%)\",\"1,191,230\"],\n [\"FRES.L\",\"Fresnillo PLC\",\"678.50 13:12\", \"6.50 (0.97%)\",\"381,871\"],\n [\"GFS.L\",\"G4S PLC\",\"232.30 13:03\", \"2.00 (0.85%)\",\"1,096,551\"],\n [\"GKN.L\",\"GKN PLC\",\"294.80 13:12\", \"2.50 (0.86%)\",\"792,247\"],\n [\"GLEN.L\",\"Glencore PLC\",\"90.48 13:13\", \"1.65 (1.86%)\",\"41,631,528\"],\n [\"GSK.L\",\"GlaxoSmithKline PLC\",\"1,345.00 13:13\", \"0.50 (0.04%)\",\"1,767,356\"],\n [\"HIK.L\",\"Hikma Pharmaceuticals PLC\",\"2,010.00 13:04\", \"57.00 (2.92%)\",\"261,511\"],\n [\"HL.L\",\"Hargreaves Lansdown PLC\",\"1,488.03 13:12\", \"9.97 (0.67%)\",\"372,261\"],\n [\"HMSO.L\",\"Hammerson PLC\",\"597.50 13:11\", \"3.50 (0.58%)\",\"478,301\"],\n [\"HSBA.L\",\"HSBC Holdings PLC\",\"519.70 13:13\", \"0.50 (0.10%)\",\"7,415,629\"],\n [\"IAG.L\",\"International Consolidated Airlines Group SA\",\"575.40 13:12\", \"16.10 (2.72%)\",\"4,311,514\"],\n [\"IHG.L\",\"InterContinental Hotels Group PLC\",\"2,481.00 13:12\", \"19.00 (0.76%)\",\"219,918\"],\n [\"III.L\",\"3i Group PLC\",\"487.30 13:11\", \"4.50 (0.92%)\",\"189,987\"],\n [\"IMT.L\",\"Imperial Tobacco Group PLC\",\"3,571.00 13:13\", \"29.00 (0.81%)\",\"926,816\"],\n [\"INTU.L\",\"intu properties PLC\",\"319.90 13:09\", \"4.60 (1.42%)\",\"514,821\"],\n [\"ISAT.L\",\"Inmarsat PLC\",\"1,054.44 13:13\", \"3.44 (0.33%)\",\"988,089\"],\n [\"ITRK.L\",\"Intertek Group PLC\",\"2,643.00 13:14\", \"3.00 (0.11%)\",\"45,868\"],\n [\"ITV.L\",\"ITV PLC\",\"267.30 13:14\", \"2.60 (0.96%)\",\"3,453,208\"],\n [\"JMAT.L\",\"Johnson Matthey PLC\",\"2,445.00 13:14\", \"29.00 (1.20%)\",\"276,397\"],\n [\"KGF.L\",\"Kingfisher PLC\",\"346.20 13:14\", \"4.30 (1.23%)\",\"1,021,408\"],\n [\"LAND.L\",\"Land Securities Group PLC\",\"1,239.00 13:13\", \"7.00 (0.56%)\",\"384,973\"],\n [\"LGEN.L\",\"Legal & General Group PLC\",\"266.00 13:14\", \"1.60 (0.60%)\",\"1,998,399\"],\n [\"LLOY.L\",\"Lloyds Banking Group PLC\",\"73.86 13:14\", \"0.02 (0.03%)\",\"18,907,878\"],\n [\"LSE.L\",\"London Stock Exchange Group PLC\",\"2,544.00 13:11\", \"6.00 (0.24%)\",\"129,657\"],\n [\"MGGT.L\",\"Meggitt PLC\",\"386.00 13:15\", \"3.20 (0.84%)\",\"611,044\"],\n [\"MKS.L\",\"Marks & Spencer Group PLC\",\"514.75 13:12\", \"3.25 (0.63%)\",\"920,128\"],\n [\"MNDI.L\",\"Mondi PLC\",\"1,463.00 13:14\", \"7.00 (0.48%)\",\"383,546\"],\n [\"MRW.L\",\"Morrison (Wm) Supermarkets PLC\",\"155.20 13:14\",\"\"],\n [\"NG.L\",\"National Grid PLC\",\"926.40 13:14\", \"1.10 (0.12%)\",\"1,659,592\"],\n [\"NXT.L\",\"Next PLC\",\"7,765.00 13:11\", \"95.00 (1.21%)\",\"114,062\"],\n [\"OML.L\",\"Old Mutual PLC\",\"198.50 13:14\", \"0.40 (0.20%)\",\"2,040,849\"],\n [\"PRU.L\",\"Prudential PLC\",\"1,499.50 13:15\", \"14.00 (0.93%)\",\"580,870\"],\n [\"PSON.L\",\"Pearson PLC\",\"794.00 13:09\", \"5.00 (0.63%)\",\"1,177,953\"],\n [\"RB.L\",\"Reckitt Benckiser Group PLC\",\"6,293.00 13:14\", \"34.00 (0.54%)\",\"281,172\"],\n [\"RBS.L\",\"Royal Bank of Scotland Group PLC\",\"313.40 13:14\", \"2.40 (0.77%)\",\"2,100,058\"],\n [\"RDSA.L\",\"Royal Dutch Shell PLC\",\"1,636.00 13:14\", \"18.00 (1.11%)\",\"2,467,461\"],\n [\"RDSB.L\",\"Royal Dutch Shell PLC\",\"1,652.00 13:15\", \"14.50 (0.89%)\",\"1,457,434\"],\n [\"REL.L\",\"Reed Elsevier PLC\",\"1,170.00 13:14\",\"0.00 (0.00%)\",\"908,802\"],\n [\"RIO.L\",\"Rio Tinto PLC\",\"2,235.00 13:15\", \"21.00 (0.95%)\",\"2,190,722\"],\n [\"RMG.L\",\"Royal Mail PLC\",\"453.50 13:14\", \"1.20 (0.26%)\",\"995,316\"],\n [\"RR.L\",\"Rolls-Royce Group PLC\",\"546.63 13:14\", \"8.38 (1.51%)\",\"2,792,915\"],\n [\"RRS.L\",\"Randgold Resources Ltd\",\"3,929.00 13:14\",\"0.00 (0.00%)\",\"135,524\"],\n [\"RSA.L\",\"RSA Insurance Group PLC\",\"437.10 13:14\", \"0.10 (0.02%)\",\"395,477\"],\n [\"SAB.L\",\"SABMiller PLC\",\"4,011.00 13:15\", \"1.00 (0.02%)\",\"892,451\"],\n [\"SBRY.L\",\"Sainsbury (J) PLC\",\"255.80 13:14\", \"7.40 (2.98%)\",\"2,395,670\"],\n [\"SDR.L\",\"Schroders PLC\",\"2,930.00 13:09\", \"12.00 (0.41%)\",\"44,674\"],\n [\"SGE.L\",\"Sage Group (The) PLC\",\"545.50 13:13\", \"0.50 (0.09%)\",\"539,717\"],\n [\"SHP.L\",\"Shire PLC\",\"4,685.00 13:14\", \"22.00 (0.47%)\",\"221,318\"],\n [\"SKY.L\",\"SKY\",\"1,095.00 13:12\", \"4.00 (0.37%)\",\"925,016\"],\n [\"SL.L\",\"Standard Life PLC\",\"399.90 13:14\", \"3.20 (0.79%)\",\"861,636\"],\n [\"SMIN.L\",\"Smiths Group PLC\",\"992.50 13:14\", \"27.50 (2.70%)\",\"640,309\"],\n [\"SN.L\",\"Smith & Nephew PLC\",\"1,110.00 13:14\", \"9.00 (0.82%)\",\"480,018\"],\n [\"SPD.L\",\"Sports Direct International PLC\",\"694.50 13:11\", \"1.50 (0.22%)\",\"157,981\"],\n [\"SSE.L\",\"SSE PLC\",\"1,463.00 13:13\", \"2.00 (0.14%)\",\"562,454\"],\n [\"STAN.L\",\"Standard Chartered PLC\",\"583.00 13:14\", \"0.60 (0.10%)\",\"2,018,697\"],\n [\"STJ.L\",\"St James's Place PLC\",\"964.00 13:14\", \"11.00 (1.13%)\",\"418,480\"],\n [\"SVT.L\",\"Severn Trent PLC\",\"2,199.00 13:12\", \"1.00 (0.05%)\",\"95,342\"],\n [\"TPK.L\",\"Travis Perkins PLC\",\"1,945.00 13:13\", \"4.00 (0.21%)\",\"92,916\"],\n [\"TSCO.L\",\"Tesco PLC\",\"171.54 13:14\", \"2.54 (1.50%)\",\"9,831,136\"],\n [\"TUI.L\",\"TUI AG\",\"1,115.00 13:10\", \"5.00 (0.45%)\",\"458,970\"],\n [\"TW.L\",\"Taylor Wimpey PLC\",\"183.90 13:15\", \"1.10 (0.59%)\",\"3,180,729\"],\n [\"ULVR.L\",\"Unilever PLC\",\"2,791.00 13:14\", \"29.00 (1.03%)\",\"824,827\"],\n [\"UU.L\",\"United Utilities Group PLC\",\"959.00 13:10\", \"2.50 (0.26%)\",\"436,911\"],\n [\"VOD.L\",\"Vodafone Group PLC\",\"224.25 13:15\", \"1.30 (0.58%)\",\"17,572,036\"],\n [\"WOS.L\",\"Wolseley PLC\",\"3,657.00 13:14\", \"4.00 (0.11%)\",\"179,536\"],\n [\"WPP.L\",\"WPP PLC\",\"1,502.00 13:15\", \"12.00 (0.79%)\",\"857,887\"],\n [\"WTB.L\",\"Whitbread PLC\",\"4,484.00 13:16\", \"60.00 (1.32%)\",\"141,036\"]\n]\n"],"names":[],"mappings":"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"}
|