{ "info": { "author": "10mohi6", "author_email": "10.mohi.6.y@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Office/Business :: Financial :: Investment" ], "description": "# oanda-backtest\n\n[![PyPI](https://img.shields.io/pypi/v/oanda-backtest)](https://pypi.org/project/oanda-backtest/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://codecov.io/gh/10mohi6/oanda-backtest-python/branch/master/graph/badge.svg)](https://codecov.io/gh/10mohi6/oanda-backtest-python)\n[![Build Status](https://travis-ci.com/10mohi6/oanda-backtest-python.svg?branch=master)](https://travis-ci.com/10mohi6/oanda-backtest-python)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/oanda-backtest)](https://pypi.org/project/oanda-backtest/)\n[![Downloads](https://pepy.tech/badge/oanda-backtest)](https://pepy.tech/project/oanda-backtest)\n\noanda-backtest is a python library for backtest with oanda fx trade rest api on Python 3.6 and above.\n\n\n## Installation\n\n $ pip install oanda-backtest\n\n## Usage\n\n### basic\n```python\nfrom oanda_backtest import Backtest\n\nbt = Backtest(access_token='', environment='practice')\nbt.candles(\"EUR_USD\")\nfast_ma = bt.sma(period=5)\nslow_ma = bt.sma(period=25)\nbt.sell_exit = bt.buy_entry = (fast_ma > slow_ma) & (fast_ma.shift() <= slow_ma.shift())\nbt.buy_exit = bt.sell_entry = (fast_ma < slow_ma) & (fast_ma.shift() >= slow_ma.shift())\nbt.run()\nbt.plot()\n```\n\n### advanced\n```python\nfrom oanda_backtest import Backtest\n\nbt = Backtest(access_token='', environment='practice')\nfilepath='usd-jpy-h1.csv'\nif bt.exists(filepath):\n bt.read_csv(filepath)\nelse:\n params = {\n \"granularity\": \"H1\", # 1 hour candlesticks (default=S5)\n \"count\": 5000 # 5000 candlesticks (default=500, maximum=5000)\n }\n bt.candles(\"USD_JPY\", params)\n bt.to_csv(filepath)\n\nfast_ma = bt.sma(period=10)\nslow_ma = bt.sma(period=30)\nexit_ma = bt.sma(period=5)\nbt.buy_entry = (fast_ma > slow_ma) & (fast_ma.shift() <= slow_ma.shift())\nbt.sell_entry = (fast_ma < slow_ma) & (fast_ma.shift() >= slow_ma.shift())\nbt.buy_exit = (bt.C < exit_ma) & (bt.C.shift() >= exit_ma.shift())\nbt.sell_exit = (bt.C > exit_ma) & (bt.C.shift() <= exit_ma.shift())\n\nbt.initial_deposit = 100000 # default=0\nbt.units = 1000 # currency unit (default=10000)\nbt.stop_loss = 50 # stop loss pips (default=0)\nbt.take_profit = 100 # take profit pips (default=0)\n\nprint(bt.run())\nbt.plot(\"backtest.png\")\n\n```\n\n```python\ntotal profit 1989.000\ntotal trades 171.000\nwin rate 35.088\nprofit factor 1.198\nmaximum drawdown 2745.000\nrecovery factor 0.725\nriskreward ratio 2.236\nsharpe ratio 0.050\naverage return 10.666\nstop loss 5.000\ntake profit 5.000\n```\n![advanced.png](https://raw.githubusercontent.com/10mohi6/oanda-backtest-python/master/tests/advanced.png)\n\n\n## Supported indicators\n- Simple Moving Average 'sma'\n- Exponential Moving Average 'ema'\n- Moving Average Convergence Divergence 'macd'\n- Relative Strenght Index 'rsi'\n- Bollinger Bands 'bband'\n- Stochastic Oscillator 'stoch'\n- Market Momentum 'mom'\n\n\n## Getting started\n\nFor help getting started with OANDA REST API, view our online [documentation](https://developer.oanda.com/rest-live-v20/introduction/).\n\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/10mohi6/oanda-backtest-python", "keywords": "oanda backtest api python fx trade", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "oanda-backtest", "package_url": "https://pypi.org/project/oanda-backtest/", "platform": "", "project_url": "https://pypi.org/project/oanda-backtest/", "project_urls": { "Homepage": "https://github.com/10mohi6/oanda-backtest-python" }, "release_url": "https://pypi.org/project/oanda-backtest/0.2.2/", "requires_dist": [ "requests", "numpy", "pandas", "matplotlib" ], "requires_python": ">=3.6.0", "summary": "oanda-backtest is a python library for backtest with oanda fx rest api on Python 3.6 and above.", "version": "0.2.2", "yanked": false, "yanked_reason": null }, "last_serial": 8831909, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "80dbea3d2ab6b1f854e813c817bafb66", "sha256": "b439c4f7eb89ad4afa3e0892feeeca9dac179a5ed0e2f2dcb99bc8335e47fd21" }, "downloads": -1, "filename": "oanda_backtest-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "80dbea3d2ab6b1f854e813c817bafb66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.0", "size": 6588, "upload_time": "2019-10-12T12:59:10", "upload_time_iso_8601": "2019-10-12T12:59:10.630599Z", "url": "https://files.pythonhosted.org/packages/a2/31/6e29038a42e703f42acf902d201187ac652bd1748c70cd8e0f3dcdec2a91/oanda_backtest-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7b5e96788a02f1a03fe9d9e410417e9c", "sha256": "c124236e19456eac3cb4d568c34501e00ed134c646b61f8ff79506f6c2a259bf" }, "downloads": -1, "filename": "oanda-backtest-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7b5e96788a02f1a03fe9d9e410417e9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.0", "size": 5631, "upload_time": "2019-10-12T12:59:13", "upload_time_iso_8601": "2019-10-12T12:59:13.575650Z", "url": "https://files.pythonhosted.org/packages/1b/c9/10494c91bc7699f6c22cff401b256f8c76b1dc59e9a191f5074fbfb2685d/oanda-backtest-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5e9b879507eac17a22893992f7ff2053", "sha256": "c3eb77fb74b0161b2df437fbf4a5d5b0ea529bda54ea4ce20df2d2921c3c60c0" }, "downloads": -1, "filename": "oanda_backtest-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5e9b879507eac17a22893992f7ff2053", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6587, "upload_time": "2019-10-12T13:33:28", "upload_time_iso_8601": "2019-10-12T13:33:28.650036Z", "url": "https://files.pythonhosted.org/packages/6a/ea/1dcde39d2b5b59c59f33a2dc9d89219dc947fc60d60acbd0a9167815a1eb/oanda_backtest-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3caab2d5f757b1b76d95954062c6c9df", "sha256": "39b1cacf477160620bfcb86cde46f91a306d97c9e2be68086a29d60d5a57a03d" }, "downloads": -1, "filename": "oanda-backtest-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3caab2d5f757b1b76d95954062c6c9df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5612, "upload_time": "2019-10-12T13:33:30", "upload_time_iso_8601": "2019-10-12T13:33:30.687806Z", "url": "https://files.pythonhosted.org/packages/e1/15/fc5433d98d97a3f3f04872f72897c05a085866b2bb47b3a0ccf215a1c4f4/oanda-backtest-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "388ba98dd7cca226ff512156ece2b7df", "sha256": "d289417f7cef3bc32734eaafe347600b7d0a72126c78c4221728a6f710535d0b" }, "downloads": -1, "filename": "oanda_backtest-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "388ba98dd7cca226ff512156ece2b7df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6588, "upload_time": "2019-10-12T14:10:24", "upload_time_iso_8601": "2019-10-12T14:10:24.627805Z", "url": "https://files.pythonhosted.org/packages/e6/9a/21637b30db2bf4d94e46e7d0a6cd9dfc1a16b316d0db4b917acfc22573d4/oanda_backtest-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "73ced3742873c918b03343dd99f3dd6c", "sha256": "a3edc68bef9d0a162d9b48be92f17fb1894a3b9cc6d82c95bed2dec2f733e733" }, "downloads": -1, "filename": "oanda-backtest-0.1.2.tar.gz", "has_sig": false, "md5_digest": "73ced3742873c918b03343dd99f3dd6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5621, "upload_time": "2019-10-12T14:10:26", "upload_time_iso_8601": "2019-10-12T14:10:26.637433Z", "url": "https://files.pythonhosted.org/packages/0b/46/df888fd12c769a19ab526ad72e7e63a25430f2b0851d61fb076189cbc0ce/oanda-backtest-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ff5ba20719f4a7507c56b51adc526c7e", "sha256": "03169c160d39b4061a7bbffa09f3ac7eab1455a6f1e9ef4aad56364709ca22d4" }, "downloads": -1, "filename": "oanda_backtest-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ff5ba20719f4a7507c56b51adc526c7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6588, "upload_time": "2019-10-12T14:18:32", "upload_time_iso_8601": "2019-10-12T14:18:32.782512Z", "url": "https://files.pythonhosted.org/packages/c7/db/3c4db750ecedee286656b07b7888f30e6af2ee61f1a3c366e3349fb3add6/oanda_backtest-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9afb0668acb4f491527c3fa1c369d16d", "sha256": "135364f6613c767a2dd894b4b0b2016e94abfd219687c63886ed830249b188fb" }, "downloads": -1, "filename": "oanda-backtest-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9afb0668acb4f491527c3fa1c369d16d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5625, "upload_time": "2019-10-12T14:18:34", "upload_time_iso_8601": "2019-10-12T14:18:34.330579Z", "url": "https://files.pythonhosted.org/packages/73/48/c001a2c330b24ff21c44b6c982523934390b060d7ed023f533dc7af7f34e/oanda-backtest-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e3cd494a080161e342f627d32b4212de", "sha256": "cd2ef980c1313cb90543f23ff9cdff7ea3262d521c35942f02372a44fcf63b3d" }, "downloads": -1, "filename": "oanda_backtest-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e3cd494a080161e342f627d32b4212de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6663, "upload_time": "2019-10-12T14:28:38", "upload_time_iso_8601": "2019-10-12T14:28:38.410817Z", "url": "https://files.pythonhosted.org/packages/85/6f/cac0823cd599851b92208c6136df74042b0142bc3d57c78d896dba4b6190/oanda_backtest-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "657cd1f73aabf08cbb2fa21124819a23", "sha256": "a483c8d04ed6d4962c8733059767dda2332cafebd99dbad8dedbd622215bd0cb" }, "downloads": -1, "filename": "oanda-backtest-0.1.4.tar.gz", "has_sig": false, "md5_digest": "657cd1f73aabf08cbb2fa21124819a23", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5578, "upload_time": "2019-10-12T14:28:39", "upload_time_iso_8601": "2019-10-12T14:28:39.975931Z", "url": "https://files.pythonhosted.org/packages/91/fd/faaa4c960dc128dea91c268ae6df5359bae6e799b014a0f1f5548da4e4bd/oanda-backtest-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "dbbfbd117d96470b44ff08f4f17fc856", "sha256": "491010212dc3f161962b1f3eed1c5c1f3b75966340aff2859df1a9c90ca0baf3" }, "downloads": -1, "filename": "oanda_backtest-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "dbbfbd117d96470b44ff08f4f17fc856", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6593, "upload_time": "2019-10-12T14:44:31", "upload_time_iso_8601": "2019-10-12T14:44:31.540348Z", "url": "https://files.pythonhosted.org/packages/44/7f/86616d3867eb2b461e1c673d03802ae2f721eeea551be953ace6182e068f/oanda_backtest-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d8dc1fb979245fdd4b1ea3c5b420314e", "sha256": "422cb5da55d8e8d625b6d89050d07f74859493393ee32155efbadd944e61728e" }, "downloads": -1, "filename": "oanda-backtest-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d8dc1fb979245fdd4b1ea3c5b420314e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5458, "upload_time": "2019-10-12T14:44:33", "upload_time_iso_8601": "2019-10-12T14:44:33.302782Z", "url": "https://files.pythonhosted.org/packages/4e/e9/2d95052c0b8a3d37662484da174a8479cdad0671c2091187b982da5927db/oanda-backtest-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "6a2196f58f71309528cd1a9204b64805", "sha256": "16886549d5d6e079784d1430816a4f3cc92b289e3847d1a06f3e6372e06525fb" }, "downloads": -1, "filename": "oanda_backtest-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "6a2196f58f71309528cd1a9204b64805", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6595, "upload_time": "2019-10-12T15:22:31", "upload_time_iso_8601": "2019-10-12T15:22:31.129307Z", "url": "https://files.pythonhosted.org/packages/bc/c0/f1e30b6f671385d9ebf9d068a0236b4269852aaafeb7f1d64fce401ce5b7/oanda_backtest-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b771d2e3778c6aace96a77f84c0aa6e3", "sha256": "b5e1ff28af8f5216dc77eb868a8df475e8fda4565d67e6cd67711823ec8a1e4c" }, "downloads": -1, "filename": "oanda-backtest-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b771d2e3778c6aace96a77f84c0aa6e3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5458, "upload_time": "2019-10-12T15:22:32", "upload_time_iso_8601": "2019-10-12T15:22:32.918788Z", "url": "https://files.pythonhosted.org/packages/20/82/19faa695c6c9b8bc542b2db166aa0d64053610c3e710d22ab75154e29f54/oanda-backtest-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "edb45d4344f33c0ef1673cb29db5ef4d", "sha256": "02433049e4ba01d9c81e8c8f366aad0779c21b3ab8ffcefe8babf7512c0d8b6b" }, "downloads": -1, "filename": "oanda_backtest-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "edb45d4344f33c0ef1673cb29db5ef4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6360, "upload_time": "2019-10-14T15:00:48", "upload_time_iso_8601": "2019-10-14T15:00:48.461447Z", "url": "https://files.pythonhosted.org/packages/84/28/b59ffac730fe06ff636744da2f8841669db9e9ed93c730388bc34f51e285/oanda_backtest-0.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "afc17b8ad0421e0118de9bb9f85634e6", "sha256": "6b793f59ff03276b2eea697e7e172bad595f02a07005ecd5d9e3f9c6e684d614" }, "downloads": -1, "filename": "oanda-backtest-0.1.7.tar.gz", "has_sig": false, "md5_digest": "afc17b8ad0421e0118de9bb9f85634e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5226, "upload_time": "2019-10-14T15:00:50", "upload_time_iso_8601": "2019-10-14T15:00:50.360399Z", "url": "https://files.pythonhosted.org/packages/b0/d1/0b97d5df1d22a0cf947ae4bf8318e9ed668ec159988af1c661e10af6182c/oanda-backtest-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ba9fc688e08d32f31557d772c9d4052f", "sha256": "b80dce434244178ef84f9a45cb3bc2170ab0b63eb2e57ed4152f2ca1313b135a" }, "downloads": -1, "filename": "oanda_backtest-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ba9fc688e08d32f31557d772c9d4052f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6639, "upload_time": "2019-10-24T13:41:54", "upload_time_iso_8601": "2019-10-24T13:41:54.997279Z", "url": "https://files.pythonhosted.org/packages/62/2e/04d0fa7729cc2a1a0b1da52e537f5f456947dac540066f5fd4d19abeccad/oanda_backtest-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "87857b730cc634d9efc698c5e7a09fe3", "sha256": "a62f2005a25d56a3e19be83171ab64dd305fe5d45cf36d20576c4f926dbc94a7" }, "downloads": -1, "filename": "oanda-backtest-0.2.0.tar.gz", "has_sig": false, "md5_digest": "87857b730cc634d9efc698c5e7a09fe3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5541, "upload_time": "2019-10-24T13:41:58", "upload_time_iso_8601": "2019-10-24T13:41:58.584420Z", "url": "https://files.pythonhosted.org/packages/e0/6a/2b7143ad7ffb42faecf5534f8b12b183c8863df603d34bc32e6d41df95ff/oanda-backtest-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "695cf8ae87a162e8252618c8fd624064", "sha256": "79e04043f9d2f4a1a94e4e21fd0fb25b74728ac7bd0ceedb913d3b29d59c0411" }, "downloads": -1, "filename": "oanda_backtest-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "695cf8ae87a162e8252618c8fd624064", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 7045, "upload_time": "2020-04-14T16:46:47", "upload_time_iso_8601": "2020-04-14T16:46:47.910723Z", "url": "https://files.pythonhosted.org/packages/84/42/af685cb3379a1fef0bff66c6c9cd22d059684d7cc3e6de37f4414dc1429b/oanda_backtest-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06e1a0bcd0114111c369f0887f081444", "sha256": "72516ce34b8a0543b8eb38cc45023ef6526f2d3d411bcb876d7cedbd8adbf98b" }, "downloads": -1, "filename": "oanda-backtest-0.2.1.tar.gz", "has_sig": false, "md5_digest": "06e1a0bcd0114111c369f0887f081444", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5787, "upload_time": "2020-04-14T16:46:49", "upload_time_iso_8601": "2020-04-14T16:46:49.174943Z", "url": "https://files.pythonhosted.org/packages/fb/16/6e3ee29e496095114b9150877414ddc57b1f94f4617ff734a477ab94cb01/oanda-backtest-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "41a0d2853660242def86aba0c785cabf", "sha256": "5f0fd6bddcc19d061d579e4b5e5f2da74e28666952264932e8a1ffb57087f00b" }, "downloads": -1, "filename": "oanda_backtest-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "41a0d2853660242def86aba0c785cabf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 7192, "upload_time": "2020-12-06T09:08:37", "upload_time_iso_8601": "2020-12-06T09:08:37.045912Z", "url": "https://files.pythonhosted.org/packages/a9/98/dcaa02482e6bcb3b589795e67a4a7169ba8816ec52d92adbfa37b505b3be/oanda_backtest-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a51488e102df58478c07ca0f260c9f0e", "sha256": "cfe397f2cda1f6d01e4582765c01ef7874e12dc2810bd829b2bcad7904c825ea" }, "downloads": -1, "filename": "oanda-backtest-0.2.2.tar.gz", "has_sig": false, "md5_digest": "a51488e102df58478c07ca0f260c9f0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6866, "upload_time": "2020-12-06T09:08:38", "upload_time_iso_8601": "2020-12-06T09:08:38.412386Z", "url": "https://files.pythonhosted.org/packages/03/b7/069d0b494b68b5868801653ed79555c0a8d664687ed580b6112d558d9dea/oanda-backtest-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41a0d2853660242def86aba0c785cabf", "sha256": "5f0fd6bddcc19d061d579e4b5e5f2da74e28666952264932e8a1ffb57087f00b" }, "downloads": -1, "filename": "oanda_backtest-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "41a0d2853660242def86aba0c785cabf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 7192, "upload_time": "2020-12-06T09:08:37", "upload_time_iso_8601": "2020-12-06T09:08:37.045912Z", "url": "https://files.pythonhosted.org/packages/a9/98/dcaa02482e6bcb3b589795e67a4a7169ba8816ec52d92adbfa37b505b3be/oanda_backtest-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a51488e102df58478c07ca0f260c9f0e", "sha256": "cfe397f2cda1f6d01e4582765c01ef7874e12dc2810bd829b2bcad7904c825ea" }, "downloads": -1, "filename": "oanda-backtest-0.2.2.tar.gz", "has_sig": false, "md5_digest": "a51488e102df58478c07ca0f260c9f0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 6866, "upload_time": "2020-12-06T09:08:38", "upload_time_iso_8601": "2020-12-06T09:08:38.412386Z", "url": "https://files.pythonhosted.org/packages/03/b7/069d0b494b68b5868801653ed79555c0a8d664687ed580b6112d558d9dea/oanda-backtest-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }