All Projects → carlfarterson → TAcharts

carlfarterson / TAcharts

Licence: GPL-3.0 license
Apply popular TA tools and charts to candlestick data with NumPy.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to TAcharts

Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+2716.79%)
Mutual labels:  crypto, trading, trading-bot, technical-analysis, crypto-signal
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+680.15%)
Mutual labels:  crypto, trading, trading-bot, technical-analysis
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (+73.28%)
Mutual labels:  crypto, trading, trading-bot, technical-analysis
crypto-database
Database for crypto data, supporting several exchanges. Can be used for TA, bots, backtest, realtime trading, etc.
Stars: ✭ 72 (-45.04%)
Mutual labels:  crypto, trading, trading-bot, technical-analysis
Crypto Trading Bot
Automated Bittrex crypto-currency technical analysis and trading tool
Stars: ✭ 251 (+91.6%)
Mutual labels:  crypto, trading, trading-bot, technical-analysis
TradeBot
Crypto trading bot using Binance API (Java)
Stars: ✭ 292 (+122.9%)
Mutual labels:  trading, trading-bot, technical-analysis, backtesting
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (-65.65%)
Mutual labels:  crypto, trading, trading-bot
Eazebot
Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.
Stars: ✭ 51 (-61.07%)
Mutual labels:  crypto, trading, trading-bot
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+731.3%)
Mutual labels:  crypto, trading, trading-bot
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (+54.96%)
Mutual labels:  crypto, trading, trading-bot
hummingbot
Hummingbot is open source software that helps you build trading bots that run on any exchange or blockchain
Stars: ✭ 3,602 (+2649.62%)
Mutual labels:  crypto, trading, trading-bot
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (+16.03%)
Mutual labels:  crypto, trading, trading-bot
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 (-9.16%)
Mutual labels:  trading, trading-bot, backtesting
Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+3412.21%)
Mutual labels:  crypto, trading, backtesting
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+692.37%)
Mutual labels:  crypto, trading, trading-bot
dukascopy-tools
✨ Download historical price tick data for Crypto, Stocks, ETFs, CFDs, Forex via CLI and Node.js ✨
Stars: ✭ 128 (-2.29%)
Mutual labels:  trading, backtesting, ohlc
binance-downloader
Python tool to download Binance Candlestick (k-line) data from REST API
Stars: ✭ 44 (-66.41%)
Mutual labels:  trading, trading-bot, backtesting
backtrader template
Basic template for managing Backtrader backtests.
Stars: ✭ 131 (+0%)
Mutual labels:  trading, trading-bot, backtesting
tumbleweed gdax
Prototype market maker specialized to trade on CoinbasePro
Stars: ✭ 41 (-68.7%)
Mutual labels:  crypto, trading, trading-bot
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-83.97%)
Mutual labels:  crypto, trading, trading-bot

TAcharts 0.0.30

By: Carl Farterson

Contributors: @rnarciso, @t3ch9

This repository provides technical tools to analyze OHLCV data, along with several TA chart functionalities. These functions are optimized for speed and utilize numpy vectorization over built-in pandas methods when possible.

Methods

Indicators With Chart Functionality

  • Bollinger(df=None, filename=None, interval=None, n=20, ndev=2): Bollinger Bands
  • Ichimoku(df=None, filename=None, interval=None): Ichimoku Cloud
  • Renko(df=None, filename=None, interval=None): Renko Chart

Indicators Without Chart Functionality

  • atr(high, low, close, n=2): average true range from candlestick data
  • cmf(df, n=2): Chaikin Money Flow of an OHLCV dataset
  • double_smooth(src, n_slow, n_fast): The smoothed value of two EMAs
  • ema(src, n=2): exponential moving average for a list of src across n periods
  • macd(src, slow=25, fast=13): moving average convergence/divergence of src
  • mmo(src, n=2): Murrey Math oscillator of src
  • roc(src, n=2): rate of change of src across n periods
  • rolling(src, n=2, fn=None, axis=1): rolling sum, max, min, mean, or median of src across n periods
  • rsi(src, n=2): relative strength index of src across n periods
  • sdev(src, n=2): standard deviation across n periods
  • sma(src, n=2): simple moving average of src across n periods
  • td_sequential(src, n=2): TD sequential of src across n periods
  • tsi(src, slow=25, fast=13): true strength indicator

utils

  • area_between(line1, line2): find the area between line1 and line2
  • crossover(x1, x2): find all instances of intersections between two lines
  • draw_candlesticks(ax, df): add candlestick visuals to a matplotlib chart
  • fill_values(averages, interval, target_len): Fill missing values with evenly spaced samples.
    • Example: You're using 15-min candlestick data to find the 1-hour moving average and want a value at every 15-min mark, and not every 1-hour mark.
  • group_candles(df, interval=4): combine candles so instead of needing a different dataset for each time interval, you can form time intervals using more precise data.
    • Example: you have 15-min candlestick data but want to test a strategy based on 1-hour candlestick data (interval=4).
  • intersection(a0, a1, b0, b1): find the intersection coordinates between vector A and vector B

How it works

Create your DataFrame

# NOTE: we are using 1-hour BTC OHLCV data from 2019.01.01 00:00:00 to 2019.12.31 23:00:00
from TAcharts.utils.ohlcv import OHLCV

df = OHLCV().btc

df.head()
  date open high low close volume
0 2019-01-01 00:00:00 3699.95 3713.93 3697.00 3703.56 660.279771
1 2019-01-01 01:00:00 3703.63 3726.64 3703.34 3713.83 823.625491
2 2019-01-01 02:00:00 3714.19 3731.19 3707.00 3716.70 887.101362
3 2019-01-01 03:00:00 3716.98 3732.00 3696.14 3699.95 955.879034
4 2019-01-01 04:00:00 3699.96 3717.11 3698.00 3713.07 534.113945

Bollinger Bands

from TAcharts.indicators.bollinger import Bollinger

b = Bollinger(df)
b.build(n=20, ndev=2)

b.plot()

bollinger

Ichimoku

from TAcharts.indicators.ichimoku import Ichimoku

i = Ichimoku(df)
i.build(20, 60, 120, 30)

i.plot()

ichimoku

Renko

from TAcharts.indicators.renko import Renko

r = Renko(df)
r.set_brick_size(auto=True, atr_interval=2)
r.build()

r.plot()

renko


wrappers

  • @args_to_dtype(dtype): Convert all function arguments to a specific data type

    from TAcharts.wrappers import args_to_dtype
    
    # Example: `src` is converted to a list
    @args_to_dtype(list)
    def rsi(src, n=2):
        pass
  • @pd_series_to_np_array: Convert function arguments from pd.Series to np.array using pd.Series.values. This wrapper is 10x quicker than using @args_to_dtype(np.array) when working with Pandas series.

    from TAcharts.wrappers import pd_series_to_np_array
    
    # Example: `high`, `low`, and `close` are all converted into `np.array` data types
    @pd_series_to_np_array
    def atr(high, low, close, n=14):
        pass
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].