Skip to main content

A command line tool for generating stock charts in the terminal.

Project description

tstock - Generate stock charts in the terminal! 🚀🚀🚀

Downloads GitHub code size in bytes PyPI

📈 tstock is a tool to easily generate stock charts from the command line.

Just type tstock aapl to get a 3 month candlestick chart of $AAPL in your terminal!

tstock-demo

Features

  • Stocks for most global exchanges
  • Support for major cryptocurrencies
  • Forex markets and currency exchange rates
  • Different time intervals, including intraday trading
  • "Wisdom"?!

Dependencies

  • Python 3.6 or greater
  • Docker, if using the Docker version

Installation

PyPI

tstock is available as a Python 3 package. You can install it using pip:

pip install tstock # use pip3 on Ubuntu 18.04 and older

AUR

tstock is also available on the AUR. If you are on an Archlinux based system, you can just install it using your favorite AUR helper. Example using yay:

yay -S tstock

Docker

  1. Build Docker: docker build -t tstock .
  2. Run: docker run -e ALPHAVANTAGE_API_KEY=<yourkey> -it tstock:latest tstock aapl

Getting started

AlphaVantage API setup

After installing tstock, you will need a AlphaVantage API key to pull the market data.

  • Make a free AlphaVantage API account at https://www.alphavantage.co/support/#api-key
  • After creating the account, you will see your free API key
  • Run export ALPHAVANTAGE_API_KEY=<your access key>. You can make this permanent by adding this line to your .bashrc

NOTE: If you are on Windows, you can set your environment variable by running $env:ALPHAVANTAGE_API_KEY="<your access key>". You can make this permanent by adding this line to Microsoft.PowerShell_profile.ps1

Usage

$ tstock --help
usage: tstock [-h] [-t INTERVAL] [-b COUNT] [-w] [-s] [--chart] [-c CURRENCY] [-y LINES] [-a CLASS]
                   [--padx COLUMNS] [--pady LINES] [--short] [--nocolor] [-v] [--version]
                   [TICKER]

tstock - generate stock charts in the terminal.

positional arguments:
  TICKER          Which ticker's data to pull.

options:
  -h, --help      show this help message and exit
  -t INTERVAL     Time interval of each candlestick. Valid values are '1min', '5min', '15min', '30min', '60min', 'day', 'week', or 'month'. Defaults to 'day'.
  -b COUNT        Number of time intervals back to go back. The number of candlesticks generated. Defaults to fill the terminal.
  -w              Enables extra words of 'wisdom'.
  -s              Search for stock tickers. Useful for getting exchange codes.
  --chart         Print the chart only. Overrides -w.
  -c CURRENCY     Set the currency. Only works with '-a crypto'. Defaults to 'USD'.
  -y LINES        Height of the chart. Defaults to fill the terminal.
  -a CLASS        The asset class of TICKER. Valid values are 'stock', 'crypto', and 'forex'. Autodetects depending on input ticker.
  --padx COLUMNS  Horizontal padding of the chart. Defaults to 5.
  --pady LINES    Vertical padding of the chart. Defaults to 4.
  --short         Short output, prints the last price only.
  --nocolor       Prints chart with no color.
  --upcolor COLOR    Color of positive candlesticks. Valid values are 'green', 'red', or 'blue'. Defaults to green.
  --downcolor COLOR  Color of negative candlesticks. Valid values are 'green', 'red', or 'blue'. Defaults to red.
  -v              Toggle verbosity.
  --version       Print tstock version.

Examples:
    tstock aapl # chart of $AAPL
    tstock aapl -b 24 -t 60min # the past 24 60-minute-intervals of $AAPL, 20 lines high
    tstock -s shopify # search the API for keyword "shopify"
    tstock shop.trt # chart of $SHOP on the TRT exchange
    tstock btc -c GBP -w # chart of the price of Bitcoin in GBP with rockets
    tstock usd/eur # chart of the price of USD in euros

Run tstock TICKER to get the a chart of $TICKER. Use -b COUNT to specify the number of intervals back you want to pull. -t INTERVAL will specify the time interval of each candlestick. Use -y LINES to specify the length of the chart's y axis.

Use the search function tstock -s KEYWORD to search the AlphaVantage API for tickers.

You can get international markets by specifying a code after .. For example, to get SAIC Motor Corporation on the Shanghai Stock Exchange, run tstock 600104.SHH. The -s option is useful for finding the exchange codes for foreign exchanges. For example:

tstock tesco -s
The search returned the following results:
TSCO.LON (Tesco PLC)
        Reigon:         United Kingdom
        Type:           Equity
        Currency:       GBX

Now we know the ticker, we can get fetch the chart with tstock tsco.lon.

For more options, run tstock -h

More API information in AlphaVantage's docs: https://www.alphavantage.co/documentation

Notes

  • The free tier of the API is limited to 500 API calls per day, 5 calls per minute.
  • If you are using Windows, the ANSI escape codes will not display properly in the default cmd shell or PowerShell. Please use a terminal emulator that supports ANSI escape codes such as Windows Terminal.

Donate

I develop tstock for free in my spare time. If you like it, and want to buy me a coffee, I'd really appreciate it.

Donate: https://www.buymeacoffee.com/Gbox4

Bitcoin: (QR) bc1qusuztegpfuh7jk25l2dx5xyjvasgryrqg42d5n

BCH: (QR) qq0gedhne30lcr3253zz08sy4ryxukgx4gcrk6qzjg

Monero: (QR) 87wuCKbbchKV8Dz3JRoSN3jaqWBSiEShFXkFrYUaKT8Bew4P7dFvUJWVVR6RLr84J44QCdtNVyR6QC7aCSKYUWfnGK9y4K2

Nano: nano_15pqkfph8wfk4dbtkcrq88giff6xgqzs3znf44nfe1g8sgaixwaj6pbepsmn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tstock-2.2.6.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

tstock-2.2.6-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file tstock-2.2.6.tar.gz.

File metadata

  • Download URL: tstock-2.2.6.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.4

File hashes

Hashes for tstock-2.2.6.tar.gz
Algorithm Hash digest
SHA256 18e401ed86aa7ca0ba5471f2d9efae1e3befbb76b60bce47edccf966942b141b
MD5 22b40536b2aac5669de987548c8b5f87
BLAKE2b-256 cd0fa4e78338bf2d38bffa295aec03dec214a9e037e901928db765b2e28a330f

See more details on using hashes here.

File details

Details for the file tstock-2.2.6-py3-none-any.whl.

File metadata

  • Download URL: tstock-2.2.6-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.4

File hashes

Hashes for tstock-2.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ab2eb3c92fcb450d6af072a050ad8dfd4696fbde838a642cfde3168d108c15c5
MD5 aba9e3b1652d75ee7df33a863eff3764
BLAKE2b-256 690cfd4a114e68e3fb10874a854704b0ef4bb5369713b3e463bec56b6d644db8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page