ygo 1.0.3__py3-none-any.whl → 1.0.4__py3-none-any.whl

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.

Potentially problematic release.


This version of ygo might be problematic. Click here for more details.

qdf/__init__.py ADDED
@@ -0,0 +1,529 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ ---------------------------------------------
4
+ Created on 2025/3/5 21:40
5
+ @author: ZhangYundi
6
+ @email: yundi.xxii@outlook.com
7
+ ---------------------------------------------
8
+ """
9
+ from __future__ import annotations
10
+
11
+ import math
12
+ from functools import wraps
13
+
14
+ import polars as pl
15
+
16
+ from .qdf import QDF
17
+
18
+
19
+ def signature(function):
20
+ @wraps(function)
21
+ def wrapper(*args, **kwargs):
22
+ args = [str(arg) for arg in args]
23
+ for k, v in kwargs.items():
24
+ args.append(f"{k}={v}")
25
+ string = f"{function.__name__}({', '.join(args)})"
26
+ return string
27
+
28
+ return wrapper
29
+
30
+
31
+ def from_polars(df: pl.DataFrame, index: tuple[str] = ("date", "time", "asset"), align: bool = True, ) -> QDF:
32
+ return QDF(df, index, align,)
33
+
34
+
35
+ @signature
36
+ def abs(expr: str): ...
37
+
38
+
39
+ @signature
40
+ def log(expr: str, base=math.e): ...
41
+
42
+
43
+ @signature
44
+ def sqrt(expr: str): ...
45
+
46
+
47
+ @signature
48
+ def square(expr: str): ...
49
+
50
+
51
+ @signature
52
+ def cube(expr: str): ...
53
+
54
+
55
+ @signature
56
+ def cbrt(expr: str): ...
57
+
58
+
59
+ @signature
60
+ def sin(expr: str): ...
61
+
62
+
63
+ @signature
64
+ def sinh(expr: str): ...
65
+
66
+
67
+ @signature
68
+ def arcsin(expr: str): ...
69
+
70
+
71
+ @signature
72
+ def arcsinh(expr: str): ...
73
+
74
+
75
+ @signature
76
+ def cos(expr: str): ...
77
+
78
+
79
+ @signature
80
+ def cosh(expr: str): ...
81
+
82
+
83
+ @signature
84
+ def arccos(expr: str): ...
85
+
86
+
87
+ @signature
88
+ def arccosh(expr: str): ...
89
+
90
+
91
+ @signature
92
+ def tan(expr: str): ...
93
+
94
+
95
+ @signature
96
+ def tanh(expr: str): ...
97
+
98
+
99
+ @signature
100
+ def arctan(expr: str): ...
101
+
102
+
103
+ @signature
104
+ def arctanh(expr: str): ...
105
+
106
+
107
+ @signature
108
+ def sign(expr: str): ...
109
+
110
+
111
+ @signature
112
+ def sigmoid(expr: str): ...
113
+
114
+
115
+ @signature
116
+ def cot(expr: str): ...
117
+
118
+
119
+ @signature
120
+ def degrees(expr: str): ...
121
+
122
+
123
+ @signature
124
+ def ind_entropy(expr: str, windows: int): ...
125
+
126
+ @signature
127
+ def d_entropy(expr: str, windows: int): ...
128
+
129
+ @signature
130
+ def cs_entropy(expr: str, windows: int): ...
131
+
132
+ @signature
133
+ def ts_entropy(expr: str, windows: int): ...
134
+
135
+
136
+ @signature
137
+ def exp(expr: str): ...
138
+
139
+
140
+ @signature
141
+ def log1p(expr: str): ...
142
+
143
+
144
+ @signature
145
+ def clip(expr: str, lower_bound, upper_bound): ...
146
+
147
+
148
+ @signature
149
+ def cs_ufit(expr: str): ...
150
+
151
+
152
+ @signature
153
+ def cs_rank(expr: str): ...
154
+
155
+
156
+ @signature
157
+ def cs_demean(expr: str): ...
158
+
159
+
160
+ @signature
161
+ def cs_mean(expr: str): ...
162
+
163
+
164
+ @signature
165
+ def cs_mid(expr: str): ...
166
+
167
+
168
+ @signature
169
+ def cs_moderate(expr: str): ...
170
+
171
+
172
+ @signature
173
+ def cs_qcut(expr: str, N: int = 10): ...
174
+
175
+
176
+ @signature
177
+ def cs_ic(left: str, right: str): ...
178
+
179
+
180
+ @signature
181
+ def cs_corr(left: str, right: str): ...
182
+
183
+
184
+ @signature
185
+ def cs_std(expr: str): ...
186
+
187
+
188
+ @signature
189
+ def cs_var(expr: str): ...
190
+
191
+
192
+ @signature
193
+ def cs_skew(expr: str): ...
194
+
195
+
196
+ @signature
197
+ def cs_slope(left: str, right: str): ...
198
+
199
+
200
+ @signature
201
+ def cs_resid(left: str, right: str): ...
202
+
203
+
204
+ @signature
205
+ def cs_zscore(expr: str): ...
206
+
207
+
208
+ @signature
209
+ def cs_midby(expr: str, *by: str): ...
210
+
211
+
212
+ @signature
213
+ def cs_meanby(expr: str, *by: str): ...
214
+
215
+
216
+ @signature
217
+ def cs_max(expr: str): ...
218
+
219
+
220
+ @signature
221
+ def cs_min(expr: str): ...
222
+
223
+
224
+ @signature
225
+ def cs_peakmax(expr: str): ...
226
+
227
+
228
+ @signature
229
+ def cs_peakmin(expr: str): ...
230
+
231
+
232
+ @signature
233
+ def ts_mean(expr: str, windows: int): ...
234
+
235
+
236
+ @signature
237
+ def ts_std(expr: str, windows: int): ...
238
+
239
+
240
+ @signature
241
+ def ts_sum(expr: str, windows: int): ...
242
+
243
+
244
+ @signature
245
+ def ts_var(expr: str, windows: int): ...
246
+
247
+
248
+ @signature
249
+ def ts_skew(expr: str, windows: int): ...
250
+
251
+
252
+ @signature
253
+ def ts_ref(expr: str, windows: int): ...
254
+
255
+
256
+ @signature
257
+ def ts_mid(expr: str, windows: int): ...
258
+
259
+
260
+ @signature
261
+ def ts_mad(expr: str, windows: int): ...
262
+
263
+
264
+ @signature
265
+ def ts_rank(expr: str, windows: int): ...
266
+
267
+
268
+ @signature
269
+ def ts_max(expr: str, windows: int): ...
270
+
271
+
272
+ @signature
273
+ def ts_min(expr: str, windows: int): ...
274
+
275
+
276
+ @signature
277
+ def ts_ewmmean(expr: str, com=None, span=None, half_life=None, alpha=None): ...
278
+
279
+
280
+ @signature
281
+ def ts_ewmstd(expr: str, com=None, span=None, half_life=None, alpha=None): ...
282
+
283
+
284
+ @signature
285
+ def ts_ewmvar(expr: str, com=None, span=None, half_life=None, alpha=None): ...
286
+
287
+
288
+ @signature
289
+ def ts_cv(expr: str, windows: int): ...
290
+
291
+
292
+ @signature
293
+ def ts_snr(expr: str, windows: int): ...
294
+
295
+
296
+ @signature
297
+ def ts_diff(expr: str, windows: int): ...
298
+
299
+
300
+ @signature
301
+ def ts_pct(expr: str, windows: int): ...
302
+
303
+
304
+ @signature
305
+ def ts_slope(left: str, right: str, windows: int): ...
306
+
307
+
308
+ @signature
309
+ def ts_corr(left: str, right: str, windows: int): ...
310
+
311
+
312
+ @signature
313
+ def ts_cov(left: str, right: str, windows: int): ...
314
+
315
+
316
+ @signature
317
+ def ts_resid(left: str, right: str, windows: int): ...
318
+
319
+
320
+ @signature
321
+ def ts_quantile(expr: str, windows: int, q: float): ...
322
+
323
+
324
+ @signature
325
+ def ts_prod(expr: str, windows: int): ...
326
+
327
+
328
+ @signature
329
+ def d_mean(expr: str, windows: int): ...
330
+
331
+
332
+ @signature
333
+ def d_std(expr: str, windows: int): ...
334
+
335
+
336
+ @signature
337
+ def d_sum(expr: str, windows: int): ...
338
+
339
+
340
+ @signature
341
+ def d_var(expr: str, windows: int): ...
342
+
343
+
344
+ @signature
345
+ def d_skew(expr: str, windows: int): ...
346
+
347
+
348
+ @signature
349
+ def d_ref(expr: str, windows: int): ...
350
+
351
+
352
+ @signature
353
+ def d_mid(expr: str, windows: int): ...
354
+
355
+
356
+ @signature
357
+ def d_mad(expr: str, windows: int): ...
358
+
359
+
360
+ @signature
361
+ def d_rank(expr: str, windows: int): ...
362
+
363
+
364
+ @signature
365
+ def d_max(expr: str, windows: int): ...
366
+
367
+
368
+ @signature
369
+ def d_min(expr: str, windows: int): ...
370
+
371
+
372
+ @signature
373
+ def d_ewmmean(expr: str, com=None, span=None, half_life=None, alpha=None): ...
374
+
375
+
376
+ @signature
377
+ def d_ewmstd(expr: str, com=None, span=None, half_life=None, alpha=None): ...
378
+
379
+
380
+ @signature
381
+ def d_ewmvar(expr: str, com=None, span=None, half_life=None, alpha=None): ...
382
+
383
+
384
+ @signature
385
+ def d_cv(expr: str, windows: int): ...
386
+
387
+
388
+ @signature
389
+ def d_snr(expr: str, windows: int): ...
390
+
391
+
392
+ @signature
393
+ def d_diff(expr: str, windows: int): ...
394
+
395
+
396
+ @signature
397
+ def d_pct(expr: str, windows: int): ...
398
+
399
+
400
+ @signature
401
+ def d_slope(left: str, right: str, windows: int): ...
402
+
403
+
404
+ @signature
405
+ def d_corr(left: str, right: str, windows: int): ...
406
+
407
+
408
+ @signature
409
+ def d_cov(left: str, right: str, windows: int): ...
410
+
411
+
412
+ @signature
413
+ def d_resid(left: str, right: str, windows: int): ...
414
+
415
+
416
+ @signature
417
+ def d_quantile(expr: str, windows: int, q: float): ...
418
+
419
+
420
+ @signature
421
+ def d_prod(expr: str, windows: int): ...
422
+
423
+
424
+ @signature
425
+ def ind_mean(expr: str, windows: int): ...
426
+
427
+
428
+ @signature
429
+ def ind_std(expr: str, windows: int): ...
430
+
431
+
432
+ @signature
433
+ def ind_sum(expr: str, windows: int): ...
434
+
435
+
436
+ @signature
437
+ def ind_var(expr: str, windows: int): ...
438
+
439
+
440
+ @signature
441
+ def ind_skew(expr: str, windows: int): ...
442
+
443
+
444
+ @signature
445
+ def ind_ref(expr: str, windows: int): ...
446
+
447
+
448
+ @signature
449
+ def ind_mid(expr: str, windows: int): ...
450
+
451
+
452
+ @signature
453
+ def ind_mad(expr: str, windows: int): ...
454
+
455
+
456
+ @signature
457
+ def ind_rank(expr: str, windows: int): ...
458
+
459
+
460
+ @signature
461
+ def ind_max(expr: str, windows: int): ...
462
+
463
+
464
+ @signature
465
+ def ind_min(expr: str, windows: int): ...
466
+
467
+
468
+ @signature
469
+ def ind_ewmmean(expr: str, com=None, span=None, half_life=None, alpha=None): ...
470
+
471
+
472
+ @signature
473
+ def ind_ewmstd(expr: str, com=None, span=None, half_life=None, alpha=None): ...
474
+
475
+
476
+ @signature
477
+ def ind_ewmvar(expr: str, com=None, span=None, half_life=None, alpha=None): ...
478
+
479
+
480
+ @signature
481
+ def ind_cv(expr: str, windows: int): ...
482
+
483
+
484
+ @signature
485
+ def ind_snr(expr: str, windows: int): ...
486
+
487
+
488
+ @signature
489
+ def ind_diff(expr: str, windows: int): ...
490
+
491
+
492
+ @signature
493
+ def ind_pct(expr: str, windows: int): ...
494
+
495
+
496
+ @signature
497
+ def ind_slope(left: str, right: str, windows: int): ...
498
+
499
+
500
+ @signature
501
+ def ind_corr(left: str, right: str, windows: int): ...
502
+
503
+
504
+ @signature
505
+ def ind_cov(left: str, right: str, windows: int): ...
506
+
507
+
508
+ @signature
509
+ def ind_resid(left: str, right: str, windows: int): ...
510
+
511
+
512
+ @signature
513
+ def ind_quantile(expr: str, windows: int, q: float): ...
514
+
515
+
516
+ @signature
517
+ def ind_prod(expr: str, windows: int): ...
518
+
519
+
520
+ @signature
521
+ def max(*exprs: str): ...
522
+
523
+
524
+ @signature
525
+ def min(*exprs: str): ...
526
+
527
+
528
+ @signature
529
+ def sum(*exprs: str): ...
qdf/errors.py ADDED
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ ---------------------------------------------
4
+ Created on 2025/5/16 10:47
5
+ @author: ZhangYundi
6
+ @email: yundi.xxii@outlook.com
7
+ ---------------------------------------------
8
+ """
9
+
10
+ from dataclasses import dataclass
11
+
12
+ @dataclass
13
+ class ParseError(Exception):
14
+ message: str
15
+
16
+ def __str__(self):
17
+ return f"ParseError(message={self.message})"
18
+
19
+ @dataclass
20
+ class CalculateError(Exception):
21
+ message: str
22
+
23
+ def __str__(self):
24
+ return f"CalculateError(message={self.message})"
25
+
26
+ @dataclass
27
+ class PolarsError(Exception):
28
+ message: str
29
+
30
+ def __str__(self):
31
+ return f"PolarsError(message={self.message})"