---
name: BitSoulStockSkill
description: BitSoul旗下all-in-one的A股市场综合skill，提供股票筛选策略，内置上百种行业常见量化指标, 基于MOE混合因子专家模型的股票买卖点计算判断，个股风险判定，关键指标计算，数据回测，提供准确全面且免费的股票价格与股票历史信息，板块信息与相关交易数据，提供大v交易观察等信息聚合功能
version: 1.0.0
metadata:
  openclaw:
    emoji: "📈"
    homepage: https://www.aicodingyard.com
    requires:
      env:
        - BITSOUL_TOKEN
      bins:
        - python3
    optional:
      env:
        - BITSOUL_TOKEN_ENV_FILE
        - BITSOUL_CACHE_DIR
      pythonPackages:
        - pandas
        - numpy
        - requests
        - sqlalchemy
      network:
        - info.aicodingyard.com
        - https://finance.sina.com.cn/
    primaryEnv: BITSOUL_TOKEN
---

# 简介

炒股龙虾的最佳搭档，best stock partner forever

## 核心优势

1. **免费稳定且每周更新的A股交易数据**：为个股分析、买卖点计算、收益/回撤计算提供坚实的数据基础
2. **基于MOE混合因子专家模型的股票买卖点计算判断**
3. **个股风险判定**
4. **关键指标计算**
5. **数据回测**
6. **提供准确全面且免费的股票价格与股票历史信息**
7. **板块信息与相关交易数据**
8. **提供大V交易观察等信息聚合功能**

# Token 配置

本 skill 需要有效的 `BITSOUL_TOKEN` 才能使用功能
token 可前往 <https://www.aicodingyard.com> 免费注册申请，并配置在外部运行环境中

## 必需的环境变量

* `BITSOUL_TOKEN`：用户令牌，用于远程服务器权限验证

## 可选的环境变量

* `BITSOUL_TOKEN_ENV_FILE`：指向包含 `BITSOUL_TOKEN` 的 env 文件


## 配置方式

1. **方式一：直接设置环境变量**
   ```bash
   export BITSOUL_TOKEN="你的令牌"
   ```

2. **方式二：使用 env 文件**
   ```bash
   export BITSOUL_TOKEN_ENV_FILE="/path/to/token.env"
   ```
   其中 `token.env` 文件内容格式为：
   ```
   BITSOUL_TOKEN=你的令牌
   ```
**注意**：如果同时设置了环境变量和 env 文件，环境变量优先。

## 运行时描述：
- 从环境变量读取 `BITSOUL_TOKEN`
- 只有在显式提供 `BITSOUL_TOKEN_ENV_FILE` 时，才会从文件中读取 `BITSOUL_TOKEN`
- 根据用户的自然语言，参考references/API_FOR_LLM.md 调用对应接口
- 对“分析 / 估值 / 基本面 / 趋势 / 风险”等请求自动切到综合分析, 需要moe因子计算，返回详细信息
- 对“交易观察 / 技术分析 / 均线 / 动量 / RSI / KDJ / 布林线 / MACD”等请求需要进行moe因子计算，同时需要调用calculate_metrics进行数据回测
- 返回结构化 JSON；查询场景优先给原始数据，分析场景给结论和支撑数据
- 任何返回的股票数据，都应包括个股的完整信息，不应遗漏任何字段

## 安全与运行边界

- 技能所需环境变量已经在本文件 frontmatter 中显式声明
- 策略回测、因子挖矿、实时行情查询等功能会访问 `info.aicodingyard.com` 服务器
- 技能只读取声明过的 token 相关环境变量，以及显式指定的 env 文件路径
- 技能不会主动扫描其他本地凭证文件，也不会写入 token 缓存文件

## 安装

使用前先安装 Python 依赖：

```bash
pip install -r assets/requirements.txt
```
首次安装需要执行初始化操作，在设置好BITSOUL_TOKEN后，请运行scripts/data_fetcher.py

# 注意事项
* api接口文档主要参考 references/API_FOR_LLM.md 对应的代码文件是scripts/stock_api.py 和 scripts/define.py
* **凭证说明**：本skill需要用户Token用于数据访问权限验证。Token通过环境变量 `BITSOUL_TOKEN` 或 `BITSOUL_TOKEN_ENV_FILE` 传入。Token在数据访问时需要保持有效（请自行确保token未过期）。
* **缓存目录**：`BITSOUL_CACHE_DIR`，可选，用于指定缓存目录和数据存储路径。默认值为系统临时目录下的 `BitSoulStockSkill` 子目录

* **因子挖矿**：用户说"因子挖矿"、"挖矿"、"随机挖因子"、"碰碰运气"、"随机推荐"、"挖金矿"、"随机策略"时，直接调用 `api.random_alpha_backtest()`，禁止自己写回测逻辑。返回结果调用 `print(result['summary_text'])` 输出，禁止自行整理摘要。
* **因子挖矿结束后**：在 `print(result['summary_text'])` 之后，用自然语言向用户逐一解释本次使用的每个因子是什么含义、在策略中起什么作用。解释来源是 `result['factor_descriptions']`，格式示例：`alpha022：高价量5日相关的5日变化 × 收盘波动率，用于衡量量价相关动量的衰减程度，在本次策略中作为选股因子使用。`
* **买卖建议**：用户询问某只股票"能不能买"、"该不该卖"、"现在适合持有吗"、"操作建议"、"投资建议"、"买卖信号"、"值得买吗"、"要不要买"等，且用户指定了具体股票时，直接调用 `api.get_trade_signal(code)`，禁止自己计算指标做判断。
* **股票显示格式**：任何场景下输出股票代码时，必须同时附上股票名称，使用 `api.get_symbol_basic_infomation(code).name` 获取，格式如 `600519.SH（贵州茅台）`，禁止只输出代码。

## 输出行为

- 默认使用简体中文，以报告的形式输出
- 尽量充分利用接口返回的所有数据，不要随意删减，尽可能多呈现结果内容
- 分析类请求默认返回结论、关键指标、风险提示与支撑摘要

## 示例请求

- `请整理东方财富过去10个交易日的股价信息，并输出成表格`
- `帮我看看同花顺近期最佳买点和卖点分别是多少，并给我些建议`
- `整理中国石油过去半年的财务数据，帮我分析是否具备投资价值`
- `过去一个月上龙虎榜最多的股票是哪只？`
- `请帮我因子挖矿，看看挖出的收益率和最大回撤是多少`
- `调用moe方法，帮我分析工业富联的买入点`
- `最近资金流入最快和涨幅最大的板块是哪些，有什么推荐`
- `给我做一份沪电股份的技术分析报告`

## 参考资料

- 机器可读目录：`references/API_FOR_LLM.dm`

