@stocksharp/trading-controls 1.1.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -16
- package/dist/esm/active-orders-widget.js +38 -25
- package/dist/esm/active-orders-widget.js.map +1 -1
- package/dist/esm/black-scholes.js +147 -0
- package/dist/esm/black-scholes.js.map +1 -0
- package/dist/esm/control-types.js +4 -0
- package/dist/esm/control-types.js.map +1 -1
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/log-monitor-widget.js +265 -0
- package/dist/esm/log-monitor-widget.js.map +1 -0
- package/dist/esm/log-tree.js +96 -0
- package/dist/esm/log-tree.js.map +1 -0
- package/dist/esm/option-desk-widget.js +322 -0
- package/dist/esm/option-desk-widget.js.map +1 -0
- package/dist/esm/pnl-curve.js +129 -0
- package/dist/esm/pnl-curve.js.map +1 -0
- package/dist/esm/statistics-widget.js +194 -0
- package/dist/esm/statistics-widget.js.map +1 -0
- package/dist/esm/strategies-widget.js +348 -0
- package/dist/esm/strategies-widget.js.map +1 -0
- package/dist/esm/trade-history-widget.js +14 -6
- package/dist/esm/trade-history-widget.js.map +1 -1
- package/dist/esm/tradefeed-widget.js +3 -3
- package/dist/esm/tradefeed-widget.js.map +1 -1
- package/dist/esm/trading-host.js +1 -0
- package/dist/esm/trading-host.js.map +1 -1
- package/dist/sstradingcontrols.js +1358 -78
- package/dist/sstradingcontrols.js.map +4 -4
- package/dist/types/active-orders-widget.d.ts +11 -3
- package/dist/types/active-orders-widget.d.ts.map +1 -1
- package/dist/types/black-scholes.d.ts +28 -0
- package/dist/types/black-scholes.d.ts.map +1 -0
- package/dist/types/control-types.d.ts +4 -0
- package/dist/types/control-types.d.ts.map +1 -1
- package/dist/types/index.d.ts +16 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/log-monitor-widget.d.ts +42 -0
- package/dist/types/log-monitor-widget.d.ts.map +1 -0
- package/dist/types/log-tree.d.ts +34 -0
- package/dist/types/log-tree.d.ts.map +1 -0
- package/dist/types/option-desk-widget.d.ts +68 -0
- package/dist/types/option-desk-widget.d.ts.map +1 -0
- package/dist/types/pnl-curve.d.ts +43 -0
- package/dist/types/pnl-curve.d.ts.map +1 -0
- package/dist/types/statistics-widget.d.ts +29 -0
- package/dist/types/statistics-widget.d.ts.map +1 -0
- package/dist/types/strategies-widget.d.ts +63 -0
- package/dist/types/strategies-widget.d.ts.map +1 -0
- package/dist/types/trade-history-widget.d.ts +3 -1
- package/dist/types/trade-history-widget.d.ts.map +1 -1
- package/dist/types/trading-data.d.ts +9 -0
- package/dist/types/trading-data.d.ts.map +1 -1
- package/dist/types/trading-host.d.ts +1 -0
- package/dist/types/trading-host.d.ts.map +1 -1
- package/package.json +27 -2
- package/screenshots/log-monitor.png +0 -0
- package/screenshots/option-desk.png +0 -0
- package/screenshots/panels.jpg +0 -0
- package/screenshots/statistics.png +0 -0
- package/screenshots/strategies.png +0 -0
- package/src/active-orders-widget.ts +49 -25
- package/src/black-scholes.ts +199 -0
- package/src/control-types.ts +4 -0
- package/src/index.ts +41 -0
- package/src/log-monitor-widget.ts +312 -0
- package/src/log-tree.ts +131 -0
- package/src/option-desk-widget.ts +422 -0
- package/src/pnl-curve.ts +204 -0
- package/src/statistics-widget.ts +226 -0
- package/src/strategies-widget.ts +435 -0
- package/src/trade-history-widget.ts +19 -6
- package/src/tradefeed-widget.ts +3 -3
- package/src/trading-data.ts +22 -0
- package/src/trading-host.ts +8 -0
- package/styles/trading-controls.css +356 -0
- package/translation-keys.json +70 -1
package/README.md
CHANGED
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@stocksharp/trading-controls)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
|
|
7
|
-
**StockSharp JS Trading Controls** are the browser panels a trading screen is
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
**StockSharp JS Trading Controls** are the browser panels a trading screen is made
|
|
8
|
+
of. Eleven of them: the **active orders**, **positions** and **trade history**
|
|
9
|
+
blotters, a **watchlist** with live quotes and category tabs, an **order entry**
|
|
10
|
+
pad, a **trade feed**, an **order book** ladder, a **statistics** table, a
|
|
11
|
+
**strategies** dashboard, a **log monitor**, and an **option desk**.
|
|
11
12
|
|
|
12
13
|
Each control builds its own DOM, renders its own table through
|
|
13
14
|
[`@stocksharp/grids`](https://www.npmjs.com/package/@stocksharp/grids), and reaches
|
|
@@ -86,15 +87,18 @@ clicking something that does nothing. So a missing member throws at construction
|
|
|
86
87
|
naming the path — `WatchlistWidget: host.trading.api.getExecutions is required` —
|
|
87
88
|
nested members included.
|
|
88
89
|
|
|
89
|
-
**
|
|
90
|
-
|
|
91
|
-
`
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
**Every member is now reached by some shipped control.** When four of them were
|
|
91
|
+
here the port was already this wide, and the seven members nothing yet called —
|
|
92
|
+
`spawn`, `persistState`, `saveLayout`, `log`, `trading.pickInstrument`,
|
|
93
|
+
`marketData.resubscribe`, `marketData.getOrders` — were required anyway, because
|
|
94
|
+
the controls still on the terminal's side of the boundary were written against
|
|
95
|
+
this same interface and called them. Those controls have since moved in and do
|
|
96
|
+
call them, which is the argument for not having narrowed the port and widened it
|
|
97
|
+
again seven times.
|
|
98
|
+
|
|
99
|
+
A host adopting a subset still has to answer for all of it. Stubs are a correct
|
|
100
|
+
answer where a capability genuinely does not exist on that page: a no-op `spawn`,
|
|
101
|
+
a `log` that forwards to the console.
|
|
98
102
|
|
|
99
103
|
Two pairs are deliberately separate rather than merged:
|
|
100
104
|
|
|
@@ -121,7 +125,7 @@ Two pairs are deliberately separate rather than merged:
|
|
|
121
125
|
reads the port names (`getExecutions`, `searchInstruments`), which the host
|
|
122
126
|
implements.
|
|
123
127
|
|
|
124
|
-
### The
|
|
128
|
+
### The 222 keys a host has to answer
|
|
125
129
|
|
|
126
130
|
`t()` cannot fail. A key the host does not know is rendered to the user as
|
|
127
131
|
itself, so `NoActiveOrders` appears in the empty blotter and `ClosePanel`
|
|
@@ -130,11 +134,20 @@ error. The complete list ships with the package:
|
|
|
130
134
|
|
|
131
135
|
```ts
|
|
132
136
|
import keys from '@stocksharp/trading-controls/translation-keys.json';
|
|
133
|
-
// { count:
|
|
137
|
+
// { count: 222, keys: ['Actions', 'ActiveOrders', …] }
|
|
134
138
|
```
|
|
135
139
|
|
|
136
140
|
It is **generated from the sources** (`npm run i18n:update`) and re-checked by
|
|
137
|
-
`npm test`, so it cannot drift from what the controls actually ask for.
|
|
141
|
+
`npm test`, so it cannot drift from what the controls actually ask for. Because it
|
|
142
|
+
is generated by scanning for `t('literal')`, no control may assemble a key from a
|
|
143
|
+
value: a computed key would be invisible to the scan, absent from the list, and
|
|
144
|
+
would reach a user as itself. A test renders each control over data that takes
|
|
145
|
+
every branch of its wording and asserts that everything it asked for is on the
|
|
146
|
+
list.
|
|
147
|
+
|
|
148
|
+
One set of keys is deliberately not: the trading modes a host hands
|
|
149
|
+
`StrategiesWidget`. The host says what a run may be put in and therefore words
|
|
150
|
+
them, so those strings are its vocabulary and answering for them is its job.
|
|
138
151
|
|
|
139
152
|
The keys are not derivable, which is why the list is shipped rather than
|
|
140
153
|
described. Most are resource identifiers (`ClosePanel`, `ExportToExcel`,
|
|
@@ -304,6 +317,72 @@ is class names: the volume bar's share of its side and the heat behind a level
|
|
|
304
317
|
reach the stylesheet as measured custom properties (`--t-ob-bar`, `--t-ob-heat`,
|
|
305
318
|
`--t-ob-sent`), so no width and no colour is decided in TypeScript.
|
|
306
319
|
|
|
320
|
+
### `StatisticsWidget`
|
|
321
|
+
|
|
322
|
+
What a run made, one parameter per row, grouped by category and left in the order
|
|
323
|
+
the host sent them — the registry's order, which puts profit before trades before
|
|
324
|
+
positions before orders, and is not alphabetical. The panel measures nothing: a
|
|
325
|
+
statistic is produced by whatever ran the strategy, so the whole set arrives at
|
|
326
|
+
once through `update` and a row that stopped being sent has stopped existing.
|
|
327
|
+
There are no deps beyond the host, because there is nothing on the table to act
|
|
328
|
+
on. A value is a number, a moment or nothing at all, and nothing is a blank cell
|
|
329
|
+
rather than a zero: a figure that has not been measured yet is not a measured
|
|
330
|
+
zero.
|
|
331
|
+
|
|
332
|
+

|
|
333
|
+
|
|
334
|
+
### `StrategiesWidget`
|
|
335
|
+
|
|
336
|
+
A row per run: its state, whether it is online, the mode it trades in, its
|
|
337
|
+
instrument, position, order and trade counts, what it has made, and a sparkline of
|
|
338
|
+
how it got there. Every action is a dep and a row only offers what the host can
|
|
339
|
+
carry out — start appears on a stopped run and stop on a started one, the
|
|
340
|
+
trading-mode cell is a plain caption unless `setTradingMode` was supplied. The
|
|
341
|
+
modes themselves come from the host and are worded through `t()`, which makes them
|
|
342
|
+
the one set of keys in this package that the host answers for rather than the
|
|
343
|
+
shipped list.
|
|
344
|
+
|
|
345
|
+
The sparkline is a canvas sized in device pixels and drawn from
|
|
346
|
+
`presentation.canvasPalette()`, so it is as sharp as the text beside it and green
|
|
347
|
+
and red mean there what they mean everywhere else on the page.
|
|
348
|
+
|
|
349
|
+

|
|
350
|
+
|
|
351
|
+
### `LogMonitorWidget`
|
|
352
|
+
|
|
353
|
+
A source tree beside the messages, which is how a log with more than one writer is
|
|
354
|
+
read: pick a node and the table shows that source and everything under it. Sources
|
|
355
|
+
arrive whole through `setSources` and messages accumulate through `append`, capped
|
|
356
|
+
(`maxMessages`, five thousand by default) so a session left running overnight
|
|
357
|
+
cannot grow without bound. The five levels toggle independently and the filter is
|
|
358
|
+
a substring over the message and its source together.
|
|
359
|
+
|
|
360
|
+
A message names its source by id; what that id is *called* comes from the tree, so
|
|
361
|
+
renaming a source — or switching the page's language — re-captions the messages
|
|
362
|
+
that were already in the table.
|
|
363
|
+
|
|
364
|
+

|
|
365
|
+
|
|
366
|
+
### `OptionDeskWidget`
|
|
367
|
+
|
|
368
|
+
One expiry of a chain, the call side mirrored against the put side around the
|
|
369
|
+
strike. Volume and open interest are scaled per side, because calls and puts trade
|
|
370
|
+
in different sizes and comparing one against the busiest of the other says
|
|
371
|
+
nothing; volatility is scaled across both at once, because a skew is exactly the
|
|
372
|
+
comparison between them.
|
|
373
|
+
|
|
374
|
+
Greeks arrive one of two ways and the desk does not care which: a host that prices
|
|
375
|
+
its own sends them on the contract, and a host that has quotes and an expiry sends
|
|
376
|
+
the volatility instead and the desk prices delta through rho itself, from the
|
|
377
|
+
Black-Scholes that ships with the package (`premium`, `greeks`,
|
|
378
|
+
`impliedVolatility` — exported, because a host that wants the arithmetic without
|
|
379
|
+
the table should not have to reimplement it). The number of decimal places in a
|
|
380
|
+
greek column comes from the numbers in it: gamma on an underlying at sixty
|
|
381
|
+
thousand is about 0.00003, and the four places that suit a delta would show every
|
|
382
|
+
strike as nothing.
|
|
383
|
+
|
|
384
|
+

|
|
385
|
+
|
|
307
386
|
## Exported sheets say what the screen says
|
|
308
387
|
|
|
309
388
|
Every blotter exports to `.xlsx` through the grid, and a column states both
|
|
@@ -37,7 +37,7 @@ export class ActiveOrdersWidget {
|
|
|
37
37
|
// host, so a missing host has to fail here rather than render a panel
|
|
38
38
|
// captioned with raw English keys.
|
|
39
39
|
const host = assertHost(deps?.host, 'ActiveOrdersWidget');
|
|
40
|
-
const root = ActiveOrdersWidget._buildRoot(host);
|
|
40
|
+
const root = ActiveOrdersWidget._buildRoot(host, deps?.readOnly === true);
|
|
41
41
|
root.id = makePanelId(ActiveOrdersWidget.TYPE);
|
|
42
42
|
hostEl.appendChild(root);
|
|
43
43
|
return new ActiveOrdersWidget(root, state || {}, deps);
|
|
@@ -53,7 +53,7 @@ export class ActiveOrdersWidget {
|
|
|
53
53
|
// already give the identical button — and are wired to deps. Cancel-all
|
|
54
54
|
// keeps a distinct accessible name from its tooltip, which is why it states
|
|
55
55
|
// `aria-label` rather than taking the tooltip for both.
|
|
56
|
-
static _buildRoot(host) {
|
|
56
|
+
static _buildRoot(host, readOnly = false) {
|
|
57
57
|
return makePanelRoot('active-orders-panel', host.t('ActiveOrders'), [
|
|
58
58
|
makeElement('div', 'panel-header', {}, [
|
|
59
59
|
makeElement('span', '', {}, [host.t('OpenOrders')]),
|
|
@@ -67,8 +67,10 @@ export class ActiveOrdersWidget {
|
|
|
67
67
|
]),
|
|
68
68
|
]),
|
|
69
69
|
makeElement('div', 'panel-rail', { role: 'toolbar', 'aria-label': host.t('ActiveOrdersActions') }, [
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
...(readOnly ? [] : [
|
|
71
|
+
makeIconButton('bt-icon-btn bt-icon-cancel-all panel-cancel-all-btn', host.t('CancelAll'), 'bi-x-circle', { 'aria-label': host.t('CancelAllOrders') }),
|
|
72
|
+
makeIconButton('bt-icon-btn panel-refresh-btn', host.t('Refresh'), 'bi-arrow-clockwise', {}),
|
|
73
|
+
]),
|
|
72
74
|
makeIconButton('bt-icon-btn panel-export-btn', host.t('ExportToExcel'), 'bi-file-earmark-spreadsheet', {}),
|
|
73
75
|
]),
|
|
74
76
|
]),
|
|
@@ -76,9 +78,17 @@ export class ActiveOrdersWidget {
|
|
|
76
78
|
}
|
|
77
79
|
constructor(rootEl, _state, deps) {
|
|
78
80
|
this._host = assertHost(deps?.host, 'ActiveOrdersWidget');
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
this._readOnly = deps?.readOnly === true;
|
|
82
|
+
if (this._readOnly) {
|
|
83
|
+
this._actions = null;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const actions = deps;
|
|
87
|
+
for (const name of ['cancelOrder', 'dismissOrder', 'editOrderField', 'replaceOrder', 'cancelAllOrders', 'refreshOrders']) {
|
|
88
|
+
if (typeof actions?.[name] !== 'function')
|
|
89
|
+
throw new Error(`ActiveOrdersWidget: dep "${name}" is required`);
|
|
90
|
+
}
|
|
91
|
+
this._actions = actions;
|
|
82
92
|
}
|
|
83
93
|
this.rootEl = rootEl;
|
|
84
94
|
this._deps = deps;
|
|
@@ -94,11 +104,11 @@ export class ActiveOrdersWidget {
|
|
|
94
104
|
});
|
|
95
105
|
this._cancelAllBtn?.addEventListener('click', (e) => {
|
|
96
106
|
e.preventDefault();
|
|
97
|
-
this.
|
|
107
|
+
this._actions?.cancelAllOrders();
|
|
98
108
|
});
|
|
99
109
|
this._refreshBtn?.addEventListener('click', (e) => {
|
|
100
110
|
e.preventDefault();
|
|
101
|
-
this.
|
|
111
|
+
this._actions?.refreshOrders();
|
|
102
112
|
});
|
|
103
113
|
this._exportBtn?.addEventListener('click', (e) => {
|
|
104
114
|
e.preventDefault();
|
|
@@ -212,7 +222,7 @@ export class ActiveOrdersWidget {
|
|
|
212
222
|
}
|
|
213
223
|
const updated = { quantity: order.quantity, limitPrice: order.limitPrice, stopPrice: order.stopPrice };
|
|
214
224
|
updated[field] = newVal;
|
|
215
|
-
this.
|
|
225
|
+
this._actions?.replaceOrder(orderId, updated.quantity, updated.limitPrice, updated.stopPrice);
|
|
216
226
|
};
|
|
217
227
|
input.addEventListener('blur', commit);
|
|
218
228
|
input.addEventListener('keydown', (e) => {
|
|
@@ -275,7 +285,7 @@ export class ActiveOrdersWidget {
|
|
|
275
285
|
exportable: true,
|
|
276
286
|
value: (o) => o.quantity,
|
|
277
287
|
render: (o) => formatQty(o.quantity),
|
|
278
|
-
cellClass: (o) => ActiveOrdersWidget._editableClass(o, 'quantity'),
|
|
288
|
+
cellClass: (o) => this._readOnly ? '' : ActiveOrdersWidget._editableClass(o, 'quantity'),
|
|
279
289
|
bindCell: (td, o) => this._bindInlineEdit(td, o, 'quantity'),
|
|
280
290
|
},
|
|
281
291
|
{
|
|
@@ -284,7 +294,7 @@ export class ActiveOrdersWidget {
|
|
|
284
294
|
exportable: true,
|
|
285
295
|
value: (o) => o.limitPrice,
|
|
286
296
|
render: (o) => o.limitPrice ? formatPrice(o.limitPrice) : label('MKT'),
|
|
287
|
-
cellClass: (o) => ActiveOrdersWidget._editableClass(o, 'limitPrice'),
|
|
297
|
+
cellClass: (o) => this._readOnly ? '' : ActiveOrdersWidget._editableClass(o, 'limitPrice'),
|
|
288
298
|
bindCell: (td, o) => this._bindInlineEdit(td, o, 'limitPrice'),
|
|
289
299
|
exportValue: (o) => o.limitPrice ?? label('MKT'),
|
|
290
300
|
},
|
|
@@ -294,7 +304,7 @@ export class ActiveOrdersWidget {
|
|
|
294
304
|
exportable: true,
|
|
295
305
|
value: (o) => o.stopPrice,
|
|
296
306
|
render: (o) => o.stopPrice ? formatPrice(o.stopPrice) : '--',
|
|
297
|
-
cellClass: (o) => ActiveOrdersWidget._editableClass(o, 'stopPrice'),
|
|
307
|
+
cellClass: (o) => this._readOnly ? '' : ActiveOrdersWidget._editableClass(o, 'stopPrice'),
|
|
298
308
|
bindCell: (td, o) => this._bindInlineEdit(td, o, 'stopPrice'),
|
|
299
309
|
exportValue: (o) => o.stopPrice ?? '',
|
|
300
310
|
},
|
|
@@ -306,14 +316,14 @@ export class ActiveOrdersWidget {
|
|
|
306
316
|
render: (o) => this._statusCell(o),
|
|
307
317
|
exportValue: (o) => presentation.statusText(o.status),
|
|
308
318
|
},
|
|
309
|
-
{
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
319
|
+
...(this._readOnly ? [] : [{
|
|
320
|
+
key: 'actions',
|
|
321
|
+
header: label('Actions'),
|
|
322
|
+
headerHidden: true,
|
|
323
|
+
exportable: false,
|
|
324
|
+
cellClass: () => 'position-actions',
|
|
325
|
+
render: (o) => this._actionButton(o),
|
|
326
|
+
}]),
|
|
317
327
|
];
|
|
318
328
|
}
|
|
319
329
|
static _rowClass(order) {
|
|
@@ -338,9 +348,10 @@ export class ActiveOrdersWidget {
|
|
|
338
348
|
// Double-click to edit belongs to the whole cell rather than to a control
|
|
339
349
|
// inside it, which is why it is wired here instead of returned by render().
|
|
340
350
|
_bindInlineEdit(td, order, field) {
|
|
341
|
-
if (!ActiveOrdersWidget._canEdit(order, field))
|
|
351
|
+
if (this._actions === null || !ActiveOrdersWidget._canEdit(order, field))
|
|
342
352
|
return;
|
|
343
|
-
|
|
353
|
+
const edit = this._actions.editOrderField;
|
|
354
|
+
td.addEventListener('dblclick', () => edit(order.id, field));
|
|
344
355
|
}
|
|
345
356
|
// Status text, plus a hoverable icon carrying the rejection reason. Some
|
|
346
357
|
// venues wrap the human-readable rejection inside a JSON blob;
|
|
@@ -379,10 +390,12 @@ export class ActiveOrdersWidget {
|
|
|
379
390
|
icon.className = 'bi bi-x-circle';
|
|
380
391
|
button.appendChild(icon);
|
|
381
392
|
button.addEventListener('click', () => {
|
|
393
|
+
if (this._actions === null)
|
|
394
|
+
return;
|
|
382
395
|
if (isTerminal)
|
|
383
|
-
this.
|
|
396
|
+
this._actions.dismissOrder(order.id);
|
|
384
397
|
else
|
|
385
|
-
this.
|
|
398
|
+
this._actions.cancelOrder(order.id);
|
|
386
399
|
});
|
|
387
400
|
return button;
|
|
388
401
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-orders-widget.js","sourceRoot":"","sources":["../../src/active-orders-widget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"active-orders-widget.js","sourceRoot":"","sources":["../../src/active-orders-widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
// Option pricing and the greeks, as pure functions.
|
|
2
|
+
//
|
|
3
|
+
// The desktop desk gets these from StockSharp.Algo.Derivatives, which a browser cannot call. A
|
|
4
|
+
// host could compute them and send them down, and one that already does should - the desk takes
|
|
5
|
+
// them either way. But a host that has bid, ask and an expiry has everything the arithmetic
|
|
6
|
+
// needs, and making it stand up a pricing service before it can draw a chain is a poor trade.
|
|
7
|
+
//
|
|
8
|
+
// So the maths ships, and it ships here, apart from the control: a wrong greek is not visible
|
|
9
|
+
// on screen the way a wrong column is, and the only defence is checking the numbers against
|
|
10
|
+
// values that are known.
|
|
11
|
+
//
|
|
12
|
+
// Conventions follow the desk that reads them, not the textbook: vega is per one point of
|
|
13
|
+
// volatility, theta is per calendar day, and rho is per one point of rate - the units a trader
|
|
14
|
+
// works in, rather than per 1.0 of each, which nobody quotes.
|
|
15
|
+
export const OptionTypes = {
|
|
16
|
+
Call: 'call',
|
|
17
|
+
Put: 'put',
|
|
18
|
+
};
|
|
19
|
+
const SQRT_2PI = Math.sqrt(2 * Math.PI);
|
|
20
|
+
const DAYS_IN_YEAR = 365;
|
|
21
|
+
/// The standard normal CDF.
|
|
22
|
+
///
|
|
23
|
+
/// Hart's rational approximation, which is what pricing libraries use and what a desk's numbers
|
|
24
|
+
/// are expected to agree with: accurate to about 1e-15 across the range, and exactly a half at
|
|
25
|
+
/// the mean rather than nearly so. The cheaper Abramowitz-and-Stegun fit is good to 1e-7, which
|
|
26
|
+
/// sounds like enough until a greek that should be symmetric is not.
|
|
27
|
+
export function normalCdf(x) {
|
|
28
|
+
const z = Math.abs(x);
|
|
29
|
+
// Beyond this the tail is smaller than double precision can carry anyway.
|
|
30
|
+
if (z > 37)
|
|
31
|
+
return x > 0 ? 1 : 0;
|
|
32
|
+
const e = Math.exp(-(z * z) / 2);
|
|
33
|
+
let tail;
|
|
34
|
+
if (z < 7.07106781186547) {
|
|
35
|
+
let b = 3.52624965998911e-02 * z + 0.700383064443688;
|
|
36
|
+
b = b * z + 6.37396220353165;
|
|
37
|
+
b = b * z + 33.912866078383;
|
|
38
|
+
b = b * z + 112.079291497871;
|
|
39
|
+
b = b * z + 221.213596169931;
|
|
40
|
+
b = b * z + 220.206867912376;
|
|
41
|
+
let d = 8.83883476483184e-02 * z + 1.75566716318264;
|
|
42
|
+
d = d * z + 16.064177579207;
|
|
43
|
+
d = d * z + 86.7807322029461;
|
|
44
|
+
d = d * z + 296.564248779674;
|
|
45
|
+
d = d * z + 637.333633378831;
|
|
46
|
+
d = d * z + 793.826512519948;
|
|
47
|
+
d = d * z + 440.413735824752;
|
|
48
|
+
tail = (e * b) / d;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// A continued fraction, which is what stays accurate once the polynomial ratio above
|
|
52
|
+
// starts losing digits to cancellation.
|
|
53
|
+
let b = z + 0.65;
|
|
54
|
+
b = z + 4 / b;
|
|
55
|
+
b = z + 3 / b;
|
|
56
|
+
b = z + 2 / b;
|
|
57
|
+
b = z + 1 / b;
|
|
58
|
+
tail = e / (b * 2.506628274631);
|
|
59
|
+
}
|
|
60
|
+
return x > 0 ? 1 - tail : tail;
|
|
61
|
+
}
|
|
62
|
+
/// The standard normal density.
|
|
63
|
+
export function normalPdf(x) {
|
|
64
|
+
return Math.exp(-0.5 * x * x) / SQRT_2PI;
|
|
65
|
+
}
|
|
66
|
+
/// d1, or zero when there is no time or no volatility for the division to mean anything.
|
|
67
|
+
export function d1(inputs) {
|
|
68
|
+
const { assetPrice, strike, timeToExpiry, riskFree, dividend, deviation } = inputs;
|
|
69
|
+
const spread = deviation * Math.sqrt(timeToExpiry);
|
|
70
|
+
if (spread === 0 || assetPrice <= 0 || strike <= 0)
|
|
71
|
+
return 0;
|
|
72
|
+
return (Math.log(assetPrice / strike) + (riskFree - dividend + (deviation * deviation) / 2) * timeToExpiry) / spread;
|
|
73
|
+
}
|
|
74
|
+
/// d2, which is d1 less one standard deviation of the remaining time.
|
|
75
|
+
export function d2(inputs) {
|
|
76
|
+
const spread = inputs.deviation * Math.sqrt(inputs.timeToExpiry);
|
|
77
|
+
return spread === 0 ? 0 : d1(inputs) - spread;
|
|
78
|
+
}
|
|
79
|
+
/// What the option is worth.
|
|
80
|
+
///
|
|
81
|
+
/// At expiry, or with no volatility, that is its intrinsic value - the formula degenerates to
|
|
82
|
+
/// exactly that, and saying so explicitly keeps a zero denominator out of the general case.
|
|
83
|
+
export function premium(type, inputs) {
|
|
84
|
+
const { assetPrice, strike, timeToExpiry, riskFree, dividend, deviation } = inputs;
|
|
85
|
+
if (timeToExpiry <= 0 || deviation <= 0)
|
|
86
|
+
return Math.max(0, type === OptionTypes.Call ? assetPrice - strike : strike - assetPrice);
|
|
87
|
+
const a = d1(inputs);
|
|
88
|
+
const b = d2(inputs);
|
|
89
|
+
const carried = assetPrice * Math.exp(-dividend * timeToExpiry);
|
|
90
|
+
const discounted = strike * Math.exp(-riskFree * timeToExpiry);
|
|
91
|
+
return type === OptionTypes.Call
|
|
92
|
+
? carried * normalCdf(a) - discounted * normalCdf(b)
|
|
93
|
+
: discounted * normalCdf(-b) - carried * normalCdf(-a);
|
|
94
|
+
}
|
|
95
|
+
/// Every greek at once: they share d1, and computing them together is both cheaper and the only
|
|
96
|
+
/// way they are guaranteed to describe the same moment.
|
|
97
|
+
export function greeks(type, inputs) {
|
|
98
|
+
const { assetPrice, strike, timeToExpiry, riskFree, dividend, deviation } = inputs;
|
|
99
|
+
const sign = type === OptionTypes.Call ? 1 : -1;
|
|
100
|
+
if (timeToExpiry <= 0 || deviation <= 0 || assetPrice <= 0) {
|
|
101
|
+
// An expired option still has a delta - it is one or nothing, depending on which side of
|
|
102
|
+
// the strike it finished. Everything else has stopped moving.
|
|
103
|
+
const inTheMoney = type === OptionTypes.Call ? assetPrice > strike : assetPrice < strike;
|
|
104
|
+
return { delta: inTheMoney ? sign : 0, gamma: 0, vega: 0, theta: 0, rho: 0 };
|
|
105
|
+
}
|
|
106
|
+
const a = d1(inputs);
|
|
107
|
+
const b = d2(inputs);
|
|
108
|
+
const sqrtT = Math.sqrt(timeToExpiry);
|
|
109
|
+
const density = normalPdf(a);
|
|
110
|
+
const carry = Math.exp(-dividend * timeToExpiry);
|
|
111
|
+
const discount = Math.exp(-riskFree * timeToExpiry);
|
|
112
|
+
const delta = sign * carry * normalCdf(sign * a);
|
|
113
|
+
const gamma = (carry * density) / (assetPrice * deviation * sqrtT);
|
|
114
|
+
// Scaled the way a desk quotes them: vega per one volatility point, rho per one rate point,
|
|
115
|
+
// theta per calendar day.
|
|
116
|
+
const vega = assetPrice * carry * density * sqrtT * 0.01;
|
|
117
|
+
const rho = sign * strike * timeToExpiry * discount * normalCdf(sign * b) * 0.01;
|
|
118
|
+
const theta = (-(assetPrice * carry * density * deviation) / (2 * sqrtT)
|
|
119
|
+
- sign * riskFree * strike * discount * normalCdf(sign * b)
|
|
120
|
+
+ sign * dividend * assetPrice * carry * normalCdf(sign * a)) / DAYS_IN_YEAR;
|
|
121
|
+
return { delta, gamma, vega, theta, rho };
|
|
122
|
+
}
|
|
123
|
+
/// The volatility that would produce this price, or null when none would.
|
|
124
|
+
///
|
|
125
|
+
/// Bisection rather than Newton: vega collapses far from the money and deep in time, and a
|
|
126
|
+
/// Newton step divided by a vanishing vega walks off to nonsense. Halving cannot, and forty
|
|
127
|
+
/// steps over a range this wide is finer than any quote.
|
|
128
|
+
export function impliedVolatility(type, inputs, price) {
|
|
129
|
+
if (!(price > 0) || inputs.timeToExpiry <= 0)
|
|
130
|
+
return null;
|
|
131
|
+
const at = (deviation) => premium(type, { ...inputs, deviation });
|
|
132
|
+
let low = 1e-6;
|
|
133
|
+
let high = 5;
|
|
134
|
+
// A price outside what any volatility in that range can produce has no answer, and
|
|
135
|
+
// returning the nearest bound would be a number that means nothing.
|
|
136
|
+
if (price < at(low) || price > at(high))
|
|
137
|
+
return null;
|
|
138
|
+
for (let step = 0; step < 60; step++) {
|
|
139
|
+
const mid = (low + high) / 2;
|
|
140
|
+
if (at(mid) < price)
|
|
141
|
+
low = mid;
|
|
142
|
+
else
|
|
143
|
+
high = mid;
|
|
144
|
+
}
|
|
145
|
+
return (low + high) / 2;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=black-scholes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"black-scholes.js","sourceRoot":"","sources":["../../src/black-scholes.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,5 +22,9 @@ export const ControlTypes = {
|
|
|
22
22
|
OrderBook: 'orderbook',
|
|
23
23
|
TradeFeed: 'tradefeed',
|
|
24
24
|
OrderEntry: 'orderEntry',
|
|
25
|
+
Statistics: 'statistics',
|
|
26
|
+
LogMonitor: 'logMonitor',
|
|
27
|
+
Strategies: 'strategies',
|
|
28
|
+
OptionDesk: 'optionDesk',
|
|
25
29
|
};
|
|
26
30
|
//# sourceMappingURL=control-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-types.js","sourceRoot":"","sources":["../../src/control-types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iBAAiB;AACjB,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,2BAA2B;AAC3B,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"control-types.js","sourceRoot":"","sources":["../../src/control-types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iBAAiB;AACjB,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,2BAA2B;AAC3B,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAClB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -11,10 +11,28 @@ export { TradeHistoryWidget } from './trade-history-widget.js';
|
|
|
11
11
|
export { WatchlistWidget } from './watchlist-widget.js';
|
|
12
12
|
export { OrderEntrySides, OrderEntryTypes, OrderEntryWidget } from './order-entry-widget.js';
|
|
13
13
|
export { OrderBookWidget } from './orderbook-widget.js';
|
|
14
|
+
// The cumulative P&L curve, shared by everything that draws one: a strategy row's
|
|
15
|
+
// sparkline and a statistics card are the same curve at two sizes. A backtest's own
|
|
16
|
+
// equity is not here - that one shares the price axis and belongs to the chart engine.
|
|
17
|
+
export { compressPnl, drawPnlCurve, pnlCurve } from './pnl-curve.js';
|
|
18
|
+
export { OptionDeskWidget, greekPlaces, greekScales, scaleChain, sideGreeks } from './option-desk-widget.js';
|
|
19
|
+
// Option pricing, for a host that has quotes and an expiry but no pricing service. A host
|
|
20
|
+
// that computes its own greeks sends them instead and none of this is reached.
|
|
21
|
+
export { OptionTypes, d1, d2, greeks, impliedVolatility, normalCdf, normalPdf, premium } from './black-scholes.js';
|
|
22
|
+
export { StrategiesWidget, StrategyStates } from './strategies-widget.js';
|
|
23
|
+
export { LogMonitorWidget } from './log-monitor-widget.js';
|
|
24
|
+
// The log's own shapes: how sources nest, and which messages a view of them keeps. A host
|
|
25
|
+
// rendering its own view of the same feed reads these rather than reinventing the filter.
|
|
26
|
+
export { LogLevels, buildLogTree, keepLog, subtreeOf } from './log-tree.js';
|
|
27
|
+
export { StatisticsWidget, formatStatistic } from './statistics-widget.js';
|
|
14
28
|
export { TradeFeedWidget } from './tradefeed-widget.js';
|
|
15
29
|
// The tape's own shapes: one print as the chart reads it, and the bubble a
|
|
16
30
|
// print (or a slice of them) is drawn as. A host that renders its own view of
|
|
17
31
|
// the same feed reads these rather than reinventing the compaction.
|
|
18
32
|
export { aggregateBubbles } from './tradefeed-aggregator.js';
|
|
19
33
|
export { layoutBubbles } from './tradefeed-bubbles.js';
|
|
34
|
+
// The grid's own menu, worded by the host. Exported because a host that builds a table of its
|
|
35
|
+
// own - a run's log beside the blotters, say - needs the same menu in the same words, and the
|
|
36
|
+
// alternative is every consumer restating thirty labels the package already knows.
|
|
37
|
+
export { makeGridMenu } from './grid-menu.js';
|
|
20
38
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA2BvF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnG,8EAA8E;AAC9E,8EAA8E;AAC9E,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM7F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAUxD,kFAAkF;AAClF,oFAAoF;AACpF,uFAAuF;AACvF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIrE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAI7G,0FAA0F;AAC1F,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAInH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3D,0FAA0F;AAC1F,0FAA0F;AAC1F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI5E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI3E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,2EAA2E;AAC3E,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,8FAA8F;AAC9F,8FAA8F;AAC9F,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|