clarion-portfolio-monitor

Fetch TastyTrade portfolio balances, positions, and transactions into JSON snapshots and DuckDB history.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/SillyHippy/zo-skills --skill clarion-portfolio-monitor-sillyhippy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: clarion-portfolio-monitor
Source: https://github.com/SillyHippy/zo-skills/tree/main/skills/clarion-portfolio-monitor
Command: npx skills add https://github.com/SillyHippy/zo-skills --skill clarion-portfolio-monitor-sillyhippy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires tastytrade, duckdb, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Manually checking brokerage accounts for positions, P/L, and daily fills is repetitive and error-prone, and there is no auditable record of portfolio performance over time. This Skill automates pulling live TastyTrade account data and archiving every snapshot for verifiable performance history. ## Core Features & Use Cases - Live Portfolio Fetch: Retrieves account balances (NLV, cash, buying power, margin equity), open positions with cost basis and unrealized P/L, today's transactions, and 30-day NLV history via the TastyTrade OAuth API. - Structured Output: Writes a timestamped JSON snapshot, a human-readable Markdown summary, and a latest.json symlink to ~/clarion/portfolio/. - Auditable History in DuckDB: Loads snapshots into portfolio_daily and position_daily tables with idempotent upserts, plus a query tool for NLV trends, per-position history, and full audit trails. - Use Case: Schedule a daily Zo Automation after market close to snapshot the portfolio, then feed latest.json into an investor letter workflow or compare live positions against active investment theses. ## Quick Start Ask the AI to run the portfolio fetch script to pull my current TastyTrade positions and balances and show me a summary of today's P/L.

Frequently Asked Questions about clarion-portfolio-monitor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fetch my TastyTrade portfolio positions with Python?▼

Run the fetch.py script after storing TASTYTRADE_CLIENT_SECRET and TASTYTRADE_REFRESH_TOKEN as environment secrets. It authenticates via OAuth2, retrieves balances, positions, and transactions using the tastytrade SDK, and writes JSON and Markdown snapshots.

How do I track portfolio NLV history over time?▼

Load each daily JSON snapshot into DuckDB with load.py, which upserts rows into portfolio_daily and position_daily tables. Then run query.py nlv to see net liquidation value, cash, and daily P/L across all recorded dates.

Does the TastyTrade refresh token expire?▼

No, TastyTrade refresh tokens never expire, so setup is one-time. Access tokens expire in 15 minutes, but the Python SDK handles token refresh transparently using the stored client secret and refresh token.

Can I backfill historical portfolio data into DuckDB?▼

Yes, run load.py with the --history flag to load every dated JSON snapshot in the portfolio directory. The loader uses INSERT OR REPLACE, so re-running on the same date overwrites rows instead of duplicating them.

What happens if the TastyTrade API credentials are missing?▼

The fetch script exits with an error message if TASTYTRADE_CLIENT_SECRET or TASTYTRADE_REFRESH_TOKEN is not set in the environment. Both must be added as secrets before any data can be retrieved.