Tushare Data
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
Construcción y optimización cuantitativa de portafolios: Markowitz (scipy.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO…
$ npx skills add gauss314/skills --skill portfolio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gauss314/skills portfolio --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/portfolio .claude/skills/portfolio && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .claude/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gauss314/skills/tree/main/skills/portfolioType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gauss314/skills --skill portfolio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gauss314/skills portfolio --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/portfolio .agents/skills/portfolio && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .agents/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gauss314/skills --skill portfolio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gauss314/skills portfolio --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/portfolio .cursor/skills/portfolio && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .cursor/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gauss314/skills.git --path skills/portfolio--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gauss314/skills --skill portfolio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gauss314/skills portfolio --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/portfolio .gemini/skills/portfolio && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .gemini/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gauss314/skills portfolioInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gauss314/skills --skill portfolio -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/portfolio .github/skills/portfolio && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .github/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gauss314/skills --skill portfolio -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gauss314/skills portfolio --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gauss314/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/portfolio .opencode/skills/portfolio && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "portfolio" agent skill from https://github.com/gauss314/skills/tree/main/skills/portfolio into .opencode/skills/portfolio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "portfolio", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
portfolioConstrucción y optimización cuantitativa de portafolios: Markowitz (scipy.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO…
Portfolio is an agent skill from gauss314/skills. Construcción y optimización cuantitativa de portafolios: Markowitz (scipy.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO (clustering jerárquico, risk parity, NCO con restricciones). Todo flat numpy + scipy, sin Riskfolio-Lib ni PyPortfolioOpt.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including scripts, reference files and assets (for example `assets/defaults.json`, `assets/sample_mcaps.json` and `references/BLACK_LITTERMAN.md`).
It sits in Business, Finance & HR. It works with NumPy. The repository describes itself as: Financial market data consumption skills for claude code and AI agents. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5156f81. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 5 files in scripts/ (Python, from the files we listed), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
papers.ssrn.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Portfolio loads about 2.4k tokens when it runs, and up to ~5.3k if it reads all its reference files. Until then it costs about 81 tokens; SKILL.md has 422 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from gauss314/skills at commit 5156f81, republished under its MIT licence (© gauss314). 422 words, ~2,427 tokens.
.claude/skills/portfolio/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.Este skill implementa 3 enfoques de optimización de portafolios desde el material del curso
(notebook Clase_08_teoria_2025_portafolio.ipynb y PDF Portafolios 2025 Ucema.pdf):
scipy.optimizeTodos los scripts usan solo numpy, pandas y scipy. Sin dependencias pesadas.
Este skill es autónomo: funciona sin skills/backtesting.
Para ratios de performance post-optimización (Sharpe, Sortino, VaR, drawdowns, etc.)
consultar el skill hermana:
skills/backtesting.
Part of the Gauss314 Skills Repository.
skills/portfolio/
├── SKILL.md ← Este archivo
├── references/
│ ├── PORTFOLIO_THEORY.md ← MPT, Markowitz, frontera eficiente (ES)
│ ├── BLACK_LITTERMAN.md ← BL: prior, views, posterior, omega (ES)
│ ├── HIERARCHICAL.md ← HRP, HERC, NCO, clustering (ES)
│ └── RISK_MEASURES.md ← VaR, CVaR, MAD, MSV, DR, MDD (ES)
├── assets/
│ ├── sample_prices.csv ← Precios multi-activo para ejemplos
│ ├── sample_returns.csv ← Retornos multi-activo
│ ├── sample_mcaps.json ← Market caps para Black-Litterman
│ └── defaults.json ← Parámetros default
├── scripts/
│ ├── __init__.py
│ ├── portfolio.py ← Core: Markowitz, Sharpe, Monte Carlo, frontera
│ ├── black_litterman.py ← BL: prior, posterior, omega, views
│ ├── hierarchical.py ← HRP/HERC/NCO: clustering, risk parity, constraints
│ ├── risk_measures.py ← VaR, CVaR, MAD, MSV, MDD, DR
│ ├── covariance.py ← Covarianza: hist, ledoit-wolf, oas, ewma
│ └── cli.py ← CLI unificada (12 modos)
└── tests/
├── __init__.py
└── test_portfolio.py ← Tests + validación contra notebook| Script | Rol | Funciones clave |
|---|---|---|
portfolio.py | Core de optimización Markowitz | max_sharpe_optim, min_variance_optim, random_portfolios, efficient_frontier, cml_portfolio, asset_stats |
black_litterman.py | Black-Litterman completo | market_implied_risk_aversion, market_implied_prior_returns, bl_posterior_returns, omega_idzorek |
hierarchical.py | HRP / HERC / NCO | hrp_portfolio, herc_portfolio, nco_portfolio, nco_with_constraints, hrp_constraints |
risk_measures.py | Medidas de riesgo | var_historic, cvar, max_drawdown, cdar, diversification_ratio, risk_contribution |
covariance.py | Estimación de covarianza | cov_hist, cov_ledoit_wolf, cov_oas, cov_ewma |
# Max Sharpe con 3 activos
py scripts/cli.py markowitz --assets assets/sample_returns.csv
# Con tasa libre de riesgo personalizada
py scripts/cli.py markowitz --assets assets/sample_returns.csv --rf 0.05
# Estadísticas individuales
py scripts/cli.py stats --assets assets/sample_returns.csv# Simular 10.000 carteras aleatorias
py scripts/cli.py montecarlo --assets assets/sample_returns.csv
# Guardar frontera a CSV
py scripts/cli.py montecarlo --assets assets/sample_returns.csv --save frontier.csvpy scripts/cli.py frontier --assets assets/sample_returns.csv --n 50El portafolio tangente (máximo Sharpe) se combina con el activo libre de riesgo para obtener cualquier punto sobre la Capital Market Line (CML), manteniendo el mismo Sharpe ratio.
# Portafolio tangente puro (w=1)
py scripts/cli.py cml --assets assets/sample_returns.csv --weight 1.0
# Deleverage: 60% en tangencia, 40% en Rf (menos riesgo, mismo Sharpe)
py scripts/cli.py cml --assets assets/sample_returns.csv --weight 0.6
# Leverage: pide prestado 50% a Rf, invierte 150% en tangencia (más riesgo, mismo Sharpe)
py scripts/cli.py cml --assets assets/sample_returns.csv --weight 1.5# Prior: retornos implícitos de mercado (CAPM inverso)
py scripts/cli.py bl-prior --assets assets/sample_returns.csv --market-prices assets/sample_prices.csv --mcaps assets/sample_mcaps.json
# BL completo con views + optimización
py scripts/cli.py bl --assets assets/sample_returns.csv --market-prices assets/sample_prices.csv --mcaps assets/sample_mcaps.json --views '{"BMA": 0.25, "LOMA": 0.4, "MELI": -0.1}' --confidences "0.3,0.5,0.8" --optimize# Hierarchical Risk Parity
py scripts/cli.py hrp --assets assets/sample_returns.csv
# Nested Clustered Optimization
py scripts/cli.py nco --assets assets/sample_returns.csv --clusters 3
# NCO con restricciones
py scripts/cli.py nco-con --assets assets/sample_returns.csv --constraints assets/sample_constraints.csv --classes assets/sample_classes.csv# Todas las medidas de riesgo
py scripts/cli.py risk --prices assets/sample_prices.csv
# Medida específica
py scripts/cli.py risk --prices assets/sample_prices.csv --measure varfrom scripts.portfolio import *
from scripts.black_litterman import *
from scripts.hierarchical import *
import numpy as np
# --- Markowitz ---
rets = pd.read_csv('assets/sample_returns.csv', index_col=0)
result = max_sharpe_optim(rets, rf=0.045)
print(result['weights'], result['sharpe']) # pesos óptimos, Sharpe
# --- CML: leverage/deleverage ---
# 60% en tangencia, 40% en Rf (deleverage)
cml = cml_portfolio(rets, rf=0.045, weight_tangency=0.6)
print(cml['ret'], cml['vol'], cml['sharpe']) # mismo Sharpe que el tangente
# Leverage: 150% en tangencia (pide prestado 50% a Rf)
cml2 = cml_portfolio(rets, rf=0.045, weight_tangency=1.5)
print(cml2['ret'], cml2['vol'], cml2['sharpe']) # mismo Sharpe
# --- Monte Carlo ---
port_df = random_portfolios(rets, n_portfolios=10000, rf=0.045)
best = port_df.loc[port_df['sharpe'].idxmax()]
print(best['weights']) # mejor combinación Monte Carlo
# --- Black-Litterman ---
import json
with open('assets/sample_mcaps.json') as f:
mcaps = json.load(f)
spy = pd.read_csv('assets/sample_prices.csv')['SPY'].pct_change().dropna()
bl_result = bl_pipeline(rets, spy.values, mcaps,
view_dict={'BMA': 0.25, 'LOMA': 0.4},
view_confidences=[0.3, 0.5], rf=0.045)
print(bl_result['posterior']) # retornos a posteriori
# --- HRP ---
hrp_result = hrp_portfolio(rets, linkage_method='ward')
print(hrp_result['weights']) # pesos HRP| Librería | Requerida | Uso |
|---|---|---|
numpy | ✅ | Cómputo vectorizado, álgebra lineal |
pandas | ✅ | CSV I/O, DataFrames |
scipy | ✅ | optimize (Markowitz), cluster.hierarchy (HRP/NCO), stats |
No requiere Riskfolio-Lib, PyPortfolioOpt, sklearn, cvxpy ni arch.
Para visualización (dendrogramas, frontera eficiente) se puede usar matplotlib
opcionalmente. Ejemplos de plots están en el notebook de referencia.
Para profundizar en ratios de performance (30+ métricas: Sharpe, Sortino,
VaR, cVaR, Kelly, Rachev, Profit Factor, etc.) y backtesting de estrategias:
skills/backtesting.
El contenido teórico y ejemplos numéricos de este skill están basados en:
temp/Clase_08_teoria_2025_portafolio.ipynb — Implementaciones en Python de
Markowitz, Monte Carlo, NCO (Riskfolio-Lib), Black-Litterman (PyPortfolioOpt).temp/Portafolios 2025 Ucema.pdf — Marco teórico: MPT, CAPM, Fama-French,
clustering, NCO, Black-Litterman.Las implementaciones flat numpy en scripts/ replican los resultados de esos
notebooks sin depender de las librerías mencionadas.
© gauss314, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (scripts, references, assets) in skills/portfolio of gauss314/skills.
Open the folder on GitHubat commit 5156f81
Portfolio next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Portfolio this skillgauss314/skills | 248 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Tushare Datazillionare/zillionare | 321 | 2 repos | ~2.3k | Automated safety check: Pass | None | |
| Quant Blog Writingzillionare/zillionare | 321 | — | ~895 | Automated safety check: Pass | None | |
| Vectorbtagiprolabs/claude-trading-skills | 410 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Elliott Wave Signal EngineHKUDS/Vibe-Trading | 35k | — | ~482 | Automated safety check: Pass | MIT | |
| Candlestick Pattern SignalsHKUDS/Vibe-Trading | 35k | — | ~468 | Automated safety check: Pass | MIT |
zillionare/zillionare
面向中文自然语言的 Tushare 数据研究技能。用于把“看看这只股票最近怎么样”“帮我查财报趋势”“最近哪个板块最强”“北向资金在买什么”“给我导出一份行情数据”这类请求,转成可执行的数据获取、清洗、对比、筛选、导出与简要分析流程。适用于 A 股、指数、ETF/基金、财务、估值、资金流、公告新闻、板块概念与宏观数据等研究场景。
zillionare/zillionare
撰写文笔精炼、富有深度的量化交易博文,论点清晰、证据确凿、叙事层次更加丰富。适用于量化交易博文、因子研究、回测复盘、数据源排查、市场微观结构、策略原理、风险控制、职业观察、量化人物故事等选题。文章将聚焦具体角度,提供详实的大纲、证据规划及成稿,力求内容兼具思想深度与诚实性,而非单纯口号式宣传;同时,通过人物经历、引言、贡献及行业背景的融入,让文章更具可读性和吸引力。
agiprolabs/claude-trading-skills
High-performance vectorized backtesting with parameter optimization, portfolio simulation, and rich performance metrics
HKUDS/Vibe-Trading
Detects Elliott Wave structures in price data with a Zigzag swing finder and Fibonacci checks, and turns completed waves into long, short or flat signals.
HKUDS/Vibe-Trading
Detects 15 classic candlestick patterns with vectorized pandas code and combines bullish and bearish scores into a long, short or flat trading signal.
HKUDS/Vibe-Trading
Builds event-driven analysis for A-share companies: merger arbitrage spreads, shareholder buying and selling signals, equity incentives, placements and ST or delisting warnings; Chinese text.
gauss314/skills
Academic backtesting framework for quantitative research. An agent skill from gauss314/skills.
gauss314/skills
Datos de Google Finance via batchexecute (API RPC interna sin auth ni API key).
gauss314/skills
History of Market (historyofmarket.com) — API publica con 88 datasets historicos de indices US desde 1871.
gauss314/skills
Datos macro y sociales de Argentina via la API oficial Series de Tiempo del Estado (apis.datos.gob.ar/series).
gauss314/skills
Morningstar Screener via API JSON publica: descarga masiva de 53 universes (102K+ listings, 39 paises, NYSE/Nasdaq/BCBA/etc) con 33 campos (precio, market cap, ratios, retornos…
gauss314/skills
Pricing completo de opciones europeas y americanas. An agent skill from gauss314/skills.
Works with
Categories
Construcción y optimización cuantitativa de portafolios: Markowitz (scipy.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO…. Portfolio is an agent skill from gauss314/skills.optimize + Monte Carlo), Black-Litterman (prior CAPM, views absolutas/relativas, posterior bayesiano), HRP/HERC/NCO (clustering jerárquico, risk parity, NCO con restricciones).
Portfolio fits situations like: business, Finance & HR work in your project.
Run `npx skills add gauss314/skills --skill portfolio -a claude-code`. Or copy the skill folder (skills/portfolio in gauss314/skills) into .claude/skills/portfolio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gauss314/skills --skill portfolio -a codex`. Or copy the skill folder (skills/portfolio in gauss314/skills) into .agents/skills/portfolio in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gauss314/skills --skill portfolio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/portfolio, .gemini/skills/portfolio, .github/skills/portfolio and .opencode/skills/portfolio in your project.
Going by SKILL.md and its folder, Portfolio needs Python for the scripts in its folder. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: papers.ssrn.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Portfolio is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Portfolio: Tushare Data (zillionare/zillionare, 321 stars), Quant Blog Writing (zillionare/zillionare, 321 stars), Vectorbt (agiprolabs/claude-trading-skills, 410 stars) and Elliott Wave Signal Engine (HKUDS/Vibe-Trading, 35k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gauss314 (a GitHub user) maintains it in gauss314/skills, which has 248 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 14, 2026.
Source: gauss314/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.