Compare and select investment vehicles including mutual funds, ETFs, index funds, and separately managed accounts. Use when the user asks about ETF vs mutual fund, expense ratios, fund tax efficiency, ETF creation/redemption, tracking error, or share class comparisons. Also trigger when users mention 'which fund should I buy', 'Vanguard vs Fidelity', 'index fund costs', '12b-1 fees', 'load vs no-load', 'SMA vs ETF', 'fund turnover ratio', 'securities lending', or ask how fees compound over time.
npx skills add https://github.com/JoelLewis/finance_skills --skill fund-vehicles
Total annual cost as a percentage of AUM, deducted from fund returns. Includes management fees, administrative costs, and sometimes 12b-1 distribution fees. The expense ratio is the single most predictive factor of future fund performance — lower-cost funds consistently outperform higher-cost funds within the same category.
The actual return gap between a fund and its benchmark index over a period. Tracking difference = Fund Return - Index Return. Expense ratio is a floor for tracking difference, but additional factors (securities lending income, sampling, cash drag, trading costs) can make tracking difference better or worse than the expense ratio.
The general tax-efficiency hierarchy: ETFs > index mutual funds > actively managed mutual funds.
Authorized Participants (APs) create ETF shares by delivering a basket of the underlying securities in-kind, and redeem by receiving securities in-kind. These in-kind transfers do not trigger capital gains, so ETFs rarely distribute gains. Mutual funds must sell securities to meet redemptions, distributing the resulting gains to all remaining shareholders — taxable events even for buy-and-hold investors.
Funds can lend their holdings to short sellers in exchange for a fee. This revenue can partially or fully offset fund expenses, sometimes resulting in tracking difference better than the expense ratio. Large index funds are major securities lenders.
Measures how frequently a fund buys and sells its holdings. Higher turnover leads to more taxable capital gains distributions, higher transaction costs, and greater market impact. Typical turnover: index funds 3-10%, active funds 50-200%+.
| Formula | Expression | Use Case |
|---------|-----------|----------|
| Expense Drag (annual) | AUM × Expense Ratio | Annual cost of fund ownership |
| Tracking Difference | Fund Return - Index Return | Actual cost of indexing |
| Fee Impact (compounded) | FV = PV × (1 + r - ER)^n vs PV × (1 + r)^n | Long-term fee drag |
| Tax Cost Ratio | Pre-Tax Return - After-Tax Return | Tax efficiency measure |
| NAV | (Total Assets - Liabilities) / Shares Outstanding | Fund share value |
Given: $100,000 invested for 30 years at 8% gross return. Fund A: 0.03% expense ratio. Fund B: 0.75% expense ratio.
Calculate: Final values and fee drag for each fund
Solution:
Fund A: $100,000 × (1 + 0.08 - 0.0003)^30 = $100,000 × (1.0797)^30 = $997,914
Fund B: $100,000 × (1 + 0.08 - 0.0075)^30 = $100,000 × (1.0725)^30 = $816,430
Difference: $997,914 - $816,430 = $181,484
The 0.72% annual fee difference (0.75% - 0.03%) compounds to $181,484 over 30 years — approximately 18% of the low-cost fund's terminal value. This is wealth destroyed by fees for an identical gross return.
Given: Identical S&P 500 portfolios, $100,000 invested for 20 years. Gross return 10%, expense ratio 0.03% for both, so both grow at 9.97% before distribution taxes. The ETF distributes $0 in capital gains (in-kind redemptions). The mutual fund distributes 2% of NAV in long-term capital gains each year-end. The investor is in the 20% LTCG bracket.
Assumptions: Distributions are taxed at 20% in the year received; the after-tax remainder is reinvested and adds to cost basis. Both positions are liquidated after year 20, with remaining unrealized gains taxed at 20%.
Calculate: After-tax liquidation values
Solution:
ETF — all gains deferred until sale:
Mutual fund — year-by-year, each year the position grows 9.97%, distributes 2% of NAV, and pays 20% tax on the distribution (equivalent to multiplying by 1.0997 × 0.996 each year):
The ETF's tax deferral advantage is $555,272 - $533,150 = $22,122 over 20 years on this $100,000 investment — the cost of paying tax annually instead of letting the full balance compound until sale.
uv run scripts/fund_vehicles.py
The PEP 723 header resolves the numpy dependency automatically. Alternatively run python3 scripts/fund_vehicles.py after pip install numpy.
--verify re-runs the demo computations and asserts the outputs match this skill's worked examples (prints PASS/FAIL, nonzero exit on mismatch).--help lists the available classes.The file is primarily meant to be imported as a module, e.g. from fund_vehicles import ExpenseAnalysis, TrackingAnalysis, TaxEfficiency.
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take joellewis/fund-vehicles from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.