{"id":13394734,"url":"https://github.com/peerchemist/finta","last_synced_at":"2025-09-28T20:30:43.597Z","repository":{"id":40477670,"uuid":"67166080","full_name":"peerchemist/finta","owner":"peerchemist","description":"Common financial technical indicators implemented in Pandas.","archived":true,"fork":false,"pushed_at":"2022-07-24T08:40:51.000Z","size":764,"stargazers_count":2046,"open_issues_count":24,"forks_count":670,"subscribers_count":82,"default_branch":"master","last_synced_at":"2024-04-23T07:18:14.789Z","etag":null,"topics":["algorithmic-trading","algotrading","fintech","pandas","python","technical-analysis","trading","trading-algorithms","trading-strategy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peerchemist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"liberapay":"peerchemist"}},"created_at":"2016-09-01T21:02:46.000Z","updated_at":"2024-04-22T17:30:53.000Z","dependencies_parsed_at":"2022-07-25T01:16:06.543Z","dependency_job_id":null,"html_url":"https://github.com/peerchemist/finta","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Ffinta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Ffinta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Ffinta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peerchemist%2Ffinta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peerchemist","download_url":"https://codeload.github.com/peerchemist/finta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234556357,"owners_count":18851943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithmic-trading","algotrading","fintech","pandas","python","technical-analysis","trading","trading-algorithms","trading-strategy"],"created_at":"2024-07-30T17:01:29.857Z","updated_at":"2025-09-28T20:30:38.184Z","avatar_url":"https://github.com/peerchemist.png","language":"Python","readme":"# 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[![Downloads](https://pepy.tech/badge/finta/month)](https://pepy.tech/project/finta/month)\n[![](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/download/releases/3.6.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[![Patrons](https://img.shields.io/liberapay/patrons/peerchemist.svg?logo=liberapay)](https://img.shields.io/liberapay/patrons/peerchemist.svg?logo=liberapay)\n[![Bitcoin Donate](https://badgen.net/badge/Bitcoin/Donate/F19537?icon=bitcoin)](https://blockstream.info/address/3Jp1RjKZdQjb1Ui4o5MVqhfch3rD1xUynn)\n[![Peercoin Donate](https://badgen.net/badge/peercoin/Donate/green?icon=https://raw.githubusercontent.com/peercoin/media/84710cca6c3c8d2d79676e5260cc8d1cd729a427/Peercoin%202020%20Logo%20Files/01.%20Icon%20Only/Inside%20Circle/Transparent/Green%20Icon/peercoin-icon-green-transparent.svg)](https://chainz.cryptoid.info/ppc/address.dws?PWzpZ5igHDSA76gNZ9DwE7aeCbfLsZbDkJ)\n\nCommon financial technical indicators implemented in Pandas.\n\n![example](examples/plot.png)\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 over 80 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* Fractal Adaptive Moving Average 'FRAMA'\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* Momentum Breakout Bands 'MOBO'\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* 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* Schaff Trend Cycle 'STC'\n* Mark Whistler's WAVE PM 'WAVEPM'\n```\n\n## Dependencies:\n\n-   python (3.6+)\n-   pandas (1.0.0+)\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\n### to resample by time period (you can choose different time period)\n`ohlc = resample(df, \"24h\")`\n\n### You can also load a ohlc DataFrame from .csv file\n\n`data_file = (\"data/bittrex:btc-usdt.csv\")`\n\n`ohlc = pd.read_csv(data_file, index_col=\"date\", parse_dates=True)`\n\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, MA=TA.KAMA(ohlc, 20))`\n\n\nFor more examples see examples directory.\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","funding_links":["https://liberapay.com/peerchemist"],"categories":["Trading Automatico","Analytics","TA Lib","Trading System (Back Test \u0026 Live trading)","Python","Analytic tools","金融数据处理","algorithmic-trading","Charts","Technical analysis libraries"],"sub_categories":["Trading Automatico - Risorse per sviluppatori","Indicators","Crypto Currencies","TA (Technical Analysis) Lib","技术指标"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeerchemist%2Ffinta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeerchemist%2Ffinta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeerchemist%2Ffinta/lists"}