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