Install
openclaw skills install stock-manage-skill股票管理技能,支持股票订单管理、交易规则管理和股票信息获取。支持A股、港股、美股等多种股票类型,使用本地文本目录存储数据。Use when user wants to manage stock orders, trading rules or get stock information including add...
openclaw skills install stock-manage-skill本地化的股票管理系统,支持股票订单管理、交易规则管理和股票信息获取,支持A股、美股、港股等多种股票类型,所有数据存储在本地文本文件中。
管理股票的买入订单,包含完整的CRUD操作:
功能特性:
使用方法:
# 添加订单
python main.py order add --code 600000 --name 浦发银行 --buy-time "2026-03-14 10:00:00" --buy-price 8.50 --type A股 --platform 富途 --quantity 100
# 列出所有订单
python main.py order list
# 按状态筛选订单
python main.py order list --status 持有
# 按股票类型筛选订单
python main.py order list --type 美股
# 按交易平台筛选订单
python main.py order list --platform 富途
# 获取订单详情
python main.py order get --id ORDER_20260314123456_1
# 更新订单状态
python main.py order update --id ORDER_20260314123456_1 --status 已卖出
# 删除订单
python main.py order delete --id ORDER_20260314123456_1
# 查看备份文件
python main.py order backup list
# 清理多余备份(保留最近10个)
python main.py order backup cleanup
获取A股、港股、美股的实时股票信息:
功能特性:
使用方法:
# 获取单个股票信息
python main.py stock get --code 002594
# 批量获取多个股票信息
python main.py stock get --code 002594,00700,03690,TSLA
# 获取指定日期的股票信息
python main.py stock get --code 002594 --date 20260315
# 列出所有已获取的股票信息
python main.py stock list
# 查看股票信息详情
python main.py stock show --code 002594
# 清理旧数据(30天前)
python main.py stock cleanup --days 30
股票代码格式:
系统自动处理:
管理股票的买入规则和卖出规则,支持完整的CRUD操作:
功能特性:
使用方法:
# 添加买入规则
python main.py rule add --type 买入规则 --name "价格低于均线买入" --description "当价格低于20日均线时买入" \
--conditions '[{"indicator": "price", "operator": "<", "value": "ma20"}]' \
--actions '[{"type": "buy", "quantity": 100}]'
# 添加卖出规则
python main.py rule add --type 卖出规则 --name "盈利超过10%卖出" --description "当盈利超过10%时卖出" \
--conditions '[{"indicator": "profit_percent", "operator": ">", "value": 10}]' \
--actions '[{"type": "sell", "quantity": "all"}]'
# 列出所有规则
python main.py rule list
# 按规则类型筛选
python main.py rule list --type 买入规则
# 按股票类型筛选
python main.py rule list --stock-type A股
# 按股票代码筛选
python main.py rule list --stock-code 600000
# 只显示启用的规则
python main.py rule list --enabled
# 获取规则详情
python main.py rule get --id RULE_20260314123456_1
# 更新规则
python main.py rule update --id RULE_20260314123456_1 --name "新规则名称" --description "新描述"
# 删除规则
python main.py rule delete --id RULE_20260314123456_1
# 切换规则启用状态
python main.py rule toggle --id RULE_20260314123456_1
# 查看备份文件
python main.py rule backup list
# 清理多余备份(保留最近10个)
python main.py rule backup cleanup
规则数据格式:
触发条件示例:
[
{"indicator": "price", "operator": "<", "value": "ma20"},
{"indicator": "volume", "operator": ">", "value": 1000000}
]
执行动作示例:
[
{"type": "buy", "quantity": 100},
{"type": "notification", "message": "买入信号触发"}
]
支持的指标:
支持的操作符:
: 大于
=: 大于等于
支持的动作类型:
自动管理日志文件:
功能特性:
使用方法:
# 列出所有日志文件
python main.py log list
# 查看日志目录大小
python main.py log size
# 清理7天前的旧日志
python main.py log cleanup
# 删除指定日志文件
python main.py log delete --filename stock_info_20260315.log
所有数据存储在本地文本文件中,便于查看和管理:
stock_predict_skill/
├── data/ # 数据存储根目录
│ ├── orders/ # 订单信息
│ │ ├── orders.json # 当前订单
│ │ └── orders.json_* # 历史备份(保留最近10个)
│ ├── rules/ # 交易规则
│ │ ├── rules.json # 当前规则
│ │ └── rules.json_* # 历史备份(保留最近10个)
│ ├── stock_info/ # 股票信息
│ │ └── 20260315/ # 按日期分目录
│ │ └── stock_info_20260315.json # 每日JSON文件
│ └── logs/ # 日志文件
│ ├── stock_order_20260315.log
│ ├── stock_info_20260315.log
│ ├── stock_rule_20260315.log
│ └── log_manager_20260315.log
├── README.md # 项目说明
├── SKILL.md # 本文件
├── main.py # 主入口
├── stock_order.py # 股票订单管理模块
├── stock_info.py # 股票信息获取模块
├── stock_rule.py # 交易规则管理模块
├── log_manager.py # 日志管理模块
├── config.py # 配置文件
├── command_parser.py # 命令解析脚本
└── openclaw_entry.py # OpenClaw入口脚本
# 添加订单
python main.py order add --code 600000 --name 浦发银行 --buy-time "2026-03-14 10:00:00" --buy-price 8.50 --type A股 --platform 富途 --quantity 100
# 列出所有订单
python main.py order list
# 按状态筛选订单
python main.py order list --status 持有
# 按股票类型筛选订单
python main.py order list --type 美股
# 按交易平台筛选订单
python main.py order list --platform 富途
# 获取订单详情
python main.py order get --id ORDER_20260314123456_1
# 更新订单状态
python main.py order update --id ORDER_20260314123456_1 --status 已卖出
# 删除订单
python main.py order delete --id ORDER_20260314123456_1
# 查看备份文件
python main.py order backup list
# 清理多余备份(保留最近10个)
python main.py order backup cleanup
# 添加买入规则
python main.py rule add --type 买入规则 --name "价格低于均线买入" --description "当价格低于20日均线时买入" \
--conditions '[{"indicator": "price", "operator": "<", "value": "ma20"}]' \
--actions '[{"type": "buy", "quantity": 100}]'
# 添加卖出规则
python main.py rule add --type 卖出规则 --name "盈利超过10%卖出" --description "当盈利超过10%时卖出" \
--conditions '[{"indicator": "profit_percent", "operator": ">", "value": 10}]' \
--actions '[{"type": "sell", "quantity": "all"}]'
# 列出所有规则
python main.py rule list
# 按规则类型筛选
python main.py rule list --type 买入规则
# 按股票类型筛选
python main.py rule list --stock-type A股
# 按股票代码筛选
python main.py rule list --stock-code 600000
# 只显示启用的规则
python main.py rule list --enabled
# 获取规则详情
python main.py rule get --id RULE_20260314123456_1
# 更新规则
python main.py rule update --id RULE_20260314123456_1 --name "新规则名称" --description "新描述"
# 删除规则
python main.py rule delete --id RULE_20260314123456_1
# 切换规则启用状态
python main.py rule toggle --id RULE_20260314123456_1
# 查看备份文件
python main.py rule backup list
# 清理多余备份(保留最近10个)
python main.py rule backup cleanup
# 获取单个股票信息
python main.py stock get --code 002594
# 批量获取多个股票信息
python main.py stock get --code 002594,00700,03690,TSLA
# 获取指定日期的股票信息
python main.py stock get --code 002594 --date 20260315
# 列出所有已获取的股票信息
python main.py stock list
# 查看股票信息详情
python main.py stock show --code 002594
# 清理旧数据(30天前)
python main.py stock cleanup --days 30
# 列出所有日志文件
python main.py log list
# 查看日志目录大小
python main.py log size
# 清理7天前的旧日志
python main.py log cleanup
# 删除指定日志文件
python main.py log delete --filename stock_info_20260315.log
编辑 config.py 文件配置:
# 数据存储目录
DATA_DIR = "data"
如遇问题,请检查:
SKILL.md - 定义了股票管理技能的配置和功能openclaw_entry.py - 处理OpenClaw的请求并调用股票管理功能command_parser.py - 解析用户的自然语言命令并调用股票管理功能命令格式:保存股票订单 <股票代码> <股票名称> <买入价格> <股票类型> [交易平台] [购买数量]
示例:
保存股票订单 600000 浦发银行 8.50 A股 富途 100
OpenClaw调用:
toolcall(
name="add_stock_order",
params={
"stock_code": "600000",
"stock_name": "浦发银行",
"buy_time": "2026-03-14 10:00:00", # 自动生成当前时间
"buy_price": 8.50,
"stock_type": "A股",
"platform": "富途",
"quantity": 100
}
)
命令格式:查看股票订单 [状态] [股票类型] [交易平台]
示例:
查看股票订单
查看股票订单 持有
查看股票订单 A股
查看股票订单 持有 A股
查看股票订单 富途
OpenClaw调用:
toolcall(
name="list_stock_orders",
params={
"status": "持有", # 可选
"stock_type": "A股", # 可选
"platform": "富途" # 可选
}
)
命令格式:查看订单详情 <订单ID>
示例:
查看订单详情 ORDER_20260314100000_1
OpenClaw调用:
toolcall(
name="get_stock_order",
params={
"order_id": "ORDER_20260314100000_1"
}
)
命令格式:更新订单状态 <订单ID> <新状态>
示例:
更新订单状态 ORDER_20260314100000_1 已卖出
OpenClaw调用:
toolcall(
name="update_stock_order_status",
params={
"order_id": "ORDER_20260314100000_1",
"status": "已卖出"
}
)
命令格式:删除订单 <订单ID>
示例:
删除订单 ORDER_20260314100000_1
OpenClaw调用:
toolcall(
name="delete_stock_order",
params={
"order_id": "ORDER_20260314100000_1"
}
)
命令格式:获取股票信息 <股票代码>
示例:
获取股票信息 002594
获取股票信息 00700
获取股票信息 TSLA
OpenClaw调用:
toolcall(
name="get_stock_info",
params={
"stock_code": "002594"
}
)
命令格式:获取股票信息 <股票代码1>,<股票代码2>,<股票代码3>
示例:
获取股票信息 002594,00700,03690,TSLA
OpenClaw调用:
toolcall(
name="get_stock_info",
params={
"stock_codes": ["002594", "00700", "03690", "TSLA"]
}
)
命令格式:列出股票信息
示例:
列出股票信息
OpenClaw调用:
toolcall(
name="list_stock_info",
params={}
)
命令格式:添加交易规则 <规则类型> <规则名称> <规则描述>
示例:
添加交易规则 买入规则 价格低于均线买入 当价格低于20日均线时买入
OpenClaw调用:
toolcall(
name="add_trading_rule",
params={
"rule_type": "买入规则",
"rule_name": "价格低于均线买入",
"rule_description": "当价格低于20日均线时买入",
"conditions": [{"indicator": "price", "operator": "<", "value": "ma20"}],
"actions": [{"type": "buy", "quantity": 100}],
"stock_type": "A股"
}
)
命令格式:查看交易规则 [规则类型] [股票类型] [股票代码]
示例:
查看交易规则
查看交易规则 买入规则
查看交易规则 A股
查看交易规则 买入规则 A股
查看交易规则 600000
OpenClaw调用:
toolcall(
name="list_trading_rules",
params={
"rule_type": "买入规则", # 可选
"stock_type": "A股", # 可选
"stock_code": "600000" # 可选
}
)
命令格式:查看规则详情 <规则ID>
示例:
查看规则详情 RULE_20260314100000_1
OpenClaw调用:
toolcall(
name="get_trading_rule",
params={
"rule_id": "RULE_20260314100000_1"
}
)
命令格式:更新规则 <规则ID> <新规则名称> <新规则描述>
示例:
更新规则 RULE_20260314100000_1 新规则名称 新规则描述
OpenClaw调用:
toolcall(
name="update_trading_rule",
params={
"rule_id": "RULE_20260314100000_1",
"rule_name": "新规则名称",
"rule_description": "新规则描述"
}
)
命令格式:删除规则 <规则ID>
示例:
删除规则 RULE_20260314100000_1
OpenClaw调用:
toolcall(
name="delete_trading_rule",
params={
"rule_id": "RULE_20260314100000_1"
}
)
命令格式:切换规则状态 <规则ID>
示例:
切换规则状态 RULE_20260314100000_1
OpenClaw调用:
toolcall(
name="toggle_trading_rule",
params={
"rule_id": "RULE_20260314100000_1"
}
)
当用户使用命令格式添加股票订单时,系统会自动使用当前日期和时间作为买入时间,无需用户手动输入。
例如,用户输入:
保存股票订单 600000 浦发银行 8.50 A股
系统会自动生成买入时间为当前时间,如:2026-03-14 10:00:00。
系统会根据股票代码格式自动识别市场类型:
用户只需要传入纯股票代码,系统会自动处理前缀转换并调用相应的API获取数据。
data/orders/orders.json,每次修改自动备份,保留最近10个备份data/rules/rules.json,每次修改自动备份,保留最近10个备份stock_info_YYYYMMDD.jsondata/logs/ 目录,自动清理7天前的旧日志