tea-bond 0.3.11__cp38-abi3-win_amd64.whl → 0.3.12__cp38-abi3-win_amd64.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 tea-bond might be problematic. Click here for more details.

pybond/bond.py CHANGED
@@ -1,14 +1,16 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import os
4
- from datetime import date
5
4
  from importlib.util import find_spec
6
5
  from pathlib import Path
6
+ from typing import TYPE_CHECKING
7
7
 
8
8
  from .pybond import Bond as _BondRS
9
9
  from .pybond import Future, download_bond
10
10
 
11
- # from .ffi.utils import set_bond_data_path
11
+ if TYPE_CHECKING:
12
+ from datetime import date
13
+
12
14
 
13
15
  WIND_AVAILABLE = find_spec("WindPy") is not None
14
16
 
pybond/download.py CHANGED
@@ -8,8 +8,6 @@ from pathlib import Path
8
8
  from WindPy import w
9
9
 
10
10
  default_save_folder = Path("bonds_info")
11
- # if not default_save_folder.exists():
12
- # default_save_folder.mkdir()
13
11
 
14
12
 
15
13
  def save_json(path: Path | str, data: dict) -> None:
pybond/pd.py CHANGED
@@ -1,12 +1,16 @@
1
1
  from __future__ import annotations
2
2
 
3
- import pandas as pd
3
+ from typing import TYPE_CHECKING
4
+
4
5
  import polars as pl
5
6
 
6
7
  from .pl import Bonds as PlBonds
7
8
  from .pl import Futures as PlFutures
8
9
  from .pl import TfEvaluators as PlTfEvaluators
9
10
 
11
+ if TYPE_CHECKING:
12
+ import pandas as pd
13
+
10
14
 
11
15
  class TfEvaluators:
12
16
  """
pybond/pnl.py CHANGED
@@ -108,3 +108,33 @@ def calc_bond_trade_pnl(
108
108
  symbol="calc_bond_trade_pnl",
109
109
  is_elementwise=False,
110
110
  )
111
+
112
+
113
+ def trading_from_pos(
114
+ time: IntoExpr,
115
+ pos: IntoExpr,
116
+ open: IntoExpr,
117
+ finish_price: IntoExpr | None = None,
118
+ cash: float = 1e8,
119
+ multiplier: float = 1,
120
+ qty_tick: float = 1.0,
121
+ *,
122
+ stop_on_finish: bool = False,
123
+ ) -> pl.Expr:
124
+ time = parse_into_expr(time)
125
+ pos = parse_into_expr(pos)
126
+ open = parse_into_expr(open)
127
+ finish_price = parse_into_expr(finish_price)
128
+ kwargs = {
129
+ "cash": cash,
130
+ "multiplier": multiplier,
131
+ "qty_tick": qty_tick,
132
+ "stop_on_finish": stop_on_finish,
133
+ "finish_price": None,
134
+ }
135
+ return register_plugin(
136
+ args=[time, pos, open, finish_price],
137
+ kwargs=kwargs,
138
+ symbol="trading_from_pos",
139
+ is_elementwise=False,
140
+ )
pybond/polars_utils.py CHANGED
@@ -2,11 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  import re
4
4
  from pathlib import Path
5
- from typing import TYPE_CHECKING, Any, Sequence
5
+ from typing import TYPE_CHECKING, Any
6
6
 
7
7
  import polars as pl
8
8
 
9
9
  if TYPE_CHECKING:
10
+ from collections.abc import Sequence
11
+
10
12
  from polars.type_aliases import IntoExpr, PolarsDataType
11
13
 
12
14
 
pybond/pybond.pyd CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tea-bond
3
- Version: 0.3.11
3
+ Version: 0.3.12
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -1,6 +1,6 @@
1
1
  pybond/__init__.py,sha256=ocuh95mkVrcU3cps2zC-kgK7VMV7BZIcOK-mXo7oYg0,563
2
- pybond/bond.py,sha256=tXXPBNQQ6ve2trmHkJpfOv_2FBue4hcekZVEVmlqs0s,6758
3
- pybond/download.py,sha256=l_YbDIh7wyNLK6B0Ac2ZdSAAD0o8VhR4NbXwbRH13Hw,4369
2
+ pybond/bond.py,sha256=2YBnASWqBtRZ-ydzpCnjVuzPy-RxYvI97CruJLJ992U,6772
3
+ pybond/download.py,sha256=oEConLut3tC0hDGhiEdZXH6dleAa_rT2hTLtwo-nQzU,4294
4
4
  pybond/ffi/__init__.py,sha256=AKhddxYYqfOkujr9FGKo-FOPk3DDi42SOfk5mbc0zWE,98
5
5
  pybond/ffi/bond.py,sha256=BQmhYw1-cEJeU2XOy3yVmivMV-F0KI7xOKHsHpe4N7k,1654
6
6
  pybond/ffi/datetime.py,sha256=NKgyWegyqc8MmGk11L3nL6hsVmfO9ibU_C3i9V_TW38,2047
@@ -15,12 +15,12 @@ pybond/nb/nb_datetime.py,sha256=sg3Vmg2n2P_A186QgOGSOKBq-Tr72ht_Yw064yYrWXE,1067
15
15
  pybond/nb/nb_duration.py,sha256=bndVSHdG_yV0_vEWeAHd9Lq_UQ-8nkPnEC9cN2A2ca4,1709
16
16
  pybond/nb/nb_evaluators.py,sha256=GBsW3UuGf8iVUWr2DTISXzdYoGV5ITEOVFJivBNmWkc,15544
17
17
  pybond/nb/nb_time.py,sha256=5KNrWYcPwZUHoxvZKvh3qdhjB0DjRkxbUzONSv6OfhY,8928
18
- pybond/pd.py,sha256=gXUV6d069jC94Ej04njrgQCW16UdYx0Rh9y2IVMc068,13760
18
+ pybond/pd.py,sha256=aMalUv_TBzT48BXdp7whzZ9g64p8uiPZrk9LaI1UaIU,13821
19
19
  pybond/pl.py,sha256=WhiBv6IOs5-jxK78xd75KXZSogoFyJ0XJ-v23Gjp_ho,13966
20
- pybond/pnl.py,sha256=7jyXx8Hx6nwWgvN5oXhY2mH9-5IRIPfKGUVJXj0dIzA,2825
21
- pybond/polars_utils.py,sha256=020Dy-l6v_NF-y7LXcKyJmWGAgH59NAxWKvjfnJO1tY,2663
22
- pybond/pybond.pyd,sha256=cbfO49LF8POlCkk3ORiaqKcQFqix5CTdDWTrNIINa4w,23687168
20
+ pybond/pnl.py,sha256=FSIN6YJ9P44nsJGgnpdsf7b5MS96ziGMmQAlPzG8lb4,3605
21
+ pybond/polars_utils.py,sha256=XJ7DXpBfMEm3DilAun7E8S_6ShqQxi--ZSFV8CyRCxA,2697
22
+ pybond/pybond.pyd,sha256=ML3k6ZZ2GAueGC5drTVCcPN_yg33JK6O3dFBspo1HhA,23583744
23
23
  pybond/pybond.pyi,sha256=qzOfqoysuUW7rnZYxEmGEJXK_UrCjMvQ29Y_mJOBN1Y,11621
24
- tea_bond-0.3.11.dist-info/METADATA,sha256=35GSxnFUR6G_rywqWsozuRtPVrk9dnHuTWiQdsowNuc,258
25
- tea_bond-0.3.11.dist-info/WHEEL,sha256=7bfl5v0wbVhXZba613g0x-n2obNNfpQuN8I1cQ4oaU8,94
26
- tea_bond-0.3.11.dist-info/RECORD,,
24
+ tea_bond-0.3.12.dist-info/METADATA,sha256=LZOQ6O98UhsurMn3R23Kvk5klAjsDmqmo6xabz8cnzc,258
25
+ tea_bond-0.3.12.dist-info/WHEEL,sha256=CG8OzNtm0LMpJ2zhrjswlO8N-965OeMLklsQAG-nMvQ,94
26
+ tea_bond-0.3.12.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: maturin (1.9.4)
2
+ Generator: maturin (1.9.6)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-abi3-win_amd64