mirror of
https://github.com/wassname/pandas-ta.git
synced 2026-06-27 16:10:07 +08:00
3240 lines
240 KiB
Plaintext
3240 lines
240 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Pandas TA ([pandas_ta](https://github.com/twopirllc/pandas-ta)) Studies for Custom Technical Analysis\n",
|
||
"\n",
|
||
"## Topics\n",
|
||
"- What is a Pandas TA Study?\n",
|
||
" - Builtin Studies: __AllStudy__ and __CommonStudy__\n",
|
||
" - Creating Studies\n",
|
||
"- Watchlist Class\n",
|
||
" - Study Management and Execution\n",
|
||
" - **NOTE:** The **watchlist** module is independent of Pandas TA. To easily use it, copy it from your local pandas_ta installation directory into your project directory.\n",
|
||
"- Indicator Composition/Chaining for more Complex Studies\n",
|
||
" - Comprehensive Example: _MACD and RSI Momo with BBANDS and SMAs 50 & 200 and Cumulative Log Returns_"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Pandas TA v0.3.63b0\n",
|
||
"To install the Latest Version:\n",
|
||
"$ pip install -U git+https://github.com/twopirllc/pandas-ta\n",
|
||
"\n",
|
||
"Populating the interactive namespace from numpy and matplotlib\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"%matplotlib inline\n",
|
||
"import datetime as dt\n",
|
||
"\n",
|
||
"from tqdm import tqdm\n",
|
||
"\n",
|
||
"import pandas as pd\n",
|
||
"import pandas_ta as ta\n",
|
||
"from alphaVantageAPI.alphavantage import AlphaVantage # pip install alphaVantage-api\n",
|
||
"\n",
|
||
"from watchlist import Watchlist # Is this failing? If so, copy it locally. See above.\n",
|
||
"\n",
|
||
"print(f\"\\nPandas TA v{ta.version}\\nTo install the Latest Version:\\n$ pip install -U git+https://github.com/twopirllc/pandas-ta\\n\")\n",
|
||
"%pylab inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# What is a Pandas TA Study?\n",
|
||
"A _Study_ is a simple way to name and group TA indicators. Technically, a _Study_ is a simple Data Class to contain list of indicators and their parameters. __Note__: _Study_ is experimental and subject to change. Pandas TA comes with two basic Studies: __AllStudy__ and __CommonStudy__.\n",
|
||
"\n",
|
||
"## Study Requirements:\n",
|
||
"- _name_: Some short memorable string. _Note_: Case-insensitive \"All\" is reserved.\n",
|
||
"- _ta_: A list of dicts containing keyword arguments to identify the indicator and the indicator's arguments\n",
|
||
"\n",
|
||
"## Optional Requirements:\n",
|
||
"- _description_: A more detailed description of what the Study tries to capture. Default: None\n",
|
||
"- _created_: At datetime string of when it was created. Default: Automatically generated.\n",
|
||
"\n",
|
||
"### Things to note:\n",
|
||
"- A Study will __fail__ when consumed by Pandas TA if there is no {\"kind\": \"indicator name\"} attribute."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Builtin Examples"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### All\n",
|
||
"Default Values"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"AllStudy.name = 'All'\n",
|
||
"AllStudy.description = 'All the indicators with their default settings. Pandas TA default.'\n",
|
||
"AllStudy.created = 'Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)'\n",
|
||
"AllStudy.ta = None\n",
|
||
"AllStudy.cores = 8\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"AllStudy = ta.AllStudy\n",
|
||
"print(f\"{AllStudy.name = }\")\n",
|
||
"print(f\"{AllStudy.description = }\")\n",
|
||
"print(f\"{AllStudy.created = }\")\n",
|
||
"print(f\"{AllStudy.ta = }\")\n",
|
||
"print(f\"{AllStudy.cores = }\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Common\n",
|
||
"Default Values"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"CommonStudy.name = 'Common Price and Volume SMAs'\n",
|
||
"CommonStudy.description = 'Common Price SMAs: 10, 20, 50, 200 and Volume SMA: 20.'\n",
|
||
"CommonStudy.created = 'Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)'\n",
|
||
"CommonStudy.ta = [{'kind': 'sma', 'length': 10}, {'kind': 'sma', 'length': 20}, {'kind': 'sma', 'length': 50}, {'kind': 'sma', 'length': 200}, {'kind': 'sma', 'close': 'volume', 'length': 20, 'prefix': 'VOL'}]\n",
|
||
"CommonStudy.cores = 0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"CommonStudy = ta.CommonStudy\n",
|
||
"print(f\"{CommonStudy.name = }\")\n",
|
||
"print(f\"{CommonStudy.description = }\")\n",
|
||
"print(f\"{CommonStudy.created = }\")\n",
|
||
"print(f\"{CommonStudy.ta = }\")\n",
|
||
"print(f\"{CommonStudy.cores = }\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Creating Studies\n",
|
||
"Studies require a **name** and an array of dicts containing the \"kind\" of indicator (\"sma\") and other potential parameters for **ta**."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Simple Study A"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='A', ta=[{'kind': 'sma', 'length': 50}, {'kind': 'sma', 'length': 200}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"custom_a = ta.Study(name=\"A\", cores=0, ta=[{\"kind\": \"sma\", \"length\": 50}, {\"kind\": \"sma\", \"length\": 200}])\n",
|
||
"custom_a"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Simple Study B"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='B', ta=[{'kind': 'ema', 'length': 8}, {'kind': 'ema', 'length': 21}, {'kind': 'log_return', 'cumulative': True}, {'kind': 'rsi'}, {'kind': 'supertrend'}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"custom_b = ta.Study(name=\"B\", cores=0, ta=[{\"kind\": \"ema\", \"length\": 8}, {\"kind\": \"ema\", \"length\": 21}, {\"kind\": \"log_return\", \"cumulative\": True}, {\"kind\": \"rsi\"}, {\"kind\": \"supertrend\"}])\n",
|
||
"custom_b"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Bad Study. (Misspelled Indicator)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='Runtime Failure', ta=[{'kind': 'peret_return'}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Misspelled indicator, will fail later when ran with Pandas TA\n",
|
||
"custom_run_failure = ta.Study(name=\"Runtime Failure\", cores=0, ta=[{\"kind\": \"peret_return\"}])\n",
|
||
"custom_run_failure"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Study Management and Execution with _Watchlist_"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Initialize AlphaVantage Data Source"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"AlphaVantage(\n",
|
||
" end_point:str = https://www.alphavantage.co/query,\n",
|
||
" api_key:str = YOUR API KEY,\n",
|
||
" export:bool = True,\n",
|
||
" export_path:str = .,\n",
|
||
" output_size:str = full,\n",
|
||
" output:str = csv,\n",
|
||
" datatype:str = json,\n",
|
||
" clean:bool = True,\n",
|
||
" proxy:dict = {}\n",
|
||
")"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"AV = AlphaVantage(\n",
|
||
" api_key=\"YOUR API KEY\", premium=False,\n",
|
||
" output_size='full', clean=True,\n",
|
||
" export_path=\".\", export=True\n",
|
||
")\n",
|
||
"AV"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Create Watchlist and set it's 'ds' to AlphaVantage"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data_source = \"av\" # Default\n",
|
||
"data_source = \"yahoo\"\n",
|
||
"watch = Watchlist([\"SPY\", \"IWM\"], ds_name=data_source, timed=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"\n",
|
||
"\n",
|
||
"#### Info about the Watchlist. Note, the default Study is \"All\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Watch(name='Watch: SPY, IWM', ds_name='yahoo', tickers[2]='SPY, IWM', tf='D', study[5]='Common Price and Volume SMAs')"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"watch"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Help about Watchlist"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Help on class Watchlist in module watchlist:\n",
|
||
"\n",
|
||
"class Watchlist(builtins.object)\n",
|
||
" | Watchlist(tickers: list, tf: str = None, name: str = None, study: pandas_ta.utils._study.Study = None, ds_name: str = 'av', **kwargs)\n",
|
||
" | \n",
|
||
" | # Watchlist Class (** This is subject to change! **)\n",
|
||
" | A simple Class to load/download financial market data and automatically\n",
|
||
" | apply Technical Analysis indicators with a Pandas TA Study.\n",
|
||
" | \n",
|
||
" | Default Study: pandas_ta.CommonStudy\n",
|
||
" | \n",
|
||
" | ## Package Support:\n",
|
||
" | ### Data Source (Default: AlphaVantage)\n",
|
||
" | - AlphaVantage (pip install alphaVantage-api).\n",
|
||
" | - Python Binance (pip install python-binance). # Future Support\n",
|
||
" | - Yahoo Finance (pip install yfinance). # Almost Supported\n",
|
||
" | \n",
|
||
" | # Technical Analysis:\n",
|
||
" | - Pandas TA (pip install pandas_ta)\n",
|
||
" | \n",
|
||
" | ## Required Arguments:\n",
|
||
" | - tickers: A list of strings containing tickers. Example: [\"SPY\", \"AAPL\"]\n",
|
||
" | \n",
|
||
" | Methods defined here:\n",
|
||
" | \n",
|
||
" | __init__(self, tickers: list, tf: str = None, name: str = None, study: pandas_ta.utils._study.Study = None, ds_name: str = 'av', **kwargs)\n",
|
||
" | Initialize self. See help(type(self)) for accurate signature.\n",
|
||
" | \n",
|
||
" | __repr__(self) -> str\n",
|
||
" | Return repr(self).\n",
|
||
" | \n",
|
||
" | indicators(self, *args, **kwargs) -> <built-in function any>\n",
|
||
" | Returns the list of indicators that are available with Pandas Ta.\n",
|
||
" | \n",
|
||
" | load(self, ticker: str = None, tf: str = None, index: str = 'date', drop: list = [], plot: bool = False, **kwargs) -> pandas.core.frame.DataFrame\n",
|
||
" | Loads or Downloads (if a local csv does not exist) the data from the\n",
|
||
" | Data Source. When successful, it returns a Data Frame for the requested\n",
|
||
" | ticker. If no tickers are given, it loads all the tickers.\n",
|
||
" | \n",
|
||
" | ----------------------------------------------------------------------\n",
|
||
" | Data descriptors defined here:\n",
|
||
" | \n",
|
||
" | __dict__\n",
|
||
" | dictionary for instance variables (if defined)\n",
|
||
" | \n",
|
||
" | __weakref__\n",
|
||
" | list of weak references to the object (if defined)\n",
|
||
" | \n",
|
||
" | data\n",
|
||
" | When not None, it contains a dictionary of DataFrames keyed by ticker. data = {\"SPY\": pd.DataFrame, ...}\n",
|
||
" | \n",
|
||
" | name\n",
|
||
" | The name of the Watchlist. Default: \"Watchlist: {Watchlist.tickers}\".\n",
|
||
" | \n",
|
||
" | strategy\n",
|
||
" | Sets a valid Strategy. Default: pandas_ta.CommonStrategy\n",
|
||
" | \n",
|
||
" | study\n",
|
||
" | Sets a valid Study. Default: pandas_ta.CommonStudy\n",
|
||
" | \n",
|
||
" | tf\n",
|
||
" | Alias for timeframe. Default: 'D'\n",
|
||
" | \n",
|
||
" | tickers\n",
|
||
" | tickers\n",
|
||
" | \n",
|
||
" | If a string, it it converted to a list. Example: \"AAPL\" -> [\"AAPL\"]\n",
|
||
" | * Does not accept, comma seperated strings.\n",
|
||
" | If a list, checks if it is a list of strings.\n",
|
||
" | \n",
|
||
" | verbose\n",
|
||
" | Toggle the verbose property. Default: False\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"help(Watchlist)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Default Study is \"Common\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[!] Loading All: SPY, IWM\n",
|
||
"[+] Downloading[yahoo]: SPY[D]\n",
|
||
"[+] yf | SPY(7367, 7): 3219.4573 ms (3.2195 s)\n",
|
||
"[+] Saving: /Users/kj/av_data/SPY_D.csv\n",
|
||
"[+] Study: Common Price and Volume SMAs\n",
|
||
"[i] Indicator arguments: {'timed': True, 'append': True}\n",
|
||
"[i] No multiprocessing (cores = 0).\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Progress: 100%|███████████████████████████| 5/5 [00:00<00:00, 116.92it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Total indicators: 5\n",
|
||
"[i] Columns added: 5\n",
|
||
"[i] Last Run: Sunday May 1, 2022, NYSE: 14:13:43, Local: 18:13:43 PDT, Day 121/365 (33.00%)\n",
|
||
"[i] Analysis Time: 57.7287 ms (0.0577 s) for 5 columns (avg 11.5490 ms / col)\n",
|
||
"[+] Downloading[yahoo]: IWM[D]\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[+] yf | IWM(5517, 7): 3059.8179 ms (3.0598 s)\n",
|
||
"[+] Saving: /Users/kj/av_data/IWM_D.csv\n",
|
||
"[+] Study: Common Price and Volume SMAs\n",
|
||
"[i] Indicator arguments: {'timed': True, 'append': True}\n",
|
||
"[i] No multiprocessing (cores = 0).\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Progress: 100%|██████████████████████████| 5/5 [00:00<00:00, 1228.20it/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Total indicators: 5\n",
|
||
"[i] Columns added: 5\n",
|
||
"[i] Last Run: Sunday May 1, 2022, NYSE: 14:13:46, Local: 18:13:46 PDT, Day 121/365 (33.00%)\n",
|
||
"[i] Analysis Time: 5.2669 ms (0.0053 s) for 5 columns (avg 1.0540 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# No arguments loads all the tickers and applies the Study to each ticker.\n",
|
||
"# The result can be accessed with Watchlist's 'data' property which returns a \n",
|
||
"# dictionary keyed by ticker and DataFrames as values \n",
|
||
"watch.load(verbose=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'SPY: (7367, 12), IWM: (5517, 12)'"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"\", \".join([f\"{t}: {d.shape}\" for t,d in watch.data.items()])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>SMA_10</th>\n",
|
||
" <th>SMA_20</th>\n",
|
||
" <th>SMA_50</th>\n",
|
||
" <th>SMA_200</th>\n",
|
||
" <th>VOL_SMA_20</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1993-01-29</th>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.438944</td>\n",
|
||
" <td>25.547968</td>\n",
|
||
" <td>1003200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-01</th>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>480500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-02</th>\n",
|
||
" <td>25.711524</td>\n",
|
||
" <td>25.802377</td>\n",
|
||
" <td>25.657012</td>\n",
|
||
" <td>25.784206</td>\n",
|
||
" <td>201300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-03</th>\n",
|
||
" <td>25.820536</td>\n",
|
||
" <td>26.074926</td>\n",
|
||
" <td>25.802366</td>\n",
|
||
" <td>26.056755</td>\n",
|
||
" <td>529400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-04</th>\n",
|
||
" <td>26.147607</td>\n",
|
||
" <td>26.220289</td>\n",
|
||
" <td>25.856876</td>\n",
|
||
" <td>26.165777</td>\n",
|
||
" <td>531500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>437.964005</td>\n",
|
||
" <td>445.552502</td>\n",
|
||
" <td>438.527184</td>\n",
|
||
" <td>446.076082</td>\n",
|
||
" <td>86801825.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>435.582004</td>\n",
|
||
" <td>443.562003</td>\n",
|
||
" <td>438.067266</td>\n",
|
||
" <td>445.992511</td>\n",
|
||
" <td>88575150.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>433.480002</td>\n",
|
||
" <td>441.348003</td>\n",
|
||
" <td>437.659459</td>\n",
|
||
" <td>445.922166</td>\n",
|
||
" <td>90347575.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>431.930002</td>\n",
|
||
" <td>439.803502</td>\n",
|
||
" <td>437.321290</td>\n",
|
||
" <td>445.901304</td>\n",
|
||
" <td>91636685.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>429.351001</td>\n",
|
||
" <td>437.821501</td>\n",
|
||
" <td>436.656953</td>\n",
|
||
" <td>445.808769</td>\n",
|
||
" <td>92811085.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>7367 rows × 12 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"1993-01-29 25.566139 25.566139 25.438944 25.547968 1003200 \n",
|
||
"1993-02-01 25.566160 25.729696 25.566160 25.729696 480500 \n",
|
||
"1993-02-02 25.711524 25.802377 25.657012 25.784206 201300 \n",
|
||
"1993-02-03 25.820536 26.074926 25.802366 26.056755 529400 \n",
|
||
"1993-02-04 26.147607 26.220289 25.856876 26.165777 531500 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits SMA_10 SMA_20 SMA_50 \\\n",
|
||
"Date \n",
|
||
"1993-01-29 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-01 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-02 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-03 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-04 0.0 0 NaN NaN NaN \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0 437.964005 445.552502 438.527184 \n",
|
||
"2022-04-26 0.0 0 435.582004 443.562003 438.067266 \n",
|
||
"2022-04-27 0.0 0 433.480002 441.348003 437.659459 \n",
|
||
"2022-04-28 0.0 0 431.930002 439.803502 437.321290 \n",
|
||
"2022-04-29 0.0 0 429.351001 437.821501 436.656953 \n",
|
||
"\n",
|
||
" SMA_200 VOL_SMA_20 \n",
|
||
"Date \n",
|
||
"1993-01-29 NaN NaN \n",
|
||
"1993-02-01 NaN NaN \n",
|
||
"1993-02-02 NaN NaN \n",
|
||
"1993-02-03 NaN NaN \n",
|
||
"1993-02-04 NaN NaN \n",
|
||
"... ... ... \n",
|
||
"2022-04-25 446.076082 86801825.0 \n",
|
||
"2022-04-26 445.992511 88575150.0 \n",
|
||
"2022-04-27 445.922166 90347575.0 \n",
|
||
"2022-04-28 445.901304 91636685.0 \n",
|
||
"2022-04-29 445.808769 92811085.0 \n",
|
||
"\n",
|
||
"[7367 rows x 12 columns]"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"watch.data[\"SPY\"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded SPY[D]: SPY_D.csv\n",
|
||
"[i] Analysis Time: 3.1206 ms (0.0031 s) for 5 columns (avg 0.6251 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>SMA_10</th>\n",
|
||
" <th>SMA_20</th>\n",
|
||
" <th>SMA_50</th>\n",
|
||
" <th>SMA_200</th>\n",
|
||
" <th>VOL_SMA_20</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1993-01-29</th>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.438944</td>\n",
|
||
" <td>25.547968</td>\n",
|
||
" <td>1003200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-01</th>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>480500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-02</th>\n",
|
||
" <td>25.711524</td>\n",
|
||
" <td>25.802377</td>\n",
|
||
" <td>25.657012</td>\n",
|
||
" <td>25.784206</td>\n",
|
||
" <td>201300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-03</th>\n",
|
||
" <td>25.820536</td>\n",
|
||
" <td>26.074926</td>\n",
|
||
" <td>25.802366</td>\n",
|
||
" <td>26.056755</td>\n",
|
||
" <td>529400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-04</th>\n",
|
||
" <td>26.147607</td>\n",
|
||
" <td>26.220289</td>\n",
|
||
" <td>25.856876</td>\n",
|
||
" <td>26.165777</td>\n",
|
||
" <td>531500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>437.964005</td>\n",
|
||
" <td>445.552502</td>\n",
|
||
" <td>438.527184</td>\n",
|
||
" <td>446.076082</td>\n",
|
||
" <td>86801825.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>435.582004</td>\n",
|
||
" <td>443.562003</td>\n",
|
||
" <td>438.067266</td>\n",
|
||
" <td>445.992511</td>\n",
|
||
" <td>88575150.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>433.480002</td>\n",
|
||
" <td>441.348003</td>\n",
|
||
" <td>437.659459</td>\n",
|
||
" <td>445.922166</td>\n",
|
||
" <td>90347575.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>431.930002</td>\n",
|
||
" <td>439.803502</td>\n",
|
||
" <td>437.321290</td>\n",
|
||
" <td>445.901304</td>\n",
|
||
" <td>91636685.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>429.351001</td>\n",
|
||
" <td>437.821501</td>\n",
|
||
" <td>436.656953</td>\n",
|
||
" <td>445.808769</td>\n",
|
||
" <td>92811085.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>7367 rows × 12 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"1993-01-29 25.566139 25.566139 25.438944 25.547968 1003200 \n",
|
||
"1993-02-01 25.566160 25.729696 25.566160 25.729696 480500 \n",
|
||
"1993-02-02 25.711524 25.802377 25.657012 25.784206 201300 \n",
|
||
"1993-02-03 25.820536 26.074926 25.802366 26.056755 529400 \n",
|
||
"1993-02-04 26.147607 26.220289 25.856876 26.165777 531500 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits SMA_10 SMA_20 SMA_50 \\\n",
|
||
"Date \n",
|
||
"1993-01-29 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-01 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-02 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-03 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-04 0.0 0 NaN NaN NaN \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0 437.964005 445.552502 438.527184 \n",
|
||
"2022-04-26 0.0 0 435.582004 443.562003 438.067266 \n",
|
||
"2022-04-27 0.0 0 433.480002 441.348003 437.659459 \n",
|
||
"2022-04-28 0.0 0 431.930002 439.803502 437.321290 \n",
|
||
"2022-04-29 0.0 0 429.351001 437.821501 436.656953 \n",
|
||
"\n",
|
||
" SMA_200 VOL_SMA_20 \n",
|
||
"Date \n",
|
||
"1993-01-29 NaN NaN \n",
|
||
"1993-02-01 NaN NaN \n",
|
||
"1993-02-02 NaN NaN \n",
|
||
"1993-02-03 NaN NaN \n",
|
||
"1993-02-04 NaN NaN \n",
|
||
"... ... ... \n",
|
||
"2022-04-25 446.076082 86801825.0 \n",
|
||
"2022-04-26 445.992511 88575150.0 \n",
|
||
"2022-04-27 445.922166 90347575.0 \n",
|
||
"2022-04-28 445.901304 91636685.0 \n",
|
||
"2022-04-29 445.808769 92811085.0 \n",
|
||
"\n",
|
||
"[7367 rows x 12 columns]"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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YGXoSscHr/0MePrDuY1wanGW9RRCCCsJSoUQQojrVHh4OCNHjqR27do8+eSTPPfcc3kqT2vNN998Y/v75Zdf5siRI/z666+EhoZSp04dHnnkEf755x9q167Nrl27GDVqlMOytmzZwqRJk2x/Z5ZGmp/mz5/PwoULKV68OK6urmzbts0216g1CGvUqJEtEHMUcFpTd318fDLdJjv79u0DoH79+tluu/74epYfW04JzxKMbjXa8UYpCbDtWfO44btp0nYz07NnTwIDAzl27BiLF6cNDsPCwoiJicHf35/y5cunWZdZn1IwKYPWAY9mBM9wfGB3X6j3qnkc/D/pWypEEbBkyRKaNGmS5id9mm9hk6BUCCGEuA798MMP1KxZk8mTJ5OamopSip9++inXA/MAbN68me3bt1O2bFnuvfdeLl26xMMPP8yHH34ImJZPV1dXypUrxz///IOXl5etZdVecnIyTz75JFprW5+nqKio3J+sE2JjY3nmGTN9yocffkizZs1ISUlhw4YNwNWWUmv/KXAccFoHObr99tspVqwYJ06cyHHdrX1Z69Wrl+221lbSZ1s9SymvUo432vcJxB2Fkg2g9tNO1cHV1ZUnn3wSIM2NBiBNK2n6vqvWKWHCw8NtA6DYG9RgEAB/HfqLlNSM6wGoNRK8KkDUVjj5p1P1FUIUnB49erBz5840P/PmzSvsaqUhQakQQghxnYmOjua5554jMTGRAQMGsGfPHgYPHkxycrItgMyNiRMnAjB8+HCmTJlChQoVWLdunW1ExgceeMC27S233MJrr70GwDPPPJMmgJk4cSI7duygatWqvPHGG0DBt5SOGTOGkydPcttttzFy5Eg6duwIXE3htQalDRs2tLWUOhrEyNpSWrVqVdsgQDkd7MgalGbXUrrl5BaWHFmCr4cvz7V+zvFGkavMNCsALSaCi5vT9Xjsscfw9PTkn3/+4ejRo7blmY28C+Dl5UX58uVJTk52mHJdp2wdapapyfn482wMz2QeV7diUN+87qa1NHfT6gghbh4SlAohhBDXmYkTJ3Lx4kW6dOnC77//Tt26dXnrrbdwcXHJdWvpmTNnmD17NkopnnzyScqUKcP3339vW//666/j5pY2IHrllVeoVq0au3btYsqUKWit+eKLL3jppZds9VTlFLSAyAuReTvpbCxYsACAL774AldXVzp0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\n",
|
||
"text/plain": [
|
||
"<Figure size 1152x720 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"watch.load(\"SPY\", plot=True, mas=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Easy to swap Studies and run them"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Running Simple Study A"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='A', ta=[{'kind': 'sma', 'length': 50}, {'kind': 'sma', 'length': 200}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Load custom_a into Watchlist and verify\n",
|
||
"watch.study = custom_a\n",
|
||
"watch.study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded IWM[D]: IWM_D.csv\n",
|
||
"[i] Analysis Time: 1.5740 ms (0.0016 s) for 2 columns (avg 0.7898 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>SMA_50</th>\n",
|
||
" <th>SMA_200</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-26</th>\n",
|
||
" <td>34.265217</td>\n",
|
||
" <td>34.406322</td>\n",
|
||
" <td>34.100593</td>\n",
|
||
" <td>34.406322</td>\n",
|
||
" <td>74800</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-30</th>\n",
|
||
" <td>34.900198</td>\n",
|
||
" <td>35.676281</td>\n",
|
||
" <td>34.900198</td>\n",
|
||
" <td>35.676281</td>\n",
|
||
" <td>57600</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-31</th>\n",
|
||
" <td>35.793875</td>\n",
|
||
" <td>36.264228</td>\n",
|
||
" <td>35.793875</td>\n",
|
||
" <td>35.805634</td>\n",
|
||
" <td>36000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-06-01</th>\n",
|
||
" <td>36.540538</td>\n",
|
||
" <td>36.616970</td>\n",
|
||
" <td>36.540538</td>\n",
|
||
" <td>36.616970</td>\n",
|
||
" <td>7000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-06-02</th>\n",
|
||
" <td>38.274976</td>\n",
|
||
" <td>38.521912</td>\n",
|
||
" <td>38.274976</td>\n",
|
||
" <td>38.521912</td>\n",
|
||
" <td>29400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>190.990005</td>\n",
|
||
" <td>194.110001</td>\n",
|
||
" <td>189.210007</td>\n",
|
||
" <td>193.850006</td>\n",
|
||
" <td>35556500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>200.899373</td>\n",
|
||
" <td>214.747744</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>192.320007</td>\n",
|
||
" <td>192.710007</td>\n",
|
||
" <td>187.479996</td>\n",
|
||
" <td>187.740005</td>\n",
|
||
" <td>40513600</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>200.634474</td>\n",
|
||
" <td>214.562645</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>187.669998</td>\n",
|
||
" <td>189.779999</td>\n",
|
||
" <td>186.259995</td>\n",
|
||
" <td>186.960007</td>\n",
|
||
" <td>37808000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>200.367949</td>\n",
|
||
" <td>214.394826</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>189.169998</td>\n",
|
||
" <td>191.399994</td>\n",
|
||
" <td>184.710007</td>\n",
|
||
" <td>190.449997</td>\n",
|
||
" <td>37405200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>200.063833</td>\n",
|
||
" <td>214.261469</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>189.589996</td>\n",
|
||
" <td>191.729996</td>\n",
|
||
" <td>184.509995</td>\n",
|
||
" <td>184.949997</td>\n",
|
||
" <td>41147700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>199.641135</td>\n",
|
||
" <td>214.106763</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5517 rows × 9 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"2000-05-26 34.265217 34.406322 34.100593 34.406322 74800 \n",
|
||
"2000-05-30 34.900198 35.676281 34.900198 35.676281 57600 \n",
|
||
"2000-05-31 35.793875 36.264228 35.793875 35.805634 36000 \n",
|
||
"2000-06-01 36.540538 36.616970 36.540538 36.616970 7000 \n",
|
||
"2000-06-02 38.274976 38.521912 38.274976 38.521912 29400 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 190.990005 194.110001 189.210007 193.850006 35556500 \n",
|
||
"2022-04-26 192.320007 192.710007 187.479996 187.740005 40513600 \n",
|
||
"2022-04-27 187.669998 189.779999 186.259995 186.960007 37808000 \n",
|
||
"2022-04-28 189.169998 191.399994 184.710007 190.449997 37405200 \n",
|
||
"2022-04-29 189.589996 191.729996 184.509995 184.949997 41147700 \n",
|
||
"\n",
|
||
" Dividends Stock Splits SMA_50 SMA_200 \n",
|
||
"Date \n",
|
||
"2000-05-26 0.0 0.0 NaN NaN \n",
|
||
"2000-05-30 0.0 0.0 NaN NaN \n",
|
||
"2000-05-31 0.0 0.0 NaN NaN \n",
|
||
"2000-06-01 0.0 0.0 NaN NaN \n",
|
||
"2000-06-02 0.0 0.0 NaN NaN \n",
|
||
"... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0.0 200.899373 214.747744 \n",
|
||
"2022-04-26 0.0 0.0 200.634474 214.562645 \n",
|
||
"2022-04-27 0.0 0.0 200.367949 214.394826 \n",
|
||
"2022-04-28 0.0 0.0 200.063833 214.261469 \n",
|
||
"2022-04-29 0.0 0.0 199.641135 214.106763 \n",
|
||
"\n",
|
||
"[5517 rows x 9 columns]"
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"watch.load(\"IWM\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Running Simple Study B"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='B', ta=[{'kind': 'ema', 'length': 8}, {'kind': 'ema', 'length': 21}, {'kind': 'log_return', 'cumulative': True}, {'kind': 'rsi'}, {'kind': 'supertrend'}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Load custom_b into Watchlist and verify\n",
|
||
"watch.study = custom_b\n",
|
||
"watch.study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded IWM[D]: IWM_D.csv\n",
|
||
"[i] Analysis Time: 249.7703 ms (0.2498 s) for 8 columns (avg 31.2219 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>EMA_8</th>\n",
|
||
" <th>EMA_21</th>\n",
|
||
" <th>CUMLOGRET_1</th>\n",
|
||
" <th>RSI_14</th>\n",
|
||
" <th>SUPERT_7_3.0</th>\n",
|
||
" <th>SUPERTd_7_3.0</th>\n",
|
||
" <th>SUPERTl_7_3.0</th>\n",
|
||
" <th>SUPERTs_7_3.0</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-26</th>\n",
|
||
" <td>34.265217</td>\n",
|
||
" <td>34.406322</td>\n",
|
||
" <td>34.100593</td>\n",
|
||
" <td>34.406322</td>\n",
|
||
" <td>74800</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-30</th>\n",
|
||
" <td>34.900198</td>\n",
|
||
" <td>35.676281</td>\n",
|
||
" <td>34.900198</td>\n",
|
||
" <td>35.676281</td>\n",
|
||
" <td>57600</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.036246</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-05-31</th>\n",
|
||
" <td>35.793875</td>\n",
|
||
" <td>36.264228</td>\n",
|
||
" <td>35.793875</td>\n",
|
||
" <td>35.805634</td>\n",
|
||
" <td>36000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.039865</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-06-01</th>\n",
|
||
" <td>36.540538</td>\n",
|
||
" <td>36.616970</td>\n",
|
||
" <td>36.540538</td>\n",
|
||
" <td>36.616970</td>\n",
|
||
" <td>7000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.062271</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2000-06-02</th>\n",
|
||
" <td>38.274976</td>\n",
|
||
" <td>38.521912</td>\n",
|
||
" <td>38.274976</td>\n",
|
||
" <td>38.521912</td>\n",
|
||
" <td>29400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0.112987</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>190.990005</td>\n",
|
||
" <td>194.110001</td>\n",
|
||
" <td>189.210007</td>\n",
|
||
" <td>193.850006</td>\n",
|
||
" <td>35556500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>197.294738</td>\n",
|
||
" <td>199.708898</td>\n",
|
||
" <td>1.728844</td>\n",
|
||
" <td>40.519591</td>\n",
|
||
" <td>205.318726</td>\n",
|
||
" <td>-1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>205.318726</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>192.320007</td>\n",
|
||
" <td>192.710007</td>\n",
|
||
" <td>187.479996</td>\n",
|
||
" <td>187.740005</td>\n",
|
||
" <td>40513600</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>195.171464</td>\n",
|
||
" <td>198.620817</td>\n",
|
||
" <td>1.696818</td>\n",
|
||
" <td>34.286504</td>\n",
|
||
" <td>204.532482</td>\n",
|
||
" <td>-1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>204.532482</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>187.669998</td>\n",
|
||
" <td>189.779999</td>\n",
|
||
" <td>186.259995</td>\n",
|
||
" <td>186.960007</td>\n",
|
||
" <td>37808000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>193.346696</td>\n",
|
||
" <td>197.560743</td>\n",
|
||
" <td>1.692654</td>\n",
|
||
" <td>33.576419</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" <td>-1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>189.169998</td>\n",
|
||
" <td>191.399994</td>\n",
|
||
" <td>184.710007</td>\n",
|
||
" <td>190.449997</td>\n",
|
||
" <td>37405200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>192.702985</td>\n",
|
||
" <td>196.914312</td>\n",
|
||
" <td>1.711149</td>\n",
|
||
" <td>39.603581</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" <td>-1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>189.589996</td>\n",
|
||
" <td>191.729996</td>\n",
|
||
" <td>184.509995</td>\n",
|
||
" <td>184.949997</td>\n",
|
||
" <td>41147700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>190.980099</td>\n",
|
||
" <td>195.826647</td>\n",
|
||
" <td>1.681845</td>\n",
|
||
" <td>34.318602</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" <td>-1.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>201.903553</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5517 rows × 15 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"2000-05-26 34.265217 34.406322 34.100593 34.406322 74800 \n",
|
||
"2000-05-30 34.900198 35.676281 34.900198 35.676281 57600 \n",
|
||
"2000-05-31 35.793875 36.264228 35.793875 35.805634 36000 \n",
|
||
"2000-06-01 36.540538 36.616970 36.540538 36.616970 7000 \n",
|
||
"2000-06-02 38.274976 38.521912 38.274976 38.521912 29400 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 190.990005 194.110001 189.210007 193.850006 35556500 \n",
|
||
"2022-04-26 192.320007 192.710007 187.479996 187.740005 40513600 \n",
|
||
"2022-04-27 187.669998 189.779999 186.259995 186.960007 37808000 \n",
|
||
"2022-04-28 189.169998 191.399994 184.710007 190.449997 37405200 \n",
|
||
"2022-04-29 189.589996 191.729996 184.509995 184.949997 41147700 \n",
|
||
"\n",
|
||
" Dividends Stock Splits EMA_8 EMA_21 CUMLOGRET_1 \\\n",
|
||
"Date \n",
|
||
"2000-05-26 0.0 0.0 NaN NaN 0.000000 \n",
|
||
"2000-05-30 0.0 0.0 NaN NaN 0.036246 \n",
|
||
"2000-05-31 0.0 0.0 NaN NaN 0.039865 \n",
|
||
"2000-06-01 0.0 0.0 NaN NaN 0.062271 \n",
|
||
"2000-06-02 0.0 0.0 NaN NaN 0.112987 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0.0 197.294738 199.708898 1.728844 \n",
|
||
"2022-04-26 0.0 0.0 195.171464 198.620817 1.696818 \n",
|
||
"2022-04-27 0.0 0.0 193.346696 197.560743 1.692654 \n",
|
||
"2022-04-28 0.0 0.0 192.702985 196.914312 1.711149 \n",
|
||
"2022-04-29 0.0 0.0 190.980099 195.826647 1.681845 \n",
|
||
"\n",
|
||
" RSI_14 SUPERT_7_3.0 SUPERTd_7_3.0 SUPERTl_7_3.0 \\\n",
|
||
"Date \n",
|
||
"2000-05-26 NaN NaN NaN NaN \n",
|
||
"2000-05-30 NaN NaN NaN NaN \n",
|
||
"2000-05-31 NaN NaN NaN NaN \n",
|
||
"2000-06-01 NaN NaN NaN NaN \n",
|
||
"2000-06-02 NaN NaN NaN NaN \n",
|
||
"... ... ... ... ... \n",
|
||
"2022-04-25 40.519591 205.318726 -1.0 NaN \n",
|
||
"2022-04-26 34.286504 204.532482 -1.0 NaN \n",
|
||
"2022-04-27 33.576419 201.903553 -1.0 NaN \n",
|
||
"2022-04-28 39.603581 201.903553 -1.0 NaN \n",
|
||
"2022-04-29 34.318602 201.903553 -1.0 NaN \n",
|
||
"\n",
|
||
" SUPERTs_7_3.0 \n",
|
||
"Date \n",
|
||
"2000-05-26 NaN \n",
|
||
"2000-05-30 NaN \n",
|
||
"2000-05-31 NaN \n",
|
||
"2000-06-01 NaN \n",
|
||
"2000-06-02 NaN \n",
|
||
"... ... \n",
|
||
"2022-04-25 205.318726 \n",
|
||
"2022-04-26 204.532482 \n",
|
||
"2022-04-27 201.903553 \n",
|
||
"2022-04-28 201.903553 \n",
|
||
"2022-04-29 201.903553 \n",
|
||
"\n",
|
||
"[5517 rows x 15 columns]"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"watch.load(\"IWM\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Running Bad Study. (Misspelled indicator)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='Runtime Failure', ta=[{'kind': 'peret_return'}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Load custom_run_failure into Watchlist and verify\n",
|
||
"watch.study = custom_run_failure\n",
|
||
"watch.study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded IWM[D]: IWM_D.csv\n",
|
||
"[X] Oops! 'AnalysisIndicators' object has no attribute 'peret_return'\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"try:\n",
|
||
" iwm = watch.load(\"IWM\")\n",
|
||
"except AttributeError as error:\n",
|
||
" print(f\"[X] Oops! {error}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Indicator Composition/Chaining\n",
|
||
"- When you need an indicator to depend on the value of a prior indicator\n",
|
||
"- Utilitze _prefix_ or _suffix_ to help identify unique columns or avoid column name clashes.\n",
|
||
"- Set ```cores=0``` for better performance when few indicators"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Volume MAs and MA chains"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='Volume MAs and Price MA chain', ta=[{'kind': 'ema', 'close': 'volume', 'length': 10, 'prefix': 'VOLUME'}, {'kind': 'sma', 'close': 'volume', 'length': 20, 'prefix': 'VOLUME'}, {'kind': 'ema', 'length': 5}, {'kind': 'linreg', 'close': 'EMA_5', 'length': 8, 'prefix': 'EMA_5'}], cores=0, description='', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Set EMA's and SMA's 'close' to 'volume' to create Volume MAs, prefix 'volume' MAs with 'VOLUME' so easy to identify the column\n",
|
||
"# Take a price EMA and apply LINREG from EMA's output\n",
|
||
"volmas_price_ma_chain = [\n",
|
||
" {\"kind\":\"ema\", \"close\": \"volume\", \"length\": 10, \"prefix\": \"VOLUME\"},\n",
|
||
" {\"kind\":\"sma\", \"close\": \"volume\", \"length\": 20, \"prefix\": \"VOLUME\"},\n",
|
||
" {\"kind\":\"ema\", \"length\": 5},\n",
|
||
" {\"kind\":\"linreg\", \"close\": \"EMA_5\", \"length\": 8, \"prefix\": \"EMA_5\"},\n",
|
||
"]\n",
|
||
"vp_ma_chain_ta = ta.Study(\"Volume MAs and Price MA chain\", cores=0, ta=volmas_price_ma_chain)\n",
|
||
"vp_ma_chain_ta"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Volume MAs and Price MA chain'"
|
||
]
|
||
},
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Update the Watchlist\n",
|
||
"watch.study = vp_ma_chain_ta\n",
|
||
"watch.study.name"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded SPY[D]: SPY_D.csv\n",
|
||
"[i] Analysis Time: 2.6022 ms (0.0026 s) for 4 columns (avg 0.6515 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>VOLUME_EMA_10</th>\n",
|
||
" <th>VOLUME_SMA_20</th>\n",
|
||
" <th>EMA_5</th>\n",
|
||
" <th>EMA_5_LR_8</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1993-01-29</th>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.438944</td>\n",
|
||
" <td>25.547968</td>\n",
|
||
" <td>1003200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-01</th>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>480500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-02</th>\n",
|
||
" <td>25.711524</td>\n",
|
||
" <td>25.802377</td>\n",
|
||
" <td>25.657012</td>\n",
|
||
" <td>25.784206</td>\n",
|
||
" <td>201300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-03</th>\n",
|
||
" <td>25.820536</td>\n",
|
||
" <td>26.074926</td>\n",
|
||
" <td>25.802366</td>\n",
|
||
" <td>26.056755</td>\n",
|
||
" <td>529400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-04</th>\n",
|
||
" <td>26.147607</td>\n",
|
||
" <td>26.220289</td>\n",
|
||
" <td>25.856876</td>\n",
|
||
" <td>26.165777</td>\n",
|
||
" <td>531500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>25.856881</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>9.487633e+07</td>\n",
|
||
" <td>86801825.0</td>\n",
|
||
" <td>433.629297</td>\n",
|
||
" <td>436.310946</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>9.653451e+07</td>\n",
|
||
" <td>88575150.0</td>\n",
|
||
" <td>427.786200</td>\n",
|
||
" <td>431.983410</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.011700e+08</td>\n",
|
||
" <td>90347575.0</td>\n",
|
||
" <td>424.280797</td>\n",
|
||
" <td>427.028940</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.019481e+08</td>\n",
|
||
" <td>91636685.0</td>\n",
|
||
" <td>425.457197</td>\n",
|
||
" <td>423.705404</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.098098e+08</td>\n",
|
||
" <td>92811085.0</td>\n",
|
||
" <td>420.971465</td>\n",
|
||
" <td>420.144714</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>7367 rows × 11 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"1993-01-29 25.566139 25.566139 25.438944 25.547968 1003200 \n",
|
||
"1993-02-01 25.566160 25.729696 25.566160 25.729696 480500 \n",
|
||
"1993-02-02 25.711524 25.802377 25.657012 25.784206 201300 \n",
|
||
"1993-02-03 25.820536 26.074926 25.802366 26.056755 529400 \n",
|
||
"1993-02-04 26.147607 26.220289 25.856876 26.165777 531500 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits VOLUME_EMA_10 VOLUME_SMA_20 EMA_5 \\\n",
|
||
"Date \n",
|
||
"1993-01-29 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-01 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-02 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-03 0.0 0 NaN NaN NaN \n",
|
||
"1993-02-04 0.0 0 NaN NaN 25.856881 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0 9.487633e+07 86801825.0 433.629297 \n",
|
||
"2022-04-26 0.0 0 9.653451e+07 88575150.0 427.786200 \n",
|
||
"2022-04-27 0.0 0 1.011700e+08 90347575.0 424.280797 \n",
|
||
"2022-04-28 0.0 0 1.019481e+08 91636685.0 425.457197 \n",
|
||
"2022-04-29 0.0 0 1.098098e+08 92811085.0 420.971465 \n",
|
||
"\n",
|
||
" EMA_5_LR_8 \n",
|
||
"Date \n",
|
||
"1993-01-29 NaN \n",
|
||
"1993-02-01 NaN \n",
|
||
"1993-02-02 NaN \n",
|
||
"1993-02-03 NaN \n",
|
||
"1993-02-04 NaN \n",
|
||
"... ... \n",
|
||
"2022-04-25 436.310946 \n",
|
||
"2022-04-26 431.983410 \n",
|
||
"2022-04-27 427.028940 \n",
|
||
"2022-04-28 423.705404 \n",
|
||
"2022-04-29 420.144714 \n",
|
||
"\n",
|
||
"[7367 rows x 11 columns]"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"spy = watch.load(\"SPY\")\n",
|
||
"spy"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### MACD BBANDS"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='MACD BBands', ta=[{'kind': 'macd'}, {'kind': 'bbands', 'close': 'MACD_12_26_9', 'length': 20, 'ddof': 0, 'prefix': 'MACD'}], cores=0, description='BBANDS_20 applied to MACD', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# MACD is the initial indicator that BBANDS depends on.\n",
|
||
"# Set BBANDS's 'close' to MACD's main signal, in this case 'MACD_12_26_9' and add a prefix (or suffix) so it's easier to identify\n",
|
||
"macd_bands_ta = [\n",
|
||
" {\"kind\":\"macd\"},\n",
|
||
" {\"kind\":\"bbands\", \"close\": \"MACD_12_26_9\", \"length\": 20, \"ddof\": 0, \"prefix\": \"MACD\"}\n",
|
||
"]\n",
|
||
"macd_bands_ta = ta.Study(\"MACD BBands\", cores=0, ta=macd_bands_ta, description=f\"BBANDS_{macd_bands_ta[1]['length']} applied to MACD\")\n",
|
||
"macd_bands_ta"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'MACD BBands'"
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Update the Watchlist\n",
|
||
"watch.study = macd_bands_ta\n",
|
||
"watch.study.name"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded SPY[D]: SPY_D.csv\n",
|
||
"[i] Analysis Time: 4.9183 ms (0.0049 s) for 8 columns (avg 0.6155 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>MACD_12_26_9</th>\n",
|
||
" <th>MACDh_12_26_9</th>\n",
|
||
" <th>MACDs_12_26_9</th>\n",
|
||
" <th>MACD_BBL_20_2.0</th>\n",
|
||
" <th>MACD_BBM_20_2.0</th>\n",
|
||
" <th>MACD_BBU_20_2.0</th>\n",
|
||
" <th>MACD_BBB_20_2.0</th>\n",
|
||
" <th>MACD_BBP_20_2.0</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1993-01-29</th>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.566139</td>\n",
|
||
" <td>25.438944</td>\n",
|
||
" <td>25.547968</td>\n",
|
||
" <td>1003200</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-01</th>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>25.566160</td>\n",
|
||
" <td>25.729696</td>\n",
|
||
" <td>480500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-02</th>\n",
|
||
" <td>25.711524</td>\n",
|
||
" <td>25.802377</td>\n",
|
||
" <td>25.657012</td>\n",
|
||
" <td>25.784206</td>\n",
|
||
" <td>201300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-03</th>\n",
|
||
" <td>25.820536</td>\n",
|
||
" <td>26.074926</td>\n",
|
||
" <td>25.802366</td>\n",
|
||
" <td>26.056755</td>\n",
|
||
" <td>529400</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1993-02-04</th>\n",
|
||
" <td>26.147607</td>\n",
|
||
" <td>26.220289</td>\n",
|
||
" <td>25.856876</td>\n",
|
||
" <td>26.165777</td>\n",
|
||
" <td>531500</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-2.476816</td>\n",
|
||
" <td>-2.374482</td>\n",
|
||
" <td>-0.102334</td>\n",
|
||
" <td>-2.673813</td>\n",
|
||
" <td>2.605647</td>\n",
|
||
" <td>7.885107</td>\n",
|
||
" <td>405.232183</td>\n",
|
||
" <td>0.018657</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-4.090753</td>\n",
|
||
" <td>-3.190736</td>\n",
|
||
" <td>-0.900018</td>\n",
|
||
" <td>-3.782095</td>\n",
|
||
" <td>2.201584</td>\n",
|
||
" <td>8.185264</td>\n",
|
||
" <td>543.579435</td>\n",
|
||
" <td>-0.025792</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-5.215284</td>\n",
|
||
" <td>-3.452213</td>\n",
|
||
" <td>-1.763071</td>\n",
|
||
" <td>-4.949416</td>\n",
|
||
" <td>1.683306</td>\n",
|
||
" <td>8.316029</td>\n",
|
||
" <td>788.058859</td>\n",
|
||
" <td>-0.020042</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-5.196095</td>\n",
|
||
" <td>-2.746419</td>\n",
|
||
" <td>-2.449676</td>\n",
|
||
" <td>-5.858720</td>\n",
|
||
" <td>1.134857</td>\n",
|
||
" <td>8.128434</td>\n",
|
||
" <td>1232.503432</td>\n",
|
||
" <td>0.047374</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>-6.383042</td>\n",
|
||
" <td>-3.146693</td>\n",
|
||
" <td>-3.236349</td>\n",
|
||
" <td>-6.863582</td>\n",
|
||
" <td>0.534119</td>\n",
|
||
" <td>7.931821</td>\n",
|
||
" <td>2770.055766</td>\n",
|
||
" <td>0.032479</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>7367 rows × 15 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"1993-01-29 25.566139 25.566139 25.438944 25.547968 1003200 \n",
|
||
"1993-02-01 25.566160 25.729696 25.566160 25.729696 480500 \n",
|
||
"1993-02-02 25.711524 25.802377 25.657012 25.784206 201300 \n",
|
||
"1993-02-03 25.820536 26.074926 25.802366 26.056755 529400 \n",
|
||
"1993-02-04 26.147607 26.220289 25.856876 26.165777 531500 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits MACD_12_26_9 MACDh_12_26_9 \\\n",
|
||
"Date \n",
|
||
"1993-01-29 0.0 0 NaN NaN \n",
|
||
"1993-02-01 0.0 0 NaN NaN \n",
|
||
"1993-02-02 0.0 0 NaN NaN \n",
|
||
"1993-02-03 0.0 0 NaN NaN \n",
|
||
"1993-02-04 0.0 0 NaN NaN \n",
|
||
"... ... ... ... ... \n",
|
||
"2022-04-25 0.0 0 -2.476816 -2.374482 \n",
|
||
"2022-04-26 0.0 0 -4.090753 -3.190736 \n",
|
||
"2022-04-27 0.0 0 -5.215284 -3.452213 \n",
|
||
"2022-04-28 0.0 0 -5.196095 -2.746419 \n",
|
||
"2022-04-29 0.0 0 -6.383042 -3.146693 \n",
|
||
"\n",
|
||
" MACDs_12_26_9 MACD_BBL_20_2.0 MACD_BBM_20_2.0 MACD_BBU_20_2.0 \\\n",
|
||
"Date \n",
|
||
"1993-01-29 NaN NaN NaN NaN \n",
|
||
"1993-02-01 NaN NaN NaN NaN \n",
|
||
"1993-02-02 NaN NaN NaN NaN \n",
|
||
"1993-02-03 NaN NaN NaN NaN \n",
|
||
"1993-02-04 NaN NaN NaN NaN \n",
|
||
"... ... ... ... ... \n",
|
||
"2022-04-25 -0.102334 -2.673813 2.605647 7.885107 \n",
|
||
"2022-04-26 -0.900018 -3.782095 2.201584 8.185264 \n",
|
||
"2022-04-27 -1.763071 -4.949416 1.683306 8.316029 \n",
|
||
"2022-04-28 -2.449676 -5.858720 1.134857 8.128434 \n",
|
||
"2022-04-29 -3.236349 -6.863582 0.534119 7.931821 \n",
|
||
"\n",
|
||
" MACD_BBB_20_2.0 MACD_BBP_20_2.0 \n",
|
||
"Date \n",
|
||
"1993-01-29 NaN NaN \n",
|
||
"1993-02-01 NaN NaN \n",
|
||
"1993-02-02 NaN NaN \n",
|
||
"1993-02-03 NaN NaN \n",
|
||
"1993-02-04 NaN NaN \n",
|
||
"... ... ... \n",
|
||
"2022-04-25 405.232183 0.018657 \n",
|
||
"2022-04-26 543.579435 -0.025792 \n",
|
||
"2022-04-27 788.058859 -0.020042 \n",
|
||
"2022-04-28 1232.503432 0.047374 \n",
|
||
"2022-04-29 2770.055766 0.032479 \n",
|
||
"\n",
|
||
"[7367 rows x 15 columns]"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"spy = watch.load(\"SPY\")\n",
|
||
"spy"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Comprehensive Study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"### MACD and RSI Momentum with BBANDS and SMAs and Cumulative Log Returns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='Momo, Bands and SMAs and Cumulative Log Returns', ta=[{'kind': 'sma', 'length': 50}, {'kind': 'sma', 'length': 200}, {'kind': 'bbands', 'length': 20, 'ddof': 0}, {'kind': 'macd'}, {'kind': 'rsi'}, {'kind': 'log_return', 'cumulative': True}, {'kind': 'sma', 'close': 'CUMLOGRET_1', 'length': 5, 'suffix': 'CUMLOGRET'}], cores=0, description='MACD and RSI Momo with BBANDS and SMAs 50 & 200 and Cumulative Log Returns', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"momo_bands_sma_ta = [\n",
|
||
" {\"kind\":\"sma\", \"length\": 50},\n",
|
||
" {\"kind\":\"sma\", \"length\": 200},\n",
|
||
" {\"kind\":\"bbands\", \"length\": 20, \"ddof\": 0},\n",
|
||
" {\"kind\":\"macd\"},\n",
|
||
" {\"kind\":\"rsi\"},\n",
|
||
" {\"kind\":\"log_return\", \"cumulative\": True},\n",
|
||
" {\"kind\":\"sma\", \"close\": \"CUMLOGRET_1\", \"length\": 5, \"suffix\": \"CUMLOGRET\"},\n",
|
||
"]\n",
|
||
"momo_bands_sma_Study = ta.Study(\n",
|
||
" name=\"Momo, Bands and SMAs and Cumulative Log Returns\", # name\n",
|
||
" ta=momo_bands_sma_ta, # ta\n",
|
||
" description=\"MACD and RSI Momo with BBANDS and SMAs 50 & 200 and Cumulative Log Returns\", # description\n",
|
||
" cores=0\n",
|
||
")\n",
|
||
"momo_bands_sma_Study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Momo, Bands and SMAs and Cumulative Log Returns'"
|
||
]
|
||
},
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Update the Watchlist\n",
|
||
"watch.study = momo_bands_sma_Study\n",
|
||
"watch.study.name"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded SPY[D]: SPY_D.csv\n",
|
||
"[i] Analysis Time: 7.5527 ms (0.0076 s) for 13 columns (avg 0.5813 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>SMA_50</th>\n",
|
||
" <th>SMA_200</th>\n",
|
||
" <th>BBL_20_2.0</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>BBP_20_2.0</th>\n",
|
||
" <th>MACD_12_26_9</th>\n",
|
||
" <th>MACDh_12_26_9</th>\n",
|
||
" <th>MACDs_12_26_9</th>\n",
|
||
" <th>RSI_14</th>\n",
|
||
" <th>CUMLOGRET_1</th>\n",
|
||
" <th>SMA_5_CUMLOGRET</th>\n",
|
||
" <th>0</th>\n",
|
||
" <th>30</th>\n",
|
||
" <th>70</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>438.527184</td>\n",
|
||
" <td>446.076082</td>\n",
|
||
" <td>426.925628</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.042529</td>\n",
|
||
" <td>-2.476816</td>\n",
|
||
" <td>-2.374482</td>\n",
|
||
" <td>-0.102334</td>\n",
|
||
" <td>39.640020</td>\n",
|
||
" <td>2.819756</td>\n",
|
||
" <td>2.838000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>70</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>438.067266</td>\n",
|
||
" <td>445.992511</td>\n",
|
||
" <td>421.581411</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-0.124687</td>\n",
|
||
" <td>-4.090753</td>\n",
|
||
" <td>-3.190736</td>\n",
|
||
" <td>-0.900018</td>\n",
|
||
" <td>32.944671</td>\n",
|
||
" <td>2.790368</td>\n",
|
||
" <td>2.824552</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>70</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>437.659459</td>\n",
|
||
" <td>445.922166</td>\n",
|
||
" <td>418.173022</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-0.019483</td>\n",
|
||
" <td>-5.215284</td>\n",
|
||
" <td>-3.452213</td>\n",
|
||
" <td>-1.763071</td>\n",
|
||
" <td>34.075197</td>\n",
|
||
" <td>2.793176</td>\n",
|
||
" <td>2.811815</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>70</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>437.321290</td>\n",
|
||
" <td>445.901304</td>\n",
|
||
" <td>417.354118</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.232877</td>\n",
|
||
" <td>-5.196095</td>\n",
|
||
" <td>-2.746419</td>\n",
|
||
" <td>-2.449676</td>\n",
|
||
" <td>43.342452</td>\n",
|
||
" <td>2.818121</td>\n",
|
||
" <td>2.807079</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>70</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>436.656953</td>\n",
|
||
" <td>445.808769</td>\n",
|
||
" <td>413.025375</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>-0.020676</td>\n",
|
||
" <td>-6.383042</td>\n",
|
||
" <td>-3.146693</td>\n",
|
||
" <td>-3.236349</td>\n",
|
||
" <td>35.321635</td>\n",
|
||
" <td>2.780466</td>\n",
|
||
" <td>2.800377</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>70</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 23 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits SMA_50 SMA_200 BBL_20_2.0 ... \\\n",
|
||
"Date ... \n",
|
||
"2022-04-25 0.0 0 438.527184 446.076082 426.925628 ... \n",
|
||
"2022-04-26 0.0 0 438.067266 445.992511 421.581411 ... \n",
|
||
"2022-04-27 0.0 0 437.659459 445.922166 418.173022 ... \n",
|
||
"2022-04-28 0.0 0 437.321290 445.901304 417.354118 ... \n",
|
||
"2022-04-29 0.0 0 436.656953 445.808769 413.025375 ... \n",
|
||
"\n",
|
||
" BBP_20_2.0 MACD_12_26_9 MACDh_12_26_9 MACDs_12_26_9 RSI_14 \\\n",
|
||
"Date \n",
|
||
"2022-04-25 0.042529 -2.476816 -2.374482 -0.102334 39.640020 \n",
|
||
"2022-04-26 -0.124687 -4.090753 -3.190736 -0.900018 32.944671 \n",
|
||
"2022-04-27 -0.019483 -5.215284 -3.452213 -1.763071 34.075197 \n",
|
||
"2022-04-28 0.232877 -5.196095 -2.746419 -2.449676 43.342452 \n",
|
||
"2022-04-29 -0.020676 -6.383042 -3.146693 -3.236349 35.321635 \n",
|
||
"\n",
|
||
" CUMLOGRET_1 SMA_5_CUMLOGRET 0 30 70 \n",
|
||
"Date \n",
|
||
"2022-04-25 2.819756 2.838000 0 30 70 \n",
|
||
"2022-04-26 2.790368 2.824552 0 30 70 \n",
|
||
"2022-04-27 2.793176 2.811815 0 30 70 \n",
|
||
"2022-04-28 2.818121 2.807079 0 30 70 \n",
|
||
"2022-04-29 2.780466 2.800377 0 30 70 \n",
|
||
"\n",
|
||
"[5 rows x 23 columns]"
|
||
]
|
||
},
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"spy = watch.load(\"SPY\")\n",
|
||
"# Apply constants to the DataFrame for indicators\n",
|
||
"spy.ta.constants(True, [0, 30, 70])\n",
|
||
"spy.tail()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Additional Study Options"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"The ```params``` keyword takes a _tuple_ as a shorthand to the parameter arguments in order.\n",
|
||
"* **Note**: If the indicator arguments change, so will results. Breaking Changes will **always** be posted on the README.\n",
|
||
"\n",
|
||
"The ```col_numbers``` keyword takes a _tuple_ specifying which column to return if the result is a DataFrame."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Study(name='EMA, MACD History, Outter BBands, Log Returns', ta=[{'kind': 'ema', 'params': (10,)}, {'kind': 'macd', 'params': (9, 19, 10), 'col_numbers': (1,)}, {'kind': 'bbands', 'col_numbers': (0, 2), 'col_names': ('LB', 'UB')}, {'kind': 'log_return', 'params': (5, False)}], cores=0, description='EMA, MACD History, BBands(LB, UB), and Log Returns Study', created='Sunday May 1, 2022, NYSE: 14:13:39, Local: 18:13:39 PDT, Day 121/365 (33.00%)')"
|
||
]
|
||
},
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"params_ta = [\n",
|
||
" {\"kind\":\"ema\", \"params\": (10,)},\n",
|
||
" # params sets MACD's keyword arguments: fast=9, slow=19, signal=10\n",
|
||
" # and returning the 2nd column: histogram\n",
|
||
" {\"kind\":\"macd\", \"params\": (9, 19, 10), \"col_numbers\": (1,)},\n",
|
||
" # Selects the Lower and Upper Bands and renames them LB and UB, ignoring the MB\n",
|
||
" {\"kind\":\"bbands\", \"col_numbers\": (0,2), \"col_names\": (\"LB\", \"UB\")},\n",
|
||
" {\"kind\":\"log_return\", \"params\": (5, False)},\n",
|
||
"]\n",
|
||
"params_ta_Study = ta.Study(\n",
|
||
" name=\"EMA, MACD History, Outter BBands, Log Returns\", # name\n",
|
||
" ta=params_ta, # ta\n",
|
||
" description=\"EMA, MACD History, BBands(LB, UB), and Log Returns Study\", # description\n",
|
||
" cores=0\n",
|
||
")\n",
|
||
"params_ta_Study"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'EMA, MACD History, Outter BBands, Log Returns'"
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Update the Watchlist\n",
|
||
"watch.study = params_ta_Study\n",
|
||
"watch.study.name"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[i] Loaded SPY[D]: SPY_D.csv\n",
|
||
"[i] Analysis Time: 5.3013 ms (0.0053 s) for 5 columns (avg 1.0615 ms / col)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Open</th>\n",
|
||
" <th>High</th>\n",
|
||
" <th>Low</th>\n",
|
||
" <th>Close</th>\n",
|
||
" <th>Volume</th>\n",
|
||
" <th>Dividends</th>\n",
|
||
" <th>Stock Splits</th>\n",
|
||
" <th>EMA_10</th>\n",
|
||
" <th>MACDh_9_19_10</th>\n",
|
||
" <th>LB</th>\n",
|
||
" <th>UB</th>\n",
|
||
" <th>LOGRET_5</th>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>Date</th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" <th></th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-25</th>\n",
|
||
" <td>423.670013</td>\n",
|
||
" <td>428.690002</td>\n",
|
||
" <td>418.839996</td>\n",
|
||
" <td>428.510010</td>\n",
|
||
" <td>119647700</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>437.630600</td>\n",
|
||
" <td>-2.643389</td>\n",
|
||
" <td>420.571896</td>\n",
|
||
" <td>452.372110</td>\n",
|
||
" <td>-0.021836</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-26</th>\n",
|
||
" <td>425.829987</td>\n",
|
||
" <td>426.040009</td>\n",
|
||
" <td>416.070007</td>\n",
|
||
" <td>416.100006</td>\n",
|
||
" <td>103996300</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>433.715946</td>\n",
|
||
" <td>-3.590907</td>\n",
|
||
" <td>410.882598</td>\n",
|
||
" <td>450.485408</td>\n",
|
||
" <td>-0.067239</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-27</th>\n",
|
||
" <td>417.239990</td>\n",
|
||
" <td>422.920013</td>\n",
|
||
" <td>415.010010</td>\n",
|
||
" <td>417.269989</td>\n",
|
||
" <td>122030000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>430.725772</td>\n",
|
||
" <td>-3.785286</td>\n",
|
||
" <td>409.127743</td>\n",
|
||
" <td>441.264262</td>\n",
|
||
" <td>-0.063689</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-28</th>\n",
|
||
" <td>422.290009</td>\n",
|
||
" <td>429.640015</td>\n",
|
||
" <td>417.600006</td>\n",
|
||
" <td>427.809998</td>\n",
|
||
" <td>105449100</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>430.195631</td>\n",
|
||
" <td>-2.742518</td>\n",
|
||
" <td>412.447431</td>\n",
|
||
" <td>433.844574</td>\n",
|
||
" <td>-0.023677</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2022-04-29</th>\n",
|
||
" <td>423.589996</td>\n",
|
||
" <td>425.869995</td>\n",
|
||
" <td>411.209991</td>\n",
|
||
" <td>412.000000</td>\n",
|
||
" <td>145187900</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>426.887335</td>\n",
|
||
" <td>-3.187045</td>\n",
|
||
" <td>407.086343</td>\n",
|
||
" <td>433.589658</td>\n",
|
||
" <td>-0.033510</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Open High Low Close Volume \\\n",
|
||
"Date \n",
|
||
"2022-04-25 423.670013 428.690002 418.839996 428.510010 119647700 \n",
|
||
"2022-04-26 425.829987 426.040009 416.070007 416.100006 103996300 \n",
|
||
"2022-04-27 417.239990 422.920013 415.010010 417.269989 122030000 \n",
|
||
"2022-04-28 422.290009 429.640015 417.600006 427.809998 105449100 \n",
|
||
"2022-04-29 423.589996 425.869995 411.209991 412.000000 145187900 \n",
|
||
"\n",
|
||
" Dividends Stock Splits EMA_10 MACDh_9_19_10 LB \\\n",
|
||
"Date \n",
|
||
"2022-04-25 0.0 0 437.630600 -2.643389 420.571896 \n",
|
||
"2022-04-26 0.0 0 433.715946 -3.590907 410.882598 \n",
|
||
"2022-04-27 0.0 0 430.725772 -3.785286 409.127743 \n",
|
||
"2022-04-28 0.0 0 430.195631 -2.742518 412.447431 \n",
|
||
"2022-04-29 0.0 0 426.887335 -3.187045 407.086343 \n",
|
||
"\n",
|
||
" UB LOGRET_5 \n",
|
||
"Date \n",
|
||
"2022-04-25 452.372110 -0.021836 \n",
|
||
"2022-04-26 450.485408 -0.067239 \n",
|
||
"2022-04-27 441.264262 -0.063689 \n",
|
||
"2022-04-28 433.844574 -0.023677 \n",
|
||
"2022-04-29 433.589658 -0.033510 "
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"spy = watch.load(\"SPY\")\n",
|
||
"spy.tail()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Disclaimer\n",
|
||
"* All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading Study, or individual’s trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.\n",
|
||
"\n",
|
||
"* Any opinions, news, research, analyses, prices, or other information offered is provided as general market commentary, and does not constitute investment advice. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from use of or reliance on such information."
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.9.1"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|