{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: backtrader in /home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages (1.9.74.123)\n", "\u001b[33mYou are using pip version 10.0.1, however version 19.3.1 is available.\n", "You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n" ] } ], "source": [ "!pip install backtrader" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array('d')\n", "start feed\n", "array('d')\n", "[INIT]:config={'user': 'user', 'fast_period': 9, 'slow_period': 21, 'size': 1000, 'user_account': 'user@547919252256', 'region': 'us-east-1', 'algo_name': 'simple_sma', 'submitUrl': 'http://34.234.253.15/cgi-bin/submit_perf.py'}\n", "load:[{'date': '2017-09-19', 'close': 37.02637253403133}]\n", "load:[{'date': '2017-09-20', 'close': 36.4233994224089}]\n", "load:[{'date': '2017-09-21', 'close': 35.90157292147324}]\n", "load:[{'date': '2017-09-22', 'close': 36.26224763539955}]\n", "load:[{'date': '2017-09-25', 'close': 36.02488570337033}]\n", "load:[{'date': '2017-09-26', 'close': 35.4855331894707}]\n", "load:[{'date': '2017-09-27', 'close': 35.08415403580482}]\n", "load:[{'date': '2017-09-28', 'close': 34.579506806684854}]\n", "load:[{'date': '2017-09-29', 'close': 35.259947286178146}]\n", "load:[{'date': '2017-10-02', 'close': 34.95745880901439}]\n", "load:[{'date': '2017-10-03', 'close': 35.4525275276598}]\n", "load:[{'date': '2017-10-04', 'close': 35.47823500481746}]\n", "load:[{'date': '2017-10-05', 'close': 35.51449279616852}]\n", "load:[{'date': '2017-10-06', 'close': 35.79583979991618}]\n", "load:[{'date': '2017-10-09', 'close': 36.12677113301313}]\n", "load:[{'date': '2017-10-10', 'close': 36.26764177923383}]\n", "load:[{'date': '2017-10-11', 'close': 36.931958507986}]\n", "load:[{'date': '2017-10-12', 'close': 36.64568408839515}]\n", "load:[{'date': '2017-10-13', 'close': 36.48579872706024}]\n", "load:[{'date': '2017-10-16', 'close': 36.53531768185574}]\n", "load:[{'date': '2017-10-17', 'close': 36.62220774729546}]\n", "[NEXT]:2020-01-13 05:34:27.138157:close=36.62220774729546\n", "load:[{'date': '2017-10-18', 'close': 36.997138463591334}]\n", "[NEXT]:2020-01-13 05:34:27.498083:close=36.997138463591334\n", "load:[{'date': '2017-10-19', 'close': 35.890717822202994}]\n", "[NEXT]:2020-01-13 05:34:27.837821:close=35.890717822202994\n", "load:[{'date': '2017-10-20', 'close': 35.7155941987614}]\n", "[NEXT]:2020-01-13 05:34:28.177821:close=35.7155941987614\n", "load:[{'date': '2017-10-23', 'close': 36.23636917411336}]\n", "[NEXT]:2020-01-13 05:34:28.497735:close=36.23636917411336\n", "load:[{'date': '2017-10-24', 'close': 35.77369265963019}]\n", "[NEXT]:2020-01-13 05:34:28.838892:close=35.77369265963019\n", "load:[{'date': '2017-10-25', 'close': 35.82501867395731}]\n", "[NEXT]:2020-01-13 05:34:29.158011:close=35.82501867395731\n", "load:[{'date': '2017-10-26', 'close': 34.98563871878767}]\n", "[NEXT]:2020-01-13 05:34:29.497891:close=34.98563871878767\n", "load:[{'date': '2017-10-27', 'close': 35.177094543393885}]\n", "[NEXT]:2020-01-13 05:34:29.837851:close=35.177094543393885\n", "load:[{'date': '2017-10-30', 'close': 35.546414552118364}]\n", "[2020-01-13 05:34:30.158237] SELL EXECUTED, Price: 35.55, PNL: 0.00, Cash: 10000.00\n", "[NEXT]:2020-01-13 05:34:30.158237:close=35.546414552118364\n", "load:[{'date': '2017-10-31', 'close': 35.22661883453948}]\n", "[NEXT]:2020-01-13 05:34:30.497734:close=35.22661883453948\n", "load:[{'date': '2017-11-01', 'close': 35.641829743806774}]\n", "[NEXT]:2020-01-13 05:34:30.838076:close=35.641829743806774\n", "load:[{'date': '2017-11-02', 'close': 35.508193015282224}]\n", "[NEXT]:2020-01-13 05:34:31.177845:close=35.508193015282224\n", "load:[{'date': '2017-11-03', 'close': 35.50038948665085}]\n", "[NEXT]:2020-01-13 05:34:31.518318:close=35.50038948665085\n", "load:[{'date': '2017-11-06', 'close': 35.452493239824626}]\n", "[NEXT]:2020-01-13 05:34:31.858047:close=35.452493239824626\n", "load:[{'date': '2017-11-07', 'close': 34.473248624189715}]\n", "[NEXT]:2020-01-13 05:34:32.218345:close=34.473248624189715\n", "load:[{'date': '2017-11-08', 'close': 34.954776764733445}]\n", "[NEXT]:2020-01-13 05:34:32.538007:close=34.954776764733445\n", "load:[{'date': '2017-11-09', 'close': 34.45962947497821}]\n", "[NEXT]:2020-01-13 05:34:32.877665:close=34.45962947497821\n", "load:[{'date': '2017-11-10', 'close': 34.614102750137235}]\n", "[NEXT]:2020-01-13 05:34:33.238365:close=34.614102750137235\n", "load:[{'date': '2017-11-13', 'close': 34.90714582914462}]\n", "[NEXT]:2020-01-13 05:34:33.597677:close=34.90714582914462\n", "load:[{'date': '2017-11-14', 'close': 34.99215145753509}]\n", "[NEXT]:2020-01-13 05:34:33.918174:close=34.99215145753509\n", "load:[{'date': '2017-11-15', 'close': 35.329251084806444}]\n", "[NEXT]:2020-01-13 05:34:34.257702:close=35.329251084806444\n", "load:[{'date': '2017-11-16', 'close': 35.60500247255908}]\n", "[NEXT]:2020-01-13 05:34:34.597964:close=35.60500247255908\n", "load:[{'date': '2017-11-17', 'close': 36.35004963724096}]\n", "[NEXT]:2020-01-13 05:34:34.938105:close=36.35004963724096\n", "load:[{'date': '2017-11-20', 'close': 36.474893325478725}]\n", "[NEXT]:2020-01-13 05:34:35.317624:close=36.474893325478725\n", "load:[{'date': '2017-11-21', 'close': 36.71545293845691}]\n", "[NEXT]:2020-01-13 05:34:35.678304:close=36.71545293845691\n", "load:[{'date': '2017-11-22', 'close': 36.702182656649484}]\n", "[NEXT]:2020-01-13 05:34:35.997825:close=36.702182656649484\n", "load:[{'date': '2017-11-23', 'close': 36.95940126584746}]\n", "[NEXT]:2020-01-13 05:34:36.318262:close=36.95940126584746\n", "load:[{'date': '2017-11-24', 'close': 37.49857790666533}]\n", "[NEXT]:2020-01-13 05:34:36.637844:close=37.49857790666533\n", "load:[{'date': '2017-11-27', 'close': 37.725625099531165}]\n", "[NEXT]:2020-01-13 05:34:36.978367:close=37.725625099531165\n", "load:[{'date': '2017-11-28', 'close': 37.17818256338157}]\n", "[NEXT]:2020-01-13 05:34:37.318116:close=37.17818256338157\n", "load:[{'date': '2017-11-29', 'close': 37.301161646138404}]\n", "[NEXT]:2020-01-13 05:34:37.678041:close=37.301161646138404\n", "load:[{'date': '2017-11-30', 'close': 37.57018046210414}]\n", "[NEXT]:2020-01-13 05:34:37.997694:close=37.57018046210414\n", "load:[{'date': '2017-12-01', 'close': 38.101471349403525}]\n", "[NEXT]:2020-01-13 05:34:38.338066:close=38.101471349403525\n", "load:[{'date': '2017-12-04', 'close': 38.55108432076722}]\n", "[NEXT]:2020-01-13 05:34:38.678187:close=38.55108432076722\n", "load:[{'date': '2017-12-05', 'close': 38.12003282741169}]\n", "[NEXT]:2020-01-13 05:34:38.997708:close=38.12003282741169\n", "load:[{'date': '2017-12-06', 'close': 38.23418489482151}]\n", "[NEXT]:2020-01-13 05:34:39.338342:close=38.23418489482151\n", "load:[{'date': '2017-12-07', 'close': 38.14638203680446}]\n", "[NEXT]:2020-01-13 05:34:39.677538:close=38.14638203680446\n", "load:[{'date': '2017-12-08', 'close': 38.574057451591}]\n", "[NEXT]:2020-01-13 05:34:39.998347:close=38.574057451591\n", "load:[{'date': '2017-12-11', 'close': 38.45001085158774}]\n", "[NEXT]:2020-01-13 05:34:40.364277:close=38.45001085158774\n", "load:[{'date': '2017-12-12', 'close': 38.63649079274197}]\n", "[NEXT]:2020-01-13 05:34:40.698122:close=38.63649079274197\n", "load:[{'date': '2017-12-13', 'close': 38.712775218445266}]\n", "[NEXT]:2020-01-13 05:34:41.038383:close=38.712775218445266\n", "load:[{'date': '2017-12-14', 'close': 37.904465710301864}]\n", "[NEXT]:2020-01-13 05:34:41.377981:close=37.904465710301864\n", "load:[{'date': '2017-12-15', 'close': 38.253934362294174}]\n", "[NEXT]:2020-01-13 05:34:41.737957:close=38.253934362294174\n", "load:[{'date': '2017-12-18', 'close': 38.16757938821458}]\n", "[NEXT]:2020-01-13 05:34:42.098365:close=38.16757938821458\n", "load:[{'date': '2017-12-19', 'close': 38.58348228653127}]\n", "[NEXT]:2020-01-13 05:34:42.417625:close=38.58348228653127\n", "load:[{'date': '2017-12-20', 'close': 38.68080062573498}]\n", "[NEXT]:2020-01-13 05:34:42.757968:close=38.68080062573498\n", "load:[{'date': '2017-12-21', 'close': 39.148315219909456}]\n", "[NEXT]:2020-01-13 05:34:43.118104:close=39.148315219909456\n", "load:[{'date': '2017-12-22', 'close': 39.34880489377271}]\n", "[NEXT]:2020-01-13 05:34:43.437948:close=39.34880489377271\n", "load:[{'date': '2017-12-25', 'close': 39.951744836320614}]\n", "[NEXT]:2020-01-13 05:34:43.798487:close=39.951744836320614\n", "load:[{'date': '2017-12-26', 'close': 41.11199739386582}]\n", "[NEXT]:2020-01-13 05:34:44.357989:close=41.11199739386582\n", "load:[{'date': '2017-12-27', 'close': 41.78895961094696}]\n", "[NEXT]:2020-01-13 05:34:44.678003:close=41.78895961094696\n", "load:[{'date': '2017-12-28', 'close': 41.99181243622001}]\n", "[NEXT]:2020-01-13 05:34:44.997988:close=41.99181243622001\n", "load:[{'date': '2017-12-29', 'close': 42.688917348594444}]\n", "[NEXT]:2020-01-13 05:34:45.338440:close=42.688917348594444\n", "load:[{'date': '2018-01-01', 'close': 43.0646300413207}]\n", "[NEXT]:2020-01-13 05:34:45.657881:close=43.0646300413207\n", "load:[{'date': '2018-01-02', 'close': 43.42269243372741}]\n", "[NEXT]:2020-01-13 05:34:45.978037:close=43.42269243372741\n", "load:[{'date': '2018-01-03', 'close': 43.73617210934196}]\n", "[NEXT]:2020-01-13 05:34:46.297367:close=43.73617210934196\n", "load:[{'date': '2018-01-04', 'close': 43.34688825133781}]\n", "[NEXT]:2020-01-13 05:34:46.638966:close=43.34688825133781\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "load:[{'date': '2018-01-05', 'close': 42.4979435472399}]\n", "[NEXT]:2020-01-13 05:34:46.958498:close=42.4979435472399\n", "load:[{'date': '2018-01-08', 'close': 41.54294628230912}]\n", "[NEXT]:2020-01-13 05:34:47.298508:close=41.54294628230912\n", "load:[{'date': '2018-01-09', 'close': 41.18577581710556}]\n", "[NEXT]:2020-01-13 05:34:47.658223:close=41.18577581710556\n", "load:[{'date': '2018-01-10', 'close': 40.28419360456494}]\n", "[NEXT]:2020-01-13 05:34:47.998213:close=40.28419360456494\n", "load:[{'date': '2018-01-11', 'close': 40.26870882754883}]\n", "[NEXT]:2020-01-13 05:34:48.358138:close=40.26870882754883\n", "load:[{'date': '2018-01-12', 'close': 40.52431520050157}]\n", "[NEXT]:2020-01-13 05:34:48.697917:close=40.52431520050157\n", "load:[{'date': '2018-01-15', 'close': 40.726271983467285}]\n", "[NEXT]:2020-01-13 05:34:48.998419:close=40.726271983467285\n", "load:[{'date': '2018-01-16', 'close': 41.36143272027427}]\n", "[NEXT]:2020-01-13 05:34:49.357952:close=41.36143272027427\n", "load:[{'date': '2018-01-17', 'close': 41.25492784392325}]\n", "[NEXT]:2020-01-13 05:34:49.698143:close=41.25492784392325\n", "load:[{'date': '2018-01-18', 'close': 41.144959298141025}]\n", "[NEXT]:2020-01-13 05:34:50.037962:close=41.144959298141025\n", "load:[{'date': '2018-01-19', 'close': 39.950744959506885}]\n", "[NEXT]:2020-01-13 05:34:50.438111:close=39.950744959506885\n", "load:[{'date': '2018-01-22', 'close': 39.253177593591666}]\n", "[NEXT]:2020-01-13 05:34:50.757331:close=39.253177593591666\n", "load:[{'date': '2018-01-23', 'close': 39.081755175328205}]\n", "[NEXT]:2020-01-13 05:34:51.097874:close=39.081755175328205\n", "load:[{'date': '2018-01-24', 'close': 38.845918661872204}]\n", "[NEXT]:2020-01-13 05:34:51.438317:close=38.845918661872204\n", "load:[{'date': '2018-01-25', 'close': 39.23618440855929}]\n", "[NEXT]:2020-01-13 05:34:51.778438:close=39.23618440855929\n", "load:[{'date': '2018-01-26', 'close': 40.07179584123073}]\n", "[NEXT]:2020-01-13 05:34:52.097768:close=40.07179584123073\n", "load:[{'date': '2018-01-29', 'close': 39.99819881713309}]\n", "[NEXT]:2020-01-13 05:34:52.438603:close=39.99819881713309\n", "load:[{'date': '2018-01-30', 'close': 39.407618914454986}]\n", "[NEXT]:2020-01-13 05:34:52.857490:close=39.407618914454986\n", "load:[{'date': '2018-01-31', 'close': 39.45947655740828}]\n", "[NEXT]:2020-01-13 05:34:53.178591:close=39.45947655740828\n", "load:[{'date': '2018-02-01', 'close': 39.90043988356778}]\n", "[NEXT]:2020-01-13 05:34:53.498042:close=39.90043988356778\n", "load:[{'date': '2018-02-02', 'close': 39.68131960892062}]\n", "[NEXT]:2020-01-13 05:34:53.838606:close=39.68131960892062\n", "load:[{'date': '2018-02-05', 'close': 40.3391652821893}]\n", "[NEXT]:2020-01-13 05:34:54.178897:close=40.3391652821893\n", "load:[{'date': '2018-02-06', 'close': 40.85623970463766}]\n", "[NEXT]:2020-01-13 05:34:54.538773:close=40.85623970463766\n", "load:[{'date': '2018-02-07', 'close': 40.68050166040431}]\n", "[NEXT]:2020-01-13 05:34:54.878592:close=40.68050166040431\n", "load:[{'date': '2018-02-08', 'close': 40.2637217859085}]\n", "[NEXT]:2020-01-13 05:34:55.259268:close=40.2637217859085\n", "load:[{'date': '2018-02-09', 'close': 40.331224605388556}]\n", "[NEXT]:2020-01-13 05:34:55.598835:close=40.331224605388556\n", "load:[{'date': '2018-02-12', 'close': 40.529354440151145}]\n", "[NEXT]:2020-01-13 05:34:55.978636:close=40.529354440151145\n", "load:[{'date': '2018-02-13', 'close': 40.72830039542638}]\n", "[NEXT]:2020-01-13 05:34:56.298469:close=40.72830039542638\n", "load:[{'date': '2018-02-14', 'close': 40.632421030032724}]\n", "[NEXT]:2020-01-13 05:34:56.658455:close=40.632421030032724\n", "load:[{'date': '2018-02-15', 'close': 40.76383201849062}]\n", "[NEXT]:2020-01-13 05:34:57.018130:close=40.76383201849062\n", "load:[{'date': '2018-02-16', 'close': 40.81677322211113}]\n", "[NEXT]:2020-01-13 05:34:57.337852:close=40.81677322211113\n", "load:[{'date': '2018-02-19', 'close': 40.099772328052985}]\n", "[NEXT]:2020-01-13 05:34:57.658078:close=40.099772328052985\n", "load:[{'date': '2018-02-20', 'close': 39.714553001685786}]\n", "[NEXT]:2020-01-13 05:34:57.998822:close=39.714553001685786\n", "load:[{'date': '2018-02-21', 'close': 38.94321915006954}]\n", "[NEXT]:2020-01-13 05:34:58.318092:close=38.94321915006954\n", "load:[{'date': '2018-02-22', 'close': 39.15615296533931}]\n", "[NEXT]:2020-01-13 05:34:58.658334:close=39.15615296533931\n", "load:[{'date': '2018-02-23', 'close': 39.35818307473032}]\n", "[NEXT]:2020-01-13 05:34:58.978177:close=39.35818307473032\n", "load:[{'date': '2018-02-26', 'close': 39.863966530769154}]\n", "[NEXT]:2020-01-13 05:34:59.318761:close=39.863966530769154\n", "load:[{'date': '2018-02-27', 'close': 40.114877944550834}]\n", "[NEXT]:2020-01-13 05:34:59.658248:close=40.114877944550834\n", "load:[{'date': '2018-02-28', 'close': 40.11908794986446}]\n", "[NEXT]:2020-01-13 05:34:59.978333:close=40.11908794986446\n", "load:[{'date': '2018-03-01', 'close': 39.390355941895486}]\n", "[NEXT]:2020-01-13 05:35:00.318554:close=39.390355941895486\n", "load:[{'date': '2018-03-02', 'close': 39.3514489209001}]\n", "[NEXT]:2020-01-13 05:35:00.658554:close=39.3514489209001\n", "load:[{'date': '2018-03-05', 'close': 38.72071503685678}]\n", "[NEXT]:2020-01-13 05:35:00.998243:close=38.72071503685678\n", "load:[{'date': '2018-03-06', 'close': 38.96465224500556}]\n", "[NEXT]:2020-01-13 05:35:01.337971:close=38.96465224500556\n", "load:[{'date': '2018-03-07', 'close': 38.36913665503368}]\n", "[NEXT]:2020-01-13 05:35:01.677921:close=38.36913665503368\n", "load:[{'date': '2018-03-08', 'close': 38.775501728517284}]\n", "[NEXT]:2020-01-13 05:35:02.019239:close=38.775501728517284\n", "load:[{'date': '2018-03-09', 'close': 38.59668120172918}]\n", "[NEXT]:2020-01-13 05:35:02.358183:close=38.59668120172918\n", "load:[{'date': '2018-03-12', 'close': 38.2837909989314}]\n", "[NEXT]:2020-01-13 05:35:02.698384:close=38.2837909989314\n", "load:[{'date': '2018-03-13', 'close': 38.16649069372453}]\n", "[NEXT]:2020-01-13 05:35:03.018771:close=38.16649069372453\n", "load:[{'date': '2018-03-14', 'close': 38.13680100847686}]\n", "[NEXT]:2020-01-13 05:35:03.338132:close=38.13680100847686\n", "load:[{'date': '2018-03-15', 'close': 37.935192906486364}]\n", "[NEXT]:2020-01-13 05:35:03.678363:close=37.935192906486364\n", "load:[{'date': '2018-03-16', 'close': 38.050279453948754}]\n", "[NEXT]:2020-01-13 05:35:03.998387:close=38.050279453948754\n", "load:[{'date': '2018-03-19', 'close': 38.50951609071942}]\n", "[NEXT]:2020-01-13 05:35:04.318362:close=38.50951609071942\n", "load:[{'date': '2018-03-20', 'close': 38.88505309789695}]\n", "[NEXT]:2020-01-13 05:35:04.677935:close=38.88505309789695\n", "load:[{'date': '2018-03-21', 'close': 38.99773183095072}]\n", "[NEXT]:2020-01-13 05:35:05.018700:close=38.99773183095072\n", "load:[{'date': '2018-03-22', 'close': 39.17626077718055}]\n", "[NEXT]:2020-01-13 05:35:05.378314:close=39.17626077718055\n", "load:[{'date': '2018-03-23', 'close': 38.82275536189837}]\n", "[NEXT]:2020-01-13 05:35:05.778412:close=38.82275536189837\n", "load:[{'date': '2018-03-26', 'close': 39.311119284141185}]\n", "[NEXT]:2020-01-13 05:35:06.118684:close=39.311119284141185\n", "load:[{'date': '2018-03-27', 'close': 39.82096489586045}]\n", "[NEXT]:2020-01-13 05:35:06.458171:close=39.82096489586045\n", "load:[{'date': '2018-03-28', 'close': 39.34420318788877}]\n", "[NEXT]:2020-01-13 05:35:06.998361:close=39.34420318788877\n", "load:[{'date': '2018-03-29', 'close': 39.59849958503571}]\n", "[NEXT]:2020-01-13 05:35:07.378856:close=39.59849958503571\n", "load:[{'date': '2018-03-30', 'close': 39.57162695095903}]\n", "[NEXT]:2020-01-13 05:35:07.718886:close=39.57162695095903\n", "load:[{'date': '2018-04-02', 'close': 39.34801048965914}]\n", "[NEXT]:2020-01-13 05:35:08.098918:close=39.34801048965914\n", "load:[{'date': '2018-04-03', 'close': 39.61617388061419}]\n", "[NEXT]:2020-01-13 05:35:08.438355:close=39.61617388061419\n", "load:[{'date': '2018-04-04', 'close': 39.16333983376899}]\n", "[NEXT]:2020-01-13 05:35:08.758682:close=39.16333983376899\n", "load:[{'date': '2018-04-05', 'close': 39.922246296001155}]\n", "[NEXT]:2020-01-13 05:35:09.098360:close=39.922246296001155\n", "load:[{'date': '2018-04-06', 'close': 39.6992335144289}]\n", "[NEXT]:2020-01-13 05:35:09.418183:close=39.6992335144289\n", "load:[{'date': '2018-04-09', 'close': 40.36613933367539}]\n", "[NEXT]:2020-01-13 05:35:09.738590:close=40.36613933367539\n", "load:[{'date': '2018-04-10', 'close': 39.81416819874517}]\n", "[NEXT]:2020-01-13 05:35:10.058594:close=39.81416819874517\n", "load:[{'date': '2018-04-11', 'close': 40.022606237396495}]\n", "[NEXT]:2020-01-13 05:35:10.398403:close=40.022606237396495\n", "load:[{'date': '2018-04-12', 'close': 39.974458074340504}]\n", "[NEXT]:2020-01-13 05:35:10.717723:close=39.974458074340504\n", "load:[{'date': '2018-04-13', 'close': 39.15276095931053}]\n", "[NEXT]:2020-01-13 05:35:11.078031:close=39.15276095931053\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "load:[{'date': '2018-04-16', 'close': 39.255343508292505}]\n", "[NEXT]:2020-01-13 05:35:11.418404:close=39.255343508292505\n", "load:[{'date': '2018-04-17', 'close': 39.706707414193524}]\n", "[NEXT]:2020-01-13 05:35:11.758665:close=39.706707414193524\n", "load:[{'date': '2018-04-18', 'close': 40.1876799328202}]\n", "[NEXT]:2020-01-13 05:35:12.078589:close=40.1876799328202\n", "load:[{'date': '2018-04-19', 'close': 39.7241766640856}]\n", "[NEXT]:2020-01-13 05:35:12.418640:close=39.7241766640856\n", "load:[{'date': '2018-04-20', 'close': 39.45352442268704}]\n", "[NEXT]:2020-01-13 05:35:12.738332:close=39.45352442268704\n", "load:[{'date': '2018-04-23', 'close': 39.50529154198901}]\n", "[NEXT]:2020-01-13 05:35:13.098157:close=39.50529154198901\n", "load:[{'date': '2018-04-24', 'close': 40.0340501765487}]\n", "[NEXT]:2020-01-13 05:35:13.417860:close=40.0340501765487\n", "load:[{'date': '2018-04-25', 'close': 40.542667190747686}]\n", "[NEXT]:2020-01-13 05:35:13.758202:close=40.542667190747686\n", "load:[{'date': '2018-04-26', 'close': 40.89378256729484}]\n", "[NEXT]:2020-01-13 05:35:14.078387:close=40.89378256729484\n", "load:[{'date': '2018-04-27', 'close': 41.58047414456925}]\n", "[NEXT]:2020-01-13 05:35:14.418065:close=41.58047414456925\n", "load:[{'date': '2018-04-30', 'close': 40.59539507623562}]\n", "[NEXT]:2020-01-13 05:35:14.758005:close=40.59539507623562\n", "load:[{'date': '2018-05-01', 'close': 40.22446066521291}]\n", "[NEXT]:2020-01-13 05:35:15.118796:close=40.22446066521291\n", "load:[{'date': '2018-05-02', 'close': 40.52308107079495}]\n", "[NEXT]:2020-01-13 05:35:15.578852:close=40.52308107079495\n", "load:[{'date': '2018-05-03', 'close': 41.25340428856231}]\n", "[NEXT]:2020-01-13 05:35:15.918912:close=41.25340428856231\n", "load:[{'date': '2018-05-04', 'close': 41.0854266396189}]\n", "[NEXT]:2020-01-13 05:35:16.238836:close=41.0854266396189\n", "load:[{'date': '2018-05-07', 'close': 40.96790092654579}]\n", "[NEXT]:2020-01-13 05:35:16.578293:close=40.96790092654579\n", "load:[{'date': '2018-05-08', 'close': 40.60605215515855}]\n", "[NEXT]:2020-01-13 05:35:16.918253:close=40.60605215515855\n", "load:[{'date': '2018-05-09', 'close': 40.20029562381837}]\n", "[NEXT]:2020-01-13 05:35:17.278561:close=40.20029562381837\n", "load:[{'date': '2018-05-10', 'close': 39.95246994745762}]\n", "[NEXT]:2020-01-13 05:35:17.759136:close=39.95246994745762\n", "load:[{'date': '2018-05-11', 'close': 38.947021316982635}]\n", "[NEXT]:2020-01-13 05:35:18.098381:close=38.947021316982635\n", "load:[{'date': '2018-05-14', 'close': 38.73801398458983}]\n", "[NEXT]:2020-01-13 05:35:18.438814:close=38.73801398458983\n", "load:[{'date': '2018-05-15', 'close': 39.2601872874406}]\n", "[NEXT]:2020-01-13 05:35:18.778241:close=39.2601872874406\n", "load:[{'date': '2018-05-16', 'close': 39.35544114896076}]\n", "[NEXT]:2020-01-13 05:35:19.118664:close=39.35544114896076\n", "load:[{'date': '2018-05-17', 'close': 39.473587570362554}]\n", "[NEXT]:2020-01-13 05:35:19.478458:close=39.473587570362554\n", "load:[{'date': '2018-05-18', 'close': 39.41019833951383}]\n", "[NEXT]:2020-01-13 05:35:19.838686:close=39.41019833951383\n", "load:[{'date': '2018-05-21', 'close': 40.24083045605959}]\n", "[NEXT]:2020-01-13 05:35:20.178364:close=40.24083045605959\n", "load:[{'date': '2018-05-22', 'close': 40.03065988965603}]\n", "[NEXT]:2020-01-13 05:35:20.518837:close=40.03065988965603\n", "load:[{'date': '2018-05-23', 'close': 40.57257502801207}]\n", "[NEXT]:2020-01-13 05:35:20.918593:close=40.57257502801207\n", "load:[{'date': '2018-05-24', 'close': 39.88636628977913}]\n", "[NEXT]:2020-01-13 05:35:21.258503:close=39.88636628977913\n", "load:[{'date': '2018-05-25', 'close': 39.03411171539673}]\n", "[NEXT]:2020-01-13 05:35:21.598262:close=39.03411171539673\n", "load:[{'date': '2018-05-28', 'close': 39.09430619057534}]\n", "[NEXT]:2020-01-13 05:35:21.998300:close=39.09430619057534\n", "load:[{'date': '2018-05-29', 'close': 39.00300296776623}]\n", "[NEXT]:2020-01-13 05:35:22.318284:close=39.00300296776623\n", "load:[{'date': '2018-05-30', 'close': 39.19978238312985}]\n", "[NEXT]:2020-01-13 05:35:22.658123:close=39.19978238312985\n", "load:[{'date': '2018-05-31', 'close': 39.550191484105525}]\n", "[NEXT]:2020-01-13 05:35:23.138859:close=39.550191484105525\n", "load:[{'date': '2018-06-01', 'close': 39.38276342647756}]\n", "[NEXT]:2020-01-13 05:35:23.458461:close=39.38276342647756\n", "load:[{'date': '2018-06-04', 'close': 38.455006033957154}]\n", "[NEXT]:2020-01-13 05:35:23.818779:close=38.455006033957154\n", "load:[{'date': '2018-06-05', 'close': 38.16123723232275}]\n", "[NEXT]:2020-01-13 05:35:24.158769:close=38.16123723232275\n", "load:[{'date': '2018-06-06', 'close': 38.18573934658639}]\n", "[NEXT]:2020-01-13 05:35:24.518695:close=38.18573934658639\n", "load:[{'date': '2018-06-07', 'close': 38.02448322403903}]\n", "[NEXT]:2020-01-13 05:35:24.838739:close=38.02448322403903\n", "load:[{'date': '2018-06-08', 'close': 38.07212401150215}]\n", "[NEXT]:2020-01-13 05:35:25.158331:close=38.07212401150215\n", "load:[{'date': '2018-06-11', 'close': 38.26718875996541}]\n", "[NEXT]:2020-01-13 05:35:25.498311:close=38.26718875996541\n", "load:[{'date': '2018-06-12', 'close': 38.38635483709308}]\n", "[NEXT]:2020-01-13 05:35:25.838201:close=38.38635483709308\n", "load:[{'date': '2018-06-13', 'close': 38.47930056809696}]\n", "[NEXT]:2020-01-13 05:35:26.158768:close=38.47930056809696\n", "load:[{'date': '2018-06-14', 'close': 39.041745776086614}]\n", "[NEXT]:2020-01-13 05:35:26.498557:close=39.041745776086614\n", "load:[{'date': '2018-06-15', 'close': 39.12805242717972}]\n", "[NEXT]:2020-01-13 05:35:26.838346:close=39.12805242717972\n", "load:[{'date': '2018-06-18', 'close': 39.10475451694068}]\n", "[NEXT]:2020-01-13 05:35:27.199157:close=39.10475451694068\n", "load:[{'date': '2018-06-19', 'close': 39.184404776050414}]\n", "[NEXT]:2020-01-13 05:35:27.538735:close=39.184404776050414\n", "load:[{'date': '2018-06-20', 'close': 39.58408349863427}]\n", "[NEXT]:2020-01-13 05:35:27.898097:close=39.58408349863427\n", "load:[{'date': '2018-06-21', 'close': 39.17279538936749}]\n", "[NEXT]:2020-01-13 05:35:28.218695:close=39.17279538936749\n", "load:[{'date': '2018-06-22', 'close': 38.45991875493564}]\n", "[NEXT]:2020-01-13 05:35:28.558323:close=38.45991875493564\n" ] } ], "source": [ "import backtrader as bt\n", "from algo_live_feed import AlgoLiveData\n", "import sagemaker as sage\n", "from algo_base import *\n", "\n", "class MyStrategy(StrategyTemplate):\n", "\n", " def __init__(self): # Initiation\n", " super(MyStrategy, self).__init__()\n", " self.smaFast = bt.ind.SimpleMovingAverage(period=self.config[\"fast_period\"])\n", " self.smaSlow = bt.ind.SimpleMovingAverage(period=self.config[\"slow_period\"])\n", " self.size = self.config[\"size\"]\n", "\n", " def next(self): # Processing\n", " super(MyStrategy, self).next()\n", " dt=self.datas[0].datetime.datetime(0)\n", " if not self.position:\n", " if self.smaFast[0] > self.smaSlow[0]:\n", " self.buy(size=self.size) # Go long\n", " else:\n", " self.sell(size=self.size) # Go short\n", " elif self.position.size>0 and self.smaFast[0] < self.smaSlow[0]:\n", " self.sell(size=2*self.size) # Go short\n", " elif self.position.size<0 and self.smaFast[0] > self.smaSlow[0]: \n", " self.buy(size=2*self.size) # Go long\n", "\n", "\n", "sess = sage.Session()\n", "region=sess.boto_session.region_name\n", "\n", "cerebro = bt.Cerebro()\n", "cerebro.addstrategy(MyStrategy)\n", "\n", "data=AlgoLiveData(region)\n", "cerebro.adddata(data)\n", "\n", "cerebro.run()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "conda_tensorflow_p36", "language": "python", "name": "conda_tensorflow_p36" }, "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }