CANSLIM Hybrid Analyzer
Analyze US stocks using a three-stage modular pipeline:
- 1. Run a quantitative screen to filter candidates by earnings, leadership, and price/volume behavior.
- Use OpenClaw AI enrichment to evaluate qualitative catalysts, float tightness, and institutional quality.
- Generate a final ranked CANSLIM report using a fixed scoring contract.
When to use
Use this skill when the user asks to:
- - Run a comprehensive CANSLIM analysis on US stocks.
- Screen for market leaders combining both quantitative strength and recent catalysts.
- Generate a ranked shortlist with clear met/missed CANSLIM criteria.
- Audit or reproduce the pipeline with deterministic JSON handoffs.
Required files
Expected local files:
- - INLINECODE0
- INLINECODE1
- INLINECODE2
Expected generated files:
- - INLINECODE3
- INLINECODE4
- INLINECODE5
- INLINECODE6
Canonical JSON contract
The quantitative phase owns Quantitative_Metrics.
The AI phase must preserve every field already present in Quantitative_Metrics and must only fill AI_Qualitative_Checks.
Intermediate schema
CODEBLOCK0
Enriched schema
The enriched schema must be the same as the intermediate schema, plus AI
QualitativeChecks.
CODEBLOCK1
Execution rules
Follow this checklist exactly:
- 1. Verify files: Confirm quantitativeanalyzer.py, finalprocess.py, and requirements.txt exist.
- 2. Create environment:
CODEBLOCK2
- 3. Install dependencies:
pip install --no-cache-dir -r requirements.txt
- 4. Run quantitative analysis:
CODEBLOCK4
- 5. Verify intermediate output: Confirm intermediatecanslim.json exists and contains Metadata, Stocks, QuantitativeMetrics, and AIQualitativeChecks_Pending.
- 6. Run OpenClaw AI enrichment:
- - Read intermediate_canslim.json.
- - For each stock, preserve Ticker, CompanyName, and the entire QuantitativeMetrics object unchanged.
- - Add AIQualitativeChecks with values for:
- NNewCatalyst
- NCatalystDetails
- SFloatTightness
- SFloatDetails
- IInstitutionalQuality
- IInstitutionalDetails
- 7. Write enriched output: enriched_canslim.json
- 8. Run final processing:
CODEBLOCK5
- 9. Display results: Read finalcanslimreport.json and present the ranked list of stocks, CANSLIM scores, met criteria, missed criteria, price, RS rating, and catalyst note.
- 10. Cleanup:
CODEBLOCK6
Scoring contract
Use this exact final scoring model:
C: QuantitativeMetrics.CMet
A: QuantitativeMetrics.AMet
L: QuantitativeMetrics.LMet
M: Metadata.MarketDirectionM == "Confirmed Uptrend"
N: AIQualitativeChecks.NNewCatalyst == true
S: QuantitativeMetrics.SQuantMet == true and AIQualitativeChecks.SFloat_Tightness == true
I: AIQualitativeChecks.IInstitutionalQuality == true
Interpretation guidance
N
TechnicalMet is supporting technical context, not the scored N letter by itself.
IQuantFlag is reference context, not the scored I letter by itself.
A stock can have strong technical N support and still miss final N if OpenClaw cannot verify a fresh catalyst.
A stock can have strong volume accumulation and still miss final S if OpenClaw cannot verify tight float or buyback support.
Output format
Return the final user-facing answer in this structure:
Market Environment:
<1-2 sentence assessment of the M criterion>
Top CANSLIM Candidates:
| Rank | Ticker | Company | CANSLIM Score | Met Criteria | Missed Criteria | Price | RS Rating | AI Catalyst Note |
|---|
| 1 | XYZ | XYZ Corp | 6/7 | C, A, N, S, L, I | M | $145.20 | 92.4 | New product launch and raised guidance |
AI Catalyst Insights:
XYZ: Fresh catalyst confirmed; float tightness and institutional sponsorship also verified.
Notes & Caveats:
Mention missing data, lack of catalyst confirmation, or market-trend caution when relevant.
Constraints
Never install dependencies globally.
Always use the canslim_analysis virtual environment.
Use only files generated by the current skill run.
Do not fabricate catalysts, float conclusions, or institutional-quality claims.
If no catalyst is found, set NNewCatalyst to false and explain briefly.
If the AI phase cannot verify S or I, set the corresponding value to false instead of leaving it ambiguous.
Do not claim results are guaranteed investment advice. Always include disclaimers about risks and the need for further research.
Failure handling
If execution fails:
State exactly which phase failed: Quantitative, AI Enrichment, or Final Processing.
Include the error message when available.
Recommend the smallest next step.
If the failure is a schema mismatch, state which required field is missing or was overwritten.
CANSLIM混合分析器
使用三阶段模块化流水线分析美股:
- 1. 运行量化筛选,根据盈利、领导力和价格/成交量行为筛选候选股票。
- 使用OpenClaw AI增强评估定性催化剂、流通盘紧密度和机构质量。
- 使用固定评分合约生成最终排名的CANSLIM报告。
使用时机
当用户要求以下内容时使用此技能:
- - 对美股进行全面的CANSLIM分析。
- 筛选结合量化实力和近期催化剂的市场领导者。
- 生成带有明确达标/未达标CANSLIM标准的排名候选名单。
- 使用确定性JSON交接审核或复现流水线。
所需文件
预期本地文件:
- - quantitativeanalyzer.py
- finalprocess.py
- requirements.txt
预期生成文件:
- - intermediatecanslim.json
- enrichedcanslim.json
- finalcanslimreport.json
- canslim_analysis.log
规范JSON合约
量化阶段拥有Quantitative_Metrics。
AI阶段必须保留QuantitativeMetrics中已存在的每个字段,并且只能填写AIQualitative_Checks。
中间模式
json
{
Metadata: {
Schema_Version: 2.1,
Date_Run: 2026-03-15,
MarketDirectionM: 确认上升趋势,
TotalUniverseScanned: 503,
Successfully_Evaluated: 487,
Failed_Fetches: 16,
SkippedForMissing_Fundamentals: 39,
StocksPassedTo_AI: 27
},
Stocks: [
{
Ticker: XYZ,
Company_Name: XYZ公司,
Quantitative_Metrics: {
C_Met: true,
C_Details: 季度EPS增长率:38.0%,
QuarterlyEPSGrowth: 0.38,
EPS_Accelerating: false,
A_Met: true,
A_Details: 年度EPS复合年增长率:31.0%,
AnnualEPSGrowth: 0.31,
L_Met: true,
RS_Rating: 92.4,
SQuantMet: true,
SQuantDetails: 今日成交量 >= 50日均量1.5倍,上涨日成交量偏正,
S_Score: 2,
TodayVolumeStrong: true,
VolumeSkewPositive: true,
IQuantFlag: true,
IQuantDetails: 78.0%机构持股,
NTechnicalMet: true,
NTechnicalDetails: 距离52周高点4.0%以内,
Near52Week_High: true,
Recent_Breakout: false,
PctFromHigh: 0.04,
Current_Price: 145.2,
Float_Shares: 42000000,
Institutional_Ownership: 0.78
},
AIQualitativeChecks_Pending: {
NNewCatalyst: null,
NCatalystDetails: ,
SFloatTightness: null,
SFloatDetails: ,
IInstitutionalQuality: null,
IInstitutionalDetails:
}
}
]
}
增强模式
增强模式必须与中间模式相同,加上AI
QualitativeChecks。
json
{
Stocks: [
{
Ticker: XYZ,
Company_Name: XYZ公司,
Quantitative_Metrics: { ...: 保持不变并保留 },
AIQualitativeChecks_Pending: {
NNewCatalyst: null,
NCatalystDetails: ,
SFloatTightness: null,
SFloatDetails: ,
IInstitutionalQuality: null,
IInstitutionalDetails:
},
AIQualitativeChecks: {
NNewCatalyst: true,
NCatalystDetails: 新产品发布并上调业绩指引,
SFloatTightness: true,
SFloatDetails: 低流通量和回购活动支撑的紧流通盘,
IInstitutionalQuality: true,
IInstitutionalDetails: 高质量机构赞助正在改善
}
}
]
}
执行规则
严格按照以下清单执行:
- 1. 验证文件:确认quantitativeanalyzer.py、finalprocess.py和requirements.txt存在。
- 2. 创建环境:
bash
python3 -m venv canslim_analysis
source canslim_analysis/bin/activate # Linux/Mac
canslim_analysis\Scripts\activate # Windows
- 3. 安装依赖:
bash
pip install --no-cache-dir -r requirements.txt
- 4. 运行量化分析:
bash
python quantitative_analyzer.py
- 5. 验证中间输出:确认intermediatecanslim.json存在并包含Metadata、Stocks、QuantitativeMetrics和AIQualitativeChecks_Pending。
- 6. 运行OpenClaw AI增强:
- - 读取intermediate_canslim.json。
- - 对每只股票,保持Ticker、CompanyName和整个QuantitativeMetrics对象不变。
- - 添加AIQualitativeChecks,包含以下字段的值:
- NNewCatalyst
- NCatalystDetails
- SFloatTightness
- SFloatDetails
- IInstitutionalQuality
- IInstitutionalDetails
- 7. 写入增强输出:enriched_canslim.json
- 8. 运行最终处理:
bash
python final_process.py
- 9. 显示结果:读取finalcanslimreport.json并展示股票的排名列表、CANSLIM分数、达标标准、未达标标准、价格、RS评级和催化剂说明。
- 10. 清理:
bash
deactivate
评分合约
使用以下精确的最终评分模型:
C: QuantitativeMetrics.CMet
A: QuantitativeMetrics.AMet
L: QuantitativeMetrics.LMet
M: Metadata.MarketDirectionM == 确认上升趋势
N: AIQualitativeChecks.NNewCatalyst == true
S: QuantitativeMetrics.SQuantMet == true 且 AIQualitativeChecks.SFloat_Tightness == true
I: AIQualitativeChecks.IInstitutionalQuality == true
解释指南
N
TechnicalMet是支持性的技术背景,并非评分中的N字母本身。
IQuantFlag是参考背景,并非评分中的I字母本身。
如果OpenClaw无法验证新的催化剂,一只股票即使有强大的技术N支持仍可能错过最终的N。
如果OpenClaw无法验证紧流通盘或回购支持,一只股票即使有强劲的成交量积累仍可能错过最终的S。
输出格式
按以下结构返回最终面向用户的答案:
市场环境:
<对M标准的1-2句评估>
顶级CANSLIM候选:
| 排名 | 股票代码 | 公司 | CANSLIM分数 | 达标标准 | 未达标标准 | 价格 | RS评级 | AI催化剂说明 |
|---|
| 1 | XYZ | XYZ公司 | 6/7 | C, A, N, S, L, I | M | $145.20 | 92.4 | 新产品发布并上调业绩指引 |
AI催化剂洞察:
XYZ:已确认新催化剂;流通盘紧密度和机构赞助也已验证。
注意事项与风险提示:
在相关时提及缺失数据、缺乏催化剂确认或市场趋势警示。
约束条件
切勿全局安装依赖。
始终使用canslim_analysis虚拟环境。
仅使用当前技能运行生成的文件。
不得编造催化剂、流通盘结论或机构质量声明。
如果未找到催化剂,将NNewCatalyst设为false并简要说明。
如果AI阶段无法验证S或I,将相应值设为false,而非留空。
不得声称结果是保证的投资建议。始终包含关于风险及需要进一步研究的免责声明。
失败处理
如果执行失败:
准确说明哪个阶段失败:量化、AI增强或最终处理。
在可用时包含错误消息。
推荐最小的下一步操作。
如果失败是模式不匹配,说明哪个必需字段缺失或被覆盖。