Metadata-Version: 2.4
Name: STONKZILLA
Version: 0.1.6
Summary: Market price and indicator plotter.
Author-email: Jakub Gąsior <jakubgasior72@gmail.com>
License: MIT
Requires-Python: >=3.13.3
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: annotated-types==0.7.0; python_version >= "3.8"
Requires-Dist: astroid==3.3.9; python_full_version >= "3.9.0"
Requires-Dist: beautifulsoup4==4.13.4; python_full_version >= "3.7.0"
Requires-Dist: certifi==2025.4.26; python_version >= "3.6"
Requires-Dist: cffi==1.17.1; python_version >= "3.8"
Requires-Dist: charset-normalizer==3.4.2; python_version >= "3.7"
Requires-Dist: click==8.1.8; python_version >= "3.7"
Requires-Dist: contourpy==1.3.2; python_version >= "3.10"
Requires-Dist: curl-cffi==0.10.0; python_version >= "3.9"
Requires-Dist: cycler==0.12.1; python_version >= "3.8"
Requires-Dist: dill==0.4.0; python_version >= "3.8"
Requires-Dist: fonttools==4.57.0; python_version >= "3.8"
Requires-Dist: frozendict==2.4.6; python_version >= "3.6"
Requires-Dist: idna==3.10; python_version >= "3.6"
Requires-Dist: isort==6.0.1; python_full_version >= "3.9.0"
Requires-Dist: kiwisolver==1.4.8; python_version >= "3.10"
Requires-Dist: matplotlib==3.10.1; python_version >= "3.10"
Requires-Dist: mccabe==0.7.0; python_version >= "3.6"
Requires-Dist: multitasking==0.0.11
Requires-Dist: numpy==2.2.5; python_version >= "3.10"
Requires-Dist: packaging==25.0; python_version >= "3.8"
Requires-Dist: pandas==2.2.3; python_version >= "3.9"
Requires-Dist: peewee==3.18.1
Requires-Dist: pillow==11.2.1; python_version >= "3.9"
Requires-Dist: platformdirs==4.3.8; python_version >= "3.9"
Requires-Dist: pycparser==2.22; python_version >= "3.8"
Requires-Dist: pydantic==2.11.4; python_version >= "3.9"
Requires-Dist: pydantic-core==2.33.2; python_version >= "3.9"
Requires-Dist: pyparsing==3.2.3; python_version >= "3.9"
Requires-Dist: python-dateutil==2.9.0.post0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2"
Requires-Dist: pytz==2025.2
Requires-Dist: pyyaml==6.0.2; python_version >= "3.8"
Requires-Dist: requests==2.32.3; python_version >= "3.8"
Requires-Dist: six==1.17.0; python_version >= "2.7" and python_version not in "3.0, 3.1, 3.2"
Requires-Dist: soupsieve==2.7; python_version >= "3.8"
Requires-Dist: tomlkit==0.13.2; python_version >= "3.8"
Requires-Dist: typing-extensions==4.13.2; python_version >= "3.8"
Requires-Dist: typing-inspection==0.4.0; python_version >= "3.9"
Requires-Dist: tzdata==2025.2; python_version >= "2"
Requires-Dist: urllib3==2.4.0; python_version >= "3.9"
Requires-Dist: yfinance==0.2.58
Dynamic: license-file

# STONKZILLA CLI

STONKZILLA CLI is a Python cli tool that allows to plot stock price data and a set of supported indicators.  
Data for calculations and plotting is sourced from yfinance API by default or AlphaVantage (free, requires API key) if configured.     
The stock price data can be plot using lines or candlesticks. Indicators that generally have values close to prices are being plot on the price subplot, oscillators/momentum indicators get separate subplots for good readability.   
Supported indicators:    
1. Simple moving average (SMA),   
2. Exponential moving average (EMA),    
3. Bollinger Bands (BBANDS),
4. Fibonacci Retracements (FIBO),   
5. On-Balance Volume (OBV),

Oscilating indicators:
1. Relative Strength Index (RSI),
2. Average Directional Index (ADX),
3. Moving Average Convergence Divergence (MACD)

When entering indicators either in config.yaml or in terminal, use the same format:   
**INDICATOR_NAME:PARAMS**    
if indicator takes more than one parameters the next parameters are supposed to
be enetered spaced with dashes:      
**INDICATOR_NAME:PARAMS-PARAMS2-...**

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install foobar.

```bash
pip install stonkzilla
```
Or clone the repo and install dependecies:
```bash
git clone https://github.com/PraygeG/Market-Indicator-Cli.git
cd directory
pip install -r requirements.txt
```

## Usage
The most basic usage of the tool and the most limiting is to simply run it without any arguments.  
You'll be prompted to enter comma-separated list of tickers, start date, end date, interval and at least one indicator with parameters, this way of use deliver absolute minimum abilities of the tool.  

If you decided to clone the repo:
```bash
python -m stonkzilla.main [args]
```
or if you decided to pip install:
```bash
stonkzilla [args]
```
**To get help with arguments and get access to examples use help argument:**
```bash
python -m stonkzilla.main --help  OR  stonkzilla --help
```
## Reccommended usage
The tool supports running from YAML config file, which is highly recommended to avoid typing in the same arguments over and over after you'll find your favourite set of settings, this way is also better for plotting larger amount of charts.   
The tool supports automatic plot saving to specified directory, in specified format, in specified DPI if raster format was chosen. Example config file with helping will always be in the package directory no matter which way you decide to install. If the path isn't recognized when config mode is on, the program will fall back to the default config file inside a package directory:
```bash
stonkzilla -c <config_path> or python -m stonkzilla.main -c <config_path>
```

## License

[MIT](https://choosealicense.com/licenses/mit/)
