Starting the Stock Analysis Engine's full stack - Algorithm Backtester, Engine workers, Jupyter, Automated Pricing Data Collection, Redis, and Minio

by jayjohnson
GNU/Linux ◆ xterm-color ◆ bash 4075 views

Stock Analysis Engine

GitHub Repo

Build and tune investment algorithms with a distributed stack for running backtests and live-trading algorithms on publicly traded companies with automated datafeeds from: IEX Real-Time Price, Tradier and FinViz (includes: pricing, options, news, dividends, daily, intraday, screeners, statistics, financials, earnings, and more). Runs on Kubernetes and docker-compose. Pricing data is automatically compressed and there are included Kubernetes yaml files for showing how to fetch new pricing data as fast as per minute and backup all pricing assets to your own AWS S3 buckets (for a nightly backup).

Running the Full Stack Locally for Backtesting and Live Trading Analysis

While not required for backtesting, running the full stack is required for running algorithms during a live trading session. Here is a video on how to deploy the full stack locally using docker compose and the commands from the video.

  1. Start Workers, Backtester, Pricing Data Collection, Jupyter, Redis and Minio

    ./compose/start.sh

  2. Check the Docker Containers

    docker ps -a

  3. View for dataset collection logs

    logs-dataset-collection.sh

  4. Wait for pricing engine logs to stop with ctrl+c

    logs-workers.sh

  5. Verify Pricing Data is in Redis

    redis-cli keys "*"