{ "info": { "author": "John Benediktsson", "author_email": "mrjbq7@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Office/Business :: Financial", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# TA-Lib\n\n[![Build Status](https://cloud.drone.io/api/badges/Yvictor/ta-lib/status.svg)](https://cloud.drone.io/Yvictor/ta-lib)\n\nThis is a Python wrapper for [TA-LIB](http://ta-lib.org) based on Cython\ninstead of SWIG. From the homepage:\n\n> TA-Lib is widely used by trading software developers requiring to perform\n> technical analysis of financial market data.\n\n> * Includes 150+ indicators such as ADX, MACD, RSI, Stochastic, Bollinger\n> Bands, etc.\n> * Candlestick pattern recognition\n> * Open-source API for C/C++, Java, Perl, Python and 100% Managed .NET\n\nThe original Python bindings included with TA-Lib use\n[SWIG](http://swig.org) which unfortunately are difficult to install and\naren't as efficient as they could be. Therefore this project uses Cython and\nNumpy to efficiently and cleanly bind to TA-Lib -- producing results 2-4\ntimes faster than the SWIG interface.\n\nOrigin Repo is from [mrjbq7/ta-lib](https://github.com/mrjbq7/ta-lib). In this fork repo just provide with prebuild binary wheel to avoid lot of install issues.\n\n## Installation\n\nYou can install from PyPI:\n\n```\n$ pip install TA-Lib\n```\n\nInstall from pre-build binary\n```\npip install talib-binary\n```\n\n\n## Function API\n\nSimilar to TA-Lib, the Function API provides a lightweight wrapper of the\nexposed TA-Lib indicators.\n\nEach function returns an output array and have default values for their\nparameters, unless specified as keyword arguments. Typically, these functions\nwill have an initial \"lookback\" period (a required number of observations\nbefore an output is generated) set to ``NaN``.\n\nFor convenience, the Function API supports both ``numpy.ndarray`` and\n``pandas.Series`` inputs.\n\nAll of the following examples use the Function API:\n\n```python\nimport numpy\nimport talib\n\nclose = numpy.random.random(100)\n```\n\nCalculate a simple moving average of the close prices:\n\n```python\noutput = talib.SMA(close)\n```\n\nCalculating bollinger bands, with triple exponential moving average:\n\n```python\nfrom talib import MA_Type\n\nupper, middle, lower = talib.BBANDS(close, matype=MA_Type.T3)\n```\n\nCalculating momentum of the close prices, with a time period of 5:\n\n```python\noutput = talib.MOM(close, timeperiod=5)\n```\n\n## Abstract API\n\nIf you're already familiar with using the function API, you should feel right\nat home using the Abstract API.\n\nEvery function takes a collection of named inputs, either a ``dict`` of\n``numpy.ndarray`` or ``pandas.Series``, or a ``pandas.DataFrame``. If a\n``pandas.DataFrame`` is provided, the output is returned as a\n``pandas.DataFrame`` with named output columns.\n\nFor example, inputs could be provided for the typical \"OHLCV\" data:\n\n```python\nimport numpy as np\n\n# note that all ndarrays must be the same length!\ninputs = {\n 'open': np.random.random(100),\n 'high': np.random.random(100),\n 'low': np.random.random(100),\n 'close': np.random.random(100),\n 'volume': np.random.random(100)\n}\n```\n\nFunctions can either be imported directly or instantiated by name:\n\n```python\nfrom talib import abstract\n\n# directly\nSMA = abstract.SMA\n\n# or by name\nSMA = abstract.Function('sma')\n```\n\nFrom there, calling functions is basically the same as the function API:\n\n```python\nfrom talib.abstract import *\n\n# uses close prices (default)\noutput = SMA(inputs, timeperiod=25)\n\n# uses open prices\noutput = SMA(inputs, timeperiod=25, price='open')\n\n# uses close prices (default)\nupper, middle, lower = BBANDS(inputs, 20, 2, 2)\n\n# uses high, low, close (default)\nslowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0) # uses high, low, close by default\n\n# uses high, low, open instead\nslowk, slowd = STOCH(inputs, 5, 3, 0, 3, 0, prices=['high', 'low', 'open'])\n```\n\n## Supported Indicators and Functions\n\nWe can show all the TA functions supported by TA-Lib, either as a ``list`` or\nas a ``dict`` sorted by group (e.g. \"Overlap Studies\", \"Momentum Indicators\",\netc):\n\n```python\nimport talib\n\n# list of functions\nprint talib.get_functions()\n\n# dict of functions by group\nprint talib.get_function_groups()\n```\n\n### Indicator Groups\n\n* Overlap Studies\n* Momentum Indicators\n* Volume Indicators\n* Volatility Indicators\n* Price Transform\n* Cycle Indicators\n* Pattern Recognition\n\n##### Overlap Studies\n```\nBBANDS Bollinger Bands\nDEMA Double Exponential Moving Average\nEMA Exponential Moving Average\nHT_TRENDLINE Hilbert Transform - Instantaneous Trendline\nKAMA Kaufman Adaptive Moving Average\nMA Moving average\nMAMA MESA Adaptive Moving Average\nMAVP Moving average with variable period\nMIDPOINT MidPoint over period\nMIDPRICE Midpoint Price over period\nSAR Parabolic SAR\nSAREXT Parabolic SAR - Extended\nSMA Simple Moving Average\nT3 Triple Exponential Moving Average (T3)\nTEMA Triple Exponential Moving Average\nTRIMA Triangular Moving Average\nWMA Weighted Moving Average\n```\n\n##### Momentum Indicators\n```\nADX Average Directional Movement Index\nADXR Average Directional Movement Index Rating\nAPO Absolute Price Oscillator\nAROON Aroon\nAROONOSC Aroon Oscillator\nBOP Balance Of Power\nCCI Commodity Channel Index\nCMO Chande Momentum Oscillator\nDX Directional Movement Index\nMACD Moving Average Convergence/Divergence\nMACDEXT MACD with controllable MA type\nMACDFIX Moving Average Convergence/Divergence Fix 12/26\nMFI Money Flow Index\nMINUS_DI Minus Directional Indicator\nMINUS_DM Minus Directional Movement\nMOM Momentum\nPLUS_DI Plus Directional Indicator\nPLUS_DM Plus Directional Movement\nPPO Percentage Price Oscillator\nROC Rate of change : ((price/prevPrice)-1)*100\nROCP Rate of change Percentage: (price-prevPrice)/prevPrice\nROCR Rate of change ratio: (price/prevPrice)\nROCR100 Rate of change ratio 100 scale: (price/prevPrice)*100\nRSI Relative Strength Index\nSTOCH Stochastic\nSTOCHF Stochastic Fast\nSTOCHRSI Stochastic Relative Strength Index\nTRIX 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA\nULTOSC Ultimate Oscillator\nWILLR Williams' %R\n```\n\n##### Volume Indicators\n```\nAD Chaikin A/D Line\nADOSC Chaikin A/D Oscillator\nOBV On Balance Volume\n```\n\n##### Cycle Indicators\n```\nHT_DCPERIOD Hilbert Transform - Dominant Cycle Period\nHT_DCPHASE Hilbert Transform - Dominant Cycle Phase\nHT_PHASOR Hilbert Transform - Phasor Components\nHT_SINE Hilbert Transform - SineWave\nHT_TRENDMODE Hilbert Transform - Trend vs Cycle Mode\n```\n\n##### Price Transform\n```\nAVGPRICE Average Price\nMEDPRICE Median Price\nTYPPRICE Typical Price\nWCLPRICE Weighted Close Price\n```\n\n##### Volatility Indicators\n```\nATR Average True Range\nNATR Normalized Average True Range\nTRANGE True Range\n```\n\n##### Pattern Recognition\n```\nCDL2CROWS Two Crows\nCDL3BLACKCROWS Three Black Crows\nCDL3INSIDE Three Inside Up/Down\nCDL3LINESTRIKE Three-Line Strike\nCDL3OUTSIDE Three Outside Up/Down\nCDL3STARSINSOUTH Three Stars In The South\nCDL3WHITESOLDIERS Three Advancing White Soldiers\nCDLABANDONEDBABY Abandoned Baby\nCDLADVANCEBLOCK Advance Block\nCDLBELTHOLD Belt-hold\nCDLBREAKAWAY Breakaway\nCDLCLOSINGMARUBOZU Closing Marubozu\nCDLCONCEALBABYSWALL Concealing Baby Swallow\nCDLCOUNTERATTACK Counterattack\nCDLDARKCLOUDCOVER Dark Cloud Cover\nCDLDOJI Doji\nCDLDOJISTAR Doji Star\nCDLDRAGONFLYDOJI Dragonfly Doji\nCDLENGULFING Engulfing Pattern\nCDLEVENINGDOJISTAR Evening Doji Star\nCDLEVENINGSTAR Evening Star\nCDLGAPSIDESIDEWHITE Up/Down-gap side-by-side white lines\nCDLGRAVESTONEDOJI Gravestone Doji\nCDLHAMMER Hammer\nCDLHANGINGMAN Hanging Man\nCDLHARAMI Harami Pattern\nCDLHARAMICROSS Harami Cross Pattern\nCDLHIGHWAVE High-Wave Candle\nCDLHIKKAKE Hikkake Pattern\nCDLHIKKAKEMOD Modified Hikkake Pattern\nCDLHOMINGPIGEON Homing Pigeon\nCDLIDENTICAL3CROWS Identical Three Crows\nCDLINNECK In-Neck Pattern\nCDLINVERTEDHAMMER Inverted Hammer\nCDLKICKING Kicking\nCDLKICKINGBYLENGTH Kicking - bull/bear determined by the longer marubozu\nCDLLADDERBOTTOM Ladder Bottom\nCDLLONGLEGGEDDOJI Long Legged Doji\nCDLLONGLINE Long Line Candle\nCDLMARUBOZU Marubozu\nCDLMATCHINGLOW Matching Low\nCDLMATHOLD Mat Hold\nCDLMORNINGDOJISTAR Morning Doji Star\nCDLMORNINGSTAR Morning Star\nCDLONNECK On-Neck Pattern\nCDLPIERCING Piercing Pattern\nCDLRICKSHAWMAN Rickshaw Man\nCDLRISEFALL3METHODS Rising/Falling Three Methods\nCDLSEPARATINGLINES Separating Lines\nCDLSHOOTINGSTAR Shooting Star\nCDLSHORTLINE Short Line Candle\nCDLSPINNINGTOP Spinning Top\nCDLSTALLEDPATTERN Stalled Pattern\nCDLSTICKSANDWICH Stick Sandwich\nCDLTAKURI Takuri (Dragonfly Doji with very long lower shadow)\nCDLTASUKIGAP Tasuki Gap\nCDLTHRUSTING Thrusting Pattern\nCDLTRISTAR Tristar Pattern\nCDLUNIQUE3RIVER Unique 3 River\nCDLUPSIDEGAP2CROWS Upside Gap Two Crows\nCDLXSIDEGAP3METHODS Upside/Downside Gap Three Methods\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/Yvictor/ta-lib/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Yvictor/ta-lib", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "talib-binary", "package_url": "https://pypi.org/project/talib-binary/", "platform": "", "project_url": "https://pypi.org/project/talib-binary/", "project_urls": { "Download": "https://github.com/Yvictor/ta-lib/releases", "Homepage": "https://github.com/Yvictor/ta-lib" }, "release_url": "https://pypi.org/project/talib-binary/0.4.19/", "requires_dist": [ "numpy" ], "requires_python": "", "summary": "Python wrapper for TA-Lib", "version": "0.4.19" }, "last_serial": 5157879, "releases": { "0.4.18": [ { "comment_text": "", "digests": { "md5": "b87c306bca0f8e9aed7fe6496eeebb5b", "sha256": "513873dd9d880bd9cb0db380478ad8293897ea6ca460613673d268e1bf8424ea" }, "downloads": -1, "filename": "talib_binary-0.4.18-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "b87c306bca0f8e9aed7fe6496eeebb5b", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 2401529, "upload_time": "2019-04-18T01:17:08", "url": "https://files.pythonhosted.org/packages/c2/86/0a4541f051e77994a2f417b149f876196be56a6c7d7fe4f9aebbb32f1dd1/talib_binary-0.4.18-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2ea3206ea22567a51fca1c25d56c30c0", "sha256": "9d84dda3243bba9db2ddedf6223dd9bba0a3db371bd204b2d041ad7146084c09" }, "downloads": -1, "filename": "talib_binary-0.4.18-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "2ea3206ea22567a51fca1c25d56c30c0", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 2390557, "upload_time": "2019-04-18T01:17:14", "url": "https://files.pythonhosted.org/packages/ac/e4/0308c389c7a07df619d192b2348b5637b2bd3887e2e62e7921d23cd637da/talib_binary-0.4.18-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c540ab54679d01e3f420f6a6e89090e2", "sha256": "545b83c06b39453cfd6716e771fba9285ecbf6cdd2ecdbe37743077b1ff2868b" }, "downloads": -1, "filename": "talib_binary-0.4.18-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c540ab54679d01e3f420f6a6e89090e2", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2413063, "upload_time": "2019-04-18T01:17:18", "url": "https://files.pythonhosted.org/packages/46/5d/ed439eae9a14fe89b309338cae94c2c28f30845c55f3e5f7f9669cf023ba/talib_binary-0.4.18-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f91d3a22b45a798f5454463c94d6512b", "sha256": "dcafd85f15d4b02aed5ac060f012daae920df7be6ba3177383160f1bcadc6201" }, "downloads": -1, "filename": "talib_binary-0.4.18-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f91d3a22b45a798f5454463c94d6512b", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 2409815, "upload_time": "2019-04-18T01:17:22", "url": "https://files.pythonhosted.org/packages/cb/31/8a8a8fa29321e4bb40ca5aa7c5846d35d2d505164d7789b4b06eee32143e/talib_binary-0.4.18-cp37-cp37m-manylinux1_x86_64.whl" } ], "0.4.19": [ { "comment_text": "", "digests": { "md5": "14911b88a5e363ac6d7e1b1c60c87ebd", "sha256": "e2ad78ff29427daca3b3affab9be0d8bf510757d616d3fca6d7f4f45d82cc21a" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "14911b88a5e363ac6d7e1b1c60c87ebd", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 2401441, "upload_time": "2019-04-18T01:54:17", "url": "https://files.pythonhosted.org/packages/1d/ec/57521ca925180746b93600f98cf13d3eb2ca46d52c432ef4b803f00aff59/talib_binary-0.4.19-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f68197994254242bdfe246b4a35827a1", "sha256": "3896b555da9b4a0711ef5498d8d61ffe64a635439272b824c085a7814b5f2f39" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f68197994254242bdfe246b4a35827a1", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 2390179, "upload_time": "2019-04-18T01:54:22", "url": "https://files.pythonhosted.org/packages/54/c3/38e87934da0e157190759350db54179d1c5b587fd7591984f1a4ba391834/talib_binary-0.4.19-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "67989efc27d9c08527afed5345c35fd0", "sha256": "609c40d46c84aa9a2a11784ff3b9f6dd7172df0b980180e547f57a1a20cf65e4" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "67989efc27d9c08527afed5345c35fd0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2413643, "upload_time": "2019-04-18T01:54:26", "url": "https://files.pythonhosted.org/packages/82/6a/d8842b73121a35f58ce55da6f6b54ba2afebee16424b9df09a302e66ed51/talib_binary-0.4.19-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4d68ec43bc5b26ea14711d006e6f977f", "sha256": "7926660bf91c1dd496f46dda88260ef0e7d8470e63988006a35676566d14e392" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "4d68ec43bc5b26ea14711d006e6f977f", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 2410704, "upload_time": "2019-04-18T01:54:30", "url": "https://files.pythonhosted.org/packages/00/61/a68a9276a3c166df8717927780d994496ee4cb5299903a409f93689a2b4e/talib_binary-0.4.19-cp37-cp37m-manylinux1_x86_64.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14911b88a5e363ac6d7e1b1c60c87ebd", "sha256": "e2ad78ff29427daca3b3affab9be0d8bf510757d616d3fca6d7f4f45d82cc21a" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "14911b88a5e363ac6d7e1b1c60c87ebd", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 2401441, "upload_time": "2019-04-18T01:54:17", "url": "https://files.pythonhosted.org/packages/1d/ec/57521ca925180746b93600f98cf13d3eb2ca46d52c432ef4b803f00aff59/talib_binary-0.4.19-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f68197994254242bdfe246b4a35827a1", "sha256": "3896b555da9b4a0711ef5498d8d61ffe64a635439272b824c085a7814b5f2f39" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f68197994254242bdfe246b4a35827a1", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 2390179, "upload_time": "2019-04-18T01:54:22", "url": "https://files.pythonhosted.org/packages/54/c3/38e87934da0e157190759350db54179d1c5b587fd7591984f1a4ba391834/talib_binary-0.4.19-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "67989efc27d9c08527afed5345c35fd0", "sha256": "609c40d46c84aa9a2a11784ff3b9f6dd7172df0b980180e547f57a1a20cf65e4" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "67989efc27d9c08527afed5345c35fd0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2413643, "upload_time": "2019-04-18T01:54:26", "url": "https://files.pythonhosted.org/packages/82/6a/d8842b73121a35f58ce55da6f6b54ba2afebee16424b9df09a302e66ed51/talib_binary-0.4.19-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4d68ec43bc5b26ea14711d006e6f977f", "sha256": "7926660bf91c1dd496f46dda88260ef0e7d8470e63988006a35676566d14e392" }, "downloads": -1, "filename": "talib_binary-0.4.19-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "4d68ec43bc5b26ea14711d006e6f977f", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 2410704, "upload_time": "2019-04-18T01:54:30", "url": "https://files.pythonhosted.org/packages/00/61/a68a9276a3c166df8717927780d994496ee4cb5299903a409f93689a2b4e/talib_binary-0.4.19-cp37-cp37m-manylinux1_x86_64.whl" } ] }