MCPcopy Index your code
hub / github.com/achannarasappa/ticker

github.com/achannarasappa/ticker @v5.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.3.0 ↗ · + Follow
340 symbols 931 edges 77 files 148 documented · 44% 87 cross-repo links updated 11d agov5.3.0 · 2026-06-21★ 6,13124 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<a href="https://github.com/achannarasappa/ticker/releases"><img src="https://img.shields.io/github/v/release/achannarasappa/ticker" alt="Latest Release"></a>
<a href="https://github.com/achannarasappa/ticker/actions"><img src="https://github.com/achannarasappa/ticker/workflows/test/badge.svg" alt="Build Status"></a>
<a href='https://coveralls.io/github/achannarasappa/ticker?branch=master'><img src='https://coveralls.io/repos/github/achannarasappa/ticker/badge.svg?branch=master' alt='Coverage Status' /></a>
<a href='https://goreportcard.com/badge/github.com/achannarasappa/ticker'><img src='https://goreportcard.com/badge/github.com/achannarasappa/ticker' alt='Report Card' /></a>

Ticker

Terminal stock & crypto price watcher and position tracker ## Features * Live stock & crypto price quotes * Track value of your stock positions * Support for multiple cost basis lots * Support for pre and post market price quotes ## Install Download the pre-compiled binaries from the [releases page](https://github.com/achannarasappa/ticker/releases) and copy to a location in `PATH` or see quick installs below **homebrew**
brew install achannarasappa/tap/ticker
**linux**
curl -Ls https://api.github.com/repos/achannarasappa/ticker/releases/latest \
| grep -wo "https.*linux-amd64*.tar.gz" \
| wget -qi - \
&& tar -xvf ticker*.tar.gz ticker \
&& chmod +x ./ticker \
&& sudo mv ticker /usr/local/bin/
**windows**
winget install -e --id achannarasappa.ticker
**docker**
docker run -it --rm achannarasappa/ticker
Note: config file can be mounted from the host machine by using a bind mount with `-v ~/.ticker.yaml:/.ticker.yaml` **snap**
sudo snap install ticker
sudo snap connect ticker:ticker-config
Note: config file will need to be set with `--config $HOME/ticker.yaml` since Snap does not allow access to dotfiles ### Third-party repositories These repositories are maintained by a third-party and may not have the latest versions available **MacPorts**
sudo port selfupdate
sudo port install ticker
## Quick Start
ticker -w NET,AAPL,TSLA
## Usage |Option Name|Alias|Flag|Default|Description| |-------------------|--|-------------------|----------------|-------------------------------------------------| | | |--config |`~/.ticker.yaml`|config file location with watchlist and positions| |`interval` |-i|--interval |`5` |Refresh interval in seconds| |`watchlist` |-w|--watchlist | |comma separated list of symbols to watch| |`show-tags` | |--show-tags | |display currency, exchange name, and quote delay for each quote | |`show-fundamentals`| |--show-fundamentals| |display open price, previous close, and day range | |`show-separator` | |--show-separator | |layout with separators between each quote| |`show-summary` | |--show-summary | |show total day change, total value, and total value change| |`show-positions` | |--show-positions | |show positions including weight, average cost, and quantity| |`sort` | |--sort | |sort quotes on the UI - options are change percent (default), `alpha`, `value`, and `user`| |`version` | |--version | |print the current version number| |`debug` | | | |enable debug logging to `./ticker-log-.log`| ## Configuration Configuration is not required to watch stock price but is helpful when always watching the same stocks. Configuration can also be used to set cost basis lots which will in turn be used to show total gain or loss on any position.
# ~/.ticker.yaml
show-summary: true
show-tags: true
show-fundamentals: true
show-separator: true
show-positions: true
interval: 5
currency: USD
currency-summary-only: false
watchlist:
  - NET
  - TEAM
  - ESTC
  - BTC-USD # Bitcoin price via Yahoo
  - SOL.X # Solana price via Coinbase
  - BIT-30MAY25-CDE.CB # Bitcoin futures contract price via Coinbase
lots:
  - symbol: "ABNB"
    quantity: 35.0
    unit_cost: 146.00
  - symbol: "ARKW"
    quantity: 20.0
    unit_cost: 152.25
  - symbol: "ARKW"
    quantity: 20.0
    unit_cost: 145.35
    fixed_cost: 7.00 # e.g. brokerage commission fee
groups:
  - name: crypto
    watchlist:
      - SHIB-USD
      - VGX-USD
    lots:
      - symbol: SOL1-USD
        quantity: 17
        unit_cost: 159.10
* All properties in `.ticker.yaml` are optional * Symbols not on the watchlist that exists in `lots` are implicitly added to the watchlist * To add multiple cost basis lots (`quantity`, `unit_cost`) for the same `symbol`, include two or more entries - see `ARKW` example above * `.ticker.yaml` can be set in user home directory, the current directory, or [XDG config home](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) * Quantities can be negative to represent closed positions (position netting), short positions, borrowed assets, and other concepts ### Display Options With `--show-summary`, `--show-tags`, `--show-fundamentals`, `--show-positions`, and `--show-separator` options set, the layout and information displayed expands: ### Sorting It's possible to set a custom sort order with the `--sort` flag or `sort:` config option with these options: * Default - change percent with closed markets at the end * `alpha` to sort alphabetically by symbol * `value` to sort by position value * `user` to sort by the order defined in configuration with positions on first then watched symbols ### Groups Watchlists and lots can be grouped in `.ticker.yml` under the `groups` property. While running `ticker`, press TAB to cycle forward through groups or SHIFT+TAB to cycle backward. * If top level `watchlist` or `lots` properties are defined in the configuration file, the entries there will be added to a group named `default` which will always be shown first * Ordering is defined by order in the configuration file ### Data Sources & Symbols `ticker` pulls market data from a few different sources with Yahoo Finance as the default. Symbols for non default data sources follow the format `

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 166
Struct 85
Method 71
TypeAlias 12
FuncType 4
Interface 2

Languages

Go100%

Modules by API surface

internal/common/common.go39 symbols
internal/ui/component/watchlist/row/row.go30 symbols
internal/monitor/coinbase/monitor-price/monitor.go19 symbols
internal/cli/cli.go18 symbols
internal/ui/ui.go16 symbols
internal/monitor/yahoo/unary/unary_test.go15 symbols
internal/monitor/yahoo/monitor-price/monitor.go14 symbols
internal/monitor/coinbase/monitor-price/streamer/streamer.go13 symbols
internal/monitor/monitor.go12 symbols
internal/monitor/coinbase/unary/unary.go11 symbols
internal/ui/component/watchlist/watchlist.go10 symbols
internal/print/print.go9 symbols

Dependencies from manifests, versioned

4d63.com/gocheckcompilerdirectivesv1.3.0 · 1×
codeberg.org/chavacava/garifv0.2.0 · 1×
codeberg.org/polyfloyd/go-errorlintv1.9.0 · 1×
dev.gaijin.team/go/exhaustruct/v4v4.0.0 · 1×
github.com/4meepo/tagalignv1.4.3 · 1×
github.com/Abirdcfly/dupwordv0.1.7 · 1×
github.com/AdminBenni/iota-mixingv1.0.0 · 1×
github.com/AlwxSin/noinlineerrv1.0.5 · 1×
github.com/Antonboom/errnamev1.1.1 · 1×

For agents

$ claude mcp add ticker \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page