@quantform/core 0.3.262 → 0.3.267
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/dist/adapter/adapter.d.ts +2 -2
- package/dist/adapter/backtester/backtester-adapter.d.ts +2 -2
- package/dist/adapter/backtester/backtester-adapter.js +3 -3
- package/dist/adapter/backtester/backtester-adapter.js.map +1 -1
- package/dist/adapter/paper/index.d.ts +2 -2
- package/dist/adapter/paper/index.js +2 -2
- package/dist/adapter/paper/index.js.map +1 -1
- package/dist/adapter/paper/paper-adapter.d.ts +3 -3
- package/dist/adapter/paper/paper-adapter.js +5 -5
- package/dist/adapter/paper/paper-adapter.js.map +1 -1
- package/dist/adapter/paper/paper-adapter.spec.js +2 -2
- package/dist/adapter/paper/paper-adapter.spec.js.map +1 -1
- package/dist/adapter/paper/{executor/paper-margin-executor.d.ts → simulator/paper-margin-simulator.d.ts} +2 -2
- package/dist/adapter/paper/{executor/paper-margin-executor.js → simulator/paper-margin-simulator.js} +5 -5
- package/dist/adapter/paper/simulator/paper-margin-simulator.js.map +1 -0
- package/dist/adapter/paper/{executor/paper-executor.d.ts → simulator/paper-simulator.d.ts} +1 -1
- package/dist/adapter/paper/{executor/paper-executor.js → simulator/paper-simulator.js} +4 -4
- package/dist/adapter/paper/simulator/paper-simulator.js.map +1 -0
- package/dist/adapter/paper/{executor/paper-spot-executor.d.ts → simulator/paper-spot-simulator.d.ts} +2 -2
- package/dist/adapter/paper/{executor/paper-spot-executor.js → simulator/paper-spot-simulator.js} +5 -5
- package/dist/adapter/paper/simulator/paper-spot-simulator.js.map +1 -0
- package/dist/{session/session-optimizer.spec.d.ts → adapter/paper/simulator/paper-spot-simulator.spec.d.ts} +0 -0
- package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js +50 -0
- package/dist/adapter/paper/simulator/paper-spot-simulator.spec.js.map +1 -0
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.js +4 -4
- package/dist/bootstrap.js.map +1 -1
- package/dist/domain/index.d.ts +3 -0
- package/dist/domain/index.js +3 -0
- package/dist/domain/index.js.map +1 -1
- package/dist/{session → domain}/session-descriptor.d.ts +2 -2
- package/dist/{session → domain}/session-descriptor.js +0 -0
- package/dist/domain/session-descriptor.js.map +1 -0
- package/dist/{session → domain}/session.d.ts +0 -0
- package/dist/{session → domain}/session.js +0 -0
- package/dist/domain/session.js.map +1 -0
- package/dist/{session → domain}/session.spec.d.ts +0 -0
- package/dist/{session → domain}/session.spec.js +0 -0
- package/dist/domain/session.spec.js.map +1 -0
- package/dist/{session/session-statement.d.ts → domain/statement.d.ts} +2 -2
- package/dist/{session/session-statement.js → domain/statement.js} +1 -1
- package/dist/domain/statement.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc.d.ts +1 -1
- package/dist/ipc.js.map +1 -1
- package/dist/ipc.spec.js +2 -2
- package/dist/ipc.spec.js.map +1 -1
- package/dist/shared/task.d.ts +1 -1
- package/dist/store/event/store-order.event.js +5 -5
- package/dist/store/event/store-order.event.js.map +1 -1
- package/dist/tests/backtester-adapter.spec.js +2 -2
- package/dist/tests/backtester-adapter.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/adapter/adapter.ts +2 -2
- package/src/adapter/backtester/backtester-adapter.ts +4 -4
- package/src/adapter/paper/index.ts +2 -2
- package/src/adapter/paper/paper-adapter.spec.ts +4 -4
- package/src/adapter/paper/paper-adapter.ts +7 -7
- package/src/adapter/paper/{executor/paper-margin-executor.ts → simulator/paper-margin-simulator.ts} +2 -2
- package/src/adapter/paper/{executor/paper-executor.ts → simulator/paper-simulator.ts} +1 -1
- package/src/adapter/paper/simulator/paper-spot-simulator.spec.ts +88 -0
- package/src/adapter/paper/{executor/paper-spot-executor.ts → simulator/paper-spot-simulator.ts} +2 -2
- package/src/bootstrap.ts +1 -1
- package/src/domain/index.ts +3 -0
- package/src/{session → domain}/session-descriptor.ts +2 -2
- package/src/{session → domain}/session.spec.ts +0 -0
- package/src/{session → domain}/session.ts +0 -0
- package/src/{session/session-statement.ts → domain/statement.ts} +1 -1
- package/src/index.ts +0 -1
- package/src/ipc.spec.ts +4 -4
- package/src/ipc.ts +1 -2
- package/src/shared/task.ts +1 -1
- package/src/store/event/store-order.event.ts +5 -5
- package/src/tests/backtester-adapter.spec.ts +4 -4
- package/src/tests/session.spec.ts +1 -1
- package/dist/adapter/paper/executor/paper-executor.js.map +0 -1
- package/dist/adapter/paper/executor/paper-margin-executor.js.map +0 -1
- package/dist/adapter/paper/executor/paper-spot-executor.js.map +0 -1
- package/dist/session/index.d.ts +0 -4
- package/dist/session/index.js +0 -17
- package/dist/session/index.js.map +0 -1
- package/dist/session/session-descriptor.js.map +0 -1
- package/dist/session/session-optimizer.d.ts +0 -10
- package/dist/session/session-optimizer.js +0 -62
- package/dist/session/session-optimizer.js.map +0 -1
- package/dist/session/session-optimizer.spec.js +0 -103
- package/dist/session/session-optimizer.spec.js.map +0 -1
- package/dist/session/session-statement.js.map +0 -1
- package/dist/session/session.js.map +0 -1
- package/dist/session/session.spec.js.map +0 -1
- package/src/session/index.ts +0 -4
- package/src/session/session-optimizer.spec.ts +0 -86
- package/src/session/session-optimizer.ts +0 -81
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const domain_1 = require("../domain");
|
|
13
|
-
const session_optimizer_1 = require("./session-optimizer");
|
|
14
|
-
describe('session optimizer tests', () => {
|
|
15
|
-
test('should ignore not provided value for property', () => {
|
|
16
|
-
class Target {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.timeframe = domain_1.Timeframe.H1;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
__decorate([
|
|
22
|
-
(0, session_optimizer_1.fit)('timeframe'),
|
|
23
|
-
__metadata("design:type", Object)
|
|
24
|
-
], Target.prototype, "timeframe", void 0);
|
|
25
|
-
const sut = new Target();
|
|
26
|
-
expect(sut.timeframe).toBe(domain_1.Timeframe.H1);
|
|
27
|
-
});
|
|
28
|
-
test('should ignore not provided descendant value for property', () => {
|
|
29
|
-
class Target {
|
|
30
|
-
constructor() {
|
|
31
|
-
this.timeframe = domain_1.Timeframe.H1;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
__decorate([
|
|
35
|
-
(0, session_optimizer_1.fit)('timeframe.daily'),
|
|
36
|
-
__metadata("design:type", Object)
|
|
37
|
-
], Target.prototype, "timeframe", void 0);
|
|
38
|
-
const sut = new Target();
|
|
39
|
-
expect(sut.timeframe).toBe(domain_1.Timeframe.H1);
|
|
40
|
-
});
|
|
41
|
-
test('should set provided value for property', () => {
|
|
42
|
-
class Target {
|
|
43
|
-
constructor() {
|
|
44
|
-
this.timeframe = domain_1.Timeframe.H1;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
__decorate([
|
|
48
|
-
(0, session_optimizer_1.fit)('timeframe'),
|
|
49
|
-
__metadata("design:type", Object)
|
|
50
|
-
], Target.prototype, "timeframe", void 0);
|
|
51
|
-
session_optimizer_1.SessionOptimizer.source = {
|
|
52
|
-
timeframe: domain_1.Timeframe.D1
|
|
53
|
-
};
|
|
54
|
-
const sut = new Target();
|
|
55
|
-
expect(sut.timeframe).toBe(domain_1.Timeframe.D1);
|
|
56
|
-
});
|
|
57
|
-
test('should set provided descendant value for property', () => {
|
|
58
|
-
class Target {
|
|
59
|
-
constructor() {
|
|
60
|
-
this.timeframe = domain_1.Timeframe.H1;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
__decorate([
|
|
64
|
-
(0, session_optimizer_1.fit)('timeframe.daily'),
|
|
65
|
-
__metadata("design:type", Object)
|
|
66
|
-
], Target.prototype, "timeframe", void 0);
|
|
67
|
-
session_optimizer_1.SessionOptimizer.source = {
|
|
68
|
-
timeframe: {
|
|
69
|
-
daily: domain_1.Timeframe.D1
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const sut = new Target();
|
|
73
|
-
expect(sut.timeframe).toBe(domain_1.Timeframe.D1);
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
describe('optimizer generator tests', () => {
|
|
77
|
-
test('should generate optimized input', () => {
|
|
78
|
-
class Target {
|
|
79
|
-
}
|
|
80
|
-
__decorate([
|
|
81
|
-
(0, session_optimizer_1.fit)('target.timeframe', [domain_1.Timeframe.D1, domain_1.Timeframe.H1]),
|
|
82
|
-
__metadata("design:type", Object)
|
|
83
|
-
], Target.prototype, "timeframe", void 0);
|
|
84
|
-
__decorate([
|
|
85
|
-
(0, session_optimizer_1.fit)('target.length', [7, 14, 21]),
|
|
86
|
-
__metadata("design:type", Object)
|
|
87
|
-
], Target.prototype, "length", void 0);
|
|
88
|
-
__decorate([
|
|
89
|
-
(0, session_optimizer_1.fit)('target.size', [0.1, 0.2, 0.3, 0.4]),
|
|
90
|
-
__metadata("design:type", Object)
|
|
91
|
-
], Target.prototype, "size", void 0);
|
|
92
|
-
expect(session_optimizer_1.SessionOptimizerGenerator.count).toBe(24);
|
|
93
|
-
const product = session_optimizer_1.SessionOptimizerGenerator.product();
|
|
94
|
-
expect(product.length).toBe(24);
|
|
95
|
-
expect(product[0].target.timeframe).toBe(domain_1.Timeframe.D1);
|
|
96
|
-
expect(product[0].target.length).toBe(7);
|
|
97
|
-
expect(product[0].target.size).toBe(0.1);
|
|
98
|
-
expect(product[23].target.timeframe).toBe(domain_1.Timeframe.H1);
|
|
99
|
-
expect(product[23].target.length).toBe(21);
|
|
100
|
-
expect(product[23].target.size).toBe(0.4);
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
//# sourceMappingURL=session-optimizer.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-optimizer.spec.js","sourceRoot":"","sources":["../../src/session/session-optimizer.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-statement.js","sourceRoot":"","sources":["../../src/session/session-statement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/session/session.spec.ts"],"names":[],"mappings":";;AAAA,0CAAsD;AACtD,sCAA8C;AAC9C,sCAAgC;AAEhC,4CAAyC;AAEzC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,UAAU,GAAsB;QACpC,EAAE,EAAE,IAAA,YAAG,GAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAElD,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;YAC9B,IAAI,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,QAAQ,EAAE,IAAI,EAAE;SACjB,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,QAAQ,CACpB,IAAI,4BAAoB,CACtB,IAAA,YAAG,GAAE,EACL,IAAI,cAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAC3B,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,CACH,EACD,IAAI,4BAAoB,CACtB,IAAA,YAAG,GAAE,EACL,IAAI,cAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAC5B,IAAI,cAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1B,IAAI,mBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,CACH,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/src/session/index.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Timeframe } from '../domain';
|
|
2
|
-
import { SessionOptimizer, fit, SessionOptimizerGenerator } from './session-optimizer';
|
|
3
|
-
|
|
4
|
-
describe('session optimizer tests', () => {
|
|
5
|
-
test('should ignore not provided value for property', () => {
|
|
6
|
-
class Target {
|
|
7
|
-
@fit('timeframe')
|
|
8
|
-
timeframe = Timeframe.H1;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const sut = new Target();
|
|
12
|
-
|
|
13
|
-
expect(sut.timeframe).toBe(Timeframe.H1);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test('should ignore not provided descendant value for property', () => {
|
|
17
|
-
class Target {
|
|
18
|
-
@fit('timeframe.daily')
|
|
19
|
-
timeframe = Timeframe.H1;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const sut = new Target();
|
|
23
|
-
|
|
24
|
-
expect(sut.timeframe).toBe(Timeframe.H1);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test('should set provided value for property', () => {
|
|
28
|
-
class Target {
|
|
29
|
-
@fit('timeframe')
|
|
30
|
-
timeframe = Timeframe.H1;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
SessionOptimizer.source = {
|
|
34
|
-
timeframe: Timeframe.D1
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const sut = new Target();
|
|
38
|
-
|
|
39
|
-
expect(sut.timeframe).toBe(Timeframe.D1);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test('should set provided descendant value for property', () => {
|
|
43
|
-
class Target {
|
|
44
|
-
@fit('timeframe.daily')
|
|
45
|
-
timeframe = Timeframe.H1;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
SessionOptimizer.source = {
|
|
49
|
-
timeframe: {
|
|
50
|
-
daily: Timeframe.D1
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
const sut = new Target();
|
|
55
|
-
|
|
56
|
-
expect(sut.timeframe).toBe(Timeframe.D1);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
describe('optimizer generator tests', () => {
|
|
61
|
-
test('should generate optimized input', () => {
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
|
-
class Target {
|
|
64
|
-
@fit('target.timeframe', [Timeframe.D1, Timeframe.H1])
|
|
65
|
-
timeframe;
|
|
66
|
-
@fit('target.length', [7, 14, 21])
|
|
67
|
-
length;
|
|
68
|
-
@fit('target.size', [0.1, 0.2, 0.3, 0.4])
|
|
69
|
-
size;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
expect(SessionOptimizerGenerator.count).toBe(24);
|
|
73
|
-
|
|
74
|
-
const product = SessionOptimizerGenerator.product();
|
|
75
|
-
|
|
76
|
-
expect(product.length).toBe(24);
|
|
77
|
-
|
|
78
|
-
expect(product[0].target.timeframe).toBe(Timeframe.D1);
|
|
79
|
-
expect(product[0].target.length).toBe(7);
|
|
80
|
-
expect(product[0].target.size).toBe(0.1);
|
|
81
|
-
|
|
82
|
-
expect(product[23].target.timeframe).toBe(Timeframe.H1);
|
|
83
|
-
expect(product[23].target.length).toBe(21);
|
|
84
|
-
expect(product[23].target.size).toBe(0.4);
|
|
85
|
-
});
|
|
86
|
-
});
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
export function fit(key: string, generator?: any[]) {
|
|
2
|
-
return function (target: any, propertyKey: string) {
|
|
3
|
-
let defaultSetterValue;
|
|
4
|
-
|
|
5
|
-
if (generator) {
|
|
6
|
-
SessionOptimizerGenerator.values[key] = generator;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(target, propertyKey, {
|
|
10
|
-
get: () => SessionOptimizer.provide(key) ?? defaultSetterValue,
|
|
11
|
-
set: (newValue: any) => {
|
|
12
|
-
if (!defaultSetterValue) {
|
|
13
|
-
defaultSetterValue = newValue;
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
if (defaultSetterValue == newValue) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
throw new Error('can not set a value of optimized property.');
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export class SessionOptimizer {
|
|
28
|
-
static source: any = {};
|
|
29
|
-
|
|
30
|
-
static provide(key: string): any {
|
|
31
|
-
return key
|
|
32
|
-
.split('.')
|
|
33
|
-
.reduce(
|
|
34
|
-
(aggregate, propertyName) => (aggregate ? aggregate[propertyName] : null),
|
|
35
|
-
this.source
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export class SessionOptimizerGenerator {
|
|
41
|
-
static values: Record<string, any[]> = {};
|
|
42
|
-
|
|
43
|
-
static get count(): number {
|
|
44
|
-
return Object.values(this.values).reduce(
|
|
45
|
-
(aggregate, value) => (aggregate *= value.length),
|
|
46
|
-
1
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static product(): any[] {
|
|
51
|
-
const matrix = [];
|
|
52
|
-
const keys = Object.keys(this.values);
|
|
53
|
-
const values = Object.values(this.values).reduce(
|
|
54
|
-
(a, b) => a.map(x => b.map(y => x.concat(y))).reduce((a, b) => a.concat(b), []),
|
|
55
|
-
[[]]
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
for (const value of values) {
|
|
59
|
-
const result = {};
|
|
60
|
-
|
|
61
|
-
for (let i = 0; i < keys.length; i++) {
|
|
62
|
-
const path = keys[i];
|
|
63
|
-
const parts = path.split('.');
|
|
64
|
-
|
|
65
|
-
let it = result;
|
|
66
|
-
|
|
67
|
-
while (parts.length > 1) {
|
|
68
|
-
const part = parts.shift();
|
|
69
|
-
|
|
70
|
-
it = it[part] = it[part] || {};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
it[parts[0]] = value[i];
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
matrix.push(result);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return matrix;
|
|
80
|
-
}
|
|
81
|
-
}
|