tea-bond 0.3.11__cp38-abi3-manylinux_2_28_x86_64.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/__init__.py +18 -0
- pybond/bond.py +190 -0
- pybond/download.py +147 -0
- pybond/ffi/__init__.py +4 -0
- pybond/ffi/bond.py +68 -0
- pybond/ffi/datetime.py +58 -0
- pybond/ffi/duration.py +19 -0
- pybond/ffi/evaluators.py +186 -0
- pybond/ffi/lib.py +8 -0
- pybond/nb/__init__.py +31 -0
- pybond/nb/ir_utils.py +47 -0
- pybond/nb/nb_bond.py +213 -0
- pybond/nb/nb_date.py +209 -0
- pybond/nb/nb_datetime.py +415 -0
- pybond/nb/nb_duration.py +70 -0
- pybond/nb/nb_evaluators.py +557 -0
- pybond/nb/nb_time.py +279 -0
- pybond/pd.py +458 -0
- pybond/pl.py +480 -0
- pybond/pnl.py +110 -0
- pybond/polars_utils.py +96 -0
- pybond/pybond.abi3.so +0 -0
- pybond/pybond.pyi +391 -0
- pybond.libs/libcrypto-bdaed0ea.so.1.1 +0 -0
- pybond.libs/libssl-60250281.so.1.1 +0 -0
- tea_bond-0.3.11.dist-info/METADATA +7 -0
- tea_bond-0.3.11.dist-info/RECORD +28 -0
- tea_bond-0.3.11.dist-info/WHEEL +4 -0
pybond/pybond.pyi
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
from datetime import date
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
class Bond:
|
|
5
|
+
"""A class representing a bond instrument."""
|
|
6
|
+
|
|
7
|
+
def __init__(self, code: str | int, path: str | Path | None = None) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Create a new Bond instance.
|
|
10
|
+
|
|
11
|
+
Args:
|
|
12
|
+
code: Bond code
|
|
13
|
+
path: Path to directory containing bond data. Defaults to None
|
|
14
|
+
|
|
15
|
+
Raises:
|
|
16
|
+
ValueError: If bond data cannot be read or parsed
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def copy(self) -> Bond: ...
|
|
20
|
+
@property
|
|
21
|
+
def code(self) -> str:
|
|
22
|
+
"""债券代码, 不包含交易所后缀"""
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def full_code(self) -> str:
|
|
26
|
+
"""债券代码, 包含交易所后缀"""
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def market(self) -> str:
|
|
30
|
+
"""债券市场"""
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def abbr(self) -> str:
|
|
34
|
+
"""债券简称"""
|
|
35
|
+
|
|
36
|
+
@property
|
|
37
|
+
def name(self) -> str:
|
|
38
|
+
"""债券名称 (alias for abbr)"""
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def par_value(self) -> float:
|
|
42
|
+
"""债券面值"""
|
|
43
|
+
|
|
44
|
+
@property
|
|
45
|
+
def coupon_type(self) -> str:
|
|
46
|
+
"""息票品种"""
|
|
47
|
+
|
|
48
|
+
@property
|
|
49
|
+
def interest_type(self) -> str:
|
|
50
|
+
"""息票利率类型"""
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def coupon_rate(self) -> float:
|
|
54
|
+
"""票面利率, 浮动付息债券仅表示发行时票面利率"""
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def cp_rate(self) -> float:
|
|
58
|
+
"""票面利率, 浮动付息债券仅表示发行时票面利率"""
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def base_rate(self) -> float | None:
|
|
62
|
+
"""基准利率, 浮动付息债券适用"""
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def rate_spread(self) -> float | None:
|
|
66
|
+
"""固定利差, 浮动付息债券适用"""
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def inst_freq(self) -> int:
|
|
70
|
+
"""年付息次数"""
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def carry_date(self) -> date:
|
|
74
|
+
"""起息日"""
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def maturity_date(self) -> date:
|
|
78
|
+
"""到期日"""
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def day_count(self) -> str:
|
|
82
|
+
"""计息基准"""
|
|
83
|
+
|
|
84
|
+
def is_zero_coupon(self) -> bool:
|
|
85
|
+
"""是否为零息债券"""
|
|
86
|
+
|
|
87
|
+
def remain_year(self, date: date | None = None) -> float:
|
|
88
|
+
"""剩余年数"""
|
|
89
|
+
|
|
90
|
+
def issue_year(self) -> int:
|
|
91
|
+
"""发行年数"""
|
|
92
|
+
|
|
93
|
+
@property
|
|
94
|
+
def get_coupon(self) -> float:
|
|
95
|
+
"""
|
|
96
|
+
获取区间付息(单个付息周期的利息金额)
|
|
97
|
+
|
|
98
|
+
区间付息 = 票面利率 * 面值 / 年付息次数
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def last_cp_year_days(self) -> int:
|
|
103
|
+
"""最后一个计息年度的天数"""
|
|
104
|
+
|
|
105
|
+
def nearest_cp_date(self, date: date) -> tuple[date, date]:
|
|
106
|
+
"""获取上一付息日和下一付息日"""
|
|
107
|
+
|
|
108
|
+
def remain_cp_num(self, date: date, next_cp_date: date | None = None) -> int:
|
|
109
|
+
"""剩余的付息次数"""
|
|
110
|
+
|
|
111
|
+
def remain_cp_num_until(
|
|
112
|
+
self, date: date, until_date: date, next_cp_date: date | None = None
|
|
113
|
+
) -> int:
|
|
114
|
+
"""剩余的付息次数直到指定日期"""
|
|
115
|
+
|
|
116
|
+
def remain_cp_dates_until(
|
|
117
|
+
self, date: date, until_date: date, next_cp_date: date | None = None
|
|
118
|
+
) -> list[date]:
|
|
119
|
+
"""剩余的付息日期列表(不包含指定日期)"""
|
|
120
|
+
|
|
121
|
+
def calc_ytm_with_price(
|
|
122
|
+
self,
|
|
123
|
+
dirty_price: float,
|
|
124
|
+
date: date,
|
|
125
|
+
cp_dates: tuple[date, date] | None = None,
|
|
126
|
+
remain_cp_num: int | None = None,
|
|
127
|
+
) -> float:
|
|
128
|
+
"""通过债券全价计算ytm"""
|
|
129
|
+
|
|
130
|
+
class Future:
|
|
131
|
+
"""A class representing a treasury futures contract."""
|
|
132
|
+
|
|
133
|
+
def __init__(self, code: str) -> None:
|
|
134
|
+
"""
|
|
135
|
+
Create a new Future instance.
|
|
136
|
+
|
|
137
|
+
Args:
|
|
138
|
+
code: Future contract code
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
def copy(self) -> Future: ...
|
|
142
|
+
def is_deliverable(
|
|
143
|
+
self,
|
|
144
|
+
carry_date: date,
|
|
145
|
+
maturity_date: date,
|
|
146
|
+
delivery_date: date | None = None,
|
|
147
|
+
) -> bool:
|
|
148
|
+
"""
|
|
149
|
+
判断是否是可交割券
|
|
150
|
+
|
|
151
|
+
Args:
|
|
152
|
+
carry_date: 起息日
|
|
153
|
+
maturity_date: 到期日
|
|
154
|
+
delivery_date: 可以传入已计算过的期货配对缴款日避免重复计算
|
|
155
|
+
"""
|
|
156
|
+
|
|
157
|
+
def last_trading_date(self) -> date:
|
|
158
|
+
"""
|
|
159
|
+
计算期货合约的最后交易日
|
|
160
|
+
|
|
161
|
+
计算国债期货的最后交易日=合约到期月份的第二个星期五
|
|
162
|
+
根据合约代码, 依据中金所的国债期货合约最后交易日的说, 返回该合约的最后交易日
|
|
163
|
+
获取年月部分
|
|
164
|
+
"""
|
|
165
|
+
|
|
166
|
+
def deliver_date(self) -> date:
|
|
167
|
+
"""
|
|
168
|
+
获取期货合约的配对缴款日
|
|
169
|
+
|
|
170
|
+
交割日为3天,其中第2天为缴款日,即最后交易日的第2个交易日,最后交易日一定为周五,所以缴款日一定是一个周二
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
def future_type(self) -> str:
|
|
174
|
+
"""获取期货合约的类型"""
|
|
175
|
+
|
|
176
|
+
class TfEvaluator:
|
|
177
|
+
"""A class for evaluating treasury futures."""
|
|
178
|
+
|
|
179
|
+
def __init__(
|
|
180
|
+
self,
|
|
181
|
+
future: Future | str,
|
|
182
|
+
bond: Bond | str | int,
|
|
183
|
+
date: date | str | None = None,
|
|
184
|
+
future_price: float = float("nan"),
|
|
185
|
+
bond_ytm: float = float("nan"),
|
|
186
|
+
capital_rate: float = float("nan"),
|
|
187
|
+
reinvest_rate: float | None = None,
|
|
188
|
+
) -> None: ...
|
|
189
|
+
def copy(self) -> TfEvaluator: ...
|
|
190
|
+
|
|
191
|
+
def date(self) -> date:
|
|
192
|
+
"""获取计算日期"""
|
|
193
|
+
|
|
194
|
+
@property
|
|
195
|
+
def bond_code(self) -> str:
|
|
196
|
+
"""获取债券代码"""
|
|
197
|
+
|
|
198
|
+
@property
|
|
199
|
+
def bond_ytm(self) -> float:
|
|
200
|
+
"""获取债券收益率"""
|
|
201
|
+
|
|
202
|
+
@property
|
|
203
|
+
def future(self) -> str:
|
|
204
|
+
"""获取期货代码"""
|
|
205
|
+
|
|
206
|
+
@property
|
|
207
|
+
def future_price(self) -> float:
|
|
208
|
+
"""获取期货价格"""
|
|
209
|
+
|
|
210
|
+
@property
|
|
211
|
+
def deliverable(self) -> bool:
|
|
212
|
+
"""判断债券是否是期货的可交割券"""
|
|
213
|
+
|
|
214
|
+
def with_deliver_date(self) -> TfEvaluator:
|
|
215
|
+
"""计算期货配对缴款日"""
|
|
216
|
+
|
|
217
|
+
def with_nearest_cp_dates(self) -> TfEvaluator:
|
|
218
|
+
"""计算前一付息日和下一付息日"""
|
|
219
|
+
|
|
220
|
+
def with_deliver_cp_dates(self) -> TfEvaluator:
|
|
221
|
+
"""计算交割日的前一付息日和下一付息日"""
|
|
222
|
+
|
|
223
|
+
def with_remain_days_to_deliver(self) -> TfEvaluator:
|
|
224
|
+
"""计算到交割的剩余天数"""
|
|
225
|
+
|
|
226
|
+
def with_remain_cp_num(self) -> TfEvaluator:
|
|
227
|
+
"""计算剩余付息次数"""
|
|
228
|
+
|
|
229
|
+
def with_accrued_interest(self) -> TfEvaluator:
|
|
230
|
+
"""计算应计利息"""
|
|
231
|
+
|
|
232
|
+
def with_dirty_price(self) -> TfEvaluator:
|
|
233
|
+
"""计算债券全价"""
|
|
234
|
+
|
|
235
|
+
def with_clean_price(self) -> TfEvaluator:
|
|
236
|
+
"""计算债券净价"""
|
|
237
|
+
|
|
238
|
+
def with_duration(self) -> TfEvaluator:
|
|
239
|
+
"""计算修正久期"""
|
|
240
|
+
|
|
241
|
+
def with_cf(self) -> TfEvaluator:
|
|
242
|
+
"""计算转换因子"""
|
|
243
|
+
|
|
244
|
+
def with_basis_spread(self) -> TfEvaluator:
|
|
245
|
+
"""计算基差"""
|
|
246
|
+
|
|
247
|
+
def with_deliver_accrued_interest(self) -> TfEvaluator:
|
|
248
|
+
"""
|
|
249
|
+
计算国债期货交割应计利息
|
|
250
|
+
|
|
251
|
+
国债期货交割应计利息=区间付息* (国债期货交割缴款日 - 国债期货交割前一付息日) / (国债期货交割下一付息日 - 国债期货交割前一付息日)
|
|
252
|
+
|
|
253
|
+
按中金所发布公式, 计算结果四舍五入至小数点后7位
|
|
254
|
+
"""
|
|
255
|
+
|
|
256
|
+
def with_future_dirty_price(self) -> TfEvaluator:
|
|
257
|
+
"""计算期货全价(发票价格)"""
|
|
258
|
+
|
|
259
|
+
def with_remain_cp_to_deliver(self) -> TfEvaluator:
|
|
260
|
+
"""计算期间付息"""
|
|
261
|
+
|
|
262
|
+
def with_deliver_cost(self) -> TfEvaluator:
|
|
263
|
+
"""
|
|
264
|
+
计算交割成本
|
|
265
|
+
|
|
266
|
+
交割成本=债券全价-期间��息
|
|
267
|
+
"""
|
|
268
|
+
|
|
269
|
+
def with_f_b_spread(self) -> TfEvaluator:
|
|
270
|
+
"""计算期现价差"""
|
|
271
|
+
|
|
272
|
+
def with_carry(self) -> TfEvaluator:
|
|
273
|
+
"""
|
|
274
|
+
计算持有收益
|
|
275
|
+
|
|
276
|
+
持有收益 = (交割日应计-交易日应计 + 期间付息) + 资金成本率*(加权平均期间付息-债券全价*剩余天数/365)
|
|
277
|
+
"""
|
|
278
|
+
|
|
279
|
+
def with_net_basis_spread(self) -> TfEvaluator:
|
|
280
|
+
"""
|
|
281
|
+
计算净基差
|
|
282
|
+
|
|
283
|
+
净基差=基差-持有收益
|
|
284
|
+
"""
|
|
285
|
+
|
|
286
|
+
def with_irr(self) -> TfEvaluator:
|
|
287
|
+
"""计算内部收益率IRR"""
|
|
288
|
+
|
|
289
|
+
def with_future_ytm(self) -> TfEvaluator:
|
|
290
|
+
"""计算期货隐含收益率"""
|
|
291
|
+
|
|
292
|
+
def calc_all(self) -> TfEvaluator:
|
|
293
|
+
"""计算所有指标"""
|
|
294
|
+
|
|
295
|
+
def update(
|
|
296
|
+
self,
|
|
297
|
+
future_price: float | None = None,
|
|
298
|
+
bond_ytm: float | None = None,
|
|
299
|
+
date: date | None = None,
|
|
300
|
+
future: Future | str | None = None,
|
|
301
|
+
bond: Bond | str | int | None = None,
|
|
302
|
+
capital_rate: float | None = None,
|
|
303
|
+
reinvest_rate: float | None = None,
|
|
304
|
+
) -> TfEvaluator:
|
|
305
|
+
"""
|
|
306
|
+
根据新的日期、债券和期货信息更新评估器
|
|
307
|
+
|
|
308
|
+
此函数会根据输入的新信息更新评估器的各个字段,
|
|
309
|
+
并根据变化情况决定是否保留原有的计算结果。
|
|
310
|
+
当输入的参数为None时, 会沿用原始评估器中的值。
|
|
311
|
+
"""
|
|
312
|
+
|
|
313
|
+
@property
|
|
314
|
+
def accrued_interest(self) -> float:
|
|
315
|
+
"""应计利息, 如果未计算会自动计算后返回"""
|
|
316
|
+
|
|
317
|
+
@property
|
|
318
|
+
def deliver_accrued_interest(self) -> float:
|
|
319
|
+
"""国债期货交割应计利息, 如果未计算会自动计算后返回"""
|
|
320
|
+
|
|
321
|
+
@property
|
|
322
|
+
def cf(self) -> float:
|
|
323
|
+
"""转换因子, 如果未计算会自动计算后返回"""
|
|
324
|
+
|
|
325
|
+
@property
|
|
326
|
+
def dirty_price(self) -> float:
|
|
327
|
+
"""债券全价, 如果未计算会自动计算后返回"""
|
|
328
|
+
|
|
329
|
+
@property
|
|
330
|
+
def clean_price(self) -> float:
|
|
331
|
+
"""债券净价, 如果未计算会自动计算后返回"""
|
|
332
|
+
|
|
333
|
+
@property
|
|
334
|
+
def future_dirty_price(self) -> float:
|
|
335
|
+
"""期货全价, 如果未计算会自动计算后返回"""
|
|
336
|
+
|
|
337
|
+
@property
|
|
338
|
+
def deliver_cost(self) -> float:
|
|
339
|
+
"""交割成本, 如果未计算会自动计算后返回"""
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
def basis_spread(self) -> float:
|
|
343
|
+
"""基差, 如果未计算会自动计算后返回"""
|
|
344
|
+
|
|
345
|
+
@property
|
|
346
|
+
def f_b_spread(self) -> float:
|
|
347
|
+
"""期现价差, 如果未计算会自动计算后返回"""
|
|
348
|
+
|
|
349
|
+
@property
|
|
350
|
+
def carry(self) -> float:
|
|
351
|
+
"""持有收益, 如果未计算会自动计算后返回"""
|
|
352
|
+
|
|
353
|
+
@property
|
|
354
|
+
def net_basis_spread(self) -> float:
|
|
355
|
+
"""净基差, 如果未计算会自动计算后返回"""
|
|
356
|
+
|
|
357
|
+
@property
|
|
358
|
+
def duration(self) -> float:
|
|
359
|
+
"""修正久期, 如果未计算会自动计算后返回"""
|
|
360
|
+
|
|
361
|
+
@property
|
|
362
|
+
def irr(self) -> float:
|
|
363
|
+
"""内部收益率, 如果未计算会自动计算后返回"""
|
|
364
|
+
|
|
365
|
+
@property
|
|
366
|
+
def deliver_date(self) -> date:
|
|
367
|
+
"""期货配对缴款日, 如果未计算会自动计算后返回"""
|
|
368
|
+
|
|
369
|
+
@property
|
|
370
|
+
def cp_dates(self) -> tuple[date, date]:
|
|
371
|
+
"""前一付息日和下一付息日, 如果未计算会自动计算后返回"""
|
|
372
|
+
|
|
373
|
+
@property
|
|
374
|
+
def deliver_cp_dates(self) -> tuple[date, date]:
|
|
375
|
+
"""期货交割日的前一付息日和下一付息日, 如果未计算会自动计算后返回"""
|
|
376
|
+
|
|
377
|
+
@property
|
|
378
|
+
def remain_cp_num(self) -> int:
|
|
379
|
+
"""债券剩余付息次数, 如果未计算会自动计算后返回"""
|
|
380
|
+
|
|
381
|
+
@property
|
|
382
|
+
def remain_cp_to_deliver(self) -> float:
|
|
383
|
+
"""到交割的期间付息, 如果未计算会自动计算后返回"""
|
|
384
|
+
|
|
385
|
+
@property
|
|
386
|
+
def remain_cp_to_deliver_wm(self) -> float:
|
|
387
|
+
"""加权平均到交割的期间付息, 如果未计算会自动计算后返回"""
|
|
388
|
+
|
|
389
|
+
@property
|
|
390
|
+
def future_ytm(self) -> float:
|
|
391
|
+
"""期货隐含收益率, 如果未计算会自动计算后返回"""
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tea-bond
|
|
3
|
+
Version: 0.3.11
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
|
+
Requires-Python: >=3.8
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
pybond.libs/libcrypto-bdaed0ea.so.1.1,sha256=139pMIscUR4G4LSsPQqa4a6gvQfgJkaBLV3uAwFZ52E,3215921
|
|
2
|
+
pybond.libs/libssl-60250281.so.1.1,sha256=lvG3sRY8xl4pqF8jYg7IcBT2ooMalVFhXE_JDs917IA,666857
|
|
3
|
+
pybond/__init__.py,sha256=PZtjd-T5E7phzVqVVTN1Y4LxY1U9LICMwjqeb3vejWA,545
|
|
4
|
+
pybond/bond.py,sha256=_bpG2MZkFobGS8kkem3z7eNvCR7GqWJHMH4WJCfB5EQ,6568
|
|
5
|
+
pybond/download.py,sha256=ehl_LfcfjCB5dtVvqD0P9PJzK1UYlqhzpDcBq5BycDI,4222
|
|
6
|
+
pybond/ffi/__init__.py,sha256=x4FSqdM-SZPir9DL_XSMjoO9c4CWsyE5XfQr4GraGsg,94
|
|
7
|
+
pybond/ffi/bond.py,sha256=8SFjwBtf-t0uEEgdgdP2TCHkTr-pJCvVsJ7qIKsdh6c,1586
|
|
8
|
+
pybond/ffi/datetime.py,sha256=84vkmBhIf0HH4NEFeMLFbf83D_VewB5-PKeaDUobNmE,1989
|
|
9
|
+
pybond/ffi/duration.py,sha256=ryVI3MmkLFaCKUlQa6L6MWFm5rFXmkhq1XlolyZsZGE,670
|
|
10
|
+
pybond/ffi/evaluators.py,sha256=wz-52tVrK-0uUmCwIMl0yuTA13wTIVoYAHbEHdosBEI,6875
|
|
11
|
+
pybond/ffi/lib.py,sha256=PtAjBwzpNG8CYKJ-NbLAXJCcezMmFR4VZ3vpvmuhsUI,173
|
|
12
|
+
pybond/nb/__init__.py,sha256=-JvP7GpzQTKz-1Hcow_46EnakBWzJsr-3OoZjW8RQLY,746
|
|
13
|
+
pybond/nb/ir_utils.py,sha256=a4CoNvRdXR5ENUOmBn-h4ZEWRc3BnSZ1LlY2wX_RDbU,1557
|
|
14
|
+
pybond/nb/nb_bond.py,sha256=dLKVCgUgAwQu4MZm-zhRbzKPgM2wiWW_RIlA0VUvY7Y,5863
|
|
15
|
+
pybond/nb/nb_date.py,sha256=f4-3C8j4tz_j8cG4iuDBRsWiNnPalg9epJt-fd6VPQs,5621
|
|
16
|
+
pybond/nb/nb_datetime.py,sha256=9fLD9rnfpHQ-cvX4H6PoFh_O3jgk475ZKrG8q_UxT34,10264
|
|
17
|
+
pybond/nb/nb_duration.py,sha256=FSX1y2JbHB_SJn-hcVe-7Zf2v0xpQKKZ1MfWBY7d7IQ,1639
|
|
18
|
+
pybond/nb/nb_evaluators.py,sha256=fCYxcvW717_1E4qY9AV8R5Pv8eTvWqKk3Zj-zMU1kiw,14987
|
|
19
|
+
pybond/nb/nb_time.py,sha256=LaqXfcNvmYD_lZ2u108MwrxCXoVCBX3cr3oOnPp3c1g,8649
|
|
20
|
+
pybond/pd.py,sha256=u37c9_CYTopUm8Z5OZUPDLlhzAcNUCVL79yOpdj3U30,13302
|
|
21
|
+
pybond/pl.py,sha256=eXu_rcggdBKXLuzyLj65StIw45Jfu44EmTNi06WOBbo,13486
|
|
22
|
+
pybond/pnl.py,sha256=_b0s9b7_bw6qnnBp-t2Obg_Gt-_aCk0VQhpoLzKT5Uw,2715
|
|
23
|
+
pybond/polars_utils.py,sha256=A8D5T0x08oMCndWiQ5DPhLsuWp8s4OPgqvAnK36d8yY,2567
|
|
24
|
+
pybond/pybond.abi3.so,sha256=K1va5Y6k3QPmFA5Eo5ZZS8T2vDV90EmikPqh42rBNeg,30732617
|
|
25
|
+
pybond/pybond.pyi,sha256=xME119HJzVNqNCJ9FapVaQg1amxbNHlbd-qfFyiuhL4,11230
|
|
26
|
+
tea_bond-0.3.11.dist-info/METADATA,sha256=35GSxnFUR6G_rywqWsozuRtPVrk9dnHuTWiQdsowNuc,258
|
|
27
|
+
tea_bond-0.3.11.dist-info/WHEEL,sha256=8HfWFtUX1crLIvENIbyMxwTLg1RyruYkPifTl8tLwsE,106
|
|
28
|
+
tea_bond-0.3.11.dist-info/RECORD,,
|