msd-backtest 0.1.0__tar.gz → 0.1.2__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 (29) hide show
  1. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/PKG-INFO +18 -3
  2. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/README.md +17 -2
  3. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/cli.py +1 -1
  4. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/msd.py +1 -1
  5. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/report.py +1 -1
  6. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/msd_backtest.egg-info/PKG-INFO +18 -3
  7. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/pyproject.toml +1 -1
  8. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/__init__.py +0 -0
  9. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/account.py +0 -0
  10. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/data_provider.py +0 -0
  11. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/__init__.py +0 -0
  12. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/backend.py +0 -0
  13. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/review.py +0 -0
  14. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/runner.py +0 -0
  15. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/run/server.py +0 -0
  16. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/select/__init__.py +0 -0
  17. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/mbt/strategy.py +0 -0
  18. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/msd_backtest.egg-info/SOURCES.txt +0 -0
  19. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/msd_backtest.egg-info/dependency_links.txt +0 -0
  20. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/msd_backtest.egg-info/requires.txt +0 -0
  21. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/msd_backtest.egg-info/top_level.txt +0 -0
  22. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/setup.cfg +0 -0
  23. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_account.py +0 -0
  24. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_alpha.py +0 -0
  25. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_load_strategy.py +0 -0
  26. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_report.py +0 -0
  27. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_runner.py +0 -0
  28. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_strategy.py +0 -0
  29. {msd_backtest-0.1.0 → msd_backtest-0.1.2}/tests/test_strategy_loading_complex.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: msd-backtest
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: MSD backtest framework
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -54,7 +54,7 @@ uv add "msd-backtest[server]" # 支持作为服务运行
54
54
 
55
55
  ```bash
56
56
  # 克隆仓库
57
- git clone https://github.com/your-repo/msd-backtest.git
57
+ git clone https://github.com/msd-rs/msd-backtest.git
58
58
  cd msd-backtest
59
59
 
60
60
  # 安装依赖
@@ -117,7 +117,7 @@ class MyStrategy(Strategy):
117
117
 
118
118
  ## 🧠 AI 辅助策略编写
119
119
 
120
- 本项目深度集成 AI 辅助开发流程。利用 [msd_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
120
+ 本项目深度集成 AI 辅助开发流程。利用 [write_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
121
121
 
122
122
  ### 核心方法与目标
123
123
  - **目标:** 通过自然语言描述,由 AI 生成高效、可运行的 Python 策略类。
@@ -135,6 +135,21 @@ class MyStrategy(Strategy):
135
135
 
136
136
  AI 在编写策略时应优先使用这些向量化算子,以确保最佳性能。
137
137
 
138
+ ### 一个使用 Claude Code 编写的简单双均线策略示例
139
+
140
+ 1. 创建一个目录作为工作目录中
141
+ 2. 在该目录中运行 `uv init` 初始化项目
142
+ 3. 通过 `npx skills add msd-rs/msd-backtest --skill write_strategy` 添加write_strategy技能
143
+ 4. 通过 `uv add "msd-backtest[cli]"` 引入 msd-backtest
144
+ 5. 编写 `.env` 配置文件, 例如
145
+ ```env
146
+ MSD_HOST=http://localhost:50510
147
+ MSD_BT_FEE=/path/to/fee.json # 一个简单的 fee json 配置文件可以从本仓库复制一份
148
+ ```
149
+ 6. 运行 `claude` ,然后输入 `编写一个双均线策略`, 如果一切正常, `claude` 会使用 write_strategy 技能为你编写相应的策略并测试运行.
150
+
151
+ 如果未能正常运行, 可以编写 `CLAUDE.md` 来更加详细的描述如何处理Python环境.
152
+
138
153
  ## 📂 项目结构
139
154
 
140
155
  ```text
@@ -32,7 +32,7 @@ uv add "msd-backtest[server]" # 支持作为服务运行
32
32
 
33
33
  ```bash
34
34
  # 克隆仓库
35
- git clone https://github.com/your-repo/msd-backtest.git
35
+ git clone https://github.com/msd-rs/msd-backtest.git
36
36
  cd msd-backtest
37
37
 
38
38
  # 安装依赖
@@ -95,7 +95,7 @@ class MyStrategy(Strategy):
95
95
 
96
96
  ## 🧠 AI 辅助策略编写
97
97
 
98
- 本项目深度集成 AI 辅助开发流程。利用 [msd_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
98
+ 本项目深度集成 AI 辅助开发流程。利用 [write_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
99
99
 
100
100
  ### 核心方法与目标
101
101
  - **目标:** 通过自然语言描述,由 AI 生成高效、可运行的 Python 策略类。
@@ -113,6 +113,21 @@ class MyStrategy(Strategy):
113
113
 
114
114
  AI 在编写策略时应优先使用这些向量化算子,以确保最佳性能。
115
115
 
116
+ ### 一个使用 Claude Code 编写的简单双均线策略示例
117
+
118
+ 1. 创建一个目录作为工作目录中
119
+ 2. 在该目录中运行 `uv init` 初始化项目
120
+ 3. 通过 `npx skills add msd-rs/msd-backtest --skill write_strategy` 添加write_strategy技能
121
+ 4. 通过 `uv add "msd-backtest[cli]"` 引入 msd-backtest
122
+ 5. 编写 `.env` 配置文件, 例如
123
+ ```env
124
+ MSD_HOST=http://localhost:50510
125
+ MSD_BT_FEE=/path/to/fee.json # 一个简单的 fee json 配置文件可以从本仓库复制一份
126
+ ```
127
+ 6. 运行 `claude` ,然后输入 `编写一个双均线策略`, 如果一切正常, `claude` 会使用 write_strategy 技能为你编写相应的策略并测试运行.
128
+
129
+ 如果未能正常运行, 可以编写 `CLAUDE.md` 来更加详细的描述如何处理Python环境.
130
+
116
131
  ## 📂 项目结构
117
132
 
118
133
  ```text
@@ -106,7 +106,7 @@ def parse_args() -> Tuple[RunRequest, str, str, Fee]:
106
106
 
107
107
  args.symbols.insert(0, args.benchmark)
108
108
 
109
- fee = Fee(args.fee_json) if len(args.fee_json) > 0 else Fee()
109
+ fee = Fee(args.fee) if len(args.fee) > 0 else Fee()
110
110
 
111
111
  return req, args.msd, args.output, fee
112
112
 
@@ -32,7 +32,7 @@ def load_data(
32
32
 
33
33
  dfs = client.load(
34
34
  objs=symbols,
35
- tables=["stock_kline_1d", "stock_dividend", "stock_financial"],
35
+ tables=["stock_kline_1d", "stock_dividend", "stock_shares", "stock_financial"],
36
36
  join={"stock_dividend": "zero", "*": "backward"},
37
37
  start=start,
38
38
  end=end,
@@ -63,7 +63,7 @@ class Report:
63
63
 
64
64
 
65
65
  @staticmethod
66
- def from_dict(symbol: str, d: dict) -> Report:
66
+ def from_dict(symbol: str, d: dict) -> "Report":
67
67
  r = Report('', None, None) # type: ignore
68
68
  r.symbol = symbol
69
69
  r.date = d.get('date', np.array([], dtype='int64'))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: msd-backtest
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: MSD backtest framework
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -54,7 +54,7 @@ uv add "msd-backtest[server]" # 支持作为服务运行
54
54
 
55
55
  ```bash
56
56
  # 克隆仓库
57
- git clone https://github.com/your-repo/msd-backtest.git
57
+ git clone https://github.com/msd-rs/msd-backtest.git
58
58
  cd msd-backtest
59
59
 
60
60
  # 安装依赖
@@ -117,7 +117,7 @@ class MyStrategy(Strategy):
117
117
 
118
118
  ## 🧠 AI 辅助策略编写
119
119
 
120
- 本项目深度集成 AI 辅助开发流程。利用 [msd_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
120
+ 本项目深度集成 AI 辅助开发流程。利用 [write_strategy](.agents/skills/write-strategy/SKILL.md) 技能,AI 可以根据用户描述自动生成符合规范的策略代码。
121
121
 
122
122
  ### 核心方法与目标
123
123
  - **目标:** 通过自然语言描述,由 AI 生成高效、可运行的 Python 策略类。
@@ -135,6 +135,21 @@ class MyStrategy(Strategy):
135
135
 
136
136
  AI 在编写策略时应优先使用这些向量化算子,以确保最佳性能。
137
137
 
138
+ ### 一个使用 Claude Code 编写的简单双均线策略示例
139
+
140
+ 1. 创建一个目录作为工作目录中
141
+ 2. 在该目录中运行 `uv init` 初始化项目
142
+ 3. 通过 `npx skills add msd-rs/msd-backtest --skill write_strategy` 添加write_strategy技能
143
+ 4. 通过 `uv add "msd-backtest[cli]"` 引入 msd-backtest
144
+ 5. 编写 `.env` 配置文件, 例如
145
+ ```env
146
+ MSD_HOST=http://localhost:50510
147
+ MSD_BT_FEE=/path/to/fee.json # 一个简单的 fee json 配置文件可以从本仓库复制一份
148
+ ```
149
+ 6. 运行 `claude` ,然后输入 `编写一个双均线策略`, 如果一切正常, `claude` 会使用 write_strategy 技能为你编写相应的策略并测试运行.
150
+
151
+ 如果未能正常运行, 可以编写 `CLAUDE.md` 来更加详细的描述如何处理Python环境.
152
+
138
153
  ## 📂 项目结构
139
154
 
140
155
  ```text
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "msd-backtest"
3
- version = "0.1.0"
3
+ version = "0.1.2"
4
4
  description = "MSD backtest framework"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
File without changes