{ "info": { "author": "Peerchemist", "author_email": "peerchemist@protonmail.ch", "bugtrack_url": null, "classifiers": [], "description": "# FinTA (Financial Technical Analysis)\n\n[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)\n[![PyPI](https://img.shields.io/pypi/v/finta.svg?style=flat-square)](https://pypi.python.org/pypi/finta/)\n[![](https://img.shields.io/badge/python-3.4+-blue.svg)](https://www.python.org/download/releases/3.4.0/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Build Status](https://travis-ci.org/peerchemist/finta.svg?branch=master)](https://travis-ci.org/peerchemist/finta)\n\nCommon financial technical indicators implemented in Pandas.\n\n*This is work in progress, bugs are expected and results of some indicators\nmay not be accurate.*\n\n## Supported indicators:\n\nFinta supports 75 trading indicators:\n\n```\n* Simple Moving Average 'SMA'\n* Simple Moving Median 'SMM'\n* Smoothed Simple Moving Average 'SSMA'\n* Exponential Moving Average 'EMA'\n* Double Exponential Moving Average 'DEMA'\n* Triple Exponential Moving Average 'TEMA'\n* Triangular Moving Average 'TRIMA'\n* Triple Exponential Moving Average Oscillator 'TRIX'\n* Volume Adjusted Moving Average 'VAMA'\n* Kaufman Efficiency Indicator 'ER'\n* Kaufman's Adaptive Moving Average 'KAMA'\n* Zero Lag Exponential Moving Average 'ZLEMA'\n* Weighted Moving Average 'WMA'\n* Hull Moving Average 'HMA'\n* Elastic Volume Moving Average 'EVWMA'\n* Volume Weighted Average Price 'VWAP'\n* Smoothed Moving Average 'SMMA'\n* Moving Average Convergence Divergence 'MACD'\n* Percentage Price Oscillator 'PPO'\n* Volume-Weighted MACD 'VW_MACD'\n* Elastic-Volume weighted MACD 'EV_MACD'\n* Market Momentum 'MOM'\n* Rate-of-Change 'ROC'\n* Relative Strenght Index 'RSI'\n* Inverse Fisher Transform RSI 'IFT_RSI'\n* True Range 'TR'\n* Average True Range 'ATR'\n* Stop-and-Reverse 'SAR'\n* Bollinger Bands 'BBANDS'\n* Bollinger Bands Width 'BBWIDTH'\n* Percent B 'PERCENT_B'\n* Keltner Channels 'KC'\n* Donchian Channel 'DO'\n* Directional Movement Indicator 'DMI'\n* Average Directional Index 'ADX'\n* Pivot Points 'PIVOT'\n* Fibonacci Pivot Points 'PIVOT_FIB'\n* Stochastic Oscillator %K 'STOCH'\n* Stochastic oscillator %D 'STOCHD'\n* Stochastic RSI 'STOCHRSI'\n* Williams %R 'WILLIAMS'\n* Ultimate Oscillator 'UO'\n* Awesome Oscillator 'AO'\n* Mass Index 'MI'\n* Vortex Indicator 'VORTEX'\n* Know Sure Thing 'KST'\n* True Strength Index 'TSI'\n* Typical Price 'TP'\n* Accumulation-Distribution Line 'ADL'\n* Chaikin Oscillator 'CHAIKIN'\n* Money Flow Index 'MFI'\n* On Balance Volume 'OBV'\n* Weighter OBV 'WOBV'\n* Volume Zone Oscillator 'VZO'\n* Price Zone Oscillator 'PZO'\n* Elder's Force Index 'EFI'\n* Cummulative Force Index 'CFI'\n* Bull power and Bear Power 'EBBP'\n* Ease of Movement 'EMV'\n* Commodity Channel Index 'CCI'\n* Coppock Curve 'COPP'\n* Buy and Sell Pressure 'BASP'\n* Normalized BASP 'BASPN'\n* Chande Momentum Oscillator 'CMO'\n* Chandelier Exit 'CHANDELIER'\n* Qstick 'QSTICK'\n* Twiggs Money Index 'TMF'\n* Wave Trend Oscillator 'WTO'\n* Fisher Transform 'FISH'\n* Ichimoku Cloud 'ICHIMOKU'\n* Adaptive Price Zone 'APZ'\n* Vector Size Indicator 'VR'\n* Squeeze Momentum Indicator 'SQZMI'\n* Volume Price Trend 'VPT'\n* Finite Volume Element 'FVE'\n* Volume Flow Indicator 'VFI'\n* Moving Standard deviation 'MSD'\n```\n\n## Dependencies:\n\n- python (3.4+)\n- pandas (0.21.1+)\n\nTA class is very well documented and there should be no trouble\nexploring it and using with your data. Each class method expects proper `ohlc` DataFrame as input.\n\n## Install:\n\n`pip install finta`\n\nor latest development version:\n\n`pip install git+git://github.com/peerchemist/finta.git`\n\n## Import\n\n`from finta import TA`\n\nPrepare data to use with finta:\n\nfinta expects properly formated `ohlc` DataFrame, with column names in `lowercase`:\n[\"open\", \"high\", \"low\", close\"] and [\"volume\"] for indicators that expect `ohlcv` input.\n\nTo prepare the DataFrame into `ohlc` format you can do something as following:\n\n### standardize column names of your source\n`df.columns = [\"date\", 'close', 'volume']`\n\n### set index on the date column, which is requirement to sort it by time periods\n`df.set_index('date', inplace=True)`\n\n### select only price column, resample by time period and return daily ohlc (you can choose different time period)\n`ohlc = df[\"close\"].resample(\"24h\").ohlc()`\n\n\n`ohlc()` method applied on the Series above will automatically format the dataframe in format expected by the library so resulting `ohlc` Series is ready to use.\n____________________________________________________________________________\n\n## Examples:\n\n### will return Pandas Series object with the Simple moving average for 42 periods\n`TA.SMA(ohlc, 42)`\n\n### will return Pandas Series object with \"Awesome oscillator\" values\n`TA.AO(ohlc)`\n\n### expects [\"volume\"] column as input\n`TA.OBV(ohlc)`\n\n### will return Series with Bollinger Bands columns [BB_UPPER, BB_LOWER]\n`TA.BBANDS(ohlc)`\n\n### will return Series with calculated BBANDS values but will use KAMA instead of MA for calculation, other types of Moving Averages are allowed as well.\n`TA.BBANDS(ohlc, TA.KAMA(ohlc, 20))`\n\n------------------------------------------------------------------------\n\nI welcome pull requests with new indicators or fixes for existing ones.\nPlease submit only indicators that belong in public domain and are\nroyalty free.\n\n## Contributing\n\n1. Fork it (https://github.com/peerchemist/finta/fork)\n2. Study how it's implemented.\n3. Create your feature branch (`git checkout -b my-new-feature`).\n4. Run [black](https://github.com/ambv/black) code formatter on the finta.py to ensure uniform code style.\n5. Commit your changes (`git commit -am 'Add some feature'`).\n6. Push to the branch (`git push origin my-new-feature`).\n7. Create a new Pull Request.\n\n------------------------------------------------------------------------\n\n## Donate\n\nBuy me a beer \ud83c\udf7a:\n\nBitcoin: 39PdX8jhXvUpzpkDibwMAVHVs6ZtoHCjnm\n\nPeercoin: PRn448Km1ZJ2BhdPQfiSS3q4Af2vkjwwvH", "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/peerchemist/finta", "keywords": "technical analysis,ta,pandas,finance,numpy,analysis", "license": "LGPLv3+", "maintainer": "", "maintainer_email": "", "name": "finta", "package_url": "https://pypi.org/project/finta/", "platform": "", "project_url": "https://pypi.org/project/finta/", "project_urls": { "Homepage": "https://github.com/peerchemist/finta" }, "release_url": "https://pypi.org/project/finta/0.3.9/", "requires_dist": null, "requires_python": "", "summary": "Common financial technical indicators implemented in Pandas.", "version": "0.3.9" }, "last_serial": 5366481, "releases": { "0.2.8": [ { "comment_text": "", "digests": { "md5": "39d4632a022ae518424e42bccc534079", "sha256": "8bde4b719a79800f452900b7aca39afdfcbee544e36ebc4a147e2447bcfdf53f" }, "downloads": -1, "filename": "finta-0.2.8.tar.gz", "has_sig": false, "md5_digest": "39d4632a022ae518424e42bccc534079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16742, "upload_time": "2018-06-13T10:11:07", "url": "https://files.pythonhosted.org/packages/ca/f5/c6b9c90374f6eec6fc44243a00e8efcd3b2b25a968f84e810380107653e5/finta-0.2.8.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "fa72b97709f4fd45344913dbadeafaeb", "sha256": "26ceb39d11e51f9e4512e218925665c13f9c6e0e4a2d4befda77567158a9762e" }, "downloads": -1, "filename": "finta-0.3.tar.gz", "has_sig": false, "md5_digest": "fa72b97709f4fd45344913dbadeafaeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19429, "upload_time": "2018-06-27T14:11:33", "url": "https://files.pythonhosted.org/packages/a6/83/837014ce84150f21ade0e6db1f2f7e9fd86a4adcc679950c4519d26dd928/finta-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "62d4c9ad9683c4ac1a9ca2fb7c411ddf", "sha256": "0e47e3e0d714c22ae3264a39c5c723d4a8fcd2a8f542fd24923cfc2abeb69dd5" }, "downloads": -1, "filename": "finta-0.3.1.tar.gz", "has_sig": false, "md5_digest": "62d4c9ad9683c4ac1a9ca2fb7c411ddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20668, "upload_time": "2018-07-17T21:18:10", "url": "https://files.pythonhosted.org/packages/e0/92/fae0d164434e0be9eb9fa09efb6665a363e1f8a4b199bfb8463cfec7c874/finta-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "391dc9c9e5424ef9328dc29f6444614c", "sha256": "338046f777cec52f43d3e622428e396fd843a3be72288b692ba71260531c9de7" }, "downloads": -1, "filename": "finta-0.3.2.tar.gz", "has_sig": false, "md5_digest": "391dc9c9e5424ef9328dc29f6444614c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21330, "upload_time": "2018-08-09T13:24:13", "url": "https://files.pythonhosted.org/packages/fa/a7/592f8e61158a1255281d9fc40b526b2ee4d29e945a8c6dda65de80eb9588/finta-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "7d93c87e91648a0c24be8c3d3bdb4f41", "sha256": "4ff2179b7ea3d0b3e0eef922c55f148b6f98e1e3a9147d8cd6f051471f7cb5ee" }, "downloads": -1, "filename": "finta-0.3.3.tar.gz", "has_sig": false, "md5_digest": "7d93c87e91648a0c24be8c3d3bdb4f41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21360, "upload_time": "2018-10-30T13:45:15", "url": "https://files.pythonhosted.org/packages/e0/6d/8c5a74d15b47a969e7536b139893635fb0249975b10963c08827f9930339/finta-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "9583a325fde6f4ce306e39a7c10dff6e", "sha256": "4b65bb857d3f0d633151d7cb274e8fd2d050c05a835dbd830861646547a6fd96" }, "downloads": -1, "filename": "finta-0.3.4.tar.gz", "has_sig": false, "md5_digest": "9583a325fde6f4ce306e39a7c10dff6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21729, "upload_time": "2019-02-14T14:26:09", "url": "https://files.pythonhosted.org/packages/35/ba/dfc104a68baaa5908a8e37d71add4a28c70db86bcca6fc7f2d3a3499b370/finta-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "227f36d85c8e94c12e76d75d6eed67de", "sha256": "8813c2417f1483ee7e13aa1447257826db6ae8be84f20037539d8635407e6811" }, "downloads": -1, "filename": "finta-0.3.5.tar.gz", "has_sig": false, "md5_digest": "227f36d85c8e94c12e76d75d6eed67de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23588, "upload_time": "2019-02-15T09:15:35", "url": "https://files.pythonhosted.org/packages/73/45/f6c77ec15ca876d7d6e15311acdda0270bc64ad3cba5152d297b24ced4da/finta-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "f257500c57558140597422adad8332ef", "sha256": "8fd1e594b96dbf7a6225ec32190acea5741a550c3a3a5393d99a345decd1ef53" }, "downloads": -1, "filename": "finta-0.3.6.tar.gz", "has_sig": false, "md5_digest": "f257500c57558140597422adad8332ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24413, "upload_time": "2019-02-22T08:59:57", "url": "https://files.pythonhosted.org/packages/01/6f/8eeb342fb6ac31142662bcdcf97fc68fb4ba322bd683d8b482716b68e022/finta-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "b56c39fdc464c82c6de236e645bbc7b2", "sha256": "e5f802a5cb4575b271ff059a65120f404a125d4fb97ffe75b4099d61e399075a" }, "downloads": -1, "filename": "finta-0.3.7.tar.gz", "has_sig": false, "md5_digest": "b56c39fdc464c82c6de236e645bbc7b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24888, "upload_time": "2019-05-05T11:36:04", "url": "https://files.pythonhosted.org/packages/0d/cd/119cf0d6ae53241eef4b0ff55292969e1d0b62fc6d2ed1f3f39b19ed1327/finta-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "b500fda8ae8193580ce263d28152e7c3", "sha256": "e1c3422eaaeca6449b5fa304de17243952c853138642e18e698b3bed3a165c83" }, "downloads": -1, "filename": "finta-0.3.8.tar.gz", "has_sig": false, "md5_digest": "b500fda8ae8193580ce263d28152e7c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25222, "upload_time": "2019-05-08T19:15:06", "url": "https://files.pythonhosted.org/packages/a7/7e/ea74f99631227f2d9e77e1e13ee3f695425bcb17aaaf1caec0e5493729d0/finta-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "1e2cab93fc68a6cef35e1ec30b443240", "sha256": "9fc7e0df8c02958f334d27ee3ba577c37e08e040e19e9477968cb3daad867240" }, "downloads": -1, "filename": "finta-0.3.9.tar.gz", "has_sig": false, "md5_digest": "1e2cab93fc68a6cef35e1ec30b443240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25547, "upload_time": "2019-06-06T10:03:03", "url": "https://files.pythonhosted.org/packages/79/e4/356002655f66d4712cdfaabf076ca9b681a1c99c1fec8edfbf943cc32609/finta-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1e2cab93fc68a6cef35e1ec30b443240", "sha256": "9fc7e0df8c02958f334d27ee3ba577c37e08e040e19e9477968cb3daad867240" }, "downloads": -1, "filename": "finta-0.3.9.tar.gz", "has_sig": false, "md5_digest": "1e2cab93fc68a6cef35e1ec30b443240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25547, "upload_time": "2019-06-06T10:03:03", "url": "https://files.pythonhosted.org/packages/79/e4/356002655f66d4712cdfaabf076ca9b681a1c99c1fec8edfbf943cc32609/finta-0.3.9.tar.gz" } ] }