{ "info": { "author": "Carniel Giorgio", "author_email": "dodo.33@gmx.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Topic :: Office/Business :: Financial :: Investment", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": ".. image:: https://i.imgur.com/9bC0YgB.png\n :target: https://github.com/Dodo33/alchemist-lib\n :width: 212px\n :align: center\n :alt: Alchemist\n\nAlchemist_lib\n*************\n\n\nDescription\n===========\nAlchemist_lib is an automatic trading library for cryptocurrencies that allow to personalize the portfolio based on a specific strategy.\n\n\nFeatures\n========\n\n - Easy to use: The interface is similar to `zipline `_, a popular backtesting software for stocks.\n - Portfolio personalization: You can choose the weight of every element on the portfolio.\n - Most common technical analysis indicators already integrated.\n - Execute orders on the most famous exchanges.\n - Possibility to visualize the asset allocation and the portfolio value charts for every strategy thanks to `alchemist-view `_.\n - Fully documented and hosted on `readthedocs `_.\n \n\nSupported Exchanges\n===================\nThe following exchanges are available to trade on:\n\n - `Poloniex `_\n - `Bittrex `_\n\n \nRequirements\n============\n\n - Python3\n - Mysql\n \n\nInstallation\n============\n\nSee the `installing documentation `_.\n\n\nCode example\n============\n\nStrategy description:\n*Hold a portfolio equally composed by Ethereum and BitcoinCash.*\n\n::\n \n from alchemist_lib.portfolio import LongsOnlyPortfolio\n from alchemist_lib.broker import PoloniexBroker\n from alchemist_lib.tradingsystem import TradingSystem\n import alchemist_lib.exchange as exch\n import pandas as pd\n\n\n def set_weights(df):\n df[\"weight\"] = 0.5 #Because there are just two assets.\n return df\n\n def select_universe(session):\n poloniex_assets = exch.get_assets(session = session, exchange_name = \"poloniex\")\n\n my_universe = []\n for asset in poloniex_assets:\n if asset.ticker == \"ETH\" or asset.ticker == \"BCH\":\n my_universe.append(asset)\n return my_universe\n\n def handle_data(session, universe):\n #The value of alpha is useless in this case.\n df = pd.DataFrame(data = {\"asset\" : universe, \"alpha\" : 0}, columns = [\"asset\", \"alpha\"]).set_index(\"asset\")\n return df\n\n\n algo = TradingSystem(name = \"BuyAndHold\",\n portfolio = LongsOnlyPortfolio(capital = 0.02),\n set_weights = set_weights,\n select_universe = select_universe,\n handle_data = handle_data,\n broker = PoloniexBroker(api_key = \"APIKEY\",\n secret_key = \"SECRETKEY\"),\n paper_trading = True)\n algo.run(delay = \"15M\", frequency = 1)\n\n\nScreenshot\n----------\n\n.. image:: https://i.imgur.com/G3p1IeZ.png\n :target: https://github.com/Dodo33/alchemist-lib\n :width: 300px\n :height: 150px\n :align: center\n :alt: BuyAndHold example\n\n\nBasic concepts\n==============\n\nAlchemist_lib works with three methods:\n\n - set_weights\n - select_universe\n - handle_data\n\n*set_weights* is used to set the weight that an asset has respect the others within the portfolio. \nThe sum of every weight must be close to 1. Must returns a pandas dataframe with two columns: \"asset\" and \"alpha\", where \"asset\" is the index.\n\n*select_universe* filters the assets saved on the database and returns just the ones the strategy will take into consideration.\n\n*handle_data* is the most importat one because it manages the trading logic. Must returns a pandas dataframe with two columns: \"asset\" and \"alpha\", where \"asset\" is the index.\n\nYou can find other examples in the ``examples`` directory.\n\n\nReporting bugs\n==============\n\nA `bug tracker `_ is provided by Github.\n\n\n\n\n \n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Dodo33/alchemist-lib", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "alchemist_lib", "package_url": "https://pypi.org/project/alchemist_lib/", "platform": "", "project_url": "https://pypi.org/project/alchemist_lib/", "project_urls": { "Homepage": "https://github.com/Dodo33/alchemist-lib" }, "release_url": "https://pypi.org/project/alchemist_lib/1.0/", "requires_dist": null, "requires_python": "", "summary": "Automatic trading library for cryptocurrencies.", "version": "1.0" }, "last_serial": 3848215, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3133f73f9676c514cd720ee6e358dc94", "sha256": "dd451bfb105bfa3e52a73eacc0e4438774b7dbff6c1c5302ded16328fd0ad2e1" }, "downloads": -1, "filename": "alchemist_lib-0.1.tar.gz", "has_sig": false, "md5_digest": "3133f73f9676c514cd720ee6e358dc94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1991454, "upload_time": "2018-04-21T14:47:37", "url": "https://files.pythonhosted.org/packages/63/c4/48cfa5449582317d558d36b2738147a7dcbf8a8e693a4fdb4054657d3b3f/alchemist_lib-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "d440e0c8540fc1cfa1636c3595ea5834", "sha256": "148b357a73e1d8614e1136a2c88c533ebcc3bd7fef3a2d0c9ed5bf86daa0df67" }, "downloads": -1, "filename": "alchemist_lib-0.2.tar.gz", "has_sig": false, "md5_digest": "d440e0c8540fc1cfa1636c3595ea5834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990821, "upload_time": "2018-04-23T14:38:53", "url": "https://files.pythonhosted.org/packages/51/12/4fa5356b4cd3586814acbbdf55bf706a9b7e016c9d9d7c324cbe0b10aa57/alchemist_lib-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "1768162d56abf87f619b8f063d013e2f", "sha256": "d983f669a7f1263e5ce90adf3716173a74f019cc43d7105f4441b1bb59098960" }, "downloads": -1, "filename": "alchemist_lib-0.3.tar.gz", "has_sig": false, "md5_digest": "1768162d56abf87f619b8f063d013e2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990832, "upload_time": "2018-04-23T15:54:31", "url": "https://files.pythonhosted.org/packages/75/bb/369b7f0c9b29b6f9c209051ab4d09b0abb44aa19392a91e795f530271d4b/alchemist_lib-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "8adabdcc0a21498fa8f38ed2dc51069c", "sha256": "27942dc7f1bf2feee149089a4ba9037bbc12bfa06e49945ec2623d86deed4440" }, "downloads": -1, "filename": "alchemist_lib-0.4.tar.gz", "has_sig": false, "md5_digest": "8adabdcc0a21498fa8f38ed2dc51069c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990915, "upload_time": "2018-04-23T16:17:02", "url": "https://files.pythonhosted.org/packages/e4/79/8eeacd12c91a03f9896eee823000ecaf0195b5811c9e115e28ccb346851c/alchemist_lib-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "164c19a984b9a9f5a2c0d40627392937", "sha256": "f84cce6127302d84235ef2f3cdc1ff9901d11fadd324447c691845d422ac771d" }, "downloads": -1, "filename": "alchemist_lib-0.5.tar.gz", "has_sig": false, "md5_digest": "164c19a984b9a9f5a2c0d40627392937", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990740, "upload_time": "2018-04-23T16:38:13", "url": "https://files.pythonhosted.org/packages/94/7c/f6f0376fe5d9993a67ff47c9bc709069afd1c15d725bba32ac7fc189d4c1/alchemist_lib-0.5.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "7d4c88ef20ec1e6ceab221ff5e756558", "sha256": "88188ecae8b29759235bbf1e47e1fb2ed36b1101b0ed3b0f0629e3e2430abc50" }, "downloads": -1, "filename": "alchemist_lib-0.7.tar.gz", "has_sig": false, "md5_digest": "7d4c88ef20ec1e6ceab221ff5e756558", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990888, "upload_time": "2018-04-24T18:04:03", "url": "https://files.pythonhosted.org/packages/e2/90/2a4df12cff123663ff75727184f89e4169526e687b697566f1e355d84486/alchemist_lib-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "3eab98c2ffd32ec1393c059124d07083", "sha256": "d78d9d68d2f772265b47790cab91710966f8bff06b5f517fc63bc7b59798457e" }, "downloads": -1, "filename": "alchemist_lib-0.8.tar.gz", "has_sig": false, "md5_digest": "3eab98c2ffd32ec1393c059124d07083", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1889115, "upload_time": "2018-04-27T11:59:36", "url": "https://files.pythonhosted.org/packages/89/22/5bcae888dff4c15895b774856e04e9c8bc56f668239b8f5b8c3cd063a67a/alchemist_lib-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "216200060e0fa39093f99b235af478b2", "sha256": "fd0bf93f66b0aa2fe718eca80f2f50ba70d49c896edbe3bac6b32ac03b62758b" }, "downloads": -1, "filename": "alchemist_lib-0.9.tar.gz", "has_sig": false, "md5_digest": "216200060e0fa39093f99b235af478b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1889162, "upload_time": "2018-04-28T13:49:52", "url": "https://files.pythonhosted.org/packages/66/a8/d87d96cffff3b702d0124d4049249ef30ef5cd0ba6274e3f2ff2bd62cda8/alchemist_lib-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "0638a397c5e7e37bf7fa1f077f712c6f", "sha256": "b894c705c5b405c0f020e6b280f336e0635c9087f19d348da754348c02773fc5" }, "downloads": -1, "filename": "alchemist_lib-1.0.tar.gz", "has_sig": false, "md5_digest": "0638a397c5e7e37bf7fa1f077f712c6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1889218, "upload_time": "2018-05-09T17:52:00", "url": "https://files.pythonhosted.org/packages/05/2a/25f740d9c56c4f6f5276d66e9d6d6e8fcceafd732de1f8acd9e90ea50097/alchemist_lib-1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0638a397c5e7e37bf7fa1f077f712c6f", "sha256": "b894c705c5b405c0f020e6b280f336e0635c9087f19d348da754348c02773fc5" }, "downloads": -1, "filename": "alchemist_lib-1.0.tar.gz", "has_sig": false, "md5_digest": "0638a397c5e7e37bf7fa1f077f712c6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1889218, "upload_time": "2018-05-09T17:52:00", "url": "https://files.pythonhosted.org/packages/05/2a/25f740d9c56c4f6f5276d66e9d6d6e8fcceafd732de1f8acd9e90ea50097/alchemist_lib-1.0.tar.gz" } ] }