Install
openclaw skills install @bettermen/investment-decision-system个人投资决策辅助系统。基于 INVEST 六维决策框架(意图/数字/价值/优势/安全/时机), 将分散的市场信息、持仓数据、投资目标和风控纪律串成一个完整的决策闭环。 提供持仓管理、决策评分、仓位计算、风控检查和交互式 HTML 可视化报告。 触发词:投资决策, 买卖决策, 持仓分析, 投资复盘, 仓位计算, 风控检查, INVEST, 投资仪表盘, 添加持仓, 记录交易, 买入分析, 卖出决策, 投资目标。
openclaw skills install @bettermen/investment-decision-system市面上不缺行情、研报、社区观点和 AI 解读。缺的是一套把信息、资产、目标和纪律连起来的决策系统。 这个 Skill 提供 INVEST 六维决策框架,帮你从"我知道很多"走到"我做出更好的决策"。
核心能力:持仓管理 → 决策评分 → 仓位计算 → 风控检查 → 复盘分析,输出交互式 HTML 可视化报告。
首次使用时,运行以下命令初始化数据库:
python {baseDir}/scripts/db.py
或通过 Python 直接导入(首次自动创建数据库):
import sys; sys.path.insert(0, '{baseDir}/scripts')
import db
db.init_db()
设置投资目标、风险偏好、资金规模等基础参数。 后续所有决策都将基于这些参数进行个性化评估。
操作:
get_profile() 结果update_profile() 设置 risk_tolerance(conservative/moderate/aggressive)、
investment_goal(growth/income/preservation/speculation)、
time_horizon(short/medium/long)、total_capital 等脚本:{baseDir}/scripts/db.py 中的 get_profile() 和 update_profile() 函数。
记录和管理投资组合中的各类资产。
操作:
add_holding(symbol, name, asset_class, market, quantity, avg_cost, current_price, sector=...)update_holding(holding_id, current_price=..., quantity=...)delete_holding(holding_id)get_all_holdings()get_portfolio_summary() 返回总市值、盈亏、资产配置、行业配置支持的 asset_class:stock / fund / bond / cash / crypto / other
支持的 market:A-share / HK / US / other
脚本:{baseDir}/scripts/db.py 中的持仓相关函数。
这是系统的核心。对每笔交易决策,从六个维度打分(0-10):
| 维度 | 权重 | 核心问题 |
|---|---|---|
| I - Intent 意图 | 15% | 你为什么做这笔交易?与投资目标一致吗? |
| N - Numbers 数字 | 20% | 财务数据和技术指标支持你的判断吗? |
| V - Value 价值 | 20% | 当前价格低于内在价值吗?安全边际够吗? |
| E - Edge 优势 | 10% | 你凭什么比别人判断得更准? |
| S - Safety 安全 | 20% | 如果错了,你会损失多少?风控到位吗? |
| T - Timing 时机 | 15% | 为什么是现在?周期位置对吗? |
使用方法:
from scripts.decision import evaluate_decision
scores = {
'intent_score': 7,
'numbers_score': 6,
'value_score': 8,
'edge_score': 5,
'safety_score': 7,
'timing_score': 6,
}
result = evaluate_decision(scores)
# result['total_score'] -> 6.4
# result['recommendation'] -> 'CAUTIOUS'
决策阈值:
保存决策到数据库:
from scripts import db
did = db.create_decision('600519', '贵州茅台', 'buy',
intent_score=7, numbers_score=6, value_score=8,
edge_score=5, safety_score=7, timing_score=6,
thesis='白酒龙头估值回调后具备配置价值',
risks='消费降级、政策风险',
position_size_pct=15, stop_loss_pct=8, take_profit_pct=20)
脚本:{baseDir}/scripts/decision.py 中的 evaluate_decision() 函数。
数据库操作:{baseDir}/scripts/db.py 中的 create_decision(), update_decision(), get_decision() 等。
基于固定比例法(Fixed Fractional)计算最优仓位:
from scripts.decision import calculate_position_size
sizing = calculate_position_size(
capital=100000, # 可用资金
risk_per_trade_pct=2, # 单笔最大风险 2%
entry_price=50, # 计划入场价
stop_loss_price=46, # 止损价
max_position_pct=20 # 单票最大仓位 20%
)
# Returns: shares, position_value, position_pct, risk_amount, suggested_take_profit
公式:可买股数 = (总资产 × 单笔风险%) ÷ |入场价 - 止损价|
脚本:{baseDir}/scripts/decision.py 中的 calculate_position_size() 函数。
检查当前持仓是否违反预设的风控规则:
from scripts import db
violations = db.check_risk_compliance()
默认风控规则:
可自定义:通过 risk_rules 表管理。
脚本:{baseDir}/scripts/db.py 中的 check_risk_compliance() 和 get_risk_rules() 函数。
记录买卖交易,自动更新持仓:
from scripts import db
db.record_trade('600519', 'buy', quantity=100, price=1650, fee=5)
db.record_trade('600519', 'sell', quantity=50, price=1700, fee=5, decision_id=1)
脚本:{baseDir}/scripts/db.py 中的 record_trade() 函数。
对已执行的决策进行复盘:
from scripts import db
db.update_decision(decision_id, outcome='win', outcome_pnl=5000,
outcome_notes='按计划执行,盈利符合预期')
查看决策统计:
stats = db.get_decision_stats()
# win_rate, profit_factor, avg_score_win, avg_score_loss, total_pnl
维护潜在投资标的的观察列表:
from scripts import db
db.add_to_watchlist('300750', '宁德时代', reason='新能源龙头,关注回调机会', target_price=180)
生成交互式 HTML 报告:
from scripts.report import generate_dashboard_html, generate_decision_html, generate_review_html, save_report
# 投资仪表盘(综合概览)
html = generate_dashboard_html()
path = save_report(html, 'dashboard.html')
# 单笔决策报告
html = generate_decision_html(decision_id)
path = save_report(html, 'decision_report.html')
# 决策复盘报告
html = generate_review_html()
path = save_report(html, 'review_report.html')
报告保存到 outputs/ 目录。报告包含:
脚本:{baseDir}/scripts/report.py
evaluate_decision() 计算总分和建议calculate_position_size() 计算仓位create_decision() 保存,并 generate_decision_html() 生成报告重要: 当用户只需要快速评估而不保存时,直接使用 {baseDir}/scripts/decision.py 的纯计算方法,
无需初始化数据库。只有用户确认要保存决策、持仓或交易时才操作数据库。
generate_dashboard_html()save_report() 保存到 outputs 目录generate_review_html() 生成复盘报告record_trade() 自动更新持仓check_risk_compliance()数据库文件位置:{baseDir}/data/investment.db,包含以下表:
profile — 投资者画像holdings — 持仓trades — 交易记录decisions — INVEST 决策记录decision_log — 决策变更日志watchlist — 关注列表risk_rules — 风控规则详见 scripts/db.py 中的 init_db() 函数。
references/framework.md — INVEST 决策框架完整文档,包含每个维度的详细评分标准、常见陷阱、仓位管理规则references/indicators.md — 投资关键指标速查:A股估值参考、财务健康指标、技术分析速查、行业估值差异、行为金融学偏差当需要深入了解某个维度的评分标准或投资指标参考时,读取对应的 {baseDir}/references/ 文件。