Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Guide users to create multi-factor stock selection strategies and generate independent YAML configuration files
Guide users to create multi-factor stock selection strategies and generate independent YAML configuration files
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Guide you to create multi-factor stock selection strategies and generate independent YAML configuration files.
# Install from PyPI (recommended) pip install quantcli # Or install from source git clone https://gitcode.com/datavoid/quantcli.git cd quantcli pip install -e . Verify installation: quantcli --help
A complete multi-factor stock selection strategy YAML example: name: Value-Growth Hybrid Strategy version: 1.0.0 description: ROE + Momentum factor stock selection screening: fundamental_conditions: # Stage 1: Financial condition screening - "roe > 0.10" # ROE > 10% - "pe_ttm < 30" # P/E < 30 - "pe_ttm > 0" # Exclude losses daily_conditions: # Stage 2: Price condition screening - "close > ma10" # Above 10-day MA limit: 100 # Keep at most 100 stocks # Factor configuration (supports two methods, factors at top level) factors: # Method 1: Inline factor definition - name: ma10_deviation expr: "(close - ma(close, 10)) / ma(close, 10)" direction: negative description: "10-day MA deviation" # Method 2: External reference (reference factor files in factors/ directory, include .yaml suffix) - factors/alpha_001.yaml - factors/alpha_008.yaml ranking: weights: # Weight fusion ma10_deviation: 0.20 # Inline factor factors/alpha_001.yaml: 0.40 # External reference factor factors/alpha_008.yaml: 0.40 normalize: zscore # Normalization method output: limit: 30 # Output top 30 stocks columns: [symbol, name, score, roe, pe_ttm, close, ma10_deviation]
Factor configuration supports two methods (can be mixed): MethodTypeExampleDescriptionInlinedict{name: xxx, expr: "..."}Define expression directly in YAMLExternalstrfactors/alpha_001.yamlLoad factor file from factors/ directory Example: Mixed usage factors: # Inline: Custom factor - name: custom_momentum expr: "close / delay(close, 20) - 1" direction: positive # External: Alpha101 factor library (include .yaml suffix) - factors/alpha_001.yaml - factors/alpha_005.yaml - factors/alpha_009.yaml ranking: weights: custom_momentum: 0.3 factors/alpha_001.yaml: 0.3 factors/alpha_005.yaml: 0.2 factors/alpha_009.yaml: 0.2 Run strategy: quantcli filter run -f your_strategy.yaml
/multi-factor-strategy
FunctionUsageDescriptiondelaydelay(x, n)Lag n periodsmama(x, n)Simple moving averageemaema(x, n)Exponential moving averagerolling_sumrolling_sum(x, n)Rolling sumrolling_stdrolling_std(x, n)Rolling standard deviation
FunctionUsageDescriptionrsirsi(x, n=14)Relative strength indexcorrelationcorrelation(x, y, n)Correlation coefficientcross_upcross_up(a, b)Golden cross (a crosses above b)cross_downcross_down(a, b)Death cross (a crosses below b)
FunctionUsageDescriptionrankrank(x)Cross-sectional ranking (0-1)zscorezscore(x)Standardizationsignsign(x)Sign functionclampclamp(x, min, max)Clipping function
FunctionUsageDescriptionwherewhere(cond, t, f)Conditional selectionifif(cond, t, f)Conditional selection (alias)
FieldDescriptionopen, high, low, closeOHLC pricesvolumeTrading volumepe, pbP/E ratio, P/B ratioroeReturn on equitynetprofitmarginNet profit margin
I will first understand your strategy needs: Strategy Type: Value, Growth, Momentum, Volatility, Hybrid Selection Count: Concentrated(10-30), Medium(50-100), Diversified(200+) Holding Period: Intraday, Short-term(week), Medium-term(month), Long-term(quarter)
Based on your strategy goals, recommend suitable factor combinations: Common Fundamental Factors: FactorExpressionDirectionDescriptionroeroepositiveReturn on equitypepenegativeLower P/E is betterpbpbnegativePrice-to-book rationetprofitmarginnetprofitmarginpositiveNet profit marginrevenue_growthrevenue_yoypositiveRevenue growth rate Common Technical Factors: FactorExpressionDirectionDescriptionmomentum(close/delay(close,20))-1positiveN-day momentumma_deviation(close-ma(close,10))/ma(close,10)negativeMA deviationma_slope(ma(close,10)-delay(ma(close,10),5))/delay(ma(close,10),5)positiveMA slopevolume_ratiovolume/ma(volume,5)negativeVolume ratio Alpha101 Built-in Factors (can reference {baseDir}/alpha101/alpha_XXX): QuantCLI includes 40 WorldQuant Alpha101 factors that can be directly referenced: FactorCategoryDescriptionalpha101/alpha_001Reversal20-day new high then declinealpha101/alpha_002ReversalDown volume bottomalpha101/alpha_003VolatilityLow volatility stabilityalpha101/alpha_004Capital FlowNet capital inflowalpha101/alpha_005TrendUptrendalpha101/alpha_008Capital FlowCapital inflowalpha101/alpha_009MomentumLong-term momentumalpha101/alpha_010ReversalMA deviation reversalalpha101/alpha_011 ~ alpha_020ExtendedVolatility, momentum, price-volume factorsalpha101/alpha_021 ~ alpha_030ExtendedPrice-volume, trend, strength factorsalpha101/alpha_031 ~ alpha_040ExtendedPosition, volatility, capital factors View all built-in factors: quantcli factors list Usage Example: factors: - alpha101/alpha_001 # Reversal factor - alpha101/alpha_008 # Capital inflow - alpha101/alpha_029 # 5-day momentum ranking: weights: alpha101/alpha_001: 0.4 alpha101/alpha_008: 0.3 alpha101/alpha_029: 0.3 Screening Conditions Example: screening: conditions: - "roe > 0.10" # ROE > 10% - "netprofitmargin > 0.05" # Net profit margin > 5%
Allocate weights based on factor importance, 0 means only for screening, not scoring: ranking: weights: # Fundamental factors roe: 0.30 pe: 0.20 # Technical factors ma_deviation: 0.30 momentum: 0.20 normalize: zscore
I will generate a complete strategy YAML file for you: name: Your Strategy Name version: 1.0.0 description: Strategy description # Stage 1: Fundamental screening screening: conditions: - "roe > 0.10" - "pe < 30" limit: 200 # Stage 2: Technical ranking ranking: weights: roe: 0.30 pe: 0.20 ma_deviation: 0.30 momentum: 0.20 normalize: zscore output: columns: [symbol, score, rank, roe, pe, momentum] limit: 30
Run strategy: quantcli filter run -f your_strategy.yaml --top 30 Evaluation points: Selected stock count: Check if screening conditions are reasonable Factor distribution: Distribution of factor scores Industry diversification: Avoid over-concentration
Q: How to allocate factor weights? A: Core factors 0.3-0.4, auxiliary factors 0.1-0.2, ensure weights sum close to 1 Q: Screening conditions too strict resulting in empty results? A: Gradually relax conditions, first see how many stocks meet each condition Q: What expression syntax is supported? A: Supports 40+ built-in functions: ma(), ema(), delay(), rolling_sum(), rsi(), rank(), zscore(), etc.
Writing, remixing, publishing, visual generation, and marketing content production.
Largest current source with strong distribution and engagement signals.