{ "info": { "author": "verybadsolider", "author_email": "vbs@springrts.de", "bugtrack_url": null, "classifiers": [], "description": "# backtrader_plotting\nPlotting addon for backtrader to support Bokeh (and maybe more).\n\nThis is in an early development state. Expect bugs, heavy restructuring and commit reordering. \nCurrently this is Python >=3.6 only.\n\nFeel free to test it and play with it. I am happy about feedback, critics and ideas:\nhttps://community.backtrader.com/topic/813/bokeh-integration-interactive-webbrowser-plotting\n\n## Demos\nhttps://verybadsoldier.github.io/backtrader_plotting/\n\n## Quickstart\n\n```python\nfrom backtrader_plotting import Bokeh\nfrom backtrader_plotting.schemes import Tradimo\n\n\n\nb = Bokeh(style='bar', plot_mode='single', scheme=Tradimo())\ncerebro.plot(b)\n```\n\n## Minimal Example\n```python\nimport datetime\nimport backtrader as bt\nfrom backtrader_plotting import Bokeh\n\n\nclass TestStrategy(bt.Strategy):\n params = (\n ('buydate', 21),\n ('holdtime', 6),\n )\n\n def next(self):\n if len(self.data) == self.p.buydate:\n self.buy(self.datas[0], size=None)\n\n if len(self.data) == self.p.buydate + self.p.holdtime:\n self.sell(self.datas[0], size=None)\n\n\nif __name__ == '__main__':\n cerebro = bt.Cerebro()\n\n cerebro.addstrategy(TestStrategy, buydate=3)\n\n data = bt.feeds.YahooFinanceCSVData(\n dataname=\"datas/orcl-1995-2014.txt\",\n # Do not pass values before this date\n fromdate=datetime.datetime(2000, 1, 1),\n # Do not pass values after this date\n todate=datetime.datetime(2001, 2, 28),\n reverse=False,\n )\n cerebro.adddata(data)\n\n cerebro.run()\n\n b = Bokeh(style='bar', plot_mode='single')\n cerebro.plot(b)\n```\n\n## Plotting Optimization Results\nAnother way to use this package is to invoke `Bokeh.plot_result`. This function also supports passing a `cerebro` result object as it is generated in optimization:\n\n```\n ...\n cerebro.optstrategy(TestStrategy, buydate=range(1, 10, 1))\n cerebro.addanalyzer(bt.analyzers.SharpeRatio)\n ...\n res = cerebro.run()\n bo = Bokeh()\n bo.plot_result(res)\n```\n\nThis will start a Bokeh application (standalone webserver) displaying all optimization results.\n\n*NOTE:* When using this feature with `optreturn=True` then your package of `backtrader` has to contain this change of mine:\nhttps://github.com/verybadsoldier/backtrader/commit/f03a0ed115338ed8f074a942f6520b31c630bcfb\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "trading,development,plotting", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "backtrader-plotting", "package_url": "https://pypi.org/project/backtrader-plotting/", "platform": "", "project_url": "https://pypi.org/project/backtrader-plotting/", "project_urls": null, "release_url": "https://pypi.org/project/backtrader-plotting/0.5.3/", "requires_dist": [ "bokeh (~=1.0.0)", "jinja2", "backtrader", "pandas", "matplotlib" ], "requires_python": ">=3.6", "summary": "Plotting package for Backtrader (Bokeh)", "version": "0.5.3" }, "last_serial": 4491355, "releases": { "0.4": [ { "comment_text": "", "digests": { "md5": "152d719f5659d852a343d5d385aa9a42", "sha256": "beb7aad22e56c6c8596fd0d7140c2dd2f944dddd1fa83faf85eba85edc77c6a0" }, "downloads": -1, "filename": "backtrader_plotting-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "152d719f5659d852a343d5d385aa9a42", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6", "size": 28197, "upload_time": "2018-08-29T19:34:27", "url": "https://files.pythonhosted.org/packages/eb/7d/af6a572089507c33d979b08613a339f47abe3938da25b1532af3c24d006a/backtrader_plotting-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "408bdf0d4c1184d04bf311ae88332ba4", "sha256": "02c8cb4cb979bea59bdedc3c43f07cc63be5393fd524fcd2e9eb8ffd819e120c" }, "downloads": -1, "filename": "backtrader_plotting-0.4.tar.gz", "has_sig": false, "md5_digest": "408bdf0d4c1184d04bf311ae88332ba4", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6", "size": 19394, "upload_time": "2018-08-29T19:34:28", "url": "https://files.pythonhosted.org/packages/2a/b1/0c886456e38a91fd8fa69e0546b525f533f2795d93114ad9b3f25f6cf4f3/backtrader_plotting-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d774ac37a77542de34ffbee2b47986e4", "sha256": "abe2b1e690a56e1a5fcd7e8e39293fa71cc8a4af8ed09f76d5dbfb4244d0c2ac" }, "downloads": -1, "filename": "backtrader_plotting-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d774ac37a77542de34ffbee2b47986e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.6", "size": 28260, "upload_time": "2018-08-29T19:42:45", "url": "https://files.pythonhosted.org/packages/7b/6b/1699d7b422e34148a54a1575df5276b090e608a18caf1f6c8aca00e81789/backtrader_plotting-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "325a5db7ee43ab379c4c1634d693b274", "sha256": "27030c7dddc863f2237b48be8453edbf188981b11281cda655b28ec788632cbd" }, "downloads": -1, "filename": "backtrader_plotting-0.5.tar.gz", "has_sig": false, "md5_digest": "325a5db7ee43ab379c4c1634d693b274", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6", "size": 19445, "upload_time": "2018-08-29T19:42:46", "url": "https://files.pythonhosted.org/packages/0e/13/3a85dddf42c258be6f88e036e30fe9b3d47b34ff5e445c2e24c876b87aa7/backtrader_plotting-0.5.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "ea2a5c36fe8aba6d393a985fb67c1664", "sha256": "3d07085ae985ca445abc3b76f2c50a815db98ace5ff9814ea46e5b8879b7c366" }, "downloads": -1, "filename": "backtrader_plotting-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ea2a5c36fe8aba6d393a985fb67c1664", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 27812, "upload_time": "2018-11-15T21:34:38", "url": "https://files.pythonhosted.org/packages/98/59/021fc7a07caf17080a25bd2405e75413117d81fe5d07077b19ac92bc0e9a/backtrader_plotting-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24f2d5d0a38723f9711bd842cbd196e2", "sha256": "ae1319a57bbc8026aadd42013da5c24ef0ea999ca7245f654d4d00837be33e6c" }, "downloads": -1, "filename": "backtrader_plotting-0.5.3.tar.gz", "has_sig": false, "md5_digest": "24f2d5d0a38723f9711bd842cbd196e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19553, "upload_time": "2018-11-15T21:34:40", "url": "https://files.pythonhosted.org/packages/84/e9/6493ec0b2a014e2feac4c4fd130c24d5bc9150fe63fdf70e3a6cb6864016/backtrader_plotting-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea2a5c36fe8aba6d393a985fb67c1664", "sha256": "3d07085ae985ca445abc3b76f2c50a815db98ace5ff9814ea46e5b8879b7c366" }, "downloads": -1, "filename": "backtrader_plotting-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ea2a5c36fe8aba6d393a985fb67c1664", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 27812, "upload_time": "2018-11-15T21:34:38", "url": "https://files.pythonhosted.org/packages/98/59/021fc7a07caf17080a25bd2405e75413117d81fe5d07077b19ac92bc0e9a/backtrader_plotting-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24f2d5d0a38723f9711bd842cbd196e2", "sha256": "ae1319a57bbc8026aadd42013da5c24ef0ea999ca7245f654d4d00837be33e6c" }, "downloads": -1, "filename": "backtrader_plotting-0.5.3.tar.gz", "has_sig": false, "md5_digest": "24f2d5d0a38723f9711bd842cbd196e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19553, "upload_time": "2018-11-15T21:34:40", "url": "https://files.pythonhosted.org/packages/84/e9/6493ec0b2a014e2feac4c4fd130c24d5bc9150fe63fdf70e3a6cb6864016/backtrader_plotting-0.5.3.tar.gz" } ] }