~kris/dots

srice

srice/doc/trading/research-cli-tools.md -rw-r--r-- 4.4 KiB
e98f3b03 — Kris Yotam chore: sync local state after restore (push updates, no pull) a month ago

#title: "CLI Tools for Trading on Arch Linux" date: 2026-05-21 source: agent research

#CLI Tools for Trading

Terminal utilities, shell functions, and command-line tools for a systematic trader on Arch Linux with fish shell.

#Terminal Stock Tickers and Portfolio Trackers

Tool Language Stars Install What It Does
ticker Go 6.1k yay -S ticker Real-time stock/crypto/derivatives prices with position management and live P&L tracking
tickrs Rust 1.6k yay -S tickrs Portfolio tracking with holdings config, vim-style keybindings
stonks Go 564 yay -S stonks ASCII stock graphs in terminal, multi-symbol
cointop Go 4.3k yay -S cointop Interactive crypto tracker (htop-style, vim keybindings)
mop Go 2.1k AUR or build Stock market tracker with expression-based filtering (price > 100 AND change > 2%)

#Terminal Charting (Candlesticks in Terminal)

Tool Language Stars Install What It Does
tstock Rust ~400 yay -S tstock tstock aapl gives 3-month candlestick chart. Stocks, crypto, forex auto-detection.
cli-candlestick-chart Rust 309 cargo install cli-candlestick-chart Candlestick charts from CSV/JSON input, custom colors, Binance API examples

#Broker API CLI Tools

Tool Language What It Does
alpaca-cli Go Official Alpaca CLI. Submit orders, pull market data, manage account. OAuth auth. Paper trading default.
ibkr-cli Python Local-first CLI for Interactive Brokers via ib_async. Account management, trading, market data, Flex Queries.

#Financial Data CLI

Tool Language Stars What It Does
yfinance Python 13k+ Download market data from Yahoo Finance, no API key. Prototyping only.
tiingo-python Python 200+ Python client for Tiingo (stock tickers, news, real-time data). Better quality than yfinance.
polygon-python Python 400+ Complete Polygon.io wrapper (stocks, options, streaming, forex, crypto). Paid API key.
cryptofeed Python 2k+ Crypto exchange websocket feed handler. 30+ exchanges, normalized feeds, multiple backends (Redis, Postgres, etc.).

#Accounting and Tax

Tool Language Stars What It Does
Beancount + Fava Python 2.5k + 1.2k Plain-text double-entry accounting with cost basis tracking and capital gains. Fava provides web UI. Superior for crypto lot-tracking.
hledger Haskell 2.8k pacman -S hledger. Plain-text accounting, converts to/from Beancount.

#Dashboard

Tool Language Stars What It Does
wtfutil Go 15k+ Personal terminal dashboard with Yahoo Finance module, Finnhub stocks, Git, GitHub, and 50+ other modules. YAML config.

#Fish Shell Functions

No pre-existing collection exists. Build these in ~/.config/fish/functions/:

# Quick price check (requires ticker)
function price
    ticker -c $argv
end

# Crypto prices
function crypto
    cointop
end

# Quick chart (requires tstock)
function chart
    tstock $argv
end

# Market screener
function screen
    mop
end

# Beancount trade log
function trade-log
    bean-query ~/trading/accounts.beancount "SELECT date, narration, cost, price WHERE meta_type='trade'"
end
  1. Real-time monitoring: ticker (stocks) + cointop (crypto) in tmux panes
  2. Technical analysis: tstock aapl for quick charts before entry
  3. Order placement: alpaca-cli (Alpaca) or ibkr-cli (Interactive Brokers)
  4. Data backfill: yfinance (free) or tiingo-python (better data)
  5. Accounting: Beancount + Fava for post-trade reconciliation and tax tracking
  6. Dashboard: wtfutil config with yfinance module for all-in-one monitoring