
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
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.
Bollinger(df=None, filename=None, interval=None, n=20, ndev=2)
: Bollinger BandsIchimoku(df=None, filename=None, interval=None)
: Ichimoku CloudRenko(df=None, filename=None, interval=None)
: Renko Chartatr(high, low, close, n=2)
: average true range from candlestick datacmf(df, n=2)
: Chaikin Money Flow of an OHLCV datasetdouble_smooth(src, n_slow, n_fast)
: The smoothed value of two EMAsema(src, n=2)
: exponential moving average for a list of src
across n
periodsmacd(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
periodsrolling(src, n=2, fn=None, axis=1)
: rolling sum
, max
, min
, mean
, or median
of src
across n
periodsrsi(src, n=2)
: relative strength index of src
across n
periodssdev(src, n=2)
: standard deviation across n periodssma(src, n=2)
: simple moving average of src
across n
periodstd_sequential(src, n=2)
: TD sequential of src
across n
periodstsi(src, slow=25, fast=13)
: true strength indicatorarea_between(line1, line2)
: find the area between line1 and line2crossover(x1, x2)
: find all instances of intersections between two linesdraw_candlesticks(ax, df)
: add candlestick visuals to a matplotlib chartfill_values(averages, interval, target_len)
: Fill missing values with evenly
spaced samples.
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.
interval=4
).intersection(a0, a1, b0, b1)
: find the intersection coordinates between vector
A and vector B# 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 |
from TAcharts.indicators.bollinger import Bollinger
b = Bollinger(df)
b.build(n=20, ndev=2)
b.plot()
from TAcharts.indicators.ichimoku import Ichimoku
i = Ichimoku(df)
i.build(20, 60, 120, 30)
i.plot()
from TAcharts.indicators.renko import Renko
r = Renko(df)
r.set_brick_size(auto=True, atr_interval=2)
r.build()
r.plot()
@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
FAQs
TA Charting tool
We found that TAcharts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.