@marleena/trb-proto 1.0.55 → 1.0.56

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.
@@ -0,0 +1,1649 @@
1
+ // source: strategysearch/backtest.proto
2
+ /**
3
+ * @fileoverview
4
+ * @enhanceable
5
+ * @suppress {missingRequire} reports error on implicit type usages.
6
+ * @suppress {messageConventions} JS Compiler reports an error if a variable or
7
+ * field starts with 'MSG_' and isn't a translatable message.
8
+ * @public
9
+ */
10
+ // GENERATED CODE -- DO NOT EDIT!
11
+ /* eslint-disable */
12
+ // @ts-nocheck
13
+
14
+ var jspb = require('google-protobuf');
15
+ var goog = jspb;
16
+ var global =
17
+ (typeof globalThis !== 'undefined' && globalThis) ||
18
+ (typeof window !== 'undefined' && window) ||
19
+ (typeof global !== 'undefined' && global) ||
20
+ (typeof self !== 'undefined' && self) ||
21
+ (function () { return this; }).call(null) ||
22
+ Function('return this')();
23
+
24
+ var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');
25
+ goog.object.extend(proto, google_protobuf_timestamp_pb);
26
+ goog.exportSymbol('proto.trb.strategysearch.v1.BacktestConfig', null, global);
27
+ goog.exportSymbol('proto.trb.strategysearch.v1.BacktestMetrics', null, global);
28
+ goog.exportSymbol('proto.trb.strategysearch.v1.RunStatus', null, global);
29
+ /**
30
+ * Generated by JsPbCodeGenerator.
31
+ * @param {Array=} opt_data Optional initial data array, typically from a
32
+ * server response, or constructed directly in Javascript. The array is used
33
+ * in place and becomes part of the constructed object. It is not cloned.
34
+ * If no data is provided, the constructed object will be empty, but still
35
+ * valid.
36
+ * @extends {jspb.Message}
37
+ * @constructor
38
+ */
39
+ proto.trb.strategysearch.v1.BacktestConfig = function(opt_data) {
40
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
41
+ };
42
+ goog.inherits(proto.trb.strategysearch.v1.BacktestConfig, jspb.Message);
43
+ if (goog.DEBUG && !COMPILED) {
44
+ /**
45
+ * @public
46
+ * @override
47
+ */
48
+ proto.trb.strategysearch.v1.BacktestConfig.displayName = 'proto.trb.strategysearch.v1.BacktestConfig';
49
+ }
50
+ /**
51
+ * Generated by JsPbCodeGenerator.
52
+ * @param {Array=} opt_data Optional initial data array, typically from a
53
+ * server response, or constructed directly in Javascript. The array is used
54
+ * in place and becomes part of the constructed object. It is not cloned.
55
+ * If no data is provided, the constructed object will be empty, but still
56
+ * valid.
57
+ * @extends {jspb.Message}
58
+ * @constructor
59
+ */
60
+ proto.trb.strategysearch.v1.BacktestMetrics = function(opt_data) {
61
+ jspb.Message.initialize(this, opt_data, 0, -1, null, null);
62
+ };
63
+ goog.inherits(proto.trb.strategysearch.v1.BacktestMetrics, jspb.Message);
64
+ if (goog.DEBUG && !COMPILED) {
65
+ /**
66
+ * @public
67
+ * @override
68
+ */
69
+ proto.trb.strategysearch.v1.BacktestMetrics.displayName = 'proto.trb.strategysearch.v1.BacktestMetrics';
70
+ }
71
+
72
+
73
+
74
+ if (jspb.Message.GENERATE_TO_OBJECT) {
75
+ /**
76
+ * Creates an object representation of this proto.
77
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
78
+ * Optional fields that are not set will be set to undefined.
79
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
80
+ * For the list of reserved names please see:
81
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
82
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
83
+ * JSPB instance for transitional soy proto support:
84
+ * http://goto/soy-param-migration
85
+ * @return {!Object}
86
+ */
87
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.toObject = function(opt_includeInstance) {
88
+ return proto.trb.strategysearch.v1.BacktestConfig.toObject(opt_includeInstance, this);
89
+ };
90
+
91
+
92
+ /**
93
+ * Static version of the {@see toObject} method.
94
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
95
+ * the JSPB instance for transitional soy proto support:
96
+ * http://goto/soy-param-migration
97
+ * @param {!proto.trb.strategysearch.v1.BacktestConfig} msg The msg instance to transform.
98
+ * @return {!Object}
99
+ * @suppress {unusedLocalVariables} f is only used for nested messages
100
+ */
101
+ proto.trb.strategysearch.v1.BacktestConfig.toObject = function(includeInstance, msg) {
102
+ var f, obj = {
103
+ uid: jspb.Message.getFieldWithDefault(msg, 1, ""),
104
+ interval: jspb.Message.getFieldWithDefault(msg, 2, 0),
105
+ start: (f = msg.getStart()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
106
+ end: (f = msg.getEnd()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
107
+ initialCash: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),
108
+ commissionPct: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),
109
+ slippagePct: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),
110
+ longOnly: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
111
+ benchmarkUid: jspb.Message.getFieldWithDefault(msg, 9, "")
112
+ };
113
+
114
+ if (includeInstance) {
115
+ obj.$jspbMessageInstance = msg;
116
+ }
117
+ return obj;
118
+ };
119
+ }
120
+
121
+
122
+ /**
123
+ * Deserializes binary data (in protobuf wire format).
124
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
125
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig}
126
+ */
127
+ proto.trb.strategysearch.v1.BacktestConfig.deserializeBinary = function(bytes) {
128
+ var reader = new jspb.BinaryReader(bytes);
129
+ var msg = new proto.trb.strategysearch.v1.BacktestConfig;
130
+ return proto.trb.strategysearch.v1.BacktestConfig.deserializeBinaryFromReader(msg, reader);
131
+ };
132
+
133
+
134
+ /**
135
+ * Deserializes binary data (in protobuf wire format) from the
136
+ * given reader into the given message object.
137
+ * @param {!proto.trb.strategysearch.v1.BacktestConfig} msg The message object to deserialize into.
138
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
139
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig}
140
+ */
141
+ proto.trb.strategysearch.v1.BacktestConfig.deserializeBinaryFromReader = function(msg, reader) {
142
+ while (reader.nextField()) {
143
+ if (reader.isEndGroup()) {
144
+ break;
145
+ }
146
+ var field = reader.getFieldNumber();
147
+ switch (field) {
148
+ case 1:
149
+ var value = /** @type {string} */ (reader.readString());
150
+ msg.setUid(value);
151
+ break;
152
+ case 2:
153
+ var value = /** @type {number} */ (reader.readInt32());
154
+ msg.setInterval(value);
155
+ break;
156
+ case 3:
157
+ var value = new google_protobuf_timestamp_pb.Timestamp;
158
+ reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
159
+ msg.setStart(value);
160
+ break;
161
+ case 4:
162
+ var value = new google_protobuf_timestamp_pb.Timestamp;
163
+ reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
164
+ msg.setEnd(value);
165
+ break;
166
+ case 5:
167
+ var value = /** @type {number} */ (reader.readDouble());
168
+ msg.setInitialCash(value);
169
+ break;
170
+ case 6:
171
+ var value = /** @type {number} */ (reader.readDouble());
172
+ msg.setCommissionPct(value);
173
+ break;
174
+ case 7:
175
+ var value = /** @type {number} */ (reader.readDouble());
176
+ msg.setSlippagePct(value);
177
+ break;
178
+ case 8:
179
+ var value = /** @type {boolean} */ (reader.readBool());
180
+ msg.setLongOnly(value);
181
+ break;
182
+ case 9:
183
+ var value = /** @type {string} */ (reader.readString());
184
+ msg.setBenchmarkUid(value);
185
+ break;
186
+ default:
187
+ reader.skipField();
188
+ break;
189
+ }
190
+ }
191
+ return msg;
192
+ };
193
+
194
+
195
+ /**
196
+ * Serializes the message to binary data (in protobuf wire format).
197
+ * @return {!Uint8Array}
198
+ */
199
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.serializeBinary = function() {
200
+ var writer = new jspb.BinaryWriter();
201
+ proto.trb.strategysearch.v1.BacktestConfig.serializeBinaryToWriter(this, writer);
202
+ return writer.getResultBuffer();
203
+ };
204
+
205
+
206
+ /**
207
+ * Serializes the given message to binary data (in protobuf wire
208
+ * format), writing to the given BinaryWriter.
209
+ * @param {!proto.trb.strategysearch.v1.BacktestConfig} message
210
+ * @param {!jspb.BinaryWriter} writer
211
+ * @suppress {unusedLocalVariables} f is only used for nested messages
212
+ */
213
+ proto.trb.strategysearch.v1.BacktestConfig.serializeBinaryToWriter = function(message, writer) {
214
+ var f = undefined;
215
+ f = message.getUid();
216
+ if (f.length > 0) {
217
+ writer.writeString(
218
+ 1,
219
+ f
220
+ );
221
+ }
222
+ f = message.getInterval();
223
+ if (f !== 0) {
224
+ writer.writeInt32(
225
+ 2,
226
+ f
227
+ );
228
+ }
229
+ f = message.getStart();
230
+ if (f != null) {
231
+ writer.writeMessage(
232
+ 3,
233
+ f,
234
+ google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
235
+ );
236
+ }
237
+ f = message.getEnd();
238
+ if (f != null) {
239
+ writer.writeMessage(
240
+ 4,
241
+ f,
242
+ google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
243
+ );
244
+ }
245
+ f = message.getInitialCash();
246
+ if (f !== 0.0) {
247
+ writer.writeDouble(
248
+ 5,
249
+ f
250
+ );
251
+ }
252
+ f = message.getCommissionPct();
253
+ if (f !== 0.0) {
254
+ writer.writeDouble(
255
+ 6,
256
+ f
257
+ );
258
+ }
259
+ f = message.getSlippagePct();
260
+ if (f !== 0.0) {
261
+ writer.writeDouble(
262
+ 7,
263
+ f
264
+ );
265
+ }
266
+ f = message.getLongOnly();
267
+ if (f) {
268
+ writer.writeBool(
269
+ 8,
270
+ f
271
+ );
272
+ }
273
+ f = message.getBenchmarkUid();
274
+ if (f.length > 0) {
275
+ writer.writeString(
276
+ 9,
277
+ f
278
+ );
279
+ }
280
+ };
281
+
282
+
283
+ /**
284
+ * optional string uid = 1;
285
+ * @return {string}
286
+ */
287
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getUid = function() {
288
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
289
+ };
290
+
291
+
292
+ /**
293
+ * @param {string} value
294
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
295
+ */
296
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setUid = function(value) {
297
+ return jspb.Message.setProto3StringField(this, 1, value);
298
+ };
299
+
300
+
301
+ /**
302
+ * optional int32 interval = 2;
303
+ * @return {number}
304
+ */
305
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getInterval = function() {
306
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
307
+ };
308
+
309
+
310
+ /**
311
+ * @param {number} value
312
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
313
+ */
314
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setInterval = function(value) {
315
+ return jspb.Message.setProto3IntField(this, 2, value);
316
+ };
317
+
318
+
319
+ /**
320
+ * optional google.protobuf.Timestamp start = 3;
321
+ * @return {?proto.google.protobuf.Timestamp}
322
+ */
323
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getStart = function() {
324
+ return /** @type{?proto.google.protobuf.Timestamp} */ (
325
+ jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));
326
+ };
327
+
328
+
329
+ /**
330
+ * @param {?proto.google.protobuf.Timestamp|undefined} value
331
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
332
+ */
333
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setStart = function(value) {
334
+ return jspb.Message.setWrapperField(this, 3, value);
335
+ };
336
+
337
+
338
+ /**
339
+ * Clears the message field making it undefined.
340
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
341
+ */
342
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.clearStart = function() {
343
+ return this.setStart(undefined);
344
+ };
345
+
346
+
347
+ /**
348
+ * Returns whether this field is set.
349
+ * @return {boolean}
350
+ */
351
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.hasStart = function() {
352
+ return jspb.Message.getField(this, 3) != null;
353
+ };
354
+
355
+
356
+ /**
357
+ * optional google.protobuf.Timestamp end = 4;
358
+ * @return {?proto.google.protobuf.Timestamp}
359
+ */
360
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getEnd = function() {
361
+ return /** @type{?proto.google.protobuf.Timestamp} */ (
362
+ jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));
363
+ };
364
+
365
+
366
+ /**
367
+ * @param {?proto.google.protobuf.Timestamp|undefined} value
368
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
369
+ */
370
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setEnd = function(value) {
371
+ return jspb.Message.setWrapperField(this, 4, value);
372
+ };
373
+
374
+
375
+ /**
376
+ * Clears the message field making it undefined.
377
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
378
+ */
379
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.clearEnd = function() {
380
+ return this.setEnd(undefined);
381
+ };
382
+
383
+
384
+ /**
385
+ * Returns whether this field is set.
386
+ * @return {boolean}
387
+ */
388
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.hasEnd = function() {
389
+ return jspb.Message.getField(this, 4) != null;
390
+ };
391
+
392
+
393
+ /**
394
+ * optional double initial_cash = 5;
395
+ * @return {number}
396
+ */
397
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getInitialCash = function() {
398
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
399
+ };
400
+
401
+
402
+ /**
403
+ * @param {number} value
404
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
405
+ */
406
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setInitialCash = function(value) {
407
+ return jspb.Message.setProto3FloatField(this, 5, value);
408
+ };
409
+
410
+
411
+ /**
412
+ * optional double commission_pct = 6;
413
+ * @return {number}
414
+ */
415
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getCommissionPct = function() {
416
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));
417
+ };
418
+
419
+
420
+ /**
421
+ * @param {number} value
422
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
423
+ */
424
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setCommissionPct = function(value) {
425
+ return jspb.Message.setProto3FloatField(this, 6, value);
426
+ };
427
+
428
+
429
+ /**
430
+ * optional double slippage_pct = 7;
431
+ * @return {number}
432
+ */
433
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getSlippagePct = function() {
434
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));
435
+ };
436
+
437
+
438
+ /**
439
+ * @param {number} value
440
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
441
+ */
442
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setSlippagePct = function(value) {
443
+ return jspb.Message.setProto3FloatField(this, 7, value);
444
+ };
445
+
446
+
447
+ /**
448
+ * optional bool long_only = 8;
449
+ * @return {boolean}
450
+ */
451
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getLongOnly = function() {
452
+ return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
453
+ };
454
+
455
+
456
+ /**
457
+ * @param {boolean} value
458
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
459
+ */
460
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setLongOnly = function(value) {
461
+ return jspb.Message.setProto3BooleanField(this, 8, value);
462
+ };
463
+
464
+
465
+ /**
466
+ * optional string benchmark_uid = 9;
467
+ * @return {string}
468
+ */
469
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.getBenchmarkUid = function() {
470
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
471
+ };
472
+
473
+
474
+ /**
475
+ * @param {string} value
476
+ * @return {!proto.trb.strategysearch.v1.BacktestConfig} returns this
477
+ */
478
+ proto.trb.strategysearch.v1.BacktestConfig.prototype.setBenchmarkUid = function(value) {
479
+ return jspb.Message.setProto3StringField(this, 9, value);
480
+ };
481
+
482
+
483
+
484
+
485
+
486
+ if (jspb.Message.GENERATE_TO_OBJECT) {
487
+ /**
488
+ * Creates an object representation of this proto.
489
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
490
+ * Optional fields that are not set will be set to undefined.
491
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
492
+ * For the list of reserved names please see:
493
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
494
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
495
+ * JSPB instance for transitional soy proto support:
496
+ * http://goto/soy-param-migration
497
+ * @return {!Object}
498
+ */
499
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.toObject = function(opt_includeInstance) {
500
+ return proto.trb.strategysearch.v1.BacktestMetrics.toObject(opt_includeInstance, this);
501
+ };
502
+
503
+
504
+ /**
505
+ * Static version of the {@see toObject} method.
506
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
507
+ * the JSPB instance for transitional soy proto support:
508
+ * http://goto/soy-param-migration
509
+ * @param {!proto.trb.strategysearch.v1.BacktestMetrics} msg The msg instance to transform.
510
+ * @return {!Object}
511
+ * @suppress {unusedLocalVariables} f is only used for nested messages
512
+ */
513
+ proto.trb.strategysearch.v1.BacktestMetrics.toObject = function(includeInstance, msg) {
514
+ var f, obj = {
515
+ totalReturn: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0.0),
516
+ cagr: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),
517
+ sharpe: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),
518
+ sortino: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0),
519
+ maxDrawdown: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),
520
+ winRate: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),
521
+ profitFactor: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),
522
+ sqn: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),
523
+ tradesCount: jspb.Message.getFieldWithDefault(msg, 9, 0),
524
+ exposure: jspb.Message.getFloatingPointFieldWithDefault(msg, 10, 0.0),
525
+ finalEquity: jspb.Message.getFloatingPointFieldWithDefault(msg, 11, 0.0),
526
+ avgTradePct: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0.0),
527
+ expectancy: jspb.Message.getFloatingPointFieldWithDefault(msg, 13, 0.0),
528
+ calmar: jspb.Message.getFloatingPointFieldWithDefault(msg, 21, 0.0),
529
+ omega: jspb.Message.getFloatingPointFieldWithDefault(msg, 22, 0.0),
530
+ tailRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 23, 0.0),
531
+ valueAtRisk: jspb.Message.getFloatingPointFieldWithDefault(msg, 24, 0.0),
532
+ conditionalValueAtRisk: jspb.Message.getFloatingPointFieldWithDefault(msg, 25, 0.0),
533
+ skew: jspb.Message.getFloatingPointFieldWithDefault(msg, 26, 0.0),
534
+ kurtosis: jspb.Message.getFloatingPointFieldWithDefault(msg, 27, 0.0),
535
+ kellyCriterion: jspb.Message.getFloatingPointFieldWithDefault(msg, 28, 0.0),
536
+ riskOfRuin: jspb.Message.getFloatingPointFieldWithDefault(msg, 29, 0.0),
537
+ recoveryFactor: jspb.Message.getFloatingPointFieldWithDefault(msg, 30, 0.0),
538
+ payoffRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 31, 0.0),
539
+ gainToPainRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 32, 0.0),
540
+ outlierWinRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 33, 0.0),
541
+ outlierLossRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 34, 0.0),
542
+ commonSenseRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 35, 0.0),
543
+ ulcerIndex: jspb.Message.getFloatingPointFieldWithDefault(msg, 36, 0.0),
544
+ serenityIndex: jspb.Message.getFloatingPointFieldWithDefault(msg, 37, 0.0),
545
+ alpha: jspb.Message.getFloatingPointFieldWithDefault(msg, 38, 0.0),
546
+ beta: jspb.Message.getFloatingPointFieldWithDefault(msg, 39, 0.0),
547
+ informationRatio: jspb.Message.getFloatingPointFieldWithDefault(msg, 40, 0.0),
548
+ rSquared: jspb.Message.getFloatingPointFieldWithDefault(msg, 41, 0.0),
549
+ extraMap: (f = msg.getExtraMap()) ? f.toObject(includeInstance, undefined) : []
550
+ };
551
+
552
+ if (includeInstance) {
553
+ obj.$jspbMessageInstance = msg;
554
+ }
555
+ return obj;
556
+ };
557
+ }
558
+
559
+
560
+ /**
561
+ * Deserializes binary data (in protobuf wire format).
562
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
563
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics}
564
+ */
565
+ proto.trb.strategysearch.v1.BacktestMetrics.deserializeBinary = function(bytes) {
566
+ var reader = new jspb.BinaryReader(bytes);
567
+ var msg = new proto.trb.strategysearch.v1.BacktestMetrics;
568
+ return proto.trb.strategysearch.v1.BacktestMetrics.deserializeBinaryFromReader(msg, reader);
569
+ };
570
+
571
+
572
+ /**
573
+ * Deserializes binary data (in protobuf wire format) from the
574
+ * given reader into the given message object.
575
+ * @param {!proto.trb.strategysearch.v1.BacktestMetrics} msg The message object to deserialize into.
576
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
577
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics}
578
+ */
579
+ proto.trb.strategysearch.v1.BacktestMetrics.deserializeBinaryFromReader = function(msg, reader) {
580
+ while (reader.nextField()) {
581
+ if (reader.isEndGroup()) {
582
+ break;
583
+ }
584
+ var field = reader.getFieldNumber();
585
+ switch (field) {
586
+ case 1:
587
+ var value = /** @type {number} */ (reader.readDouble());
588
+ msg.setTotalReturn(value);
589
+ break;
590
+ case 2:
591
+ var value = /** @type {number} */ (reader.readDouble());
592
+ msg.setCagr(value);
593
+ break;
594
+ case 3:
595
+ var value = /** @type {number} */ (reader.readDouble());
596
+ msg.setSharpe(value);
597
+ break;
598
+ case 4:
599
+ var value = /** @type {number} */ (reader.readDouble());
600
+ msg.setSortino(value);
601
+ break;
602
+ case 5:
603
+ var value = /** @type {number} */ (reader.readDouble());
604
+ msg.setMaxDrawdown(value);
605
+ break;
606
+ case 6:
607
+ var value = /** @type {number} */ (reader.readDouble());
608
+ msg.setWinRate(value);
609
+ break;
610
+ case 7:
611
+ var value = /** @type {number} */ (reader.readDouble());
612
+ msg.setProfitFactor(value);
613
+ break;
614
+ case 8:
615
+ var value = /** @type {number} */ (reader.readDouble());
616
+ msg.setSqn(value);
617
+ break;
618
+ case 9:
619
+ var value = /** @type {number} */ (reader.readUint32());
620
+ msg.setTradesCount(value);
621
+ break;
622
+ case 10:
623
+ var value = /** @type {number} */ (reader.readDouble());
624
+ msg.setExposure(value);
625
+ break;
626
+ case 11:
627
+ var value = /** @type {number} */ (reader.readDouble());
628
+ msg.setFinalEquity(value);
629
+ break;
630
+ case 12:
631
+ var value = /** @type {number} */ (reader.readDouble());
632
+ msg.setAvgTradePct(value);
633
+ break;
634
+ case 13:
635
+ var value = /** @type {number} */ (reader.readDouble());
636
+ msg.setExpectancy(value);
637
+ break;
638
+ case 21:
639
+ var value = /** @type {number} */ (reader.readDouble());
640
+ msg.setCalmar(value);
641
+ break;
642
+ case 22:
643
+ var value = /** @type {number} */ (reader.readDouble());
644
+ msg.setOmega(value);
645
+ break;
646
+ case 23:
647
+ var value = /** @type {number} */ (reader.readDouble());
648
+ msg.setTailRatio(value);
649
+ break;
650
+ case 24:
651
+ var value = /** @type {number} */ (reader.readDouble());
652
+ msg.setValueAtRisk(value);
653
+ break;
654
+ case 25:
655
+ var value = /** @type {number} */ (reader.readDouble());
656
+ msg.setConditionalValueAtRisk(value);
657
+ break;
658
+ case 26:
659
+ var value = /** @type {number} */ (reader.readDouble());
660
+ msg.setSkew(value);
661
+ break;
662
+ case 27:
663
+ var value = /** @type {number} */ (reader.readDouble());
664
+ msg.setKurtosis(value);
665
+ break;
666
+ case 28:
667
+ var value = /** @type {number} */ (reader.readDouble());
668
+ msg.setKellyCriterion(value);
669
+ break;
670
+ case 29:
671
+ var value = /** @type {number} */ (reader.readDouble());
672
+ msg.setRiskOfRuin(value);
673
+ break;
674
+ case 30:
675
+ var value = /** @type {number} */ (reader.readDouble());
676
+ msg.setRecoveryFactor(value);
677
+ break;
678
+ case 31:
679
+ var value = /** @type {number} */ (reader.readDouble());
680
+ msg.setPayoffRatio(value);
681
+ break;
682
+ case 32:
683
+ var value = /** @type {number} */ (reader.readDouble());
684
+ msg.setGainToPainRatio(value);
685
+ break;
686
+ case 33:
687
+ var value = /** @type {number} */ (reader.readDouble());
688
+ msg.setOutlierWinRatio(value);
689
+ break;
690
+ case 34:
691
+ var value = /** @type {number} */ (reader.readDouble());
692
+ msg.setOutlierLossRatio(value);
693
+ break;
694
+ case 35:
695
+ var value = /** @type {number} */ (reader.readDouble());
696
+ msg.setCommonSenseRatio(value);
697
+ break;
698
+ case 36:
699
+ var value = /** @type {number} */ (reader.readDouble());
700
+ msg.setUlcerIndex(value);
701
+ break;
702
+ case 37:
703
+ var value = /** @type {number} */ (reader.readDouble());
704
+ msg.setSerenityIndex(value);
705
+ break;
706
+ case 38:
707
+ var value = /** @type {number} */ (reader.readDouble());
708
+ msg.setAlpha(value);
709
+ break;
710
+ case 39:
711
+ var value = /** @type {number} */ (reader.readDouble());
712
+ msg.setBeta(value);
713
+ break;
714
+ case 40:
715
+ var value = /** @type {number} */ (reader.readDouble());
716
+ msg.setInformationRatio(value);
717
+ break;
718
+ case 41:
719
+ var value = /** @type {number} */ (reader.readDouble());
720
+ msg.setRSquared(value);
721
+ break;
722
+ case 20:
723
+ var value = msg.getExtraMap();
724
+ reader.readMessage(value, function(message, reader) {
725
+ jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readDouble, null, "", 0.0);
726
+ });
727
+ break;
728
+ default:
729
+ reader.skipField();
730
+ break;
731
+ }
732
+ }
733
+ return msg;
734
+ };
735
+
736
+
737
+ /**
738
+ * Serializes the message to binary data (in protobuf wire format).
739
+ * @return {!Uint8Array}
740
+ */
741
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.serializeBinary = function() {
742
+ var writer = new jspb.BinaryWriter();
743
+ proto.trb.strategysearch.v1.BacktestMetrics.serializeBinaryToWriter(this, writer);
744
+ return writer.getResultBuffer();
745
+ };
746
+
747
+
748
+ /**
749
+ * Serializes the given message to binary data (in protobuf wire
750
+ * format), writing to the given BinaryWriter.
751
+ * @param {!proto.trb.strategysearch.v1.BacktestMetrics} message
752
+ * @param {!jspb.BinaryWriter} writer
753
+ * @suppress {unusedLocalVariables} f is only used for nested messages
754
+ */
755
+ proto.trb.strategysearch.v1.BacktestMetrics.serializeBinaryToWriter = function(message, writer) {
756
+ var f = undefined;
757
+ f = message.getTotalReturn();
758
+ if (f !== 0.0) {
759
+ writer.writeDouble(
760
+ 1,
761
+ f
762
+ );
763
+ }
764
+ f = message.getCagr();
765
+ if (f !== 0.0) {
766
+ writer.writeDouble(
767
+ 2,
768
+ f
769
+ );
770
+ }
771
+ f = message.getSharpe();
772
+ if (f !== 0.0) {
773
+ writer.writeDouble(
774
+ 3,
775
+ f
776
+ );
777
+ }
778
+ f = message.getSortino();
779
+ if (f !== 0.0) {
780
+ writer.writeDouble(
781
+ 4,
782
+ f
783
+ );
784
+ }
785
+ f = message.getMaxDrawdown();
786
+ if (f !== 0.0) {
787
+ writer.writeDouble(
788
+ 5,
789
+ f
790
+ );
791
+ }
792
+ f = message.getWinRate();
793
+ if (f !== 0.0) {
794
+ writer.writeDouble(
795
+ 6,
796
+ f
797
+ );
798
+ }
799
+ f = message.getProfitFactor();
800
+ if (f !== 0.0) {
801
+ writer.writeDouble(
802
+ 7,
803
+ f
804
+ );
805
+ }
806
+ f = message.getSqn();
807
+ if (f !== 0.0) {
808
+ writer.writeDouble(
809
+ 8,
810
+ f
811
+ );
812
+ }
813
+ f = message.getTradesCount();
814
+ if (f !== 0) {
815
+ writer.writeUint32(
816
+ 9,
817
+ f
818
+ );
819
+ }
820
+ f = message.getExposure();
821
+ if (f !== 0.0) {
822
+ writer.writeDouble(
823
+ 10,
824
+ f
825
+ );
826
+ }
827
+ f = message.getFinalEquity();
828
+ if (f !== 0.0) {
829
+ writer.writeDouble(
830
+ 11,
831
+ f
832
+ );
833
+ }
834
+ f = message.getAvgTradePct();
835
+ if (f !== 0.0) {
836
+ writer.writeDouble(
837
+ 12,
838
+ f
839
+ );
840
+ }
841
+ f = message.getExpectancy();
842
+ if (f !== 0.0) {
843
+ writer.writeDouble(
844
+ 13,
845
+ f
846
+ );
847
+ }
848
+ f = message.getCalmar();
849
+ if (f !== 0.0) {
850
+ writer.writeDouble(
851
+ 21,
852
+ f
853
+ );
854
+ }
855
+ f = message.getOmega();
856
+ if (f !== 0.0) {
857
+ writer.writeDouble(
858
+ 22,
859
+ f
860
+ );
861
+ }
862
+ f = message.getTailRatio();
863
+ if (f !== 0.0) {
864
+ writer.writeDouble(
865
+ 23,
866
+ f
867
+ );
868
+ }
869
+ f = message.getValueAtRisk();
870
+ if (f !== 0.0) {
871
+ writer.writeDouble(
872
+ 24,
873
+ f
874
+ );
875
+ }
876
+ f = message.getConditionalValueAtRisk();
877
+ if (f !== 0.0) {
878
+ writer.writeDouble(
879
+ 25,
880
+ f
881
+ );
882
+ }
883
+ f = message.getSkew();
884
+ if (f !== 0.0) {
885
+ writer.writeDouble(
886
+ 26,
887
+ f
888
+ );
889
+ }
890
+ f = message.getKurtosis();
891
+ if (f !== 0.0) {
892
+ writer.writeDouble(
893
+ 27,
894
+ f
895
+ );
896
+ }
897
+ f = message.getKellyCriterion();
898
+ if (f !== 0.0) {
899
+ writer.writeDouble(
900
+ 28,
901
+ f
902
+ );
903
+ }
904
+ f = message.getRiskOfRuin();
905
+ if (f !== 0.0) {
906
+ writer.writeDouble(
907
+ 29,
908
+ f
909
+ );
910
+ }
911
+ f = message.getRecoveryFactor();
912
+ if (f !== 0.0) {
913
+ writer.writeDouble(
914
+ 30,
915
+ f
916
+ );
917
+ }
918
+ f = message.getPayoffRatio();
919
+ if (f !== 0.0) {
920
+ writer.writeDouble(
921
+ 31,
922
+ f
923
+ );
924
+ }
925
+ f = message.getGainToPainRatio();
926
+ if (f !== 0.0) {
927
+ writer.writeDouble(
928
+ 32,
929
+ f
930
+ );
931
+ }
932
+ f = message.getOutlierWinRatio();
933
+ if (f !== 0.0) {
934
+ writer.writeDouble(
935
+ 33,
936
+ f
937
+ );
938
+ }
939
+ f = message.getOutlierLossRatio();
940
+ if (f !== 0.0) {
941
+ writer.writeDouble(
942
+ 34,
943
+ f
944
+ );
945
+ }
946
+ f = message.getCommonSenseRatio();
947
+ if (f !== 0.0) {
948
+ writer.writeDouble(
949
+ 35,
950
+ f
951
+ );
952
+ }
953
+ f = message.getUlcerIndex();
954
+ if (f !== 0.0) {
955
+ writer.writeDouble(
956
+ 36,
957
+ f
958
+ );
959
+ }
960
+ f = message.getSerenityIndex();
961
+ if (f !== 0.0) {
962
+ writer.writeDouble(
963
+ 37,
964
+ f
965
+ );
966
+ }
967
+ f = message.getAlpha();
968
+ if (f !== 0.0) {
969
+ writer.writeDouble(
970
+ 38,
971
+ f
972
+ );
973
+ }
974
+ f = message.getBeta();
975
+ if (f !== 0.0) {
976
+ writer.writeDouble(
977
+ 39,
978
+ f
979
+ );
980
+ }
981
+ f = message.getInformationRatio();
982
+ if (f !== 0.0) {
983
+ writer.writeDouble(
984
+ 40,
985
+ f
986
+ );
987
+ }
988
+ f = message.getRSquared();
989
+ if (f !== 0.0) {
990
+ writer.writeDouble(
991
+ 41,
992
+ f
993
+ );
994
+ }
995
+ f = message.getExtraMap(true);
996
+ if (f && f.getLength() > 0) {
997
+ f.serializeBinary(20, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeDouble);
998
+ }
999
+ };
1000
+
1001
+
1002
+ /**
1003
+ * optional double total_return = 1;
1004
+ * @return {number}
1005
+ */
1006
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getTotalReturn = function() {
1007
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0.0));
1008
+ };
1009
+
1010
+
1011
+ /**
1012
+ * @param {number} value
1013
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1014
+ */
1015
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setTotalReturn = function(value) {
1016
+ return jspb.Message.setProto3FloatField(this, 1, value);
1017
+ };
1018
+
1019
+
1020
+ /**
1021
+ * optional double cagr = 2;
1022
+ * @return {number}
1023
+ */
1024
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getCagr = function() {
1025
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));
1026
+ };
1027
+
1028
+
1029
+ /**
1030
+ * @param {number} value
1031
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1032
+ */
1033
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setCagr = function(value) {
1034
+ return jspb.Message.setProto3FloatField(this, 2, value);
1035
+ };
1036
+
1037
+
1038
+ /**
1039
+ * optional double sharpe = 3;
1040
+ * @return {number}
1041
+ */
1042
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getSharpe = function() {
1043
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));
1044
+ };
1045
+
1046
+
1047
+ /**
1048
+ * @param {number} value
1049
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1050
+ */
1051
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setSharpe = function(value) {
1052
+ return jspb.Message.setProto3FloatField(this, 3, value);
1053
+ };
1054
+
1055
+
1056
+ /**
1057
+ * optional double sortino = 4;
1058
+ * @return {number}
1059
+ */
1060
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getSortino = function() {
1061
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0));
1062
+ };
1063
+
1064
+
1065
+ /**
1066
+ * @param {number} value
1067
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1068
+ */
1069
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setSortino = function(value) {
1070
+ return jspb.Message.setProto3FloatField(this, 4, value);
1071
+ };
1072
+
1073
+
1074
+ /**
1075
+ * optional double max_drawdown = 5;
1076
+ * @return {number}
1077
+ */
1078
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getMaxDrawdown = function() {
1079
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
1080
+ };
1081
+
1082
+
1083
+ /**
1084
+ * @param {number} value
1085
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1086
+ */
1087
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setMaxDrawdown = function(value) {
1088
+ return jspb.Message.setProto3FloatField(this, 5, value);
1089
+ };
1090
+
1091
+
1092
+ /**
1093
+ * optional double win_rate = 6;
1094
+ * @return {number}
1095
+ */
1096
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getWinRate = function() {
1097
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));
1098
+ };
1099
+
1100
+
1101
+ /**
1102
+ * @param {number} value
1103
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1104
+ */
1105
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setWinRate = function(value) {
1106
+ return jspb.Message.setProto3FloatField(this, 6, value);
1107
+ };
1108
+
1109
+
1110
+ /**
1111
+ * optional double profit_factor = 7;
1112
+ * @return {number}
1113
+ */
1114
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getProfitFactor = function() {
1115
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));
1116
+ };
1117
+
1118
+
1119
+ /**
1120
+ * @param {number} value
1121
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1122
+ */
1123
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setProfitFactor = function(value) {
1124
+ return jspb.Message.setProto3FloatField(this, 7, value);
1125
+ };
1126
+
1127
+
1128
+ /**
1129
+ * optional double sqn = 8;
1130
+ * @return {number}
1131
+ */
1132
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getSqn = function() {
1133
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0));
1134
+ };
1135
+
1136
+
1137
+ /**
1138
+ * @param {number} value
1139
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1140
+ */
1141
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setSqn = function(value) {
1142
+ return jspb.Message.setProto3FloatField(this, 8, value);
1143
+ };
1144
+
1145
+
1146
+ /**
1147
+ * optional uint32 trades_count = 9;
1148
+ * @return {number}
1149
+ */
1150
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getTradesCount = function() {
1151
+ return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
1152
+ };
1153
+
1154
+
1155
+ /**
1156
+ * @param {number} value
1157
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1158
+ */
1159
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setTradesCount = function(value) {
1160
+ return jspb.Message.setProto3IntField(this, 9, value);
1161
+ };
1162
+
1163
+
1164
+ /**
1165
+ * optional double exposure = 10;
1166
+ * @return {number}
1167
+ */
1168
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getExposure = function() {
1169
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 10, 0.0));
1170
+ };
1171
+
1172
+
1173
+ /**
1174
+ * @param {number} value
1175
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1176
+ */
1177
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setExposure = function(value) {
1178
+ return jspb.Message.setProto3FloatField(this, 10, value);
1179
+ };
1180
+
1181
+
1182
+ /**
1183
+ * optional double final_equity = 11;
1184
+ * @return {number}
1185
+ */
1186
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getFinalEquity = function() {
1187
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 11, 0.0));
1188
+ };
1189
+
1190
+
1191
+ /**
1192
+ * @param {number} value
1193
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1194
+ */
1195
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setFinalEquity = function(value) {
1196
+ return jspb.Message.setProto3FloatField(this, 11, value);
1197
+ };
1198
+
1199
+
1200
+ /**
1201
+ * optional double avg_trade_pct = 12;
1202
+ * @return {number}
1203
+ */
1204
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getAvgTradePct = function() {
1205
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0.0));
1206
+ };
1207
+
1208
+
1209
+ /**
1210
+ * @param {number} value
1211
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1212
+ */
1213
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setAvgTradePct = function(value) {
1214
+ return jspb.Message.setProto3FloatField(this, 12, value);
1215
+ };
1216
+
1217
+
1218
+ /**
1219
+ * optional double expectancy = 13;
1220
+ * @return {number}
1221
+ */
1222
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getExpectancy = function() {
1223
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 13, 0.0));
1224
+ };
1225
+
1226
+
1227
+ /**
1228
+ * @param {number} value
1229
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1230
+ */
1231
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setExpectancy = function(value) {
1232
+ return jspb.Message.setProto3FloatField(this, 13, value);
1233
+ };
1234
+
1235
+
1236
+ /**
1237
+ * optional double calmar = 21;
1238
+ * @return {number}
1239
+ */
1240
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getCalmar = function() {
1241
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 21, 0.0));
1242
+ };
1243
+
1244
+
1245
+ /**
1246
+ * @param {number} value
1247
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1248
+ */
1249
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setCalmar = function(value) {
1250
+ return jspb.Message.setProto3FloatField(this, 21, value);
1251
+ };
1252
+
1253
+
1254
+ /**
1255
+ * optional double omega = 22;
1256
+ * @return {number}
1257
+ */
1258
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getOmega = function() {
1259
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 22, 0.0));
1260
+ };
1261
+
1262
+
1263
+ /**
1264
+ * @param {number} value
1265
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1266
+ */
1267
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setOmega = function(value) {
1268
+ return jspb.Message.setProto3FloatField(this, 22, value);
1269
+ };
1270
+
1271
+
1272
+ /**
1273
+ * optional double tail_ratio = 23;
1274
+ * @return {number}
1275
+ */
1276
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getTailRatio = function() {
1277
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 23, 0.0));
1278
+ };
1279
+
1280
+
1281
+ /**
1282
+ * @param {number} value
1283
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1284
+ */
1285
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setTailRatio = function(value) {
1286
+ return jspb.Message.setProto3FloatField(this, 23, value);
1287
+ };
1288
+
1289
+
1290
+ /**
1291
+ * optional double value_at_risk = 24;
1292
+ * @return {number}
1293
+ */
1294
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getValueAtRisk = function() {
1295
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 24, 0.0));
1296
+ };
1297
+
1298
+
1299
+ /**
1300
+ * @param {number} value
1301
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1302
+ */
1303
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setValueAtRisk = function(value) {
1304
+ return jspb.Message.setProto3FloatField(this, 24, value);
1305
+ };
1306
+
1307
+
1308
+ /**
1309
+ * optional double conditional_value_at_risk = 25;
1310
+ * @return {number}
1311
+ */
1312
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getConditionalValueAtRisk = function() {
1313
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 25, 0.0));
1314
+ };
1315
+
1316
+
1317
+ /**
1318
+ * @param {number} value
1319
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1320
+ */
1321
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setConditionalValueAtRisk = function(value) {
1322
+ return jspb.Message.setProto3FloatField(this, 25, value);
1323
+ };
1324
+
1325
+
1326
+ /**
1327
+ * optional double skew = 26;
1328
+ * @return {number}
1329
+ */
1330
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getSkew = function() {
1331
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 26, 0.0));
1332
+ };
1333
+
1334
+
1335
+ /**
1336
+ * @param {number} value
1337
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1338
+ */
1339
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setSkew = function(value) {
1340
+ return jspb.Message.setProto3FloatField(this, 26, value);
1341
+ };
1342
+
1343
+
1344
+ /**
1345
+ * optional double kurtosis = 27;
1346
+ * @return {number}
1347
+ */
1348
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getKurtosis = function() {
1349
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 27, 0.0));
1350
+ };
1351
+
1352
+
1353
+ /**
1354
+ * @param {number} value
1355
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1356
+ */
1357
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setKurtosis = function(value) {
1358
+ return jspb.Message.setProto3FloatField(this, 27, value);
1359
+ };
1360
+
1361
+
1362
+ /**
1363
+ * optional double kelly_criterion = 28;
1364
+ * @return {number}
1365
+ */
1366
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getKellyCriterion = function() {
1367
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 28, 0.0));
1368
+ };
1369
+
1370
+
1371
+ /**
1372
+ * @param {number} value
1373
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1374
+ */
1375
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setKellyCriterion = function(value) {
1376
+ return jspb.Message.setProto3FloatField(this, 28, value);
1377
+ };
1378
+
1379
+
1380
+ /**
1381
+ * optional double risk_of_ruin = 29;
1382
+ * @return {number}
1383
+ */
1384
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getRiskOfRuin = function() {
1385
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 29, 0.0));
1386
+ };
1387
+
1388
+
1389
+ /**
1390
+ * @param {number} value
1391
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1392
+ */
1393
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setRiskOfRuin = function(value) {
1394
+ return jspb.Message.setProto3FloatField(this, 29, value);
1395
+ };
1396
+
1397
+
1398
+ /**
1399
+ * optional double recovery_factor = 30;
1400
+ * @return {number}
1401
+ */
1402
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getRecoveryFactor = function() {
1403
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 30, 0.0));
1404
+ };
1405
+
1406
+
1407
+ /**
1408
+ * @param {number} value
1409
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1410
+ */
1411
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setRecoveryFactor = function(value) {
1412
+ return jspb.Message.setProto3FloatField(this, 30, value);
1413
+ };
1414
+
1415
+
1416
+ /**
1417
+ * optional double payoff_ratio = 31;
1418
+ * @return {number}
1419
+ */
1420
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getPayoffRatio = function() {
1421
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 31, 0.0));
1422
+ };
1423
+
1424
+
1425
+ /**
1426
+ * @param {number} value
1427
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1428
+ */
1429
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setPayoffRatio = function(value) {
1430
+ return jspb.Message.setProto3FloatField(this, 31, value);
1431
+ };
1432
+
1433
+
1434
+ /**
1435
+ * optional double gain_to_pain_ratio = 32;
1436
+ * @return {number}
1437
+ */
1438
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getGainToPainRatio = function() {
1439
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 32, 0.0));
1440
+ };
1441
+
1442
+
1443
+ /**
1444
+ * @param {number} value
1445
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1446
+ */
1447
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setGainToPainRatio = function(value) {
1448
+ return jspb.Message.setProto3FloatField(this, 32, value);
1449
+ };
1450
+
1451
+
1452
+ /**
1453
+ * optional double outlier_win_ratio = 33;
1454
+ * @return {number}
1455
+ */
1456
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getOutlierWinRatio = function() {
1457
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 33, 0.0));
1458
+ };
1459
+
1460
+
1461
+ /**
1462
+ * @param {number} value
1463
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1464
+ */
1465
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setOutlierWinRatio = function(value) {
1466
+ return jspb.Message.setProto3FloatField(this, 33, value);
1467
+ };
1468
+
1469
+
1470
+ /**
1471
+ * optional double outlier_loss_ratio = 34;
1472
+ * @return {number}
1473
+ */
1474
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getOutlierLossRatio = function() {
1475
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 34, 0.0));
1476
+ };
1477
+
1478
+
1479
+ /**
1480
+ * @param {number} value
1481
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1482
+ */
1483
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setOutlierLossRatio = function(value) {
1484
+ return jspb.Message.setProto3FloatField(this, 34, value);
1485
+ };
1486
+
1487
+
1488
+ /**
1489
+ * optional double common_sense_ratio = 35;
1490
+ * @return {number}
1491
+ */
1492
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getCommonSenseRatio = function() {
1493
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 35, 0.0));
1494
+ };
1495
+
1496
+
1497
+ /**
1498
+ * @param {number} value
1499
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1500
+ */
1501
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setCommonSenseRatio = function(value) {
1502
+ return jspb.Message.setProto3FloatField(this, 35, value);
1503
+ };
1504
+
1505
+
1506
+ /**
1507
+ * optional double ulcer_index = 36;
1508
+ * @return {number}
1509
+ */
1510
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getUlcerIndex = function() {
1511
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 36, 0.0));
1512
+ };
1513
+
1514
+
1515
+ /**
1516
+ * @param {number} value
1517
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1518
+ */
1519
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setUlcerIndex = function(value) {
1520
+ return jspb.Message.setProto3FloatField(this, 36, value);
1521
+ };
1522
+
1523
+
1524
+ /**
1525
+ * optional double serenity_index = 37;
1526
+ * @return {number}
1527
+ */
1528
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getSerenityIndex = function() {
1529
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 37, 0.0));
1530
+ };
1531
+
1532
+
1533
+ /**
1534
+ * @param {number} value
1535
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1536
+ */
1537
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setSerenityIndex = function(value) {
1538
+ return jspb.Message.setProto3FloatField(this, 37, value);
1539
+ };
1540
+
1541
+
1542
+ /**
1543
+ * optional double alpha = 38;
1544
+ * @return {number}
1545
+ */
1546
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getAlpha = function() {
1547
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 38, 0.0));
1548
+ };
1549
+
1550
+
1551
+ /**
1552
+ * @param {number} value
1553
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1554
+ */
1555
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setAlpha = function(value) {
1556
+ return jspb.Message.setProto3FloatField(this, 38, value);
1557
+ };
1558
+
1559
+
1560
+ /**
1561
+ * optional double beta = 39;
1562
+ * @return {number}
1563
+ */
1564
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getBeta = function() {
1565
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 39, 0.0));
1566
+ };
1567
+
1568
+
1569
+ /**
1570
+ * @param {number} value
1571
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1572
+ */
1573
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setBeta = function(value) {
1574
+ return jspb.Message.setProto3FloatField(this, 39, value);
1575
+ };
1576
+
1577
+
1578
+ /**
1579
+ * optional double information_ratio = 40;
1580
+ * @return {number}
1581
+ */
1582
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getInformationRatio = function() {
1583
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 40, 0.0));
1584
+ };
1585
+
1586
+
1587
+ /**
1588
+ * @param {number} value
1589
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1590
+ */
1591
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setInformationRatio = function(value) {
1592
+ return jspb.Message.setProto3FloatField(this, 40, value);
1593
+ };
1594
+
1595
+
1596
+ /**
1597
+ * optional double r_squared = 41;
1598
+ * @return {number}
1599
+ */
1600
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getRSquared = function() {
1601
+ return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 41, 0.0));
1602
+ };
1603
+
1604
+
1605
+ /**
1606
+ * @param {number} value
1607
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1608
+ */
1609
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.setRSquared = function(value) {
1610
+ return jspb.Message.setProto3FloatField(this, 41, value);
1611
+ };
1612
+
1613
+
1614
+ /**
1615
+ * map<string, double> extra = 20;
1616
+ * @param {boolean=} opt_noLazyCreate Do not create the map if
1617
+ * empty, instead returning `undefined`
1618
+ * @return {!jspb.Map<string,number>}
1619
+ */
1620
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.getExtraMap = function(opt_noLazyCreate) {
1621
+ return /** @type {!jspb.Map<string,number>} */ (
1622
+ jspb.Message.getMapField(this, 20, opt_noLazyCreate,
1623
+ null));
1624
+ };
1625
+
1626
+
1627
+ /**
1628
+ * Clears values from the map. The map will be non-null.
1629
+ * @return {!proto.trb.strategysearch.v1.BacktestMetrics} returns this
1630
+ */
1631
+ proto.trb.strategysearch.v1.BacktestMetrics.prototype.clearExtraMap = function() {
1632
+ this.getExtraMap().clear();
1633
+ return this;
1634
+ };
1635
+
1636
+
1637
+ /**
1638
+ * @enum {number}
1639
+ */
1640
+ proto.trb.strategysearch.v1.RunStatus = {
1641
+ RUN_STATUS_UNSPECIFIED: 0,
1642
+ RUN_QUEUED: 1,
1643
+ RUN_RUNNING: 2,
1644
+ RUN_SUCCEEDED: 3,
1645
+ RUN_FAILED: 4,
1646
+ RUN_CANCELED: 5
1647
+ };
1648
+
1649
+ goog.object.extend(exports, proto.trb.strategysearch.v1);