All Projects → peerchemist → Finta

peerchemist / Finta

Licence: lgpl-3.0
Common financial technical indicators implemented in Pandas.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Finta

AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (-74.81%)
Mutual labels:  trading, trading-algorithms, technical-analysis, algorithmic-trading
volatile
Volatile: your day-to-day trading companion.
Stars: ✭ 53 (-94.12%)
Mutual labels:  trading, algotrading, trading-algorithms, algorithmic-trading
Algotrading
Algorithmic trading framework for cryptocurrencies.
Stars: ✭ 249 (-72.36%)
Mutual labels:  trading, algorithmic-trading, trading-algorithms, algotrading
Sequence-to-Sequence-Learning-of-Financial-Time-Series-in-Algorithmic-Trading
My bachelor's thesis—analyzing the application of LSTM-based RNNs on financial markets. 🤓
Stars: ✭ 64 (-92.9%)
Mutual labels:  trading, trading-algorithms, technical-analysis, algorithmic-trading
Turingtrader
The Open-Source Backtesting Engine/ Market Simulator by Bertram Solutions.
Stars: ✭ 132 (-85.35%)
Mutual labels:  trading, algorithmic-trading, trading-algorithms, technical-analysis
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (-50.17%)
Mutual labels:  trading, algorithmic-trading, fintech, algotrading
Pandas Ta
Technical Analysis Indicators - Pandas TA is an easy to use Python 3 Pandas Extension with 130+ Indicators
Stars: ✭ 962 (+6.77%)
Mutual labels:  pandas, trading, trading-algorithms, technical-analysis
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (-86.79%)
Mutual labels:  trading, trading-algorithms, algorithmic-trading
py-investment
Extensible Algo-Trading Python Package.
Stars: ✭ 19 (-97.89%)
Mutual labels:  fintech, technical-analysis, algorithmic-trading
quick trade
convenient script for trading with python.
Stars: ✭ 63 (-93.01%)
Mutual labels:  trading, trading-algorithms, algorithmic-trading
Ta
Technical Analysis Library using Pandas and Numpy
Stars: ✭ 2,649 (+194.01%)
Mutual labels:  pandas, trading, technical-analysis
quanttrader
Backtest and live trading in Python
Stars: ✭ 139 (-84.57%)
Mutual labels:  algotrading, trading-algorithms, algorithmic-trading
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+309.54%)
Mutual labels:  trading, technical-analysis, algorithmic-trading
algotrading-example
algorithmic trading backtest and optimization examples using order book imbalances. (bitcoin, cryptocurrency, bitmex, binance futures, market making)
Stars: ✭ 169 (-81.24%)
Mutual labels:  trading, algotrading, trading-algorithms
QuantResearch
Quantitative analysis, strategies and backtests
Stars: ✭ 1,013 (+12.43%)
Mutual labels:  algotrading, trading-algorithms, algorithmic-trading
awesome-pinescript
A Comprehensive Collection of Everything Related to Tradingview Pine Script.
Stars: ✭ 563 (-37.51%)
Mutual labels:  trading, trading-algorithms, algorithmic-trading
Ta4j Origins
A Java library for technical analysis ***Not maintained anymore, kept for archival purposes, see #192***
Stars: ✭ 354 (-60.71%)
Mutual labels:  trading, trading-algorithms, technical-analysis
Example Scalping
A working example algorithm for scalping strategy trading multiple stocks concurrently using python asyncio
Stars: ✭ 267 (-70.37%)
Mutual labels:  algorithmic-trading, fintech, algotrading
Peregrine
Detects arbitrage opportunities across 131 cryptocurrency exchanges in 50 countries
Stars: ✭ 638 (-29.19%)
Mutual labels:  algorithmic-trading, trading-algorithms, algotrading
Abu
阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
Stars: ✭ 8,589 (+853.27%)
Mutual labels:  pandas, trading, algorithmic-trading

FinTA (Financial Technical Analysis)

License: LGPL v3 PyPI Downloads Code style: black Build Status Patrons

Common financial technical indicators implemented in Pandas.

example

This is work in progress, bugs are expected and results of some indicators may not be accurate.

Supported indicators:

Finta supports over 80 trading indicators:

* Simple Moving Average 'SMA'
* Simple Moving Median 'SMM'
* Smoothed Simple Moving Average 'SSMA'
* Exponential Moving Average 'EMA'
* Double Exponential Moving Average 'DEMA'
* Triple Exponential Moving Average 'TEMA'
* Triangular Moving Average 'TRIMA'
* Triple Exponential Moving Average Oscillator 'TRIX'
* Volume Adjusted Moving Average 'VAMA'
* Kaufman Efficiency Indicator 'ER'
* Kaufman's Adaptive Moving Average 'KAMA'
* Zero Lag Exponential Moving Average 'ZLEMA'
* Weighted Moving Average 'WMA'
* Hull Moving Average 'HMA'
* Elastic Volume Moving Average 'EVWMA'
* Volume Weighted Average Price 'VWAP'
* Smoothed Moving Average 'SMMA'
* Fractal Adaptive Moving Average 'FRAMA'
* Moving Average Convergence Divergence 'MACD'
* Percentage Price Oscillator 'PPO'
* Volume-Weighted MACD 'VW_MACD'
* Elastic-Volume weighted MACD 'EV_MACD'
* Market Momentum 'MOM'
* Rate-of-Change 'ROC'
* Relative Strenght Index 'RSI'
* Inverse Fisher Transform RSI 'IFT_RSI'
* True Range 'TR'
* Average True Range 'ATR'
* Stop-and-Reverse 'SAR'
* Bollinger Bands 'BBANDS'
* Bollinger Bands Width 'BBWIDTH'
* Momentum Breakout Bands 'MOBO'
* Percent B 'PERCENT_B'
* Keltner Channels 'KC'
* Donchian Channel 'DO'
* Directional Movement Indicator 'DMI'
* Average Directional Index 'ADX'
* Pivot Points 'PIVOT'
* Fibonacci Pivot Points 'PIVOT_FIB'
* Stochastic Oscillator %K 'STOCH'
* Stochastic oscillator %D 'STOCHD'
* Stochastic RSI 'STOCHRSI'
* Williams %R 'WILLIAMS'
* Ultimate Oscillator 'UO'
* Awesome Oscillator 'AO'
* Mass Index 'MI'
* Vortex Indicator 'VORTEX'
* Know Sure Thing 'KST'
* True Strength Index 'TSI'
* Typical Price 'TP'
* Accumulation-Distribution Line 'ADL'
* Chaikin Oscillator 'CHAIKIN'
* Money Flow Index 'MFI'
* On Balance Volume 'OBV'
* Weighter OBV 'WOBV'
* Volume Zone Oscillator 'VZO'
* Price Zone Oscillator 'PZO'
* Elder's Force Index 'EFI'
* Cummulative Force Index 'CFI'
* Bull power and Bear Power 'EBBP'
* Ease of Movement 'EMV'
* Commodity Channel Index 'CCI'
* Coppock Curve 'COPP'
* Buy and Sell Pressure 'BASP'
* Normalized BASP 'BASPN'
* Chande Momentum Oscillator 'CMO'
* Chandelier Exit 'CHANDELIER'
* Qstick 'QSTICK'
* Twiggs Money Index 'TMF'
* Wave Trend Oscillator 'WTO'
* Fisher Transform 'FISH'
* Ichimoku Cloud 'ICHIMOKU'
* Adaptive Price Zone 'APZ'
* Squeeze Momentum Indicator 'SQZMI'
* Volume Price Trend 'VPT'
* Finite Volume Element 'FVE'
* Volume Flow Indicator 'VFI'
* Moving Standard deviation 'MSD'
* Schaff Trend Cycle 'STC'

Dependencies:

  • python (3.5+)
  • pandas (0.21.1+)

TA class is very well documented and there should be no trouble exploring it and using with your data. Each class method expects proper ohlc DataFrame as input.

Install:

pip install finta

or latest development version:

pip install git+git://github.com/peerchemist/finta.git

Import

from finta import TA

Prepare data to use with finta:

finta expects properly formated ohlc DataFrame, with column names in lowercase: ["open", "high", "low", "close"] and ["volume"] for indicators that expect ohlcv input.

to resample by time period (you can choose different time period)

ohlc = resample(df, "24h")

You can also load a ohlc DataFrame from .csv file

data_file = ("data/bittrex:btc-usdt.csv")

ohlc = pd.read_csv(data_file, index_col="date", parse_dates=True)


Examples:

will return Pandas Series object with the Simple moving average for 42 periods

TA.SMA(ohlc, 42)

will return Pandas Series object with "Awesome oscillator" values

TA.AO(ohlc)

expects ["volume"] column as input

TA.OBV(ohlc)

will return Series with Bollinger Bands columns [BB_UPPER, BB_LOWER]

TA.BBANDS(ohlc)

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.

TA.BBANDS(ohlc, TA.KAMA(ohlc, 20))

For more examples see examples directory.


I welcome pull requests with new indicators or fixes for existing ones. Please submit only indicators that belong in public domain and are royalty free.

Contributing

  1. Fork it (https://github.com/peerchemist/finta/fork)
  2. Study how it's implemented.
  3. Create your feature branch (git checkout -b my-new-feature).
  4. Run black code formatter on the finta.py to ensure uniform code style.
  5. Commit your changes (git commit -am 'Add some feature').
  6. Push to the branch (git push origin my-new-feature).
  7. Create a new Pull Request.

Donate

Buy me a beer 🍺:

Bitcoin: 3NibjuvQPzcfuLaefhUEEFBcmHpXgKgs4m

Peercoin: P9dAfWoxT7kksKAStubDQR6RhdXk5z12rV

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].