PyTradingBot
PyTradingBot is a python based trading bot API.
Summary
PyTradingBot is a python based trading bot API based on FinViz screener fields, and Yahoo finance.
Installation
pip install PyTradingBot
Usage
Initiate - IDE
from pytradingbot.server import start
if __name__ == '__main__':
start()
Initiate - CLI
pytradingbot start
Use
pytradingbot --helpfor usage instructions.
Containerized
Build
docker build -t pytradingbot .
Run
docker run --name pytradingbot -p 5005:5005 -e PORT=5005 pytradingbot
Environment Variables
All environment variables are optional.
API basics
- PORT: API port. Defaults to 8080
- LOG_LEVEL: Log level for the API server. Defaults to
DEBUG - SCAN_COOLDOWN_SECONDS: Cooldown time before requesting another scan. Defaults to 60
Authentication
- USERNAME: Username to protect the server with authentication.
- PASSWORD: Password to protect the server with authentication.
Notification setup
- TELEGRAM_BOT_TOKEN: Telegram bot token to notify the user.
- TELEGRAM_CHAT_IDS: Comma separated list of chat IDs to notify.
To get the chat ID, message the bot on Telegram and run the command:
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getUpdates" \ | jq '.result[].message.chat.id'
Background Scheduler
The API runs a background async scheduler that triggers scans automatically (EST) and stores each run in the existing sqlite DB.
Default schedule:
- Pre-Market (04:00-09:30): every 15 minutes
- Market Open (09:30-10:30): every 5 minutes
- Mid Day (10:30-14:00): every 30 minutes
- Power Hour (14:00-16:00): every 5 minutes
- After Hours (16:00-20:00): once at 16:15
You can override these rules from the Dashboard Schedule tab, or through:
GET /scheduleto read current/default configPOST /scheduleto save overrides
Release Notes
Requirement
python -m pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
pre-commit will ensure linting
Requirement
python -m pip install pre-commit
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/PyTradingBot/
License & copyright
© Vignesh Rao
Licensed under the MIT License
Metadata
Release files for PyTradingBot 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytradingbot-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pytradingbot-0.1.2-py3-none-any.whl
| Download URL | pytradingbot-0.1.2-py3-none-any.whl |
|---|---|
| Size | 65.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b8827b358c537f69d15f4251b2e972c9bb60ffc8fd47cd8046bdfdb791ea8e7
|
|
BLAKE2b-256 checksum How to use checksums |
8772ac6a8df8dcc2146304b0f73ff33104d9dfc6eb5c3a87e844e420c84f64d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|