{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Load data\n", "\n", "Make sure you have .env file in ttools or any parent dir with your Alpaca keys.\n", "\n", "```bash\n", "ACCOUNT1_LIVE_API_KEY=api_key\n", "ACCOUNT1_LIVE_SECRET_KEY=secret_key\n", "```\n", "\n", "### Cache directories\n", "\n", "Daily trade files - DATADIR/tradecache\n", "Agg data cache - DATADIR/aggcache\n", "\n", "`DATADIR` - user_data_dir from appdirs library - see `config.py`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TTOOLS: Loaded env variables from file /Users/davidbrazda/Documents/Development/python/.env\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "from ttools.utils import AggType\n", "from datetime import datetime\n", "from ttools.aggregator_vectorized import generate_time_bars_nb, aggregate_trades\n", "from ttools.loaders import load_data, prepare_trade_cache\n", "from ttools.utils import zoneNY\n", "import vectorbtpro as vbt\n", "from lightweight_charts import PlotDFAccessor, PlotSRAccessor\n", "\n", "\n", "vbt.settings.set_theme(\"dark\")\n", "vbt.settings['plotting']['layout']['width'] = 1280\n", "vbt.settings.plotting.auto_rangebreaks = True\n", "# Set the option to display with pagination\n", "pd.set_option('display.notebook_repr_html', True)\n", "pd.set_option('display.max_rows', 10) # Number of rows per page\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fetching aggregated data\n", "\n", "Available aggregation types: \n", "- time based bars - AggType.OHLCV\n", "- volume based bars - AggType.OHLCV_VOL, resolution = volume threshold\n", "- dollar based bars - AggType.OHLCV_DOL, resolution = dollar threshold\n", "- renko bars - AggType.OHLCV_RENKO resolution = bricksize" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | open | \n", "high | \n", "low | \n", "close | \n", "volume | \n", "
|---|---|---|---|---|---|
| time | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
| 2024-02-15 09:30:00-05:00 | \n", "499.29 | \n", "499.41 | \n", "499.2900 | \n", "499.3200 | \n", "161900.0 | \n", "
| 2024-02-15 09:30:01-05:00 | \n", "499.32 | \n", "499.41 | \n", "499.3000 | \n", "499.4000 | \n", "10900.0 | \n", "
| 2024-02-15 09:30:02-05:00 | \n", "499.36 | \n", "499.40 | \n", "499.3550 | \n", "499.3800 | \n", "7040.0 | \n", "
| 2024-02-15 09:30:03-05:00 | \n", "499.39 | \n", "499.42 | \n", "499.3800 | \n", "499.4000 | \n", "8717.0 | \n", "
| 2024-02-15 09:30:04-05:00 | \n", "499.40 | \n", "499.40 | \n", "499.3500 | \n", "499.3500 | \n", "3265.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-03-18 15:59:55-04:00 | \n", "512.94 | \n", "512.94 | \n", "512.8600 | \n", "512.8900 | \n", "7345.0 | \n", "
| 2024-03-18 15:59:56-04:00 | \n", "512.90 | \n", "512.90 | \n", "512.8700 | \n", "512.8800 | \n", "2551.0 | \n", "
| 2024-03-18 15:59:57-04:00 | \n", "512.89 | \n", "512.91 | \n", "512.8500 | \n", "512.8701 | \n", "18063.0 | \n", "
| 2024-03-18 15:59:58-04:00 | \n", "512.87 | \n", "512.90 | \n", "512.8496 | \n", "512.9000 | \n", "7734.0 | \n", "
| 2024-03-18 15:59:59-04:00 | \n", "512.92 | \n", "512.92 | \n", "512.8200 | \n", "512.8700 | \n", "37159.0 | \n", "
417345 rows × 5 columns
\n", "| \n", " | open | \n", "high | \n", "low | \n", "close | \n", "volume | \n", "
|---|---|---|---|---|---|
| time | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
| 2024-10-14 09:45:00-04:00 | \n", "41.9650 | \n", "41.970 | \n", "41.950 | \n", "41.9500 | \n", "17895.0 | \n", "
| 2024-10-14 09:45:12-04:00 | \n", "41.9589 | \n", "41.965 | \n", "41.950 | \n", "41.9650 | \n", "6281.0 | \n", "
| 2024-10-14 09:45:24-04:00 | \n", "41.9650 | \n", "42.005 | \n", "41.965 | \n", "41.9975 | \n", "3522.0 | \n", "
| 2024-10-14 09:45:36-04:00 | \n", "41.9900 | \n", "42.005 | \n", "41.990 | \n", "42.0000 | \n", "5960.0 | \n", "
| 2024-10-14 09:45:48-04:00 | \n", "42.0050 | \n", "42.040 | \n", "42.005 | \n", "42.0300 | \n", "9113.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-10-16 15:00:00-04:00 | \n", "42.9150 | \n", "42.915 | \n", "42.910 | \n", "42.9100 | \n", "12872.0 | \n", "
| 2024-10-16 15:00:12-04:00 | \n", "42.9150 | \n", "42.920 | \n", "42.910 | \n", "42.9200 | \n", "7574.0 | \n", "
| 2024-10-16 15:00:24-04:00 | \n", "42.9200 | \n", "42.920 | \n", "42.910 | \n", "42.9200 | \n", "1769.0 | \n", "
| 2024-10-16 15:00:36-04:00 | \n", "42.9200 | \n", "42.920 | \n", "42.905 | \n", "42.9050 | \n", "26599.0 | \n", "
| 2024-10-16 15:00:48-04:00 | \n", "42.9050 | \n", "42.905 | \n", "42.880 | \n", "42.8800 | \n", "9216.0 | \n", "
5480 rows × 5 columns
\n", "| \n", " | open | \n", "high | \n", "low | \n", "close | \n", "volume | \n", "trades | \n", "updated | \n", "vwap | \n", "buyvolume | \n", "sellvolume | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| time | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 2024-01-16 09:30:00-05:00 | \n", "475.250 | \n", "475.3600 | \n", "475.20 | \n", "475.285 | \n", "255386.0 | \n", "93.0 | \n", "2024-01-16 09:30:01.002183-05:00 | \n", "475.251725 | \n", "3692.0 | \n", "242756.0 | \n", "
| 2024-01-16 09:30:01-05:00 | \n", "475.335 | \n", "475.3350 | \n", "475.23 | \n", "475.260 | \n", "15161.0 | \n", "100.0 | \n", "2024-01-16 09:30:02.007313-05:00 | \n", "475.283390 | \n", "4386.0 | \n", "4944.0 | \n", "
| 2024-01-16 09:30:02-05:00 | \n", "475.250 | \n", "475.3000 | \n", "475.24 | \n", "475.300 | \n", "6993.0 | \n", "39.0 | \n", "2024-01-16 09:30:03.008912-05:00 | \n", "475.262507 | \n", "1900.0 | \n", "2256.0 | \n", "
| 2024-01-16 09:30:03-05:00 | \n", "475.290 | \n", "475.3200 | \n", "475.24 | \n", "475.270 | \n", "8497.0 | \n", "47.0 | \n", "2024-01-16 09:30:04.201093-05:00 | \n", "475.275280 | \n", "1300.0 | \n", "3200.0 | \n", "
| 2024-01-16 09:30:04-05:00 | \n", "475.250 | \n", "475.2700 | \n", "475.22 | \n", "475.270 | \n", "5367.0 | \n", "37.0 | \n", "2024-01-16 09:30:05.004980-05:00 | \n", "475.234353 | \n", "1613.0 | \n", "1247.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-10-18 15:59:55-04:00 | \n", "584.520 | \n", "584.5800 | \n", "584.51 | \n", "584.580 | \n", "10357.0 | \n", "47.0 | \n", "2024-10-18 15:59:56.008928-04:00 | \n", "584.543870 | \n", "1600.0 | \n", "1100.0 | \n", "
| 2024-10-18 15:59:56-04:00 | \n", "584.570 | \n", "584.6091 | \n", "584.55 | \n", "584.550 | \n", "6527.0 | \n", "32.0 | \n", "2024-10-18 15:59:57.007658-04:00 | \n", "584.566643 | \n", "1525.0 | \n", "1002.0 | \n", "
| 2024-10-18 15:59:57-04:00 | \n", "584.560 | \n", "584.6100 | \n", "584.56 | \n", "584.600 | \n", "5068.0 | \n", "23.0 | \n", "2024-10-18 15:59:58.000435-04:00 | \n", "584.596249 | \n", "1960.0 | \n", "900.0 | \n", "
| 2024-10-18 15:59:58-04:00 | \n", "584.590 | \n", "584.6200 | \n", "584.56 | \n", "584.560 | \n", "8786.0 | \n", "23.0 | \n", "2024-10-18 15:59:59.041984-04:00 | \n", "584.592217 | \n", "2859.0 | \n", "3921.0 | \n", "
| 2024-10-18 15:59:59-04:00 | \n", "584.560 | \n", "584.6100 | \n", "584.56 | \n", "584.570 | \n", "12583.0 | \n", "69.0 | \n", "2024-10-18 15:59:59.982132-04:00 | \n", "584.583131 | \n", "5303.0 | \n", "1980.0 | \n", "
3384529 rows × 10 columns
\n", "