polars-ta 0.5.2__tar.gz → 0.5.3__tar.gz

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.
Files changed (75) hide show
  1. {polars_ta-0.5.2 → polars_ta-0.5.3}/PKG-INFO +1 -1
  2. polars_ta-0.5.3/polars_ta/_version.py +1 -0
  3. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/arithmetic.py +98 -1
  4. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta.egg-info/PKG-INFO +1 -1
  5. polars_ta-0.5.2/polars_ta/_version.py +0 -1
  6. {polars_ta-0.5.2 → polars_ta-0.5.3}/LICENSE +0 -0
  7. {polars_ta-0.5.2 → polars_ta-0.5.3}/README.md +0 -0
  8. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/__init__.py +0 -0
  9. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/candles/__init__.py +0 -0
  10. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/candles/cdl1.py +0 -0
  11. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/candles/cdl1_limit.py +0 -0
  12. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/candles/cdl2.py +0 -0
  13. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/noise.py +0 -0
  14. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/performance/__init__.py +0 -0
  15. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/performance/drawdown.py +0 -0
  16. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/performance/returns.py +0 -0
  17. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/__init__.py +0 -0
  18. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/cdl.py +0 -0
  19. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/reports.py +0 -0
  20. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/ta.py +0 -0
  21. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/talib.py +0 -0
  22. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/tdx.py +0 -0
  23. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/prefix/wq.py +0 -0
  24. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/reports/__init__.py +0 -0
  25. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/reports/cicc.py +0 -0
  26. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/__init__.py +0 -0
  27. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/momentum.py +0 -0
  28. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/operators.py +0 -0
  29. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/overlap.py +0 -0
  30. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/price.py +0 -0
  31. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/statistic.py +0 -0
  32. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/transform.py +0 -0
  33. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/volatility.py +0 -0
  34. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/ta/volume.py +0 -0
  35. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/talib/__init__.py +0 -0
  36. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/__init__.py +0 -0
  37. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/_chip.py +0 -0
  38. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/_nb.py +0 -0
  39. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/_slow.py +0 -0
  40. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/arithmetic.py +0 -0
  41. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/choice.py +0 -0
  42. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/energy.py +0 -0
  43. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/logical.py +0 -0
  44. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/moving_average.py +0 -0
  45. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/over_bought_over_sold.py +0 -0
  46. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/pattern.py +0 -0
  47. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/pattern_feature.py +0 -0
  48. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/pressure_support.py +0 -0
  49. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/reference.py +0 -0
  50. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/statistic.py +0 -0
  51. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/trend.py +0 -0
  52. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/trend_feature.py +0 -0
  53. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/tdx/volume.py +0 -0
  54. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/__init__.py +0 -0
  55. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/helper.py +0 -0
  56. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/numba_.py +0 -0
  57. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/pandas_.py +0 -0
  58. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/pit.py +0 -0
  59. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/utils/wrapper.py +0 -0
  60. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/__init__.py +0 -0
  61. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/_nb.py +0 -0
  62. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/_slow.py +0 -0
  63. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/cross_sectional.py +0 -0
  64. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/logical.py +0 -0
  65. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/preprocess.py +0 -0
  66. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/time_series.py +0 -0
  67. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/transformational.py +0 -0
  68. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta/wq/vector.py +0 -0
  69. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta.egg-info/SOURCES.txt +0 -0
  70. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta.egg-info/dependency_links.txt +0 -0
  71. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta.egg-info/requires.txt +0 -0
  72. {polars_ta-0.5.2 → polars_ta-0.5.3}/polars_ta.egg-info/top_level.txt +0 -0
  73. {polars_ta-0.5.2 → polars_ta-0.5.3}/pyproject.toml +0 -0
  74. {polars_ta-0.5.2 → polars_ta-0.5.3}/setup.cfg +0 -0
  75. {polars_ta-0.5.2 → polars_ta-0.5.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polars_ta
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: polars expressions
5
5
  Author-email: wukan <wu-kan@163.com>
6
6
  License: MIT License
@@ -0,0 +1 @@
1
+ __version__ = "0.5.3"
@@ -1,5 +1,6 @@
1
1
  import numpy as np
2
- from polars import Expr, Series, fold, any_horizontal, Float64
2
+ from polars import Expr, Series, fold, any_horizontal, Float64, Int64
3
+ from polars import arctan2 as _arctan2
3
4
  from polars import max_horizontal, sum_horizontal, min_horizontal, mean_horizontal
4
5
 
5
6
 
@@ -92,6 +93,16 @@ def arc_tan(x: Expr) -> Expr:
92
93
  return x.arctan()
93
94
 
94
95
 
96
+ def arc_tan2(y: Expr, x: Expr) -> Expr:
97
+ """反正切二值函数"""
98
+ return _arctan2(y, x)
99
+
100
+
101
+ def cbrt(x: Expr) -> Expr:
102
+ """立方根"""
103
+ return x.cbrt()
104
+
105
+
95
106
  def ceiling(x: Expr) -> Expr:
96
107
  """向上取整"""
97
108
  return x.ceil()
@@ -107,10 +118,57 @@ def cosh(x: Expr) -> Expr:
107
118
  return x.cosh()
108
119
 
109
120
 
121
+ def cot(x: Expr) -> Expr:
122
+ """余切"""
123
+ return x.cot()
124
+
125
+
126
+ def cube(x: Expr) -> Expr:
127
+ """立方"""
128
+ return x.pow(3)
129
+
130
+
131
+ def degrees(x: Expr) -> Expr:
132
+ """弧度转角度"""
133
+ return x.degrees()
134
+
135
+
110
136
  def densify(x: Expr) -> Expr:
111
137
  raise
112
138
 
113
139
 
140
+ def div(x: Expr, y: Expr) -> Expr:
141
+ """x/y的整数部分
142
+
143
+ Examples
144
+ --------
145
+ ```python
146
+ df = pl.DataFrame({
147
+ 'a': [None, -1.5, 0., 1.5, 2.5],
148
+ 'b': [None, -1, 0, 1, 2],
149
+ }).with_columns(
150
+ out1=div(pl.col('a'), 0),
151
+ out2=div(pl.col('a'), 1),
152
+ out3=div(pl.col('a'), pl.col('b')),
153
+ )
154
+ shape: (5, 5)
155
+ ┌──────┬──────┬──────┬──────┬──────┐
156
+ │ a ┆ b ┆ out1 ┆ out2 ┆ out3 │
157
+ │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
158
+ │ f64 ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
159
+ ╞══════╪══════╪══════╪══════╪══════╡
160
+ │ null ┆ null ┆ null ┆ null ┆ null │
161
+ │ -1.5 ┆ -1 ┆ null ┆ -2 ┆ 1 │
162
+ │ 0.0 ┆ 0 ┆ null ┆ 0 ┆ null │
163
+ │ 1.5 ┆ 1 ┆ null ┆ 1 ┆ 1 │
164
+ │ 2.5 ┆ 2 ┆ null ┆ 2 ┆ 1 │
165
+ └──────┴──────┴──────┴──────┴──────┘
166
+ ```
167
+
168
+ """
169
+ return x.floordiv(y).cast(Int64, strict=False)
170
+
171
+
114
172
  def divide(x: Expr, y: Expr) -> Expr:
115
173
  """x/y
116
174
 
@@ -368,6 +426,35 @@ def log1p(x: Expr) -> Expr:
368
426
  return x.log1p()
369
427
 
370
428
 
429
+ def log2(x: Expr) -> Expr:
430
+ """2为底的对数
431
+
432
+ Examples
433
+ --------
434
+ ```python
435
+ df = pl.DataFrame({
436
+ 'a': [None, -1, 0, 1, 2],
437
+ }).with_columns(
438
+ out1=log2(pl.col('a')),
439
+ )
440
+ shape: (5, 2)
441
+ ┌──────┬──────┐
442
+ │ a ┆ out1 │
443
+ │ --- ┆ --- │
444
+ │ i64 ┆ f64 │
445
+ ╞══════╪══════╡
446
+ │ null ┆ null │
447
+ │ -1 ┆ NaN │
448
+ │ 0 ┆ -inf │
449
+ │ 1 ┆ 0.0 │
450
+ │ 2 ┆ 1.0 │
451
+ └──────┴──────┘
452
+ ```
453
+
454
+ """
455
+ return x.log(2)
456
+
457
+
371
458
  def max_(a: Expr, b: Expr, *args) -> Expr:
372
459
  """水平多列最大值 Maximum value of all inputs. At least 2 inputs are required."""
373
460
  return max_horizontal(a, b, *args)
@@ -515,6 +602,11 @@ def power(x: Expr, y: Expr) -> Expr:
515
602
  return x.pow(y.cast(Float64))
516
603
 
517
604
 
605
+ def radians(x: Expr) -> Expr:
606
+ """角度转弧度"""
607
+ return x.radians()
608
+
609
+
518
610
  def reverse(x: Expr) -> Expr:
519
611
  """-x"""
520
612
  return -x
@@ -735,6 +827,11 @@ def sqrt(x: Expr) -> Expr:
735
827
  return x.sqrt()
736
828
 
737
829
 
830
+ def square(x: Expr) -> Expr:
831
+ """平方"""
832
+ return x.pow(2)
833
+
834
+
738
835
  def subtract(x: Expr, y: Expr) -> Expr:
739
836
  """x-y"""
740
837
  return x - y
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polars_ta
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: polars expressions
5
5
  Author-email: wukan <wu-kan@163.com>
6
6
  License: MIT License
@@ -1 +0,0 @@
1
- __version__ = "0.5.2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes