Install
$ agentstack add skill-broomva-skills-investment-management ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Investment Management
Full-stack investment management: from philosophy to execution. Research, analyze, decide, execute, track, and optimize across traditional and alternative asset classes.
Financial Management Stack
finance-substrate (Layer 1: Accounting & Tax)
├── Bank transaction import, certificate parsing
├── Form 210 tax projection, DIAN integration
├── Parafiscales, patrimonio, retenciones
└── Gmail document collector
↓
wealth-management (Layer 2: Planning & Projections)
├── Compound growth projections
├── Goal-based planning, Monte Carlo
├── Portfolio summary & asset allocation
└── Budget planning with tax savings
↓
investment-management (Layer 3: Analysis & Execution) ← THIS SKILL
├── RESEARCH: Market data, fundamentals, screening
├── ANALYZE: Factor models, backtests, risk metrics
├── DECIDE: Philosophy-driven frameworks, scoring
├── EXECUTE: Trade via APIs (Alpaca, Coinbase, Polymarket)
├── TRACK: Multi-platform position aggregation
└── OPTIMIZE: Rebalancing, tax-loss harvesting, lot management
Investment Philosophies (Built-in Frameworks)
The skill embeds decision frameworks from legendary investors. Each philosophy is a scoring lens that can be applied to any investment.
Value (Buffett/Graham/Munger)
| Principle | Implementation | |-----------|---------------| | Economic moat analysis | Score competitive advantage: brand, network, switching cost, scale | | Margin of safety | Require 25%+ discount to intrinsic value (DCF, owner earnings) | | Circle of competence | Flag unfamiliar sectors; require deeper research threshold | | Owner earnings | Net income + depreciation - capex (not GAAP earnings) | | Quality over price | ROIC > WACC, consistent ROE > 15%, low debt/equity |
Systematic (Dalio/AQR)
| Principle | Implementation | |-----------|---------------| | All-Weather allocation | Risk-parity: equal risk contribution from growth, inflation, deflation | | Factor exposure | Decompose returns into market, value, momentum, quality, size | | Risk parity | Weight by inverse volatility, target equal risk contribution | | Regime awareness | Detect growth/inflation quadrant, adjust allocation | | Correlation regime | Monitor rolling correlations; diversification fails in crises |
Passive/Index (Bogle)
| Principle | Implementation | |-----------|---------------| | Three-fund portfolio | Total market + international + bonds; rebalance annually | | Minimize costs | Flag any fund with expense ratio > 0.20% | | Tax efficiency | Index funds in taxable, bonds in tax-deferred | | Stay the course | Reject market timing; dollar-cost average | | Simple beats complex | Baseline comparison for every active strategy |
Second-Level Thinking (Marks)
| Principle | Implementation | |-----------|---------------| | Consensus vs reality | Flag positions where market consensus is priced in | | Risk is not volatility | Focus on permanent capital loss, not price fluctuation | | Market cycles | Track Shiller CAPE, yield spreads, sentiment indicators | | Asymmetric outcomes | Seek situations where upside >> downside | | Know what you don't know | Confidence-weighted recommendations |
Barbell (Taleb)
| Principle | Implementation | |-----------|---------------| | 85% ultra-safe + 15% high-convexity | Split portfolio into safe (CDTs, treasuries) + optionality (crypto, VC, prediction markets) | | Antifragile positions | Identify investments that benefit from volatility | | Avoid the middle | Skip mediocre risk-return profiles | | Small bets, big payoffs | Position size by max loss tolerance, not expected return |
Skill Modes
1. screen — Security Screening
Search and filter stocks, ETFs, crypto, and other securities by criteria.
Script: scripts/screener.py
Screening criteria:
- Fundamental: P/E, P/B, EV/EBITDA, FCF yield, ROIC, ROE, debt/equity, dividend yield
- Technical: RSI, MACD signal, price vs 200-day MA, 52-week range position
- Quality: earnings consistency, revenue growth, margin stability
- Momentum: 1/3/6/12-month returns, relative strength
- Value composite: Piotroski F-Score, Greenblatt Magic Formula rank
- Size: market cap filters
Data sources: yfinance, Financial Modeling Prep, OpenBB
2. research — Deep Investment Research — (Planned — not yet implemented)
In-depth analysis of a specific security or market.
Status: Planned — scripts/research.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Analysis includes:
- Company overview and business model
- Financial statement analysis (3-5 year trends)
- Valuation: DCF, comparable companies, dividend discount
- Competitive landscape and moat assessment
- Risk factors and bear case
- Catalyst identification
- Philosophy alignment score (which frameworks support/oppose)
Data sources: yfinance fundamentals, SEC EDGAR (edgartools), news sentiment (FinBERT)
3. factor — Factor Analysis — (Planned — not yet implemented)
Decompose portfolio returns into systematic factor exposures.
Status: Planned — scripts/factor_analysis.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Factors analyzed:
- Fama-French 5 factors: Market, Size (SMB), Value (HML), Profitability (RMW), Investment (CMA)
- Momentum (UMD)
- Quality (QMJ from AQR)
- Alpha: residual return not explained by factors
Output: Factor loadings, R², alpha significance, factor exposure drift over time
4. backtest — Strategy Backtesting
Test investment strategies against historical data.
Script: scripts/backtest.py
Built-in strategies:
- Buy and hold (benchmark)
- Equal-weight rebalanced
- Risk parity (inverse vol)
- Momentum (top N by 12-1 month return)
- Value (top N by composite score)
- All-Weather (Dalio's 4-quadrant allocation)
- Custom (user-defined rules)
Metrics: CAGR, Sharpe, Sortino, max drawdown, Calmar, win rate, average gain/loss
5. optimize — Portfolio Optimization — (Planned — not yet implemented)
Find optimal portfolio weights given constraints.
Status: Planned — scripts/portfolio_optimizer.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Methods:
- Mean-variance (Markowitz efficient frontier)
- Black-Litterman (market equilibrium + personal views)
- Hierarchical Risk Parity (HRP, no covariance inversion)
- Risk budgeting (equal risk contribution)
- Maximum Sharpe, minimum volatility, target return
- CVaR optimization (tail-risk aware)
Constraints: Long-only, sector limits, position size caps, turnover limits, tax-awareness
Libraries: PyPortfolioOpt, Riskfolio-Lib, cvxpy
6. risk — Risk Analysis — (Planned — not yet implemented)
Comprehensive risk assessment of current or proposed portfolio.
Status: Planned — scripts/risk_analysis.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Metrics:
- Value at Risk (parametric, historical, Monte Carlo)
- Conditional VaR (Expected Shortfall)
- Maximum drawdown analysis
- Stress tests: 2008 GFC, 2020 COVID, 2022 rates, COP devaluation
- Correlation regime analysis (rolling correlations)
- GARCH volatility forecast
- Concentration risk and single-name exposure
7. trade — Trade Execution — (Planned — not yet implemented)
Execute trades via supported platform APIs.
Status: Planned — scripts/trade.py is not yet shipped. Do not invoke; this mode is a roadmap stub. (For a working, paper-only execution loop today, use services/tradingview-bridge — see below.)
Supported platforms:
| Platform | Assets | Auth | Library | |----------|--------|------|---------| | Alpaca | US stocks, ETFs | API key pair | alpaca-trade-api | | Coinbase | Crypto | CDP API key + JWT | coinbase-advanced-py | | Polymarket | Prediction markets | Wallet signature | py-clob-client | | Interactive Brokers | Everything | TWS API | ib_async |
Features:
- Paper trading mode (default) — no real money until explicitly confirmed
- Order types: market, limit, stop-loss
- Position sizing: Kelly criterion, fixed fractional, risk-budget
- Pre-trade checks: liquidity, spread, portfolio impact
8. track — Multi-Platform Position Tracking — (Planned — not yet implemented)
Aggregate positions across all investment platforms.
Status: Planned — scripts/tracker.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Sources (in priority order):
- API-connected platforms (Alpaca, Coinbase) — real-time
- finance-substrate certificates (Skandia, Davivienda, etc.) — periodic
- Browser-automated platforms (Tyba, Trii, Davivienda Corredores) — via agent-browser
- Manual entries (portfolio.json) — user-maintained
Output: Unified position list with cost basis, current value, unrealized gain/loss, allocation %
9. rebalance — Intelligent Rebalancing — (Planned — not yet implemented)
Generate and optionally execute rebalancing trades.
Status: Planned — scripts/rebalancer.py is not yet shipped. Do not invoke; this mode is a roadmap stub.
Rebalancing modes:
- Cash-flow (direct new contributions to underweight positions)
- Threshold (trigger when drift exceeds band)
- Tax-aware (prefer loss-harvesting sells, defer gains)
- Calendar (monthly/quarterly/annual schedule)
Tax-loss harvesting:
- Scan for positions with unrealized losses
- Identify replacement securities (correlated but not identical)
- Track wash sale windows (30 days US; no equivalent in Colombia)
- Estimate tax savings
10. data — Market Data Retrieval
Fetch market data from multiple sources.
Script: scripts/market_data.py
Sources:
| Source | Data | Cost | Library | |--------|------|------|---------| | yfinance | US/intl stocks, fundamentals | Free | yfinance | | Financial Modeling Prep | Financial statements, ratios | Free tier | fmpsdk | | CoinGecko | Crypto prices, market data | Free tier | pycoingecko | | FRED | Macro indicators (800K series) | Free | fredapi | | datos.gov.co | TRM (USD/COP) | Free | requests | | Banco de la República | CPI, interest rates | Free | requests | | Alpha Vantage | Technical data, forex | Free tier | alpha_vantage | | Polymarket | Prediction market odds | Free | py-clob-client |
11. score — Investment Scoring
Score a security through multiple investment philosophy lenses.
Script: scripts/scorer.py
Scoring dimensions:
- Value score (Graham/Buffett): P/E, P/B, FCF yield, moat rating
- Quality score (Munger): ROIC, margin stability, debt discipline
- Momentum score: price momentum, earnings momentum, analyst revisions
- Risk score (Marks): downside volatility, max drawdown, tail risk
- Growth score (Lynch): revenue growth, PEG ratio, addressable market
- Composite score: weighted average across all dimensions
Output: 0-100 score per dimension, overall composite, philosophy alignment
Asset Class Coverage
Traditional
| Class | Screening | Research | Trading | Tracking | |-------|-----------|----------|---------|----------| | US Stocks | yfinance, FMP | EDGAR, fundamentals | Alpaca, IBKR | API | | International Stocks | yfinance | Limited fundamentals | IBKR | API | | ETFs | yfinance | Holdings analysis | Alpaca, IBKR | API | | Bonds/Fixed Income | FRED yield curves | Duration, credit | IBKR | Manual | | CDTs (Colombia) | Superfinanciera rates | Yield comparison | Manual | Certificates |
Alternative
| Class | Screening | Research | Trading | Tracking | |-------|-----------|----------|---------|----------| | Crypto | CoinGecko, CMC | On-chain, sentiment | Coinbase, Binance | API | | Prediction Markets | Polymarket API | Market analysis | Polymarket CLOB | API | | Real Estate | Manual | Cap rate, appreciation | Manual | Exogena/manual | | VC/Startups | Manual | Due diligence framework | Manual | Manual | | Colombian Equities | Yahoo (BVC tickers) | Limited | Davivienda Corredores (browser) | Browser/manual |
Tax-Advantaged (Colombia)
| Vehicle | Max Benefit | Tracking | |---------|-----------|----------| | AFC (Davivienda) | 1,340 UVT cap | finance-substrate certs | | Pensión Voluntaria (Skandia) | Combined w/ AFC | finance-substrate certs | | Cesantías | Forced savings | finance-substrate certs |
Platform Integration Architecture
investment-management
│
├── API-first (real-time)
│ ├── Alpaca ──── US stocks, ETFs (paper + live)
│ ├── Coinbase ── Crypto (BTC, ETH, SOL, etc.)
│ ├── Polymarket ── Prediction markets
│ ├── CoinGecko ── Crypto market data
│ ├── FRED ──── Macro indicators
│ └── yfinance ── Stock data, fundamentals
│
├── Browser-automated (agent-browser)
│ ├── Davivienda Corredores ── Colombian equities
│ ├── Tyba ── Colombian robo-advisor
│ ├── Skandia Portal ── Pension fund data
│ └── MiDataCredito ── Credit profile
│
├── File-based (finance-substrate)
│ ├── certificates.jsonl ── Bank saldos, investment funds
│ ├── exogena.jsonl ── Third-party reported assets
│ └── salary-history.jsonl ── Income trajectory
│
└── Manual (portfolio.json)
├── Private investments
├── Real estate
└── VC/startup positions
Autonomous decision plane — services/tradingview-bridge
A self-contained, paper-only, human-gated trading control system: a webhook receiver + multi-broker executor, plus a closed self-improving loop — research (walk-forward + anti-overfit scoring), optimize (EGRI param search with a true train/test holdout), and roster (human-gated promotion of optimized params into the roster the orchestrator measures). Drives TradingView's Paper simulator via the Interceptor CLI (no inbound API), or runs the entire decision loop on synthetic/CSV bars with no browser or broker. It measures and recommends — it never moves live capital on its own.
→ [services/tradingview-bridge/QUICKSTART.md](./services/tradingview-bridge/QUICKSTART.md) (install + the loop in 60 seconds) · [full reference](./services/tradingview-bridge/README.md)
Quantitative Toolkit
Libraries Used
| Purpose | Library | Install | |---------|---------|---------| | Portfolio optimization | PyPortfolioOpt | pip install pyportfolioopt | | Advanced risk optimization | Riskfolio-Lib | pip install riskfolio-lib | | Custom optimization | cvxpy | pip install cvxpy | | Volatility modeling | arch | pip install arch | | Technical indicators | pandas-ta | pip install pandas_ta | | Factor data | pandas-datareader | pip install pandas-datareader | | Backtesting | VectorBT | pip install vectorbt | | Sentiment | transformers (FinBERT) | pip install transformers | | Fundamental data | edgartools | pip install edgartools | | Macro data | fredapi | pip install fredapi |
Key Formulas
| Formula | Expression | Use | |---------|-----------|-----| | Sharpe Ratio | (Rp - Rf) / σp | Risk-adjusted return | | Sortino Ratio | (Rp - Rf) / σdownside | Downside risk-adjusted | | Kelly Fraction | (bp - q) / b | Optimal position size | | Intrinsic Value (DCF) | Σ FCFt / (1+r)^t + TV | Valuation | | WACC | E/(E+D)×Re + D/(E+D)×Rd×(1-T) | Discount rate | | Black-Scholes | C = S·N(d1) - K·e^(-rT)·N(d2) | Option pricing | | VaR (parametric) | μ - zα × σ | Tail risk | | CVaR | E[L \| L > VaR] | Expected tail loss | | HHI (concentration) | Σ w_i² | Diversification |
Data Directory
~/.investment-management/
├── portfolio.json # Master holdings (all platforms)
├── targets.json # Target allocation by strategy
├── watchlist.json # Securities under observation
├── trades/ # Trade history
│ └── trades.jsonl # All executed trades
├── research/ # Security research cache
│ └── research-{ticker}.json
├── backtests/ # Backtest results
│ └── backtest-{strategy}-{date}.json
├── scores/ # Investment scores
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [broomva](https://github.com/broomva)
- **Source:** [broomva/skills](https://github.com/broomva/skills)
- **License:** MIT
- **Homepage:** https://skills.sh/broomva/skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.