{ "info": { "author": "Yili Peng", "author_email": "yili_peng@outlook.com", "bugtrack_url": null, "classifiers": [], "description": "This project is to simulate an exchange in order to bakc test quant\nstrategies.\n\nDependencies\n~~~~~~~~~~~~\n\n- python 3.5\n- pandas 0.23.0\n- spyder 3.2.8\n- plotly 2.7.0\n\nInstallation\n~~~~~~~~~~~~\n\n.. code:: bash\n\n pip install mini_exchange\n\nUsage\n~~~~~\n\n.. code:: bash\n\n # price: dataframe dt*ticker\n # signal01: dataframe dt*ticker\n # signal02: dataframe dt*ticker\n\n dates=price.loc[start:end].index\n tickers=price.columns\n\n from mini_exchange import Mini_Exchange,Account,Log\n MM=Mini_Exchange(price)\n # create user01\n acc01=Account(start_amount=1000)\n log01=Log()\n MM.register(user_name='user01',account=acc01,log=log01)\n # create user02\n acc02=Account(start_amount=1000)\n log02=Log()\n MM.register(user_name='user02',account=acc02,log=log02)\n # trade\n for dt in dates:\n print('\\rrun %d'%dt,end='\\r')\n MM.hold(dt)\n for ticker in tickers:\n #user01\n if signal01.loc[dt,ticker]==1: \n #open long\n MM.long(ticker,amount=10,dt=dt,user='user01')\n elif signal01.loc[dt,ticker]==-1: \n #open short\n MM.short(ticker,amount=10,dt=dt,user='user01')\n elif signal01.loc[dt,ticker].isin((-2,2)):\n #close\n MM.close(dt,ticker, by='ticker',user='user01')\n #user02\n if signal02.loc[dt,ticker]==1: \n #open long\n MM.long(ticker,amount=10,dt=dt,user='user02')\n elif signal02.loc[dt,ticker]==-1: \n #open short\n MM.short(ticker,amount=10,dt=dt,user='user02')\n elif signal01.loc[dt,ticker].isin((-2,2)):\n #close\n MM.close(dt,ticker, by='ticker',user='user01')\n MM.settle(dt)\n # summary\n # user01\n print(acc01.annual_return(),acc01.sharpe_ratio(rf=0.03))\n print(pos01.win_rate())\n acc01.plot_history(by_pct=True)\n pos01.plot_history_position()\n history_position=pos01.pos\n history_value=acc01.history_value\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "quant", "license": "", "maintainer": "", "maintainer_email": "", "name": "Mini-Exchange", "package_url": "https://pypi.org/project/Mini-Exchange/", "platform": "", "project_url": "https://pypi.org/project/Mini-Exchange/", "project_urls": null, "release_url": "https://pypi.org/project/Mini-Exchange/0.0.8/", "requires_dist": [ "plotly" ], "requires_python": "", "summary": "Time based strategy back testing system", "version": "0.0.8" }, "last_serial": 4908218, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "cebb89bde07858bf4b677af109f08903", "sha256": "bfcbd3a717523787726432313dd6acaae461cb13b87f48c6f2c522d268bcc9d3" }, "downloads": -1, "filename": "Mini_Exchange-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cebb89bde07858bf4b677af109f08903", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9330, "upload_time": "2018-09-10T10:05:47", "url": "https://files.pythonhosted.org/packages/16/c6/042902d67e61848a666abb66d3fdb8c14ff84b3e20d53d8dfd5025845afa/Mini_Exchange-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17a0cff04467ff657199efc9a660208a", "sha256": "1fe76874b71782cd46e0caedeec8f168e41e173868d44476d8e3ec7612cc6c00" }, "downloads": -1, "filename": "Mini Exchange-0.0.2.tar.gz", "has_sig": false, "md5_digest": "17a0cff04467ff657199efc9a660208a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6997, "upload_time": "2018-09-10T10:05:49", "url": "https://files.pythonhosted.org/packages/95/ba/83323737d9800d9722dfd2007eea431c0122ea4dd0548dd5eb034e48e051/Mini%20Exchange-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "04260489fdb464c9c419881fe51813ef", "sha256": "c9f7c1c87eaab670beb7069c6ebb3a57c01cee224392bacceaf6dfa0d34d8d47" }, "downloads": -1, "filename": "Mini_Exchange-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "04260489fdb464c9c419881fe51813ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8507, "upload_time": "2018-09-11T12:22:45", "url": "https://files.pythonhosted.org/packages/6e/01/777afb02a0e3e791cb3dd423c6d18d16d3c2dfd41172db1cd24edb346400/Mini_Exchange-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d20b1e79cca39be59a3243fecba17744", "sha256": "37b623f4f1552b509190644a4f7ab29e7f09d02a2321c1b9ea1bde07104625c1" }, "downloads": -1, "filename": "Mini Exchange-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d20b1e79cca39be59a3243fecba17744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7001, "upload_time": "2018-09-11T12:22:46", "url": "https://files.pythonhosted.org/packages/2b/96/9be5751b490d7fc0e994ef367ed0948db416038edaa6d3aaa97e7a50e818/Mini%20Exchange-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "85c44c526129e8e135f40877657ebb9f", "sha256": "e689fb9901f2528476b3052d6890a4bafae5a96a49392754f823308ad68a0ecc" }, "downloads": -1, "filename": "Mini_Exchange-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "85c44c526129e8e135f40877657ebb9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9381, "upload_time": "2018-09-13T02:15:19", "url": "https://files.pythonhosted.org/packages/86/c2/3cdcf87df5a43791ae09a3823b77a8d549268a840599c871f6841fb3397c/Mini_Exchange-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e185ba6d9e6581cfd08db50909d8ef14", "sha256": "77af5b76e41731f8a31bb2219dcb4d51e2ace4627a8b76da6144182add5a05d9" }, "downloads": -1, "filename": "Mini Exchange-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e185ba6d9e6581cfd08db50909d8ef14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7058, "upload_time": "2018-09-13T02:15:21", "url": "https://files.pythonhosted.org/packages/95/28/49ad5354e3e0952675e07da32c41a3cfe7923d064bc503b2afe7dac65e4f/Mini%20Exchange-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "f638c088a9fd640b930ce2a7363cd886", "sha256": "5f1810eb26feca448085529e5faee05719502c1a1e1e0002d868aad8fc8f0886" }, "downloads": -1, "filename": "Mini_Exchange-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f638c088a9fd640b930ce2a7363cd886", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10712, "upload_time": "2018-11-05T05:46:17", "url": "https://files.pythonhosted.org/packages/0f/2a/6d722018ceac2b6747f3453d6bc497d76e43a61866767daa9a06b665a08e/Mini_Exchange-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f9a5fe0594d521ca0793c720ad8058c", "sha256": "7372f2425b30ef1cac4bc84b3b796f208069e72a33fbdf6f3ff26ec2cdfb7d99" }, "downloads": -1, "filename": "Mini Exchange-0.0.5.tar.gz", "has_sig": false, "md5_digest": "4f9a5fe0594d521ca0793c720ad8058c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7892, "upload_time": "2018-11-05T05:46:19", "url": "https://files.pythonhosted.org/packages/92/eb/2884966632a09efd338528cbeb0cce9473500d89bea806df2691c709cda9/Mini%20Exchange-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "2bcec635f679b3baf7ee262cd0b4fa8e", "sha256": "d81dc4748712a1fc6427eec79005cda8d1b02ae91ff2bd87b2a2f8ea865fbe62" }, "downloads": -1, "filename": "Mini_Exchange-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2bcec635f679b3baf7ee262cd0b4fa8e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9500, "upload_time": "2018-11-05T06:01:51", "url": "https://files.pythonhosted.org/packages/f6/0e/c49fcfb15a12833498e398bada6829f68e26d0e57542f90318e4ce98738a/Mini_Exchange-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "021029083dded5c57839d36db577bfc3", "sha256": "b4ada28a866cda7893e3f5bf22b2d6200080c5cc5aee8a058389220a61c9f5e2" }, "downloads": -1, "filename": "Mini Exchange-0.0.6.tar.gz", "has_sig": false, "md5_digest": "021029083dded5c57839d36db577bfc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7999, "upload_time": "2018-11-05T06:01:52", "url": "https://files.pythonhosted.org/packages/c0/b6/c58abe55f23b13c17727af1a4f86baf3b9920d81b2b1b1749314da1f72bd/Mini%20Exchange-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f90cd63ffe87d4383add150f249b9fa2", "sha256": "ec283ec46824f11593c25119edd717e90b26dc44539708def3230d4553df0c5d" }, "downloads": -1, "filename": "Mini_Exchange-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f90cd63ffe87d4383add150f249b9fa2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10734, "upload_time": "2018-11-05T06:14:40", "url": "https://files.pythonhosted.org/packages/3d/f1/fc3f20ffab29dbd609c07098ffc9c76accc215a3dea23bb303573a565f92/Mini_Exchange-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168eeeef166a5b9fcde382205a7ba16c", "sha256": "eb386b890ab76db1779df7844e3b187573e60bd7638d1144b16c02b6133f1800" }, "downloads": -1, "filename": "Mini Exchange-0.0.7.tar.gz", "has_sig": false, "md5_digest": "168eeeef166a5b9fcde382205a7ba16c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7979, "upload_time": "2018-11-05T06:14:44", "url": "https://files.pythonhosted.org/packages/f3/2d/3c024a413b4d00f7578f698241117565308c1fc736e8c76075f6a3b25170/Mini%20Exchange-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "f1ac8d53ce192d461d7ebdc1eb6490ae", "sha256": "1a2008041d19af9e2b2f9c50148d2edfb03e903f7c21ad18dc291bf59e5e7713" }, "downloads": -1, "filename": "Mini_Exchange-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "f1ac8d53ce192d461d7ebdc1eb6490ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10843, "upload_time": "2018-12-04T07:01:19", "url": "https://files.pythonhosted.org/packages/a9/1a/888973d820052a33b0bde6de5f86fe3f795d774ba972787a4f9acbcff173/Mini_Exchange-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57d1eac4005e46151497a7a5a704f7fd", "sha256": "545e1b96ba607ec5858840696c905057b521c4948d511974bef259559cb044d0" }, "downloads": -1, "filename": "Mini Exchange-0.0.8.tar.gz", "has_sig": false, "md5_digest": "57d1eac4005e46151497a7a5a704f7fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8078, "upload_time": "2019-03-07T03:22:04", "url": "https://files.pythonhosted.org/packages/b0/2d/932b745f7a31d2f797fe141a796bb5db7d790936c8ca0b0348adbe5f1b41/Mini%20Exchange-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f1ac8d53ce192d461d7ebdc1eb6490ae", "sha256": "1a2008041d19af9e2b2f9c50148d2edfb03e903f7c21ad18dc291bf59e5e7713" }, "downloads": -1, "filename": "Mini_Exchange-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "f1ac8d53ce192d461d7ebdc1eb6490ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10843, "upload_time": "2018-12-04T07:01:19", "url": "https://files.pythonhosted.org/packages/a9/1a/888973d820052a33b0bde6de5f86fe3f795d774ba972787a4f9acbcff173/Mini_Exchange-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57d1eac4005e46151497a7a5a704f7fd", "sha256": "545e1b96ba607ec5858840696c905057b521c4948d511974bef259559cb044d0" }, "downloads": -1, "filename": "Mini Exchange-0.0.8.tar.gz", "has_sig": false, "md5_digest": "57d1eac4005e46151497a7a5a704f7fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8078, "upload_time": "2019-03-07T03:22:04", "url": "https://files.pythonhosted.org/packages/b0/2d/932b745f7a31d2f797fe141a796bb5db7d790936c8ca0b0348adbe5f1b41/Mini%20Exchange-0.0.8.tar.gz" } ] }