Metadata-Version: 2.4
Name: rs_czsc
Version: 0.1.24.post260318
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: czsc>=0.10.0
Requires-Dist: pandas
Requires-Dist: pyarrow>=18
Requires-Dist: pytest>=8.0.0 ; extra == 'dev'
Requires-Dist: pytest-benchmark>=5.0.0 ; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0 ; extra == 'dev'
Requires-Dist: pytest-xdist>=3.0.0 ; extra == 'dev'
Requires-Dist: mypy>=1.0.0 ; extra == 'dev'
Provides-Extra: dev
Summary: A Rust and Python integration project for CZSC
Keywords: rust,python,czsc,quant
Author-email: schwartx <root.schwarz.chan@gmail.com>, JUN <793739422@qq.com>, zengbin93 <zeng_bin8888@163.com>
License: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

## rs_czsc

使用 rust 优化 czsc 库的计算性能，以更高的效率实践缠中说禅思维方式。

czsc 开源库地址：https://github.com/waditu/czsc

安装：
```shell
pip install rs_czsc -U
```

卸载：
```shell
pip uninstall rs_czsc
```

### 高性能研究接口（推荐）

新接口采用“配置/数据块边界”模式，回测主循环完全在 Rust 内执行，Python 仅负责策略编排和结果消费：

```python
from rs_czsc import run_research, build_strategy_config

strategy = build_strategy_config(
    symbol="000001.SZ",
    base_freq="30分钟",
    positions=[...],
    signals_config=[...],
)

res = run_research(bars_df, strategy, sdt="20210101")
pairs = res.pairs_df()
holds = res.holds_df()
signals = res.signals_df()
```

如需回放落盘，可使用 `run_replay(..., res_path=...)`，会输出 `signals.parquet / pairs.parquet / holds.parquet`。

迁移脚本示例见：
`examples/migrate_30m_bi_long_short.py`


### 缠论精华

>学了本ID的理论，去再看其他的理论，就可以更清楚地看到其缺陷与毛病，因此，广泛地去看不同的理论，不仅不影响本ID理论的学习，更能明白本ID理论之所以与其他理论不同的根本之处。

>为什么要去了解其他理论，就是这些理论操作者的行为模式，将构成以后我们猎杀的对象，他们操作模式的缺陷，就是以后猎杀他们的最好武器，这就如同学独孤九剑，必须学会发现所有派别招数的缺陷，这也是本ID理论学习中一个极为关键的步骤。

>真正的预测，就是不测而测。所有预测的基础，就是分类，把所有可能的情况进行完全分类。有人可能说，分类以后，把不可能的排除，最后一个结果就是精确的。
>这是脑子锈了的想法，任何的排除，等价于一次预测，每排除一个分类，按概率的乘法原则，就使得最后的所谓精确变得越不精确，最后还是逃不掉概率的套子。
>对于预测分类的唯一正确原则就是不进行任何排除，而是要严格分清每种情况的边界条件。任何的分类，其实都等价于一个分段函数，就是要把这分段函数的边界条件确定清楚。
>边界条件分段后，就要确定一旦发生哪种情况就如何操作，也就是把操作也同样给分段化了。然后，把所有情况交给市场本身，让市场自己去当下选择。
>所有的操作，其实都是根据不同分段边界的一个结果，只是每个人的分段边界不同而已。因此，问题不是去预测什么，而是确定分段边界。

