{ "info": { "author": "Mikhail Korotkov aka WLMike", "author_email": "wlmike@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Other Environment", "Intended Audience :: Developers", "License :: Public Domain", "Natural Language :: Russian", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Utilities" ], "description": "MOEX ISS API\n====================\n.. image:: https://github.com/WLM1ke/apimoex/workflows/tests/badge.svg\n :target: https://github.com/WLM1ke/apimoex/actions\n.. image:: https://codecov.io/gh/WLM1ke/apimoex/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/WLM1ke/apimoex\n.. image:: https://badge.fury.io/py/apimoex.svg\n :target: https://badge.fury.io/py/apimoex\n\n\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0430\u0441\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a `MOEX Informational & Statistical Server `_.\n\n\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n------------\nhttps://wlm1ke.github.io/apimoex/\n\n\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n--------------------\n\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0442\u043e\u0440\u0433\u0443\u0435\u043c\u044b\u0445 \u0430\u043a\u0446\u0438\u044f\u0445 \u0438 \u0438\u0445 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0430\u0445, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445\n\u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 pandas.DataFrame.\n\n\u0420\u0430\u0431\u043e\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u0430\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a MOEX ISS, \u043f\u043e\u044d\u0442\u043e\u043c\u0443\n\u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c\n`Issues `_ \u043d\u0430 GitHub \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n* \u041f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 `\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 `_ \u043a MOEX ISS\n* \u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 `\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 `_ \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439\n\n\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b\n=============\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n---------\n\n.. code-block:: Bash\n\n $ pip install apimoex\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\n-------------------------------------------\n\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a SNGSP \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 TQBR::\n\n import requests\n\n import apimoex\n import pandas as pd\n\n\n with requests.Session() as session:\n data = apimoex.get_board_history(session, 'SNGSP')\n df = pd.DataFrame(data)\n df.set_index('TRADEDATE', inplace=True)\n print(df.head(), '\\n')\n print(df.tail(), '\\n')\n df.info()\n\n.. code-block::\n\n BOARDID CLOSE VOLUME VALUE\n TRADEDATE\n 2014-06-09 TQBR 27.48 12674200 3.484352e+08\n 2014-06-10 TQBR 27.55 14035900 3.856417e+08\n 2014-06-11 TQBR 28.15 27208800 7.602146e+08\n 2014-06-16 TQBR 28.27 68059900 1.913160e+09\n 2014-06-17 TQBR 28.20 22101600 6.292844e+08\n\n BOARDID CLOSE VOLUME VALUE\n TRADEDATE\n 2019-09-04 TQBR 38.060 243010500 9.348435e+09\n 2019-09-05 TQBR 36.140 129366600 4.704949e+09\n 2019-09-06 TQBR 35.475 62389000 2.201887e+09\n 2019-09-09 TQBR 34.570 54331300 1.905837e+09\n 2019-09-10 TQBR 35.250 45966000 1.605849e+09\n\n \n Index: 1326 entries, 2014-06-09 to 2019-09-10\n Data columns (total 4 columns):\n BOARDID 1326 non-null object\n CLOSE 1326 non-null float64\n VOLUME 1326 non-null int64\n VALUE 1326 non-null float64\n dtypes: float64(2), int64(1), object(1)\n memory usage: 51.8+ KB\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0438\u0435\u043d\u0442\u0430\n-------------------------------------------\n\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0430\u043a\u0446\u0438\u0439, \u0442\u043e\u0440\u0433\u0443\u044e\u0449\u0438\u0445\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 TQBR (`\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 `_)::\n\n import requests\n\n import apimoex\n import pandas as pd\n\n\n request_url = ('https://iss.moex.com/iss/engines/stock/'\n 'markets/shares/boards/TQBR/securities.json')\n arguments = {'securities.columns': ('SECID,'\n 'REGNUMBER,'\n 'LOTSIZE,'\n 'SHORTNAME')}\n with requests.Session() as session:\n iss = apimoex.ISSClient(session, request_url, arguments)\n data = iss.get()\n df = pd.DataFrame(data['securities'])\n df.set_index('SECID', inplace=True)\n print(df.head(), '\\n')\n print(df.tail(), '\\n')\n df.info()\n\n.. code-block::\n\n REGNUMBER LOTSIZE SHORTNAME\n SECID\n ABRD 1-02-12500-A 10 \u0410\u0431\u0440\u0430\u0443\u0414\u044e\u0440\u0441\u043e\n AFKS 1-05-01669-A 100 \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u043e\n AFLT 1-01-00010-A 10 \u0410\u044d\u0440\u043e\u0444\u043b\u043e\u0442\n AGRO None 1 AGRO-\u0433\u0434\u0440\n AKRN 1-03-00207-A 1 \u0410\u043a\u0440\u043e\u043d\n\n REGNUMBER LOTSIZE SHORTNAME\n SECID\n YNDX None 1 Yandex clA\n YRSB 1-01-50099-A 10 \u0422\u041d\u0421\u044d\u043d\u042f\u0440\n YRSBP 2-01-50099-A 10 \u0422\u041d\u0421\u044d\u043d\u042f\u0440-\u043f\n ZILL 1-02-00036-A 1 \u0417\u0418\u041b \u0430\u043e\n ZVEZ 1-01-00169-D 1000 \u0417\u0412\u0415\u0417\u0414\u0410 \u0430\u043e\n\n \n Index: 264 entries, ABRD to ZVEZ\n Data columns (total 3 columns):\n REGNUMBER 255 non-null object\n LOTSIZE 264 non-null int64\n SHORTNAME 264 non-null object\n dtypes: int64(1), object(2)\n memory usage: 8.2+ KB\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://wlm1ke.github.io/apimoex/", "keywords": "moex iss api", "license": "http://unlicense.org", "maintainer": "", "maintainer_email": "", "name": "apimoex", "package_url": "https://pypi.org/project/apimoex/", "platform": "", "project_url": "https://pypi.org/project/apimoex/", "project_urls": { "Homepage": "https://wlm1ke.github.io/apimoex/", "Source": "https://github.com/WLM1ke/apimoex" }, "release_url": "https://pypi.org/project/apimoex/1.1.2/", "requires_dist": [ "requests" ], "requires_python": ">=3.6", "summary": "MOEX ISS API", "version": "1.1.2" }, "last_serial": 5831135, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2c7c4b6117a17e032051750a8ac9e9d2", "sha256": "e496ec0ee003315dbefabb93a03b55df836a61900fef2fcae1f20e39a78b3448" }, "downloads": -1, "filename": "apimoex-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c7c4b6117a17e032051750a8ac9e9d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11046, "upload_time": "2019-09-11T13:12:25", "url": "https://files.pythonhosted.org/packages/bd/3b/e64b2d356d65c39c3819b037c695274935d2e6b153a4c7b9e6d48cc16136/apimoex-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "857a44fd9dceafd439b5c2c086511371", "sha256": "2bd6281bc8ab958bc044f0d2daec74ce1b9e3c367ebbf736d70d371b55ab0a3b" }, "downloads": -1, "filename": "apimoex-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "857a44fd9dceafd439b5c2c086511371", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11038, "upload_time": "2019-09-11T13:15:45", "url": "https://files.pythonhosted.org/packages/71/5f/ba6b09a15d1bbd2278c40273a90e9cbd8b8708ad5033e90026884ea10173/apimoex-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d73a660c913794153562310fc790320", "sha256": "4d8ec6ad274199c958b626b45f080dc46d48348c6cad6fe7f8ad1eb7a4985416" }, "downloads": -1, "filename": "apimoex-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0d73a660c913794153562310fc790320", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11068, "upload_time": "2019-09-11T13:15:47", "url": "https://files.pythonhosted.org/packages/11/72/b0eac410208a99cf6581240c27dda42ae133df3e4562258a8a7191fea2d7/apimoex-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "a4dbca4bb6e1c4e10ba9241442d7e905", "sha256": "9a1a7603d67e2806ec871fbd5d5a32e6128a70d1eaa9915aa37e44a3d3fe6bcf" }, "downloads": -1, "filename": "apimoex-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a4dbca4bb6e1c4e10ba9241442d7e905", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11031, "upload_time": "2019-09-12T10:50:45", "url": "https://files.pythonhosted.org/packages/be/f0/e1bc4d5d29de9f5e4115b0cac371ab3f28d3a41475d942d70b53eeb51909/apimoex-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ede62eab9c3dde00b7628dad9a3418d6", "sha256": "061548380ea12e29ddcfd329cfecc7db740f4bcd7c1b49aa7587bd385972a667" }, "downloads": -1, "filename": "apimoex-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ede62eab9c3dde00b7628dad9a3418d6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11061, "upload_time": "2019-09-12T10:50:48", "url": "https://files.pythonhosted.org/packages/f6/49/72d6d01ac9c041b507871907629d4928653b344e3429bf5eeabc75431c10/apimoex-1.0.2.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "29f473061a950c708c5b212b0ab8d415", "sha256": "4a3e7f4a72a9bc7f779be54602d060cfed27c97f785ae1bc4c22b4a97c5bc7a8" }, "downloads": -1, "filename": "apimoex-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "29f473061a950c708c5b212b0ab8d415", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11100, "upload_time": "2019-09-13T05:23:00", "url": "https://files.pythonhosted.org/packages/cc/61/0a38deec7bfe14dea4ecc2850bd971d18c1e601c310b39085e6d6e14d1c1/apimoex-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70f3f57c24c8894621fb998aecb0ff91", "sha256": "837e0fbb842769eda6873ecc90f7cee3413bf015cf9e3c662b38452159492548" }, "downloads": -1, "filename": "apimoex-1.1.1.tar.gz", "has_sig": false, "md5_digest": "70f3f57c24c8894621fb998aecb0ff91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11123, "upload_time": "2019-09-13T05:23:02", "url": "https://files.pythonhosted.org/packages/cd/68/a5d8d17d2be3c19231ed136d4099b316e3dc4d31960b140cfe6be9560ded/apimoex-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "ef761a3cacde79da833096c187d24344", "sha256": "0c7d7e211243986838d91c4c3d88c6b1d9ad2adecdc7774e103cf556b2b0e4b9" }, "downloads": -1, "filename": "apimoex-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ef761a3cacde79da833096c187d24344", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11105, "upload_time": "2019-09-15T08:50:00", "url": "https://files.pythonhosted.org/packages/22/2a/bf292fa9a1a982bd0632981355057aa50a431061364e3a0326bf3112148c/apimoex-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae72a16f83f1ff3cde9fd578d58a8d0", "sha256": "2169ea9e56aff01344d0dbdbdfca689e07c42aea60208e6994593dd8bb93db97" }, "downloads": -1, "filename": "apimoex-1.1.2.tar.gz", "has_sig": false, "md5_digest": "fae72a16f83f1ff3cde9fd578d58a8d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11136, "upload_time": "2019-09-15T08:50:02", "url": "https://files.pythonhosted.org/packages/18/3a/2819b844d93584772349376cce611339e8fe87ea22c518c8429fe3c8f319/apimoex-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef761a3cacde79da833096c187d24344", "sha256": "0c7d7e211243986838d91c4c3d88c6b1d9ad2adecdc7774e103cf556b2b0e4b9" }, "downloads": -1, "filename": "apimoex-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ef761a3cacde79da833096c187d24344", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 11105, "upload_time": "2019-09-15T08:50:00", "url": "https://files.pythonhosted.org/packages/22/2a/bf292fa9a1a982bd0632981355057aa50a431061364e3a0326bf3112148c/apimoex-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae72a16f83f1ff3cde9fd578d58a8d0", "sha256": "2169ea9e56aff01344d0dbdbdfca689e07c42aea60208e6994593dd8bb93db97" }, "downloads": -1, "filename": "apimoex-1.1.2.tar.gz", "has_sig": false, "md5_digest": "fae72a16f83f1ff3cde9fd578d58a8d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11136, "upload_time": "2019-09-15T08:50:02", "url": "https://files.pythonhosted.org/packages/18/3a/2819b844d93584772349376cce611339e8fe87ea22c518c8429fe3c8f319/apimoex-1.1.2.tar.gz" } ] }