{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# \"Backtesting with your own custom strategy\"\n",
"> \"Write your own buy and sell signals from custom indicators and built-in indicators\"\n",
"\n",
"- toc: true\n",
"- branch: master\n",
"- badges: true\n",
"- comments: true\n",
"- author: Benj Del Mundo\n",
"- categories: [backtest, custom strategy]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Overview\n",
"\n",
"In this example, we will\n",
"1. Create a new indicator outside fastquant (this could be anything from time-series methods to machine-learning-based methods)\n",
"2. Combine our new indicator with some built-in indicators in our strategy\n",
"3. Use multiple conditions on buy and sell signals"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# uncomment to install in colab\n",
"# !pip3 install fastquant"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from fastquant import backtest,get_stock_data\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[*********************100%***********************] 1 of 1 completed\n"
]
}
],
"source": [
"df = get_stock_data(\"AAPL\",start_date='2019-01-01',end_date='2019-06-01')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" open | \n",
" high | \n",
" low | \n",
" close | \n",
" volume | \n",
"
\n",
" \n",
" dt | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2018-12-31 | \n",
" 39.632500 | \n",
" 39.840000 | \n",
" 39.119999 | \n",
" 39.435001 | \n",
" 140014000 | \n",
"
\n",
" \n",
" 2019-01-02 | \n",
" 38.722500 | \n",
" 39.712502 | \n",
" 38.557499 | \n",
" 39.480000 | \n",
" 148158800 | \n",
"
\n",
" \n",
" 2019-01-03 | \n",
" 35.994999 | \n",
" 36.430000 | \n",
" 35.500000 | \n",
" 35.547501 | \n",
" 365248800 | \n",
"
\n",
" \n",
" 2019-01-04 | \n",
" 36.132500 | \n",
" 37.137501 | \n",
" 35.950001 | \n",
" 37.064999 | \n",
" 234428400 | \n",
"
\n",
" \n",
" 2019-01-07 | \n",
" 37.174999 | \n",
" 37.207500 | \n",
" 36.474998 | \n",
" 36.982498 | \n",
" 219111200 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" open high low close volume\n",
"dt \n",
"2018-12-31 39.632500 39.840000 39.119999 39.435001 140014000\n",
"2019-01-02 38.722500 39.712502 38.557499 39.480000 148158800\n",
"2019-01-03 35.994999 36.430000 35.500000 35.547501 365248800\n",
"2019-01-04 36.132500 37.137501 35.950001 37.064999 234428400\n",
"2019-01-07 37.174999 37.207500 36.474998 36.982498 219111200"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Create our own custom indicator. In this case, we'll use scipy implementation of Arnaud Legoux Moving Average (ALMA)\n",
"\n",
"> Arnaud Legoux Moving Average (ALMA) removes small price fluctuations and enhances the trend by applying a moving average twice, once from left to right, and once from right to left. At the end of this process the phase shift (price lag) commonly associated with moving averages is significantly reduced\n",
"\n",
"(https://www.interactivebrokers.com/en/software/tws/usersguidebook/technicalanalytics/arnaudlegoux.htm)\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from scipy.ndimage import convolve1d as conv\n",
"\n",
"def alma_indicator(data,window=9,offset=0.85,sigma=6):\n",
" m = int(offset * window-1)\n",
" s = window/sigma\n",
" dss = 2*s*s\n",
" wtds = np.exp(-(np.arange(window) - m)**2/dss)\n",
" return conv(data, weights=wtds/wtds.sum(),axis=0, mode='nearest')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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h3A6g37ECYDGV7Rwa+1RnLBpIE4H2OvAjdbaDeUdAnjXfe4u4BJgsLU2p4xrrXWvSVbaTcBUa+1qa+2e4hfwH+AyY0yEe52tOcDQEufdAOzGWVurL3BJqQBrJPDmaeqfCPQDPi21DtsNwFZjTDYw2j3WcYwxXXC65V4rWbe19kuc6QRLrkuWgzNtZfHr4pJjuadxnF16XTV3t1lf4JVS11iGs25WcUfYW8BIY0xxF2AUTtB1CCe4Gm+tfavEuJ2AHGvtsc42ERERERGpHqbUP/wTERERERGpFMaYp4BEa+2o6q7l987dcfQe0Ll0t1cZx7YF/s9aW+ZaWL9HxpiJwCfW2inlOPZz4B1r7YzKr0xERERERE5FoZaIiIiIiFQJhVoiIiIiIiJyNjT9oIiIiIiIiIiIiIiIiNR46tQSERERERERERERERGRGk+dWiIiIiIiIiIiIiIiIlLjKdQSERERERERERERERGRGs+7ugsoS1RUlI2Pj6/uMkRERERERERERERERKSKLVu2LMNaG116e40MteLj41m6dGl1lyEiIiIiIiIiIiIiIiJVzBizraztmn5QREREREREREREREREajyFWiIiIiIiIiIiIiIiIlLjKdQSERERERERERERERGRGq9GrqklIiIiIiIiIiIiIiJyPsnPz2fHjh3k5eVVdylVxt/fn/r16+Pj41Ou4xVqiYiIiIiIiIiIiIiIVLMdO3YQEhJCfHw8xpjqLqfSWWvZt28fO3bsoFGjRuU6R9MPioiIiIiIiIiIiIiIVLO8vDwiIyPPi0ALwBhDZGRkhTrTFGqJiIiIiIiIiIiIiIjUAOdLoFWsoverUEtERERERERERERERERO8NRTT/Gvf/2russ4RqGWiIiIiIiIiIiIiIiI1HgKtURERERERERERERERIQJEybQtm1b2rVrxw033HDcvpUrV9KlSxfatm3LsGHDOHDgAABjx46lZcuWtG3bluuuuw6AQ4cOceutt9K5c2c6dOjA1KlTPVKft0dGEREREREREREREREREY94etpa1u3K9uiYLWNCefLyVifdv3btWp599lkWLlxIVFQU+/fvZ+zYscf233jjjYwbN45evXrxxBNP8PTTT/PKK6/w/PPPs2XLFvz8/MjMzATgueee4+KLL2b8+PFkZmbSuXNn+vXrR1BQ0Fndgzq1REREREREREREREREznNz5szhmmuuISoqCoCIiIhj+7KyssjMzKRXr14A3HTTTcybNw+Atm3bMnLkSD744AO8vZ1eqm+//Zbnn3+e9u3b07t3b/Ly8ti+fftZ16hOLRERERERERERERERkRrkVB1VNc306dOZN28e06ZN47nnnmP16tVYa/n8889p1qyZR6+lTi0REREREREREREREZHz3MUXX8ynn37Kvn37ANi/f/+xfWFhYdSqVYv58+cD8P7779OrVy+KiopITU2lT58+vPDCC2RlZZGTk0P//v0ZN24c1loAVqxY4ZEa1aklIiIiIiIiIiIiIiJynmvVqhWPPvoovXr1wsvLiw4dOhAfH39s/3vvvcfo0aPJzc2lcePGvPvuuxQWFjJq1CiysrKw1nLvvfcSHh7O448/zv3330/btm0pKiqiUaNGfPXVV2ddoylOyWqSpKQku3Tp0uouQ0REREREREREREREpEqsX7+eFi1aVHcZVa6s+zbGLLPWJpU+VtMPioiIiIiIiIiIiIiISI2nUEtERERERERERERERERqPIVaIiIiIiIiIiIiIiIiUuMp1BIREREREREREZHz0uIt+/nTpBVsyThU3aWIiEg5KNQSERERERERERGR805efiEPfLqSaat2Meg/8/lg0TastdVdloiInIJCLRERERERERERETnvvP59Cqn7D/PK8PYkxdfisSlruOV/S0jLzqvu0kRE5CQUaomIiIiIiIiIiMh5ZUvGId6cu5kr2sdwRYdY3rulM08PacWizfu49JV5TP9ld3WXKCJSY8THx5ORkVHdZQAKtUREREREREREROQ8Yq3lyS/X4uft4pHBLQBwuQw3dYtn+r09aBgRyN0Tl3P/RyvIOpxfzdWKiEhJCrVERERERERERETkvDFzzR7mbUznL5c2pXaI/3H7EqKD+ezObtzfrwnTftnNgFfmsTClZnQniIhUhSuuuIKOHTvSqlUr3nrrreP2bd26lebNm3PzzTfTtGlTRo4cyezZs+nevTtNmjRh8eLFACxevJiuXbvSoUMHunXrxq+//uqx+kxNXPwwKSnJLl26tLrLEBERERERERERkd+RQ0cK6PfSXGoF+vLlPd3x9jr5v/lflZrJnz9eyeaMQ9zavRF/G9AMfx+vKqxWRM4369evp0ULp4OUrx+CPas9e4G6bWDg86c8ZP/+/URERHD48GE6derE3Llz6dixI0uXLiUnJ4fExERWrFhBq1at6NSpE+3ateOdd97hyy+/5N1332XKlClkZ2cTGBiIt7c3s2fP5o033uDzzz8/6TWPu283Y8wya21S6WO9z/DWRURERERERERERM4pY+ckszsrj1evv+CUgRZAu7hwpt/bg+e/Xs/4BVuYl5zOK8Pb0zo2rIqqFRGpemPHjmXy5MkApKamkpycfNz+Ro0a0aZNGwBatWpF3759McbQpk0btm7dCkBWVhY33XQTycnJGGPIz/fcVK4KtUREREREREREROSc8MnSVL5du4f/d2VbokP8KnRu8t6DvDN/C9cm1adjw1rlOifA14unh7amb4s6jPlsFVe8toD7+jbhzt4Jpw3FRETOymk6qirDDz/8wOzZs/npp58IDAykd+/e5OXlHXeMn99vf/a6XK5j310uFwUFBQA8/vjj9OnTh8mTJ7N161Z69+7tsRrL9SevMWarMWa1MWalMWape9s/jTEbjDG/GGMmG2PCy3uuiIiIiIiIiIiISEV9uXIXs9enMez1BaSkHSz3edZaHp+6hiA/bx4c0LzC1+3ZNJpv7u/JwDb1+PesjVzzfz+xJeNQhccREanJsrKyqFWrFoGBgWzYsIFFixad8TixsbEA/O9///NgheUMtdz6WGvbl5jDcBbQ2lrbFtgIPFyBc0VEREREREREREQqJCUthw4NwsnLL+TK1xeyaPO+cp335apdLNq8n78NaEZkcMU6vIqFB/oybkQHxo7owKa0HAb9Zz7vL9qGtfaMxhMRqWkGDBhAQUEBLVq04KGHHqJLly5nNM7f/vY3Hn74YTp06HCse8tTTHn+0DXGbAWSrLUZJ9k/DLjaWjuyoueWJSkpyS5dqqYuERERERERERERcRzMy6fNU98ypn8zhrSL4eZ3F5O6/zD/vKYtQ9vHnvS87Lx8+v57LjFh/nxxV3e8XOasa9mTlceYz1YxPzmDXk2jefHqttQJ9T/rcUXk/LZ+/XpatGhR3WVUubLu2xizrKxGqfJ2alngW2PMMmPMH8vYfyvw9RmeW1zgH40xS40xS9PT08tZloiIiIiIiIiIiJwPNqU70/0l1g4mLiKQL+7sTocG4dz30UpenZN80o6pl2dtJCPnCH+/orVHAi2AumH+TLi1M88MbcXPW/bR/5V5TP9l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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"df[\"alma\"] = alma_indicator(df.close, window=9,offset=0.85,sigma=6)\n",
"df[\"sma\"] = df.close.rolling(9).mean()\n",
"\n",
"\n",
"df[[\"close\",\"alma\",\"sma\"]].plot(figsize=(30,10),title=\"Comparison of SMA(9) vs ALMA(9)\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" open | \n",
" high | \n",
" low | \n",
" close | \n",
" volume | \n",
" alma | \n",
" sma | \n",
"
\n",
" \n",
" dt | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 2018-12-31 | \n",
" 39.632500 | \n",
" 39.840000 | \n",
" 39.119999 | \n",
" 39.435001 | \n",
" 140014000 | \n",
" 39.403000 | \n",
" NaN | \n",
"
\n",
" \n",
" 2019-01-02 | \n",
" 38.722500 | \n",
" 39.712502 | \n",
" 38.557499 | \n",
" 39.480000 | \n",
" 148158800 | \n",
" 39.272023 | \n",
" NaN | \n",
"
\n",
" \n",
" 2019-01-03 | \n",
" 35.994999 | \n",
" 36.430000 | \n",
" 35.500000 | \n",
" 35.547501 | \n",
" 365248800 | \n",
" 38.889287 | \n",
" NaN | \n",
"
\n",
" \n",
" 2019-01-04 | \n",
" 36.132500 | \n",
" 37.137501 | \n",
" 35.950001 | \n",
" 37.064999 | \n",
" 234428400 | \n",
" 38.202014 | \n",
" NaN | \n",
"
\n",
" \n",
" 2019-01-07 | \n",
" 37.174999 | \n",
" 37.207500 | \n",
" 36.474998 | \n",
" 36.982498 | \n",
" 219111200 | \n",
" 37.477802 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" open high low close volume alma \\\n",
"dt \n",
"2018-12-31 39.632500 39.840000 39.119999 39.435001 140014000 39.403000 \n",
"2019-01-02 38.722500 39.712502 38.557499 39.480000 148158800 39.272023 \n",
"2019-01-03 35.994999 36.430000 35.500000 35.547501 365248800 38.889287 \n",
"2019-01-04 36.132500 37.137501 35.950001 37.064999 234428400 38.202014 \n",
"2019-01-07 37.174999 37.207500 36.474998 36.982498 219111200 37.477802 \n",
"\n",
" sma \n",
"dt \n",
"2018-12-31 NaN \n",
"2019-01-02 NaN \n",
"2019-01-03 NaN \n",
"2019-01-04 NaN \n",
"2019-01-07 NaN "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Implementing our custom strategy\n",
"\n",
"In this strategy we will have the following signals:\n",
"\n",
"Buy on:\n",
"- Closing price is above ALMA\n",
"- MACD crosses above the MACD signal line\n",
"\n",
"Sell on:\n",
"- Closing price falls below ALMA"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from fastquant import CustomStrategy, BaseStrategy\n",
"from fastquant.indicators import MACD, CrossOver, CustomIndicator\n",
"\n",
"\n",
"# Create a subclass of the BaseStrategy, We call this MAMAStrategy (MACD + ALMA)\n",
"class MAMAStrategy(BaseStrategy):\n",
" \n",
" params = (\n",
" (\"alma_column\", \"alma\"), # name for the ALMA column from the dataframe\n",
" (\"macd_fast_period\", 12), # period for the MACD\n",
" (\"macd_slow_period\", 16),\n",
" (\"macd_signal_period\",9)\n",
" )\n",
"\n",
" def __init__(self):\n",
" # Initialize global variables\n",
" super().__init__()\n",
" \n",
" # Setup MACD indicator parameters\n",
" self.macd_fast_period = self.params.macd_fast_period\n",
" self.macd_slow_period = self.params.macd_slow_period\n",
" self.macd_signal_period = self.params.macd_signal_period\n",
" \n",
" \n",
" # Setup MACD indicator, macd line and macd signal line, and macd signal line crossover\n",
" self.macd_ind = MACD(\n",
" period_me1=self.macd_fast_period, \n",
" period_me2=self.macd_slow_period, \n",
" period_signal=self.macd_signal_period\n",
" )\n",
" self.macd = self.macd_ind.macd\n",
" self.macd_signal = self.macd_ind.signal\n",
" \n",
" # Add signal line cross over\n",
" self.macd_signal_crossover = CrossOver(\n",
" self.macd_ind, self.macd_signal\n",
" )\n",
" \n",
" # Assign ALMA column from the dataframe\n",
" self.alma_column = self.params.alma_column\n",
" \n",
" # Set ALMA indicator from the alma column of data\n",
" self.alma = CustomIndicator(\n",
" self.data, custom_column=self.alma_column,\n",
" )\n",
" \n",
" # Plot the ALMA indicator along with the price instead of a separate plot\n",
" self.alma.plotinfo.subplot = False\n",
" self.alma.plotinfo.plotname = \"ALMA\"\n",
"\n",
" print(\"===Strategy level arguments===\")\n",
" print(\"PARAMS: \", self.params)\n",
" \n",
"\n",
" # Buy when the custom indicator is below the lower limit, and sell when it's above the upper limit\n",
" def buy_signal(self):\n",
" alma_buy = self.dataclose[0] > self.alma[0] # Close is above ALMA\n",
" macd_buy = self.macd_signal_crossover > 0 # MACD crosses signal line upward\n",
" \n",
" \n",
" return alma_buy and macd_buy \n",
" def sell_signal(self):\n",
" return self.alma[0] > self.dataclose[0]\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"===Global level arguments===\n",
"init_cash : 100000\n",
"buy_prop : 1\n",
"sell_prop : 1\n",
"commission : 0.0075\n",
"stop_loss : None\n",
"stop_trail : None\n",
"===Strategy level arguments===\n",
"PARAMS: \n",
"Final Portfolio Value: 93388.75828515051\n",
"Final PnL: -6611.24\n",
"Time used (seconds): 0.068572998046875\n",
"Optimal parameters: {'init_cash': 100000, 'buy_prop': 1, 'sell_prop': 1, 'commission': 0.0075, 'stop_loss': None, 'stop_trail': None, 'execution_type': 'close', 'channel': None, 'symbol': None, 'allow_short': False, 'short_max': 1.5, 'add_cash_amount': None, 'add_cash_freq': 'M', 'alma_column': 'alma', 'macd_fast_period': 12, 'macd_slow_period': 16, 'macd_signal_period': 9}\n",
"Optimal metrics: {'rtot': -0.06839920896995008, 'ravg': -0.0006514210378090484, 'rnorm': -0.15139215492317035, 'rnorm100': -15.139215492317035, 'len': 49, 'drawdown': 12.742882982202364, 'moneydown': 13638.337586126348, 'max': AutoOrderedDict([('len', 49), ('drawdown', 12.742882982202364), ('moneydown', 13638.337586126348)]), 'maxdrawdown': 12.742882982202364, 'maxdrawdownperiod': 49, 'sharperatio': -1.3025150321622352, 'pnl': -6611.24, 'final_value': 93388.75828515051}\n"
]
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '');\n",
" var titletext = $(\n",
" '');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('');\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('');\n",
"\n",
" var fmt_picker = $('');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option);\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('');\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('');\n",
" var button = $('');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"result, history = backtest(MAMAStrategy,df, verbose=False, return_history=True)\n",
"# result"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" strat_id | \n",
" init_cash | \n",
" buy_prop | \n",
" sell_prop | \n",
" commission | \n",
" stop_loss | \n",
" stop_trail | \n",
" execution_type | \n",
" channel | \n",
" symbol | \n",
" ... | \n",
" rnorm100 | \n",
" len | \n",
" drawdown | \n",
" moneydown | \n",
" max | \n",
" maxdrawdown | \n",
" maxdrawdownperiod | \n",
" sharperatio | \n",
" pnl | \n",
" final_value | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 100000 | \n",
" 1 | \n",
" 1 | \n",
" 0.0075 | \n",
" None | \n",
" None | \n",
" close | \n",
" None | \n",
" None | \n",
" ... | \n",
" -15.139215 | \n",
" 49 | \n",
" 12.742883 | \n",
" 13638.337586 | \n",
" {'len': 49, 'drawdown': 12.742882982202364, 'm... | \n",
" 12.742883 | \n",
" 49 | \n",
" -1.302515 | \n",
" -6611.24 | \n",
" 93388.758285 | \n",
"
\n",
" \n",
"
\n",
"
1 rows × 31 columns
\n",
"
"
],
"text/plain": [
" strat_id init_cash buy_prop sell_prop commission stop_loss stop_trail \\\n",
"0 0 100000 1 1 0.0075 None None \n",
"\n",
" execution_type channel symbol ... rnorm100 len drawdown moneydown \\\n",
"0 close None None ... -15.139215 49 12.742883 13638.337586 \n",
"\n",
" max maxdrawdown \\\n",
"0 {'len': 49, 'drawdown': 12.742882982202364, 'm... 12.742883 \n",
"\n",
" maxdrawdownperiod sharperatio pnl final_value \n",
"0 49 -1.302515 -6611.24 93388.758285 \n",
"\n",
"[1 rows x 31 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" strat_id | \n",
" strat_name | \n",
" dt | \n",
" type | \n",
" price | \n",
" size | \n",
" value | \n",
" commission | \n",
" pnl | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" | \n",
" 2019-03-13 | \n",
" buy | \n",
" 45.227501 | \n",
" 2192 | \n",
" 99138.682007 | \n",
" 743.540115 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 1 | \n",
" 0 | \n",
" | \n",
" 2019-03-26 | \n",
" sell | \n",
" 46.697498 | \n",
" -2192 | \n",
" 99138.682007 | \n",
" 767.706872 | \n",
" 3222.234314 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
" | \n",
" 2019-04-04 | \n",
" buy | \n",
" 48.837502 | \n",
" 2065 | \n",
" 100849.440651 | \n",
" 756.370805 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 3 | \n",
" 0 | \n",
" | \n",
" 2019-04-12 | \n",
" sell | \n",
" 49.717499 | \n",
" -2065 | \n",
" 100849.440651 | \n",
" 769.999762 | \n",
" 1817.194328 | \n",
"
\n",
" \n",
" 4 | \n",
" 0 | \n",
" | \n",
" 2019-04-24 | \n",
" buy | \n",
" 51.869999 | \n",
" 1949 | \n",
" 101094.627918 | \n",
" 758.209709 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 5 | \n",
" 0 | \n",
" | \n",
" 2019-04-26 | \n",
" sell | \n",
" 51.075001 | \n",
" -1949 | \n",
" 101094.627918 | \n",
" 746.588824 | \n",
" -1549.451431 | \n",
"
\n",
" \n",
" 6 | \n",
" 0 | \n",
" | \n",
" 2019-05-06 | \n",
" buy | \n",
" 52.937500 | \n",
" 1853 | \n",
" 98093.187500 | \n",
" 735.698906 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 7 | \n",
" 0 | \n",
" | \n",
" 2019-05-07 | \n",
" sell | \n",
" 50.715000 | \n",
" -1853 | \n",
" 98093.187500 | \n",
" 704.811715 | \n",
" -4118.292217 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" strat_id strat_name dt type price size value \\\n",
"0 0 2019-03-13 buy 45.227501 2192 99138.682007 \n",
"1 0 2019-03-26 sell 46.697498 -2192 99138.682007 \n",
"2 0 2019-04-04 buy 48.837502 2065 100849.440651 \n",
"3 0 2019-04-12 sell 49.717499 -2065 100849.440651 \n",
"4 0 2019-04-24 buy 51.869999 1949 101094.627918 \n",
"5 0 2019-04-26 sell 51.075001 -1949 101094.627918 \n",
"6 0 2019-05-06 buy 52.937500 1853 98093.187500 \n",
"7 0 2019-05-07 sell 50.715000 -1853 98093.187500 \n",
"\n",
" commission pnl \n",
"0 743.540115 0.000000 \n",
"1 767.706872 3222.234314 \n",
"2 756.370805 0.000000 \n",
"3 769.999762 1817.194328 \n",
"4 758.209709 0.000000 \n",
"5 746.588824 -1549.451431 \n",
"6 735.698906 0.000000 \n",
"7 704.811715 -4118.292217 "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"history['orders']"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" strat_id | \n",
" strat_name | \n",
" dt | \n",
" MACD (12, 16, 9) | \n",
" CrossOver | \n",
" ALMA | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" | \n",
" 2018-12-31 | \n",
" NaN | \n",
" NaN | \n",
" 39.403000 | \n",
"
\n",
" \n",
" 1 | \n",
" 0 | \n",
" | \n",
" 2019-01-02 | \n",
" NaN | \n",
" NaN | \n",
" 39.272023 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
" | \n",
" 2019-01-03 | \n",
" NaN | \n",
" NaN | \n",
" 38.889287 | \n",
"
\n",
" \n",
" 3 | \n",
" 0 | \n",
" | \n",
" 2019-01-04 | \n",
" NaN | \n",
" NaN | \n",
" 38.202014 | \n",
"
\n",
" \n",
" 4 | \n",
" 0 | \n",
" | \n",
" 2019-01-07 | \n",
" NaN | \n",
" NaN | \n",
" 37.477802 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 100 | \n",
" 0 | \n",
" | \n",
" 2019-05-24 | \n",
" -0.530912 | \n",
" 0.0 | \n",
" 45.578881 | \n",
"
\n",
" \n",
" 101 | \n",
" 0 | \n",
" | \n",
" 2019-05-28 | \n",
" -0.553285 | \n",
" 0.0 | \n",
" 45.182577 | \n",
"
\n",
" \n",
" 102 | \n",
" 0 | \n",
" | \n",
" 2019-05-29 | \n",
" -0.567666 | \n",
" 0.0 | \n",
" 44.788032 | \n",
"
\n",
" \n",
" 103 | \n",
" 0 | \n",
" | \n",
" 2019-05-30 | \n",
" -0.559803 | \n",
" 0.0 | \n",
" 44.557318 | \n",
"
\n",
" \n",
" 104 | \n",
" 0 | \n",
" | \n",
" 2019-05-31 | \n",
" -0.573031 | \n",
" 0.0 | \n",
" 44.396019 | \n",
"
\n",
" \n",
"
\n",
"
105 rows × 6 columns
\n",
"
"
],
"text/plain": [
" strat_id strat_name dt MACD (12, 16, 9) CrossOver ALMA\n",
"0 0 2018-12-31 NaN NaN 39.403000\n",
"1 0 2019-01-02 NaN NaN 39.272023\n",
"2 0 2019-01-03 NaN NaN 38.889287\n",
"3 0 2019-01-04 NaN NaN 38.202014\n",
"4 0 2019-01-07 NaN NaN 37.477802\n",
".. ... ... ... ... ... ...\n",
"100 0 2019-05-24 -0.530912 0.0 45.578881\n",
"101 0 2019-05-28 -0.553285 0.0 45.182577\n",
"102 0 2019-05-29 -0.567666 0.0 44.788032\n",
"103 0 2019-05-30 -0.559803 0.0 44.557318\n",
"104 0 2019-05-31 -0.573031 0.0 44.396019\n",
"\n",
"[105 rows x 6 columns]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"history['indicators']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "fastquant_dev",
"language": "python",
"name": "fastquant_dev"
},
"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.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}