Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

TAcharts

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

TAcharts

TA Charting tool

  • 0.0.29
  • PyPI
  • Socket score

Maintainers
1

TAcharts 0.0.29

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()
 dateopenhighlowclosevolume
02019-01-01 00:00:003699.953713.933697.003703.56660.279771
12019-01-01 01:00:003703.633726.643703.343713.83823.625491
22019-01-01 02:00:003714.193731.193707.003716.70887.101362
32019-01-01 03:00:003716.983732.003696.143699.95955.879034
42019-01-01 04:00:003699.963717.113698.003713.07534.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
    

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc