
眼科mcp
一个高性能的期权和股票回溯测试引擎,作为自托管引擎公开 主控程序 服务器。回溯策略,优化参数,并通过自然语言分析价格模式。
\[!注意\] 该项目正在积极开发中。API和配置的中断更改可能发生在次要版本之间。固定在特定的释放标签上以获得稳定性。
你能做什么
编写自定义策略
用简单的英语描述一个策略,克劳德会生成一个 其他 根据历史数据运行的脚本。在单个脚本中定义入口逻辑、出口规则、位置大小和有状态的多阶段策略,或者使用带有参数注入的内置轮策略脚本。
"Write a strategy that sells puts on SPY when VIX > 20 and RSI = 3 { return []; }
let spread = ctx.short_put(0.30, 45);
if spread == () { return []; }
[spread]
}
fn on_exit_check(ctx, pos) {
if pos.dte 20`).
## 数据
optopsy mcp从本地Parquet缓存中读取期权链和OHLCV价格。将您的Parquet文件直接放入缓存目录中——任何与预期模式匹配的文件都将被自动拾取。
默认缓存目录为 `~/.optopsy/cache/`。要使用其他位置,请设置 `DATA_ROOT` 环境变量。
### 缓存布局
~/.optopsy/cache/ ├── options/ # required — options chain data │ ├── SPY.parquet │ └── ... └── / # any subfolder name works for OHLCV data ├── SPY.parquet └── ...
`options/` 是选项链数据的固定文件夹。对于OHLCV价格数据,您可以将文件组织到您喜欢的任何子文件夹名称中(例如。 `stocks/`, `etf/`, `futures/`, `indices/`或你自己的)。引擎搜索所有非-`options` 在解析交易品种的价格数据时使用子目录。
### 拼花地板方案
#### 选项数据(`options/*.parquet`)
|列|类型|描述|
|--------|------|-------------|
| `datetime` |Datetime |报价时间戳(支持日内分辨率)|
| `expiration` |日期/日期时间|期权到期日期|
| `strike` |Float64|执行价格|
| `option_type` |字符串| `"call"` 或 `"put"` |
| `bid` |Float64|投标价格|
| `ask` |Float64|要价|
| `delta` |Float64|选项增量|
> **注:** 如果您的数据有 `date` (日期)栏代替 `datetime`,它将在加载时自动转换为15:59:00的Datetime。
#### 价格数据(`/*.parquet`)
|列|类型|描述|
|--------|------|-------------|
| `datetime` |日期时间|条形时间戳(支持日内分辨率)|
| `open` |Float64|开盘价|
| `high` |Float64|价格高|
| `low` |Float64|价格优惠|
| `close` |Float64|收盘价|
| `volume` |Int64/Float64 |体积|
## 发展
克隆后,配置git以使用项目的共享钩子:
git config core.hooksPath .githooks
这使得 **预推钩** 运行 `cargo fmt --check`, `cargo clippy --all-targets`, `cargo build`,以及 `cargo test` 在每次推送之前,匹配CI检查。
cargo build --release # Build cargo test # Run all tests cargo clippy --all-targets # Lint cargo fmt --check # Check formatting cargo run --release # Run MCP server (stdio) PORT=8000 cargo run --release # Run MCP + REST over HTTP
## 技术栈
- [波拉斯](https://pola.rs/) --用于数据处理的DataFrame引擎
- [rmcp](https://github.com/anthropics/rmcp) --MCP服务器框架(v0.17)
- [东京](https://tokio.rs/) --异步运行时
- [阿克苏姆](https://github.com/tokio-rs/axum) -HTTP服务器和REST API(通过 `PORT` 任何人)
- [红柱石](https://github.com/rusqlite/rusqlite) --SQLite存储用于回溯测试持久性
- [生锈](https://crates.io/crates/rust_ti) --技术分析指标
- [其他](https://rhai.rs/) --用于自定义策略的嵌入式脚本语言
- [守卫](https://crates.io/crates/garde) --输入验证
- [序列化与反序列化](https://serde.rs/) + [阴谋家](https://docs.rs/schemars/) --JSON序列化和MCP模式生成